Integrierte und hybride Konstruktion von Software-Produktlinien

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Modellgetriebene Softwareentwicklung
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Vorteile der Online-Produkte
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Datenbankzugriff im WWW (Kommerzielle Systeme)
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
AP 04/03 Komponentenprogrammierung und Middleware Vorlesung + Projekt 4 SWS mit Praktikum (6 benotete Leistungspunkte) –Studentische Vorträge in der 2-ten.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Internet facts 2006-III Graphiken zum Berichtsband AGOF e.V. März 2007.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Fortgeschrittenen-Praktikum: Entwicklung und Implementierung eines webbasierten Fußball-Tippspiels mit.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Seminar Modellgetriebene Softwareentwicklung Einführung Seminar modellgetriebene Softwareentwicklung WS 05/06 Dipl.-Inf. Nadine Fröhlich Prof. Dr.-Ing.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Bewegte Bezugssysteme
Prof. Dr. Bernhard Wasmayr
Software Engineering Seminar Metamodellierung
Studienverlauf im Ausländerstudium
Grundschutztools
AWA 2007 Natur und Umwelt Natürlich Leben
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
20:00.
„Küsse deine Freunde“ – FlexKom-App teilen
Zusatzfolien zu B-Bäumen
Eine Einführung in die CD-ROM
GBI Genios Wiso wiso bietet Ihnen das umfassendste Angebot deutsch- und englischsprachiger Literatur für die Wirtschafts- und Sozialwissenschaften. Wir.
Dokumentation der Umfrage
für Weihnachten oder als Tischdekoration für das ganze Jahr
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
TWS/Graph HORIZONT Produktionsüberwachung für “TWS for z/OS”
Syntaxanalyse Bottom-Up und LR(0)
Architekturen und Techniken für computergestützte Engineering Workbenches.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
Deutsch 1 Kapitel 4 Die Schule
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Symmetrische Blockchiffren DES – der Data Encryption Standard
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
GMF (Graphical Modeling Framework)
Diplomverteidigung Ulrich Dinger Thema: Untersuchung und Entwicklung von Ansätzen und Techniken zur Realisierung einer (Web) Service Language.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Arbeitsgemeinschaft Biologische Psychiatrie Verordnungsgewohnheiten von Psychopharmaka Statuserhebung 2005 W.Günther G.Laux T.Messer N.Müller M.Schmauss.
1 Mathematical Programming Nichtlineare Programmierung.
Imperfekt Wie sagt man das mit Imperfekt
SiLeBAT Sicherstellung der Futter- und Lebensmittelwarenkette bei bio- und agro-terroristischen (BAT)-Schadenslagen.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
J-Team: Gymnasium Ulricianum Aurich und MTV Aurich Ein Projekt im Rahmen von UlricianumBewegt.de Euro haben wir schon…  8000 mal habt ihr bereits.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Seminar Modellgetriebene Softwareentwicklung Thema 3: Metamodelle – MOF Michél Rieser Prof. Dr.-Ing. habil. Georg Paul
Entwurf, Implementierung und Test eines Java – Web Services als Kommunikationsschnittstelle für Webapplikationen mit Funktionen.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
 Präsentation transkript:

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

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

Motivation und Ziele

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

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

Grundlagen

(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

Stand der Technik

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

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

Konzepte/Thesen

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

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

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

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)

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

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)

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

Realisierung

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)

Realisierung Varianten-Editor Komponenten-Editor

Evaluierung

Evaluierung/Forward Engineering eFA-Feature-Modelle

Evaluierung/Forward Engineering Kompositionsschrittbeschreibung Als Teil des SLL-Editors

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)

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

Zusammenfassung und Ausblick

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

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

Vielen Dank für die Aufmerksamkeit

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/

Stand der Technik Kompositionsbeschreibungssprachen/Workflow-Beschreibungssprachen

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)

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

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

Feature-Meta-Modell

Datentypen Definierte Datentypen (UML-Instanzdiagramm)

Beschränkungen

Semantische Beschreibung (1)

Semantik (2/Vorbedingungen)

Semantik (3/Effekte)

Semantik (4/Beschränkungen/Berechnungen)

Anfragen an Planer

Anfragevorbedinungen

Anfragenachbedingungen

TMX/Internationalisierung

Produktkonfiguration

Komoponentenmodell

Ecore Meta-Meta-Modell

Angepaßte Anfragevorbedingungen

Planer

Planer Optimierung

Variantenauswahl Wizard

History zu HTML-Release-Notes

Dokumentations-Meta-Modell

Generierte HTML-Dokumentation