Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Frieda Gerhardstein Geändert vor über 10 Jahren
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
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.