Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.

Ähnliche Präsentationen


Präsentation zum Thema: "1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers."—  Präsentation transkript:

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

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.


Herunterladen ppt "1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers."

Ähnliche Präsentationen


Google-Anzeigen