Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Integrierte und hybride Konstruktion von Software-Produktlinien

Ähnliche Präsentationen


Präsentation zum Thema: "Integrierte und hybride Konstruktion von Software-Produktlinien"—  Präsentation transkript:

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

2 Bildungsweg/Beruflicher Werdegang
10/1999 – 11/2004 Studium der Informatik an der TUD; Diplomarbeit bei der Siemens AG in München 01/2005 – 06/2009 Promotion 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/2007 Praktikum bei Siemens Corporate Research in Princeton/NJ (USA) 05/2007 – heute Selbständige Mitarbeit bei Siemens Building Technologies in München

3 Inhalt Motivation und Ziele Grundlagen Stand der Technik Konzepte
Realisierung Evaluierung Zusammenfassung und Ausblick

4 Motivation und Ziele

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 Erstellung von Software-Produktlinien
Ziele Erstellung von Software-Produktlinien Ohne Altsystem Mit Altsystem Gemeinsamkeiten? Größtmögliche Automatisierung/Computeruntstützung Erstellung Referenzarchitektur Realisierung von durchgehender Werkzeugunterstützung Diese Folie wird später als Grundlage für Verfeinerung + Evaluierung genommen

7 Grundlagen

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

9 Stand der Technik

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 Probleme Von hand erstelltes und gewartetes kompositionsprogramm Fragmentierung kompositionsprogramm Vermischung von technischen und nicht-technischen beschränkungen mappings + Kompositionsprogramm enthält technische beschränkungen (reihenfolgen, inkompatibilitäten)  während variantenauswahl kein zugriff darauf Feature- + komponenten-modellierung ähnliche aufgabe: modellierung von variabilitäten Produktanpassung außerhalb des gesamten prozesses

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 Konzepte/Thesen

13 Konzepte/Thesen T1: T2: T3: Einsatz einer auto-
Erstellung von Software-Produkt-Linien Ohne Altsystem Mit Altsystem Gemeinsamkeiten? Forward-Engineering Reverse-Engineering Hybrider 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

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 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 - name : String service PatientSearchService { operation addPatientSearch($efa as EFA)… { semantic { precondition { <precondition variable=“efa“> <prohibitsFeature> <feature>…patientSearch</…> </prohibitsFeature> </precondition> } effect { <effect> <hasFeature>…</hasFeature> </effect> // Applikationslogik // z.B. Aufruf von Services zum // Kompilieren oder adaptieren von Java- // Code etc ...

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 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 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 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 Realisierung

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 Realisierung Varianten-Editor Komponenten-Editor

23 Evaluierung

24 Evaluierung/Forward Engineering
eFA-Feature-Modelle

25 Evaluierung/Forward Engineering
Kompositionsschrittbeschreibung Als Teil des SLL-Editors

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

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 Zusammenfassung und Ausblick

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 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 Semantic Web Services (OWL-S) Künstliche Intelligenz Bereitstellung anderer Sichten auf Modelle Nutzung DSL-Frameworks

31 Vielen Dank für die Aufmerksamkeit

32 Referenzen [SMS07] SIEMENS MEDICAL SOLUTIONS: Soarian Integrated Care – Administrationshandbuch; Softwareversion v02.00 und höher. 2007 [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

34 Stand der Technik Kompositionsbeschreibungssprachen/Workflow-Beschreibungssprachen

35 Konzepte/Forward-Engineering
Erweitertes Feature-Meta-Modell Parametrisierung Wiederverwendung Meta-Architektur als SOA Service Language Layer Kompositionsbeschreibungssprache Semantische Beschreibung der Kompositionsschritte auf Basis Feature-Modelle + Meta-Modell (IOPE)

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

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 Feature-Meta-Modell

39 Datentypen Definierte Datentypen (UML-Instanzdiagramm)

40 Beschränkungen

41 Semantische Beschreibung (1)

42 Semantik (2/Vorbedingungen)

43 Semantik (3/Effekte)

44 Semantik (4/Beschränkungen/Berechnungen)

45 Anfragen an Planer

46 Anfragevorbedinungen

47 Anfragenachbedingungen

48 TMX/Internationalisierung

49 Produktkonfiguration

50 Komoponentenmodell

51 Ecore Meta-Meta-Modell

52 Angepaßte Anfragevorbedingungen

53 Planer

54 Planer Optimierung

55 Variantenauswahl Wizard

56 History zu HTML-Release-Notes

57 Dokumentations-Meta-Modell

58 Generierte HTML-Dokumentation


Herunterladen ppt "Integrierte und hybride Konstruktion von Software-Produktlinien"

Ähnliche Präsentationen


Google-Anzeigen