Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Integrierte und hybride Konstruktion von Software- Produktlinien Vortrag zur Verteidigung der Dissertation Dipl. Inf. Ulrich Dinger 12.06.2009.

Ähnliche Präsentationen


Präsentation zum Thema: "Integrierte und hybride Konstruktion von Software- Produktlinien Vortrag zur Verteidigung der Dissertation Dipl. Inf. Ulrich Dinger 12.06.2009."—  Präsentation transkript:

1 Integrierte und hybride Konstruktion von Software- Produktlinien Vortrag zur Verteidigung der Dissertation Dipl. Inf. Ulrich Dinger

2 Dipl. Inf. Ulrich Dinger /30 Bildungsweg/Beruflicher Werdegang 10/1999 – 11/2004Studium der Informatik an der TUD; Diplomarbeit bei der Siemens AG in München 01/2005 – 06/2009Promotion im Fach Informatik an der TUD/ Siemens AG (München und Erlangen), Mitarbeit an EU- Projekt sowie verschiedenen Projekten in der Wirtschaft 10/2006 – 04/2007Praktikum bei Siemens Corporate Research in Princeton/NJ (USA) 05/2007 – heuteSelbständige Mitarbeit bei Siemens Building Technologies in München

3 Dipl. Inf. Ulrich Dinger /30 3 Inhalt -Motivation und Ziele -Grundlagen -Stand der Technik -Konzepte -Realisierung -Evaluierung -Zusammenfassung und Ausblick

4 Dipl. Inf. Ulrich Dinger /30 4 Motivation und Ziele

5 Dipl. Inf. Ulrich Dinger /30 5 Motivation Automobilbau vor 100 Jahren heute Software-Entwicklung übernimmt Konzepte Software-Produktlinien Projekte aus Umfeld der Medizintechnik Soarian Integrated Care (SIC, [SMS07]) = Krankenhausinformationssystem; Kunden mit unterschiedlichen Anforderungen; gleiche Codebasis; über die Jahre gewachsen Elektronische Fallakte (eFA, [CBN07]) = Standard für arztgeführte Patientenakte Implementierung neu aufgesetzt; optionale Integration in SIC

6 Dipl. Inf. Ulrich Dinger /30 6 Ziele Erstellung von Software-Produktlinien Ohne AltsystemMit AltsystemGemeinsamkeiten? Größtmögliche Automatisierung/Computeruntstützung Erstellung Referenzarchitektur Realisierung von durchgehender Werkzeugunterstützung

7 Dipl. Inf. Ulrich Dinger /30 7 Grundlagen

8 Dipl. Inf. Ulrich Dinger /30 8 Grundlagen Modellgetriebene SW-Entwicklung + Domänenspezifische Sprachen Software Product Line Engineering (Domain- vs. Application- Engineering) SW-Kompositionssysteme (Kompositionstechniken, Komponentenbeschreibungssprachen, Kompositionsbeschreibungssprachen) Meta-Meta-Modell (MOF) Meta-Meta-Modell (Bsp: Ecore [EMF08] ) Meta-Grammatik (Bsp: ANTLR [Par09] ) Meta-Modell (UML Meta-Modell)Meta-Modell Grammatik Modell (UML Klassendiagramm) Modell (Instanz) Satz der Grammatik M3 M2 M1

9 Dipl. Inf. Ulrich Dinger /30 9 Stand der Technik

10 Dipl. Inf. Ulrich Dinger /30 10 Stand der Technik Software Product Line Engineering feature-basiert, entscheidungsbasiert konzeptioneller Aufbau = SW-Kompositionssystem Probleme Kompositionsprogramm von Hand erstellt Wartung/Erweiterung Fragmentierung Beschränkungen Technische Beschränkungen & Variantenauswahl Anpassung/Rekonfiguration Modellierung von Variabilitäten Komponenten- beschreibungssprachen

11 Dipl. Inf. Ulrich Dinger /30 11 Stand der Technik Komponenten-Beschreibungssprachen (Meta-Modelle) Informationen, auf die während Komposition zugegriffen wird Schnittstellen, Konfiguration der Komponente, Internationalisierung, Fehler, … Gibt große Anzahl OSGi, POM, CORBA + WSDL, Microsoft Interface Definition Language, … Probleme: Auswahl eines Meta-Modells forciert andere Entscheidungen Abbildung der Meta-Modelle aufeinander unnötig kompliziert, da unterschiedliche Repräs. (XML,…) Mangelnde Anpassbarkeit Referenzierbarkeit zwischen (Meta-) Modellen

12 Dipl. Inf. Ulrich Dinger /30 12 Konzepte/Thesen

13 Dipl. Inf. Ulrich Dinger /30 13 Konzepte/Thesen Forward-Engineering Reverse-EngineeringHybrider Ansatz T1: Einsatz einer auto- matischen Planungskomponente löst Probleme T2: Minimales, erweiterbares Komponenten-Meta-Modell hilft, Beschränkungen existierender Ansätze zu überwinden T3: Es lassen sich beide Ansätze zusammenführen und Vorteile nutzbar machen Erstellung von Software-Produkt-Linien Ohne AltsystemMit AltsystemGemeinsamkeiten?

14 Dipl. Inf. Ulrich Dinger /30 14 Konzepte/Forward-Engineering Aktuelles Vorgehen Änderungen Feature-Modellierungssprache erweitert, um auch technische Komponenten beschreiben zu können Zerlegung des Kompositionsprogramms in semantisch annotierte Kompositionsschritte (IOPE) Nutzung einer Planungskomponente; Variantenauswahl = Anfrage an Planer Adaption = Beschreibung der Änderungen als Kompositionsschritte Erweiterte Feature-Meta-Modell, Kompositionsschrittbeschreibungssprache, Planungskomponente Δ

15 Dipl. Inf. Ulrich Dinger /30 15 Kompositionsschrittbeschreibung Basis-Sprache = Service Language Layer (SLL) = Web-Service-Programmiersprache Erweiterung um semantische Annotationen Bsp: Integration der Patientensuche Anfrage an Planer = Semantische Beschreibung des gesuchten Services -> Synthetisierung der Applikationslogik durch Planer service PatientSearchService { operation addPatientSearch($efa as EFA)… { semantic { precondition { …patientSearch } effect { … } // Applikationslogik // z.B. Aufruf von Services zum // Kompilieren oder adaptieren von Java- // Code etc... } - name : String

16 Dipl. Inf. Ulrich Dinger /30 16 Konzepte/Reverse-Engineering Aktuelles Vorgehen Änderungen Minimal invasives Vorgehen, Nutzung des existierenden Build/Kompositionsprogrammes Erstellung von virtuellen Komponenten + Beschreibung derer Variabilitäten + Wrapper in Altsystem Variantenauswahl = Konfiguration einfaches, erweiterbares Komponenten-Meta-Modell (Komponenten-Beschreibungssprache)

17 Dipl. Inf. Ulrich Dinger /30 17 Konzepte/Reverse-Engineering Bsp: Internationalisierung Erweiterungsmechanismus mit modellgetriebenen Ansätzen (Ecore als Meta-Meta-Modell) Instanziierung der Meta-Modelle Wiederverwendung auf Meta- Modell- und Modell-Ebene Nutzung der Meta-Modelle über Komponenten-Grenzen hinweg

18 Dipl. Inf. Ulrich Dinger /30 18 Konzepte/Reverse-Engineering Beschreibung von Komponenten mittels beliebiger Meta-Modelle Meta-Modelle adaptierbar + erweiterbar Modelltransformationen durch gleiche Basis leichter möglich Code-Generierung + generierte Editoren mit identischem L&F Zusätzliches Meta-Modell zur Beschreibung von Produkt-Konfigurationen konfigurierbare Produkt- Basis ist erster Schritt anschließend Konzepte des Forward-Engineering (Transformation Ecore2FMM)

19 Dipl. Inf. Ulrich Dinger /30 19 Konzepte/Hybrider Ansatz Beobachtung Feature-Meta-Modell und Komponenten-Meta-Meta- Modell dienen der Modellierung von Variabilitäten + ähnliche Mächtigkeit Entscheidung für eines der beiden Ecore Anpassung der Meta-Modelle des Forward-Engineering Ermöglicht Nutzung des Reverse- Engineering bei der Erstellung von neuer Software; späterer Einsatz der Konzepte des Forward-Engineering möglich Ecore-Meta-Meta-Modell

20 Dipl. Inf. Ulrich Dinger /30 20 Realisierung

21 Dipl. Inf. Ulrich Dinger /30 21 Realisierung Modellgetriebener Ansatz Nutzung des Ecore-Meta-Meta- Modells FXL-Framework = Code-Generator FXL Gen = Ecore zu Java Transformationen FXL Edit = Editor-Genierung (baum- basiert) Generelle Vorgehensweise (Bsp. Feature- MM)

22 Dipl. Inf. Ulrich Dinger /30 22 Realisierung Varianten-Editor Komponenten-Editor

23 Dipl. Inf. Ulrich Dinger /30 23 Evaluierung

24 Dipl. Inf. Ulrich Dinger /30 24 Evaluierung/Forward Engineering eFA-Feature-Modelle

25 Dipl. Inf. Ulrich Dinger /30 25 Evaluierung/Forward Engineering Kompositionsschrittbeschreibung Als Teil des SLL-Editors

26 Dipl. Inf. Ulrich Dinger /30 26 Evaluierung/Forward Engineering Variantenauswahl, Planer und Bauen der Variante Variantenauswahl (Rolle = Vertrieb) Variantenauswahl (Rolle = SW-Entwickler) Ausführen des synthetisierten Kompositionsprogrammes = Bauen der Variante => Konzepte + Werkzeuge funktionieren vom Beschreiben der Komponenten bis zum Bauen der Variante basierend auf einer Variantenauswahl

27 Dipl. Inf. Ulrich Dinger /30 27 Evaluierung/Reverse Engineering Erstellte Komponenten-Meta-Modelle MPI + EHR (SIC-Komponenten) Internationalisierung, Dokumentation, Änderungshistorie Konfiguration eines Produktes => Einfache, erweiterbare Komponenten- Beschreibungssprache sowie die entsprechenden Werkzeuge helfen mir, das Software-System in beliebiger Form zu beschreiben + Produkte zu konfigurieren

28 Dipl. Inf. Ulrich Dinger /30 28 Zusammenfassung und Ausblick

29 Dipl. Inf. Ulrich Dinger /30 29 Zusammenfassung T1:Nutzung einer automatischen Planungs- komponente vereinfacht Erstellung und Wartung von SW-Produktlinien und beseitigt konzeptionelle Probleme existierender Lösungen T2: Einfaches, erweiterbares Komponenten- Meta-Modell erlaubt bei minimal invasiven Vorgehen die flexible Beschreibung von Komponenten + Erweiterung der Beschreibungssprache selbst T3: Vereinigung der Konzepte durch Nutzung von Ecore zur Modellierung von Variabilitäten macht Vorteile nutzbar für Neuerstellung und Umarbeitung Bereitstellung von in Eclipse integrierte SW- Entwicklungswerkzeuge; Evaluiert an zwei Beispielen aus dem Umfeld der Medizintechnik

30 Dipl. Inf. Ulrich Dinger /30 30 Ausblick Realisierung SW-Werkzeuge für hybriden Ansatz Nutzung weiterer Standards OCL zur Beschreibung von Beschränkungen Modelltransformationssprache für Transformation der Komponenten-Modelle (QVT) Mächtigere Sprache für Berechnungen (Expression L.) Optimierung der Planungskomponente Nutzung von verteilter Planung Forschungsergebnisse aus anderen Disziplinen oSemantic Web Services (OWL-S) oKünstliche Intelligenz Bereitstellung anderer Sichten auf Modelle Nutzung DSL-Frameworks

31 Dipl. Inf. Ulrich Dinger /30 31 Vielen Dank für die Aufmerksamkeit

32 Dipl. Inf. Ulrich Dinger /30 Referenzen [SMS07] SIEMENS MEDICAL SOLUTIONS: Soarian Integrated Care – Administrationshandbuch; Softwareversion v02.00 und höher [CBN07] CAUMANNS, JÖRG, OLIVER BOEHM UND JAN NEUHAUS: Elektronische Fallakten zur sicheren einrichtungsübergreifenden Kommunikation; Bundesamt für Sicherheit in der Informationstechnik: Innovationsmotor ITSicherheit. Tagungsband zum 10. Deutschen IT-Sicherheitskongress, 2007 [EMF08] THE ECLIPSE FOUNDATION: The Eclipse Modeling Framework Project. Zugegriffen [Par09] PARR, TERRENCE: ANTLR Parser Generator. Zugegriffen am

33 Dipl. Inf. Ulrich Dinger /30

34 Dipl. Inf. Ulrich Dinger /30 34 Stand der Technik Kompositionsbeschreibungssprachen/Workflow- Beschreibungssprachen

35 Dipl. Inf. Ulrich Dinger /30 35 Konzepte/Forward-Engineering Erweitertes Feature-Meta- Modell Parametrisierung Wiederverwendung Meta-Architektur als SOA Service Language Layer Kompositionsbeschreibung ssprache Semantische Beschreibung der Kompositionsschritte auf Basis Feature-Modelle + Meta-Modell (IOPE)

36 Dipl. Inf. Ulrich Dinger /30 36 Zusätzliche Materialien Tutorials/Demos Variantenauswahl eFA CDF Erweiterung, I18n, Versioning/History Meta-Modelle Feature-~, Datentypen, Beschränkungen Semantische Beschreibung/Vorbedingung/Effekte/Berechnung en/Beschränkungen Anfrage an Planer/Vorbedingungen/Nachbedingungen Komponentenmodell/TMX/I18n Ecore/Angepaßte Anfragevorbedingungen Planer

37 Dipl. Inf. Ulrich Dinger /30 37 Anhang Meta-Modell-Dokumentationen (HTML) Dokumentationssprache CDF + I18n + TMX Ecore (Meta-Modell + Klassenhierarchie) Feature-Meta-Modell Semantische Beschreibungen FODA Beispiele (Bilder) Variantenauswahl Wizard History/Release-Notes Meta-Modell-Dokumentation

38 Dipl. Inf. Ulrich Dinger /30 38 Feature-Meta-Modell

39 Dipl. Inf. Ulrich Dinger /30 39 Datentypen Definierte Datentypen (UML-Instanzdiagramm)

40 Dipl. Inf. Ulrich Dinger /30 40 Beschränkungen

41 Dipl. Inf. Ulrich Dinger /30 41 Semantische Beschreibung (1)

42 Dipl. Inf. Ulrich Dinger /30 42 Semantik (2/Vorbedingungen)

43 Dipl. Inf. Ulrich Dinger /30 43 Semantik (3/Effekte)

44 Dipl. Inf. Ulrich Dinger /30 44 Semantik (4/Beschränkungen/Berechnungen)

45 Dipl. Inf. Ulrich Dinger /30 45 Anfragen an Planer

46 Dipl. Inf. Ulrich Dinger /30 46 Anfragevorbedinungen

47 Dipl. Inf. Ulrich Dinger /30 47 Anfragenachbedingungen

48 Dipl. Inf. Ulrich Dinger /30 48 TMX/Internationalisierung

49 Dipl. Inf. Ulrich Dinger /30 49 Produktkonfiguration

50 Dipl. Inf. Ulrich Dinger /30 50 Komoponentenmodell

51 Dipl. Inf. Ulrich Dinger /30 51 Ecore Meta-Meta-Modell

52 Dipl. Inf. Ulrich Dinger /30 52 Angepaßte Anfragevorbedingungen

53 Dipl. Inf. Ulrich Dinger /30 53 Planer

54 Dipl. Inf. Ulrich Dinger /30 54 Planer Optimierung

55 Dipl. Inf. Ulrich Dinger /30 55 Variantenauswahl Wizard

56 Dipl. Inf. Ulrich Dinger /30 56 History zu HTML-Release-Notes

57 Dipl. Inf. Ulrich Dinger /30 57 Dokumentations-Meta-Modell

58 Dipl. Inf. Ulrich Dinger /30 58 Generierte HTML-Dokumentation


Herunterladen ppt "Integrierte und hybride Konstruktion von Software- Produktlinien Vortrag zur Verteidigung der Dissertation Dipl. Inf. Ulrich Dinger 12.06.2009."

Ähnliche Präsentationen


Google-Anzeigen