marcel hermanns research group software construction prof. dr. h. lichter 1 / 35 erweiterung der...
TRANSCRIPT
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
1 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
Erweiterung der ViPER-Umgebung
zur methodengestützten Entwicklung mit MeDUSA
Zwischenvortrag zur Diplomarbeit
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
2 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
3 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
4 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
5 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
MeDUSA - Prozess
Aufteilung in vier Phasen
Jede Phase enthält Iterationen
Jede Iteration enthält Aufgaben der gleichnamigen Disziplin
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
6 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
7 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
8 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
WayPointer - Agenten
Agentenbasierte Interaktionen Aufgabe, Wizard, Artefaktagent
Projektspezifische Anpassungen Aktivierung der Regeln / Agenten
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
9 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
10 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
11 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
12 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
Eclipse - Hilfesystem
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
13 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
14 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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)
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
15 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
16 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
17 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
18 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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?
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
19 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
20 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
uma2cs – Ablauf der Modelltransformation
Verwendung von ViPER MTF
CheatSheets: Transformation in CS-Modell + Code-Generierung
TOCs: Direkte Code-Generierung
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
21 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
Demo
EPF: Veröffentlichte HTML Seiten
MeDUSA – Prozessintegration: CheatSheets
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
22 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
23 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
24 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
25 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
26 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
27 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
28 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
Demo
MeDUSA – Methodenunterstützung: SubsystemIdentificationWizard
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
29 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
30 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
31 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
32 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
Traceability - Metamodell Lösung:
Rekursive Mengen-Partitionierung zur Gruppierung Section als Menge von Mappings Trace als Folge von abgebildeten Mengen
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
33 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
Zusammenfassung
ProzessProzessmodellierung mittels EPF / UMAProzessintegration durch Menüstruktur und
Transformation in CheatSheetsProzessbeschreibung durch Hilfesystem
Infrastruktur
MethodenunterstützungTaskWizard für jede AufgabeConstraints und AutokorrekturenWiderrufbarkeit durchgeführter ModelländerungenTraceability – Modell als Abbildungsinformation und
Gruppierung
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
34 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
35 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
Danke für Ihre
Aufmerksamkeit
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
36 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
37 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
uma2cs – Technische Realisierung Verwendung von ViPER MTF zur Realisierung
TransformationUnit (GenerationUnit analog):
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
38 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
18. Juli .2007
Übersicht des TaskWizards
ModelHandler zur Auslagerung von Anwendungslogik Speicherung / Laden der Ressourcen und Modelle Kapselt Funktionalität des CommandStack-Stack
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
39 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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
Marcel Hermanns
Research GroupSoftware
ConstructionProf. Dr. H. Lichter
40 / 35
Erweiterung der ViPER-Umgebung zur
methodenunterstützen Entwicklung mit
MeDUSA
RWTHAachen
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