1 / 58

Integrierte und hybride Konstruktion von Software-Produktlinien

Integrierte und hybride Konstruktion von Software-Produktlinien. Vortrag zur Verteidigung der Dissertation Dipl. Inf. Ulrich Dinger 12.06.2009. Bildungsweg/Beruflicher Werdegang. 10/1999 – 11/2004 Studium der Informatik an der TUD; Diplomarbeit bei der Siemens AG in München

leone
Download Presentation

Integrierte und hybride Konstruktion von Software-Produktlinien

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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. Ziele • Größtmögliche Automatisierung/Computeruntstützung • Erstellung Referenzarchitektur • Realisierung von durchgehender Werkzeugunterstützung Erstellung von Software-Produktlinien Ohne Altsystem Mit Altsystem Gemeinsamkeiten?

  7. Grundlagen

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

  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

  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 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 02.09.2008 http://www.eclipse.org/modeling/emf/ [Par09] PARR, TERRENCE: ANTLR Parser Generator. Zugegriffen am 02.02.2009 http://www.antlr.org/

  33. Stand der Technik Kompositionsbeschreibungssprachen/Workflow-Beschreibungssprachen

  34. 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)

  35. 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

  36. 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

  37. Feature-Meta-Modell

  38. Datentypen Definierte Datentypen (UML-Instanzdiagramm)

  39. Beschränkungen

  40. Semantische Beschreibung (1)

  41. Semantik (2/Vorbedingungen)

  42. Semantik (3/Effekte)

  43. Semantik (4/Beschränkungen/Berechnungen)

  44. Anfragen an Planer

  45. Anfragevorbedinungen

  46. Anfragenachbedingungen

  47. TMX/Internationalisierung

  48. Produktkonfiguration

  49. Komoponentenmodell

More Related