System and Network Support for Ambient

Download Report

Transcript System and Network Support for Ambient

Integrierte und hybride
Konstruktion von SoftwareProduktlinien
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 EUProjekt 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
Dipl. Inf. Ulrich Dinger
/30
Inhalt
-
Motivation und Ziele
-
Grundlagen
-
Stand der Technik
-
Konzepte
-
Realisierung
-
Evaluierung
-
Zusammenfassung und Ausblick
Dipl. Inf. Ulrich Dinger
3/30
Motivation und Ziele
Dipl. Inf. Ulrich Dinger
4/30
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
Dipl. Inf. Ulrich Dinger
5/30
Ziele
Erstellung von Software-Produktlinien
Ohne Altsystem
Mit Altsystem
Gemeinsamkeiten?
 Größtmögliche Automatisierung/Computeruntstützung
 Erstellung Referenzarchitektur
 Realisierung von durchgehender Werkzeugunterstützung
Dipl. Inf. Ulrich Dinger
6/30
Grundlagen
Dipl. Inf. Ulrich Dinger
7/30
Grundlagen
 Modellgetriebene SW-Entwicklung + Domänenspezifische
Sprachen
Meta-Meta-Modell
(MOF)
Meta-Meta-Modell
(Bsp: Ecore [EMF08])
Meta-Grammatik
(Bsp: ANTLR [Par09])
Meta-Modell
(UML Meta-Modell)
Meta-Modell
Grammatik
Modell
(Instanz)
Satz
der Grammatik
Modell
(UML Klassendiagramm)
M3
M2
M1
 Software Product Line Engineering (Domain- vs. ApplicationEngineering)
 SW-Kompositionssysteme (Kompositionstechniken,
Komponentenbeschreibungssprachen,
Kompositionsbeschreibungssprachen)
Dipl. Inf. Ulrich Dinger
8 /30
Stand der Technik
Dipl. Inf. Ulrich Dinger
9/30
Stand der Technik
Software Product Line Engineering

feature-basiert, entscheidungsbasiert 
konzeptioneller Aufbau = SW-Kompositionssystem
knowledge
Domain
Knowledge
Assets/
Components
models
Feature Models/
Domain Meta
Models
Asset/
Component
Models
Application
Engineering
Variant
selection
Dipl. Inf. Ulrich Dinger
Sales/
Marketing
Plans
Technical
Constraints
Feature Model
Constraints/
Decision Models
Composition
program
(Feature
Mappings)
Product/
variant
Probleme
Kompositionsprogramm
• von Hand erstellt
• Wartung/Erweiterung
• Fragmentierung
• Beschränkungen
• Technische Beschränkungen &
Variantenauswahl
• Anpassung/Rekonfiguration
•Modellierung von Variabilitäten
•Komponentenbeschreibungssprachen
Customized
product/
variant
10/30
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
Dipl. Inf. Ulrich Dinger
11/30
Konzepte/Thesen
Dipl. Inf. Ulrich Dinger
12/30
Konzepte/Thesen
Erstellung von Software-Produkt-Linien
Ohne Altsystem
Mit Altsystem
Gemeinsamkeiten?
Forward-Engineering
Reverse-Engineering
Hybrider Ansatz
T1:
Einsatz einer automatischen
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
Dipl. Inf. Ulrich Dinger
13/30
Konzepte/Forward-Engineering
knowledge
Domain
Knowledge
Sales/
Marketing
Plans
Assets/
Components
Technical
Constraints
knowledge
Domain
Knowledge
Assets/
Components
models
Feature Models/
Domain Meta
Models
Asset/
Component
Models
Application
Engineering
Variant
selection
Sales/
Marketing
Plans
Technical
Constraints
Feature Model
Constraints/
Decision Models
Composition
program
(Feature
Mappings)
Product/
variant
Customized
product/
variant
Aktuelles Vorgehen
models
Feature Models
Δ
Application
Engineering
Component
Models
Compos
ition
steps
Feature Model
Constraints
Feature Meta Model
Variant
selection
Planner
Composition
program
 Erweiterte Feature-Meta-Modell,
Kompositionsschrittbeschreibungssprache,
Planungskomponente
Dipl. Inf. Ulrich Dinger
Änderungen
•Feature-Modellierungssprache
erweitert, um auch technische
Komponenten beschreiben zu
können
•Zerlegung des
Kompositionsprogramms in
semantisch annotierte
Product/
Kompositionsschritte (IOPE)
variant
•Nutzung einer
Planungskomponente;
Variantenauswahl = Anfrage an
Planer
•Adaption = Beschreibung der
Änderungen als
Kompositionsschritte
14/30
Kompositionsschrittbeschreibung
- name : String
• Basis-Sprache = Service Language Layer (SLL)
= Web-Service-Programmiersprache
• Erweiterung um semantische Annotationen
• Bsp: Integration der Patientensuche
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
...
}
}
Dipl. Inf. Ulrich Dinger
• Anfrage an Planer = Semantische Beschreibung
des gesuchten Services -> Synthetisierung der
Applikationslogik durch Planer
15/30
Konzepte/Reverse-Engineering
knowledge
Domain
Knowledge
Assets/
Components
models
Feature Models/
Domain Meta
Models
Asset/
Component
Models
Application
Engineering
Variant
selection
Sales/
Marketing
Plans
Technical
Constraints
Feature Model
Constraints/
Decision Models
Composition
program
(Feature
Mappings)
Product/
variant
Customized
product/
variant
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)
Dipl. Inf. Ulrich Dinger
16/30
Konzepte/Reverse-Engineering

Bsp: Internationalisierung

Erweiterungsmechanismus mit
modellgetriebenen Ansätzen
(Ecore als Meta-Meta-Modell)

Instanziierung der Meta-Modelle

Wiederverwendung auf MetaModell- und Modell-Ebene

Nutzung der Meta-Modelle über
Komponenten-Grenzen hinweg
Dipl. Inf. Ulrich Dinger
17 /30
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 ProduktBasis ist erster Schritt

anschließend Konzepte des Forward-Engineering
(Transformation Ecore2FMM)
Dipl. Inf. Ulrich Dinger
18/30
Konzepte/Hybrider Ansatz
knowledge
Domain
Knowledge
models
Feature Models
Sales/
Marketing
Plans
Assets/
Components
Component
Models
Compos
ition
steps
Technical
Constraints
Feature Model
Constraints
Feature Meta Model
Application
Engineering
Variant
selection
Planner
Composition
program
Product/
variant
Beobachtung
knowledge
Domain
Knowledge
models
Feature Models
Sales/
Marketing
Plans
Assets/
Components
Component
Models
Compos
ition
steps
Technical
Constraints
Feature Model
Constraints
Feature Meta Model
Ecore-Meta-Meta-Modell
Application
Engineering
Variant
selection
Dipl. Inf. Ulrich Dinger
Planner
Composition
program
Product/
variant

Feature-Meta-Modell und
Komponenten-Meta-MetaModell 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 ReverseEngineering bei der Erstellung
von neuer Software; späterer
Einsatz der Konzepte des
Forward-Engineering möglich
19/30
Realisierung
Dipl. Inf. Ulrich Dinger
20/30
Realisierung



Modellgetriebener Ansatz
•
Nutzung des Ecore-Meta-MetaModells
FXL-Framework = Code-Generator
•
FXL Gen = Ecore zu Java
Transformationen
•
FXL Edit = Editor-Genierung (baumbasiert)
Feature Modeling,
Variant, Composer
Component
Descriptor (CDF)
SLL & OpenXL
FXL Editor
FXL Generator
FXL Framework
Eclipse RCP
Java SE
Ecore
Meta-MetaModell
Generelle Vorgehensweise (Bsp. FeatureMM)
FXL Generator
Feature
Model
API
Feature
Model
Container
FXL Editor
Gen
Feature
Model
Edit
Custom.:
- icons
- i18n
Feature
Model
Browser
feature.ecore
Feature Model Tooling (Eclipse Plug in)
Dipl. Inf. Ulrich Dinger
21/30
Realisierung

Varianten-Editor
featureModel
.fm
(1..n)

FXL Generator
Feature
Model API
(1..n)
FXL Editor
Gen
Feature
Model Edit
(1..n)
featureModel
.ecore
(1..n)
Variant Selection Tooling (Eclipse
Plug in)
Komponenten-Editor
FXL Generator
CDF
API
Component
Container
FXL Editor
Gen
CDF
Edit
Custom.:
- icons
- i18n
component
description
.ecore
Custom.:
- icons
- i18n
FXL Generator
Ecore
API
Ecore
Container
FXL Editor
Gen
Ecore
Edit
Custom.:
- icons
- i18n
ecore.ecore
Integration
I
n
t
e
r
a
ti
o
n
FXL
Generator
*
API
*.ecore
FXL Editor
Gen
*
Edit
- icons
- i18n
Component Description Tooling (Eclipse Plug in)
Dipl. Inf. Ulrich Dinger
22/30
Evaluierung
Dipl. Inf. Ulrich Dinger
23/30
Evaluierung/Forward Engineering
eFA-Feature-Modelle
knowledge
Domain
Knowledge
models
Feature Models
Sales/
Marketing
Plans
Assets/
Components
Component
Models
EFA
Compos
ition
steps
Technical
Constraints
Feature Model
Constraints
Feature Meta Model
Problem
Space
Record
Search
Advanced
Patient
Search
Document
Search
Patient
Search
Technical
Security
Database
Document
Registry Service
IC Coded Data
Service
Document
Repository
Service
Patient Search
Service
Oracle
MySQL
Variant
selection
Planner
Composition
program
Application
Server
JBoss
WebSphere
Locator Service
Record Registry
Service
IC Authentication
Service
IC Record
Registry Service
Dipl. Inf. Ulrich Dinger
Application
Engineering
Infrastructure
IC ECR Record
Registry Service
24/30
Product/
variant
Evaluierung/Forward Engineering
knowledge
Domain
Knowledge
models
Feature Models
Sales/
Marketing
Plans
Assets/
Components
Kompositionsschrittbeschreibung
• Als Teil des SLL-Editors
Compos
ition
steps
Feature Model
Constraints
Feature Meta Model
Application
Engineering
Dipl. Inf. Ulrich Dinger
Component
Models
Technical
Constraints
Variant
selection
Planner
Composition
program
25/30
Product/
variant
Evaluierung/Forward Engineering
Variantenauswahl, Planer und
Bauen der Variante
knowledge
Domain
Knowledge
models
Feature Models
Sales/
Marketing
Plans
Assets/
Components
Component
Models
Compos
ition
steps
Technical
Constraints
Feature Model
Constraints
Feature Meta Model
Application
Engineering
Variant
selection
Planner
Composition
program
=> 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)
Dipl. Inf. Ulrich Dinger
Variantenauswahl (Rolle = SW-Entwickler)
26/30
Product/
variant
Evaluierung/Reverse Engineering
Erstellte Komponenten-Meta-Modelle
• MPI + EHR (SIC-Komponenten)
• Internationalisierung, Dokumentation, Änderungshistorie
Konfiguration eines Produktes
=> Einfache, erweiterbare KomponentenBeschreibungssprache sowie die entsprechenden
Werkzeuge helfen mir, das Software-System in
beliebiger Form zu beschreiben + Produkte zu
konfigurieren
Dipl. Inf. Ulrich Dinger
27/30
Zusammenfassung und Ausblick
Dipl. Inf. Ulrich Dinger
28/30
Zusammenfassung

T1:Nutzung einer automatischen Planungskomponente vereinfacht Erstellung und Wartung
von SW-Produktlinien und beseitigt konzeptionelle
Probleme existierender Lösungen

T2: Einfaches, erweiterbares KomponentenMeta-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 SWEntwicklungswerkzeuge; Evaluiert an zwei Beispielen
aus dem Umfeld der Medizintechnik
Dipl. Inf. Ulrich Dinger
29/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
o
Semantic Web Services (OWL-S)
o
Künstliche Intelligenz
Bereitstellung anderer Sichten auf Modelle
•
Nutzung DSL-Frameworks
Dipl. Inf. Ulrich Dinger
30/30
Vielen Dank für die Aufmerksamkeit
Dipl. Inf. Ulrich Dinger
31/30
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/
Dipl. Inf. Ulrich Dinger
/30
Dipl. Inf. Ulrich Dinger
/30
Stand der Technik
Kompositionsbeschreibungssprachen/WorkflowBeschreibungssprachen
Dipl. Inf. Ulrich Dinger
34/30
Konzepte/Forward-Engineering
Erweitertes Feature-MetaModell
knowledge
Domain
Knowledge
models
Feature Models
Sales/
Marketing
Plans
Assets/
Components
Component
Models
Compos
ition
steps
Feature Model
Constraints
Feature Meta Model
Application
Engineering
Variant
selection
Planner
Composition
program
• Parametrisierung
• Wiederverwendung
Service 1
Semantic
• Service Language Layer
Kompositionsbeschreibung
ssprache
Dipl. Inf. Ulrich Dinger
Internet/
Intranet
WSDL
Meta-Architektur als SOA
• Semantische
Beschreibung der
Kompositionsschritte auf
Basis Feature-Modelle +
Meta-Modell (IOPE)
Technical
Constraints
WSDL
Service n
WSDL
Semantic
Service 2
Semantic
User Interface
W
S
D
L
Planer
W
S
D
L
WorkflowEngine
W
S
D
L
Service
Registry
User/
Client
result
35/30
Product/
variant
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
Dipl. Inf. Ulrich Dinger
36/30
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
Dipl. Inf. Ulrich Dinger
37/30
Feature-Meta-Modell
Dipl. Inf. Ulrich Dinger
38/30
Datentypen
Definierte Datentypen (UML-Instanzdiagramm)
Dipl. Inf. Ulrich Dinger
39/30
Beschränkungen
Dipl. Inf. Ulrich Dinger
40/30
Semantische Beschreibung (1)
Dipl. Inf. Ulrich Dinger
41/30
Semantik (2/Vorbedingungen)
Dipl. Inf. Ulrich Dinger
42/30
Semantik (3/Effekte)
Dipl. Inf. Ulrich Dinger
43/30
Semantik (4/Beschränkungen/Berechnungen)
Dipl. Inf. Ulrich Dinger
44/30
Anfragen an Planer
Dipl. Inf. Ulrich Dinger
45/30
Anfragevorbedinungen
Dipl. Inf. Ulrich Dinger
46/30
Anfragenachbedingungen
Dipl. Inf. Ulrich Dinger
47/30
TMX/Internationalisierung
Dipl. Inf. Ulrich Dinger
48/30
Produktkonfiguration
Dipl. Inf. Ulrich Dinger
49/30
Komoponentenmodell
Dipl. Inf. Ulrich Dinger
50/30
Ecore Meta-Meta-Modell
Dipl. Inf. Ulrich Dinger
51/30
Angepaßte Anfragevorbedingungen
Dipl. Inf. Ulrich Dinger
52/30
Planer
Dipl. Inf. Ulrich Dinger
53/30
Planer Optimierung
Dipl. Inf. Ulrich Dinger
54/30
Variantenauswahl Wizard
Dipl. Inf. Ulrich Dinger
55/30
History zu HTML-Release-Notes
Dipl. Inf. Ulrich Dinger
56/30
Dokumentations-Meta-Modell
Dipl. Inf. Ulrich Dinger
57/30
Generierte HTML-Dokumentation
Dipl. Inf. Ulrich Dinger
58/30