Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
1. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Konzeption eines auf Feature-Modellierung
basierenden Frameworks zur
modellgetriebenen Softwareentwicklung
Vorstellung der Diplomarbeit
Helko Glathe
Fakult¨t IV - Elektrotechnik und Informatik
a
Datenbanksysteme und Informationsmanagement (DIMA)
25. Juli 2008
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
2. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Overview
Einleitung
Motivation
Zielsetzung
Framework-Konzeption
Grundlegende Idee
Architektur
Zusammenfassung und Diskussion
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
3. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Model-Driven Engineering zur Entwicklung eines Softwaresystems
Modelle als zentrale Elemente eines Entwicklungsprozesses.
Abstraktion von einer rein technischen L¨sungsbeschreibung.
o
Abstraktion durch Sichtenbildung auf Modellebene.
Abstraktions¨berg¨nge durch Transformationen.
u a
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
4. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Einschr¨nkung beim Model-Driven Engineering
a
Es wird nur die Entwicklung eines konkreten Softwaresystems
verfolgt.
Auch ¨hnliche Softwaresysteme m¨ssen komplett neu entwickelt
a u
werden.
Keine Unterst¨tzung von Softwaresystemfamilien durch
u
Wiederverwendung von Teilen einer modellgetriebenen Entwicklung.
Wobei in anderen Bereichen die Wiederverwendung erfolgreich zum
Einsatz kommt...
Z.B. in der Automobilindustrie oder bei der Herstellung von
Mobiltelefonen.
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
5. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Zusammenspiel von Domain- und Application Engineering
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
6. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Dom¨ne der Softwaresystemfamilie Informationsintegrationssysteme (IIS)
a
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
7. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Definition gemeinsamer und optionaler Eigenschaften einer Familie / Feature-Modell
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
8. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Suchmaschine: Google
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
9. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Suchmaschine: Live
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
10. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Ausschnitt m¨glicher Eigenschaften eines IIS
o
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
11. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Motivation
Features von Google’s Verzeichnis und Live Search
Definition
Eine Feature-Modell-Konfiguration deklariert die Eigenschaften zu einem
konkreten Softwaresystem.
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
12. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Zielsetzung
Das Framework soll einen Entwickler in folgender Hinsicht unterst¨tzen:
u
Dom Eng
Definition der Eigenschaften einer Familie durch
Feature-Modell
Softwaredesignmodell zu Eigenschaften erstellen
Optionale Softwaredesignelemente mit Features annotieren
App Eng
Auswahl der Eigenschaften zum Bau eines konkreten
familienbasierten Softwaresystems
Transformation des Familiendesigns in ein entsprechendes
Systemdesign
Views
Reduzierung der Modellausmaße durch aspektorientierte
Untergliederung
Domain- und Application Engineering finden
aspektorientiert statt
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
13. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Zielsetzung
Was ist mit Aspekt gemeint?
Definition
Die Gesamtdefinition einer Familie bestehend aus Feature-Modell und
Softwaredesignmodell wird in mehrere Teildefinitionen aufgetrennt. Z.B.
stellt die zuvor erw¨hnte Informationssuche einen Aspekt der
a
Informationsintegrationssysteme dar.
Bestandteile:
Eigenschaftsdefinition / Feature-Modell
Softwaretechnische Umsetzung / Softwaredesignmodell
Einordnung gegen¨ber ubergeordneten Aspekten
u ¨
Integrationsbeschreibung zu ubergeordneten Aspekten
¨
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
14. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Das Framework soll einen Entwickler in folgender Hinsicht unterst¨tzen:
u
Dom Eng
Definition der Eigenschaften einer Familie durch
Feature-Modell
Softwaredesignmodell zu Eigenschaften erstellen
Optionale Softwaredesignelemente mit Features
annotieren
App Eng
Auswahl der Eigenschaften zum Bau eines konkreten
familienbasierten Softwaresystems
Transformation des Familiendesigns in ein entsprechendes
Systemdesign
Views
Reduzierung der Modellausmaße durch
aspektorientierte Untergliederung
Domain- und Application Engineering finden
aspektorientiert statt
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
15. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
16. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Domain Engineering: Variants Description zu Root-Aspekt IIS
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
17. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Domain Engineering: Solution Model zu Root-Aspekt IIS
ud: Root Aspect IIS − Use Cases
Processes
name := name(IIS)
My IIS if IIS−−Supported Processes −−
Further Information Processing
actor
[1..*] Information Processing
User Application
Because IIS−−Supported Processes −−
include
Integrating Data of a Data Provider
Discover Information
actor
Data Provider
Get Data of a Data Provider Component
Management
actor
0..1 0..1
Data Provider
Integration
Manager
if IIS−−Supported Processes−−
Management
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
18. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
cd: FeatureAnnotation
1
FeatureModel
(from Featuremodel )
/ PossiblyAnnotatedBy
FeaturesOf
1
/.
*
*
Feature
(from Featuremodel )
1
Of −Name :String
−Variability :enum{mandatory, optional}
/ Possibly
*
AnnotatedBy
BasicCondition
−BoolExpression :enum{bound, removed, undecided}
−BoolInvertion :Boolean
0..1
Condition FeatureAnnotation
Condition 1
2..*
Type 0..1
AssociatedTo
1 * *
0..1
FeatureAnnotatable
CombinedCondition Element
−CombinationType :enum{AND, OR, XOR}
−/ BoolExpression :String
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
19. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Domain Engineering: Variants Description zu Sub-Aspekt Information Discovery
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
20. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Domain Engineering: Solution Model zu Sub-Aspekt Information Discovery
Information Discovery Processes
Information Discovery
include
variant
actor Discover
Enhance Domain
User Application if Information Discovery
Result Object −−Result Enhancement
variant if Information Discovery
variant
if Information Discovery −−Browse
Browse through Information
−−Search Search Information
variant
if Information Discovery
Fetch Information
−−Browse Fetch
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
21. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
22. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Domain Engineering: Integration des Sub-Aspekts / Features
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
23. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Domain Engineering: Integrationsregel des Sub-Aspekts / Softwaredesign
ud: Aspect Information Discovery − Family IIS − Integration Rule
TargetEnhancement
UseCaseEnhancement
TargetModelElementReference SourceModelElementReference
Discover Information Discover
Weitere Integrationsmodellelemente:
Komplett neue Elemente zum Verbinden (IntegrationModelElement)
Source- bzw. TargetReplacement
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
25. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Das Framework soll einen Entwickler in folgender Hinsicht unterst¨tzen:
u
Dom Eng
Definition der Eigenschaften einer Familie durch
Feature-Modell
Softwaredesignmodell zu Eigenschaften erstellen
Optionale Softwaredesignelemente mit Features annotieren
App Eng
Auswahl der Eigenschaften zum Bau eines konkreten
familienbasierten Softwaresystems
Transformation des Familiendesigns in ein
entsprechendes Systemdesign
Views
Reduzierung der Modellausmaße durch
aspektorientierte Untergliederung
Domain- und Application Engineering finden
aspektorientiert statt
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
26. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
27. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Application Engineering: Variants Decision zu Root-Aspekt IIS
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
28. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Application Engineering: Transformiertes Solution Model zu Root-Aspekt IIS
ud: Root Aspect IIS − Use Cases
Processes
name := name(IIS)
My IIS if IIS−−Supported Processes −−
Further Information Processing
actor
[1..*] Information Processing
User Application
Because IIS−−Supported Processes −−
include
Integrating Data of a Data Provider
Discover Information
actor
Data Provider
Get Data of a Data Provider Component
Management
actor
0..1 0..1
Data Provider
Integration
Manager
if IIS−−Supported Processes−−
Management
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
29. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Application Engineering: Transformiertes Solution Model zu Root-Aspekt IIS
ud: Refinement of Root Aspect IIS − Use Cases
Processes
actor
User Application
My IIS
actor
Data Provider
Discover Information
Component
actor
Data Provider
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
30. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
31. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Application Engineering: Variants Decision zu Sub-Aspekt Information Discovery
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
32. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Application Engineering: Transformiertes Solution Model zu Sub-Aspekt Information
Discovery
Information Discovery Processes
Information Discovery
include
variant
actor Discover
Enhance Domain
User Application if Information Discovery
Result Object −−Result Enhancement
variant if Information Discovery
variant
if Information Discovery −−Browse
Browse through Information
−−Search Search Information
variant
if Information Discovery
Fetch Information
−−Browse Fetch
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
33. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Application Engineering: Transformiertes Solution Model zu Sub-Aspekt Information
Discovery
ud: Refinment of Sub Aspect Information Discovery − Use Cases
Information Discovery Processes
if Information Discovery
−−Result Enhancement
Information Discovery
include
actor
Discover Information
User Application
Enhance Domain
Result Object
Browse through Information
if Information Discovery
−−Browse
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
34. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Application Engineering / Integration: Resulting Variants Decision
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
35. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Grundlegende Idee
Application Engineering / Integration: Resulting Design Model
ud: Result of integrated Sub Aspect ``Information Discovery’’ − Use Cases
Processes
Because IIS−−Information Discovery Interface−− Because IIS−−Information Discovery Interface−−
−−Result Enhancement Browse
My IIS actor
User Application
Browse through Information
actor
Enhance Domain
Result Object Data Provider
Component
include Discover Information
actor
Data Provider
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
36. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Architektur
Softwarearchitektur des Frameworks
Anwendungsf¨lle zu Domain- und Application Engineering
a
Komponenten mit ihren Schnittstellen
Verhaltensmodelle (Aktivit¨ten und Interaktionen)
a
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
37. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Architektur
cd: Major Components of Framework
SoftwareSystemFamilyManagerFramework
DE Data MetaInfos AE Data MetaInfos
MajorOverviewingAccessManager
(Names, Documentations, (Names, Documentations,
Identifiers, Interrelations,...) Identifiers, Interrelations,...)
ApplicationEngineeringServices
DomainEngineeringServices
DomainEngineeringServices ApplicationEngineeringServices
DomainEngineeringManager ApplicationEngineeringManager
DEDataAccessForAE
DEDataAccessForAE
DE Repository Data FeatureModeling
Management
IRepository
IRepository
VariantsSoftware VariantsSoftware
DesignModeling FeatureModeling DesignModeling
Management Management Management
AE Data(Projects,
Variants DE Data(Projects,
Pattern Usages,
Descriptions, Patterns,Pattern
Decision Customizations,
Aspect relations) Customized
Design Customizations)
Characterizations, Design Models
PreDefined
VariantsSoftware
VariantsDescriptions
FeatureModeling DesignModeling
Management IRepository Management
FeatureModeling Tool subsystem , database FeatureAnnotated
SoftwareDesignModeling
Repository
Tool
FeatureModeling VariantsSoftware
Management DesignModeling
Management
Solution Models, Integration Rules
Variants Decisions, Decision Customizations
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
38. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Wesentliche Merkmale der Konzeption
Unterst¨tzung von Domain Engineering
u
Unterst¨tzung von Application Engineering
u
Definition von Varianten innerhalb eines Softwaredesignmodells
Verringerung der Ausmaße von Modellen durch Aspekte
Modellierungssprachunabh¨ngigkeit
a
Unterscheidung von Anforderungsmodell und funktionalem Modell
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
39. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Erweiterungsm¨glichkeiten
o
Ber¨cksichtigung von Qualit¨tseigenschaften
u a
Ber¨cksichtigung fertiger Softwarekomponenten
u
u.v.m.
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung
40. Einleitung Framework-Konzeption Zusammenfassung und Diskussion
Vielen Dank f¨r Ihre Aufmerksamkeit! Fragen beantworte ich gerne.
u
Fak IV DIMA
Helko Glathe TU-Berlin
Konzeption eines auf Feature-Modellierung basierenden Frameworks zur modellgetriebenen Softwareentwicklung