Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 1 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit.

Ähnliche Präsentationen


Präsentation zum Thema: "Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 1 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit."—  Präsentation transkript:

1 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 1 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Erweiterung der ViPER-Umgebung zur methodengestützten Entwicklung mit MeDUSA Zwischenvortrag zur Diplomarbeit

2 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 2 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Gliederung Einleitung MeDUSA, ViPER, UML Unterstützung in anderen Werkzeugen Vision Integration des Entwicklungsprozesses Prozess - Modellierung Modelltransformation in CheatSheets Infrastruktur Unterstützung der Methode TaskWizards Widerrufen von Modelländerungen Traceability - Modell Zusammenfassung / Ausblick

3 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 3 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 MeDUSA, ViPER, UML MeDUSA: MethoD for UML2-based Design of Embedded Software Applications ViPER: Visual Modeling Platform for Embedded System ARchitectures UML: Unified Modeling Language

4 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 4 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 MeDUSA - Methodeninhalt Requirements: Erfassen der Use Cases Use Case Modelling Use Case Description Modelling Analysis: Identifizieren der Gegenstände der Problemwelt Context Modelling: Trigger, Interface Information Modelling: Entity Inter-Object Collaboration Modelling: Control, Application-Logic Intra-Object Behaviour Modelling Task-Modelling Architectural Design: Finden einer Lösung Subsystem Identification Structural System Architecture Modelling Behavioural System Architecture Modelling Task Design Consolidation Detailed Design: Entwurf der Subsysteme Subsystem Design Modelling Class Design Modelling

5 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 5 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 MeDUSA - Prozess Aufteilung in vier Phasen Jede Phase enthält Iterationen Jede Iteration enthält Aufgaben der gleichnamigen Disziplin

6 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 6 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Prozessunterstützung Leitfragen für die Prozessunterstützung: Prozessintegration: Wie kann der Prozess in einem Werkzeug abgebildet werden? Methodenunterstützung: Wodurch kann der Entwickler bei den einzelnen Aufgaben optimal unterstützt werden? Betrachtung der Werkzeuge WayPointer Rational Software Architect Eclipse Benutzer Assistenz => Vision

7 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 7 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 WayPointer Entwicklungsumgebung auf Basis des RUP Werkzeugintegration UML 2.0 – Modellierungswerkzeug (RSA, etc.) Textverarbeitungsprogramm (MS-Word®©) Synchronisation der Werkzeuglandschaft Aktiver Prozess Verantwortlichkeiten (Rollen-basiert) Agenten, Regeln, Vorschläge

8 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 8 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 WayPointer - Agenten Agentenbasierte Interaktionen Aufgabe, Wizard, Artefaktagent Projektspezifische Anpassungen Aktivierung der Regeln / Agenten

9 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 9 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Keine Einschränkungen für den Entwickler Prozess Regeln Schwerpunkt: Modellkonsistenz Aktiver Prozess WayPointer - Prozessintegration Arbeitsstrukturbaum der Disziplinen und Aufgaben Keine konkrete Prozessdurchführung

10 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 10 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Rational Software Architect Werkzeug für die modellgetriebene Entwicklung als Eclipse RCP Prozessunterstützung für RUP Process Browser Navigieren durch Prozessbeschreibung Statische Ansicht Process Advisor Kontextabhängige Referenzen Schwerpunkt: Prozessbeschreibung

11 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 11 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Eclipse (Benutzer Assistenz) Allgemein: Plugin-Architektur von Eclipse erlaubt die Definition von Extension-Points Hotspots des Frameworks Erweiterung ohne Kontrollfluss (Extensions) Z. B. Hilfesystem und CheatSheets Hilfesystem erlaubt Integration von HTML Seiten Beliebig erweiterbar Navigation durch table-of-contents Dateien CheatSheets zur Ausführung von Tutorials Abläufe modellierbar Verknüpfung mit Hilfesystem Ausführung von serialisierten Aktionen Z. B. Starten eines registrierten Wizards CompositeCheatSheets zur Komposition von CheatSheets

12 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 12 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Eclipse - Hilfesystem

13 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 13 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Fazit Entwicklungsprozesse sehr allgemein definiert (vgl. RUP, V-Modell) projektspezifische Anpassungen (Tailoring) (UML2) Modellierungswerkzeuge enthalten meist keine Prozessunterstützung MeDUSA sehr speziell für eine Domäne Kein Tailoring notwendig Unterstützung daher konkret realisierbar

14 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 14 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Vision Prozessintegration Prozessbeschreibung im Hilfesystem MeDUSA – Prozess als CheatSheets Arbeitsstrukturbaum als Menü Methodenunterstützung Konsistenzprüfungen Bewertung durch Metriken (on-the-fly) Abbilden von Objekten Berücksichtigung der Iterationen Unterstützung einer Aufgabe durch TaskWizard Infrastruktur Projektwizard MeDUSA UML-Profil Globale Einstellungen (Preferences) Projektspezische Einstellungen (Properties)

15 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 15 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Gliederung Einleitung MeDUSA, ViPER, UML Unterstützung in anderen Werkzeugen Vision Integration des Entwicklungsprozesses Prozess - Modellierung Modelltransformation in CheatSheets Infrastruktur Unterstützung der Methode TaskWizards Widerrufen von Modelländerungen Traceability - Modell Zusammenfassung / Ausblick

16 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 16 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Modellierung: UMA und SPEM Software Process Engineering Metamodel (SPEM) 1.0 standardisiert von der OMG Beschreibung von Methoden und Entwicklungsprozessen Einheitliche Terminologie durch Begriffsnetz Unified Modelling Architecture (UMA) aus der Praxis entstandenes Metamodell Kandidat für SPEM 2.0 Differenzierung von Methodik und Workflow Methodeninhalt: Rolle, Arbeitsergebnis und Aufgabe Prozess: Zeitliche Anordnung durch WBS und Aktivitätsdiagramme (Prozess, Iteration, Aktivität) Differenzierung von Bibliothek und Konfiguration Bibliothek: Methodeninhalt + Prozess Konfiguration: Auswahl für konkreten Prozess Definition und Anpassung auf drei Ebenen

17 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 17 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Modellierung: EPF Eclipse Process Framework (EPF) beinhaltet Werkzeug und Prozessmodelle EPF Composer SCRUM, XP, Open/UP EPF Composer als Eclipse RCP Beinhaltet UMA (auf Basis von EMF) Erlaubt Definition eigener Prozessmodelle nach UMA Veröffentlichung des erstelltes Modells als HTML Extension-Point zur Erweiterung des Vorgangs zur Veröffentlichung

18 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 18 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Integration des Prozesses Ablaufmodellierung durch CheatSheets CheatSheets Modell definiert mittels XML XSD - Spezifikation der XML Syntax und Semantik Prozessbeschreibung im Hilfesystem Verwendung der von EPF generierten HTML - Dateien table-of-contents in XML Dateien abgelegt Einfacher Aufbau nach Composite-Pattern Ziel: CheatSheets und tocs aus UMA-Modell gewinnen Realisierung?

19 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 19 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 uma2cs – Konzeptionelle Transformation Prozess als CompositeCheatSheet Iteration als CheatSheet Enthält Wizard zur Unter- stützung der Aufgabe => Schnittstelle zur Methodenunterstützung

20 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 20 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 uma2cs – Ablauf der Modelltransformation Verwendung von ViPER MTF CheatSheets: Transformation in CS-Modell + Code-Generierung TOCs: Direkte Code-Generierung

21 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 21 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Demo EPF: Veröffentlichte HTML Seiten MeDUSA – Prozessintegration: CheatSheets

22 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 22 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Gliederung Einleitung MeDUSA, ViPER, UML Unterstützung in anderen Werkzeugen Vision Integration des Entwicklungsprozesses Prozess - Modellierung Modelltransformation in CheatSheets Infrastruktur Unterstützung der Methode TaskWizards Widerrufen von Modelländerungen Traceability - Modell Zusammenfassung / Ausblick

23 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 23 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Infrastruktur Perspektive für relevante Views Menüstruktur zum Aufrufen der TaskWizards: => Nachbildung des Arbeitsstrukturbaums Globale Einstellungen Preferences MeDUSA Projekte Wizard zur Erstellung eines neuen Projektes Erstellen der UML Modelle Project – Nature als Markierung Projektspezifische Einstellungen (Properties) MeDUSA UML-Profil

24 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 24 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Gliederung Einleitung MeDUSA, ViPER, UML Unterstützung in anderen Werkzeugen Vision Integration des Entwicklungsprozesses Prozess - Modellierung Modelltransformation in CheatSheets Infrastruktur Unterstützung der Methode TaskWizards Widerrufen von Modelländerungen Traceability - Modell Zusammenfassung / Ausblick

25 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 25 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Methodenunterstützung MeDUSA als Methode für eine kleine Domäne Unterstützung konkret möglich ViPER als Modellierungswerkzeug Erstellen von Diagrammen zu einem UML Modell Erweiterung von ViPER zur Unterstützung der einzelnen Aufgaben durch Wizards Modaldialog stellt Kontrollfluss sicher Aufrufbar aus Menüstruktur und CheatCheats Anforderungen an die TaskWizards

26 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 26 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 TaskWizard - Anforderungen Eingangsinformationen Projekt- und Modellauswahl Modell Handhabung der Modelle und Ressourcen Validierung (EMF.Validation) Autokorrektur, Anzeigen betroffener Elemente Widerrufen von Modelländerungen Unterstützung von Abbildungen Aufgabenspezifische Unterstützung Metriken Darstellung als Kivian – Chart Berücksichtung des iterativen Vorgehens

27 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 27 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Beispiel: SubsystemDesignWizard Beispiel anhand des Wizards zur Unter- stützung des Subsystem Design Modelling Analyse Modell: Analyse Objekte festgehalten als InstanceSpecifications in Objekt-Diagrammen Verhalten: Lifelines in Interaktionsdiagrammen (Kommunikation-, Sequenz-) Subsystem Design Modelling: Partitionierung der Analyse Objekte in Subsysteme Unterstützung: Validierung des Analysis Modells Erstellen von Subsystemen (Components) Abbilden der Analyse Objekte auf Properties der Subsysteme

28 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 28 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Demo MeDUSA – Methodenunterstützung: SubsystemIdentificationWizard

29 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 29 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Aktueller Stand Eingangsinformationen Projekt- und Modellauswahl Modell Handhabung der Modelle und Ressourcen Validierung (EMF.Validation) Autokorrektur, Anzeigen betroffener Elemente Widerrufen von Modelländerungen Unterstützung von Abbildungen Aufgabenspezifische Unterstützung Metriken Darstellung als Kivian – Chart Berücksichtung des iterativen Vorgehens Traceability - Model

30 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 30 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Widerrufen von Modelländerungen EMF beinhaltet ein Command-Framework Änderungen am Modell können als Command gekapselt werden Commands werden auf einem Stack ausgeführt Undo / Redo Operationen Idee: Jede Seite verwendet einen eigenen CommandStack Änderungen als Commands gekapselt Müssen (hier) widerrufbar sein (undoable) WizardPages als Stack interpretierbar Analog zum Stack der WizardPages ein Stack für CommandStacks Betätigen des back-Buttons widerruft Änderungen durch obersten CommandStack Betätigen des cancel-Buttons widerruft Änderungen aller CommandStacks

31 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 31 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Traceability – Modell Problem: TaskWizards müssen Iteration berücksichtigen Traceability nicht im UML Modell ablegbar Gruppieren von Elementen (z. B. assigned/remaining) Idee: Erstellung eines Traceability – Modells außerhalb der UML Modelle

32 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 32 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Traceability - Metamodell Lösung: Rekursive Mengen-Partitionierung zur Gruppierung Section als Menge von Mappings Trace als Folge von abgebildeten Mengen

33 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 33 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Zusammenfassung Prozess Prozessmodellierung mittels EPF / UMA Prozessintegration durch Menüstruktur und Transformation in CheatSheets Prozessbeschreibung durch Hilfesystem Infrastruktur Methodenunterstützung TaskWizard für jede Aufgabe Constraints und Autokorrekturen Widerrufbarkeit durchgeführter Modelländerungen Traceability – Modell als Abbildungsinformation und Gruppierung

34 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 34 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Ausblick Verwendung des Traceability-Modells Integration der Kivian-Charts Fertigstellung der Subsystem - Partitionierung Abbilden der Analyse – Objekte auf Properties eines Subsystems Erstellung von Ports anhand spezifierter Messages Metriken zur Bewertung der Subsystem Partitionierung

35 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 35 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Danke für Ihre Aufmerksamkeit

36 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 36 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Erweiterung des EPF - Composers ViPER PF: Erweiterung von EPF, unter Verwendung von uma2cs und uma2help Zusätzliche WizardPage für Einstellungen Zwischenspeichern der URL zu jedem Modellelement bei Generierung der HTML Seiten

37 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 37 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 uma2cs – Technische Realisierung Verwendung von ViPER MTF zur Realisierung TransformationUnit (GenerationUnit analog):

38 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 38 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Übersicht des TaskWizards ModelHandler zur Auslagerung von Anwendungslogik Speicherung / Laden der Ressourcen und Modelle Kapselt Funktionalität des CommandStack-Stack

39 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 39 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Modell - Validierungen Verwendung des EMF Validation –Frameworks Registrierung von Modell – Constraints über Extensions Kategorien werden an Kontext gebunden Aktivierung des Selektor Evaluation-Mode: live, batch

40 Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 40 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit MeDUSA RWTH Aachen 18. Juli.2007 Validierung: Autokorrektur Problem: Validierungsvorgang (batch-Modus) bricht bei Verletzung einer Bedingung ab Keine Information über alle betroffenen Objekte Idee: Auslagern / Verallgemeinern der Logik für die Validierung aus Constraints Nutzung zur Visualisierung (TreeViewer) Evtl. Autokorrektur aller betroffenen Objekte Realisierung: Erweiterung der Constraints zu ResolveableConstraints ResolveCommand für Modelländerungen Dialog zum Betrachten der betroffenen Objekte Verwendung in ValidationPage


Herunterladen ppt "Marcel Hermanns Research Group Software Construction Prof. Dr. H. Lichter 1 / 35 Erweiterung der ViPER-Umgebung zur methodenunterstützen Entwicklung mit."

Ähnliche Präsentationen


Google-Anzeigen