Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Hansl Acker Geändert vor über 9 Jahren
1
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers Software Engineering RWTH Aachen http://www.se-rwth.de/
2
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 2 Gliederung 2. Architektur 3. Grundlagen 1. Vorheriger Stand Zusammenfassung und Ausblick 4.
3
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 3 Gliederung 2. Architektur 3. Grundlagen 1. Vorheriger Stand Zusammenfassung und Ausblick 4.
4
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 4 Grundlagen: MontiCore MontiCore Modellierungsframework zur Erstellung domänenspezifischer Sprachen (DSL) Definition mittels Grammatikbeschreibungssprache Generiert Komponenten zur Verarbeitung der Sprache
5
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 5 Grundlagen Eclipse Rich Client Platform Entwicklung eigener Plugins Gutes Textframework mit Unterstützung für: Hyperlinking Autocompletion Sytax-Highlighting …
6
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 6 Grundlagen UML\P Sprachbibliothek \P steht für programmier-geeignet Textuelle Repräsentation von UML-Diagrammen
7
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 7 Grundlagen: UML/P
8
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 8 Gliederung 2. Architektur 3. Grundlagen 1. Vorheriger Stand Zusammenfassung und Ausblick 4.
9
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 9 Vorheriger Stand Bisherige Struktur: CDProposalFilterCDEditorProposals CDContentAssistProcessor EditorContentHelper
10
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 10 Vorheriger Stand Bestehende Implementierung für Klassendiagramme: Bietet einige Templates Einfache Klammervervollständigung Vorschläge für bestimmte Keywords Nutzt an manchen Stellen den AST Analysiert textuell Keyword und Prefix
11
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 11 Vorheriger Stand Probleme der bisherigen Autocompletion: Schlechte Erweiterbarkeit Kontext bezieht zwar teilweise AST mit ein, jedoch nicht allgemein Bei textueller Analyse wird nur das letzte vollständige Keyword berücksichtigt Dadurch nur einfache Templates und Vorschläge umgesetzt, für komplexere fehlt die nötige Information
12
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 12 Vorheriger Stand Probleme der bisherigen Autocompletion: Hier dürften nur Interfaces angezeigt werden Hier fehlt der Kontext (Mehrfachvererbung)
13
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 13 Vorheriger Stand Bachelorarbeit von Alexander Kogaj: Effiziente Typermittlung „Entwicklung eines Provider Frameworks, […] welches nach geeigneten Vorschlägen im Hintergrund sucht, ohne die Oberfläche für den Benutzer zu blockieren und die Ergebnisse zwischenspeichert, noch bevor der Benutzer sie braucht.“ Bietet eine gute Infrastruktur um das Konzept in neu entwickelte Sprachen zu integrieren
14
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 14 Vorheriger Stand
15
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 15 Gliederung 2. Architektur 3. Grundlagen 1. Vorheriger Stand Zusammenfassung und Ausblick 4.
16
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 16 Architektur Soll die Ermittlung des Kontextes und die Generierung der Vorschläge voneinander getrennt halten Auslagerung von Sprachunabhängigen Informationen in Oberklassen Ermittlung des Kontextes soweit wie möglich über den AST abwickeln Leichte Erweiterbarkeit für neue Arten von Kontexten und Vorschlägen
17
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 17 Architektur
18
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 18 Architektur Enum Context: Enthält alle definierten Kontext-Arten Context Analyzer: Liefert einen Wert des Enums für den aktuellen Kontext Bestimmt aktuellen Knoten des AST Anhand dessen dann noch textuelle Analyse ContentProviderClient: Stellt die effiziente Typermittlung zur Verfügung
19
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 19 Architektur CDKeywordSearch: Enthält Funktionen zur textuellen Analyse ProposalClients: Enthalten die Logik zum Generieren der Vorschläge und Templates Können sich für mehrere Kontexte registrieren Auf einen Kontext können auch mehrere ProposalClients registriert sein Für einen Kontext können Vorschläge und Templates generiert werden.
20
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 20 Architektur CDKeywordSearch: Enthält Funktionen zur textuellen Analyse ProposalClients: Enthalten die Logik zum Generieren der Vorschläge und Templates Können sich für mehrere Kontexte registrieren Auf einen Kontext können auch mehrere ProposalClients registriert sein Für einen Kontext können Vorschläge und Templates generiert werden.
21
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 21 Gliederung 2. Architektur 3. Grundlagen 1. Vorheriger Stand Zusammenfassung und Ausblick 4.
22
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 22 Zusammenfassung und Ausblick Zusammenfassung: Bessere Erweiterbarkeit und Übertragbarkeit durch neue Architektur Unterstützung für komplexere Templates und Vorschläge Integration der effizienten Typermittlung Ausblick: Verbesserung der Kontextbestimmung (unfertige Statements) Verfeinerung der Vorschläge/Templates Autokorrektur und Formatierung
23
Florian Leppers Lehrstuhl für Software Engineering RWTH Aachen Seite 23 Ende Vielen Dank für Ihre Aufmerksamkeit.
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.