scieee Science in your language
[de] (orig)

Mapping-basierte Modellierung von Softwareproduktlinien

Read accessible full text

Mapping-basierte Modellierung von Softwareproduktlinien

Author: Schwägerl, Felix
Year: 2012
Source: https://epub.uni-bayreuth.de/id/eprint/234/1/Masterarbeit_Schwaegerl.pdf
Uni e si ¨
a Bay eu h
Fakul ¨
a ¨
u Ma hema ik, Physik und In o ma ik
Ins i u ¨
u In o ma ik
Leh s uhl Angewand e In o ma ik I
So wa e Enginee ing
Mas e -Thesis
Mapping-basie e Modellie ung
on So wa ep oduk linien
Felix Schw¨
age l
30. Mai 2012
P ¨
u e :
P o . D . Be nha d Wes ech el
P o . D .-Ing. S e an Jablonski
Zusammen assung
Die modellge iebene So wa een wicklung e laub die Besch eibung on So wa esys emen au
h¨
ohe em Abs ak ionsg ad. Neben de Dokumen a ion dienen Modelle de au oma isie en
Gene ie ung on Quell ex in eine h¨
ohe en P og ammie sp ache. Au P og ammie sp achen-
Ebene e lauben Kons uk e wie Ve e bung ode Typpa ame isie ung die Wiede e wendung
im Kleinen. Ad¨
aqua e Kons uk e s ehen au Modell-Ebene zu Ve ¨
ugung.
So wa ep oduk linien besch eiben Gemeinsamkei en und Un e schiede e wand e So -
wa e. Du ch sie kann Wiede e wendung im G oßen be ieben we den, um aus eine ge-
meinsamen Basis ¨
ahnliche P oduk e zu e zeugen. Einzelne P oduk e un e scheiden sich in
de Implemen ie ung spezi ische So wa eme kmale, die in einem Fea u emodell es gehal en
we den. Fea u ekon igu a ionen besch eiben hingegen de en Ausp ¨
agung je P oduk .
Die Kombina ion des So wa ep oduk linien-Ansa zes mi de modellge iebenen En wick-
lung is keine neue Idee. P oduk e we den hie bei du ch Modelle ep ¨
asen ie . In diese A bei
wi d de Sonde all de nega i en Va iabili ¨
a be ach e : Ein Mul i a ian en-Dom¨
anenmodell
beinhal e s¨
am liche A e ak e, die in Mi gliede n de P oduk amilie obliga o isch ode op-
ional en hal en sein k¨
onnen. Ein P oduk en s eh du ch das L¨
oschen de jenigen Modell-Ele-
men e, die nich in seine Kon igu a ion en hal enen Fea u es zugeo dne sind.
In de o liegenden Mas e -Thesis wi d ein Ansa z zu Abbildung on Elemen en ei-
nes Mul i a ian en-Dom¨
anenmodells au ein Fea u emodell o ges ell . Die Abbildung selbs
wi d om Modellie e in einem sog. Mapping-Modell e zeug . Es e laub die Anno a ion on
Dom¨
anenmodell-A e ak en mi sog. Fea u e-Ausd ¨
ucken, welche sich wiede um au das Fea-
u emodell beziehen. Die Auswe ung on Fea u e-Ausd ¨
ucken weis einem Mapping einen
Selek ionszus and zu. Die A bei lie e Bei ¨
age in den olgenden ie Be eichen:
Konsis enz Selek ionszus ¨
ande oneinande abh¨
angige Mappings wide sp echen sich un-
e bes imm en Vo ausse zungen. Die hie bei en s ehenden Inkonsis enzen we den
nich nu e kann ; in diese Thesis ausgea bei e e S a egien wie die P opaga ion
ode Su oga e e lauben die au oma ische Repa a u de selben. F¨
u die Fo mulie ung
dom¨
anenspezi ische Abh¨
angigkei sbedingungen is eine eigene Sp ache o gesehen.
Synch oni ¨
a Fea u e- und Dom¨
anenmodell un e liegen eine kon inuie lichen E olu ion.
Du ch sie k¨
onnen exis ie ende Mappings ung¨
ul ig we den. Gegens and eines ausgea bei-
e en Konzep s is die wei es gehend au oma ische Synch onisa ion de Modelle, wobei
ein m¨
ogliche In o ma ions e lus minimie wi d.
Agili ¨
a Die modellge iebene En wicklung on So wa ep oduk linien e olg nich aus-
schließlich plange ieben. Man will e wa p oduk spezi ische ¨
Ande ungen an einem
exis ie enden Mapping-Modell o nehmen. Die einge ¨
uh en Al e na i en-Mappings
e m¨
oglichen da ¨
ube hinaus eine konzep ionelle E wei e ung du ch posi i e Va iabili ¨
a .
Mani es a ion de Va iabili ¨
a In diese Thesis wi d un e such , inwiewei sich in Fea u e-
modellen es gehal ene Va iabili ¨
a au P oduk e niede schlagen kann. Hie bei wi d die
s a e m:n-Beziehung zwischen Fea u es und Dom¨
anenmodell-A e ak en au gel¨
os , um
neue Exp essionsmi el wie A ibu -Cons ain s zu Ve ¨
ugung zu s ellen.
In einem o be ei enden Abschni we den die e w¨
ahn en Aspek e zun¨
achs heo e isch un-
e such . Anschließend wi d mi F2DMM eine Modellie ungsumgebung ¨
u So wa ep oduk -
linien o ges ell . Schließlich e olg eine E aluie ung anhand eines kons uie en Beispiels
sowie eine Abg enzung zu e wand en Ans¨
a zen.
Abs ac
Model d i en so wa e enginee ing allows o he desc ip ion o so wa e sys ems a a highe
le el o abs ac ion. Models a e no only sui able o documen a ion, bu also o an au oma ed
gene a ion o sou ce code in a mode n p og amming language. A language le el, cons uc s
such as inhe i ance o ype pa ame iza ion enable euse in he small. Adequa e cons uc s
exis a modeling le el.
So wa e p oduc lines desc ibe commonali ies and di e ences o ela ed so wa e. They
enable euse in he la ge o de i e simila p oduc s om a common so wa e basis. Dis inc
p oduc s di e in he implemen a ion o speci ic so wa e ea u es which can be eco ded in
a ea u e model. Con as ingly, a ea u e con igu a ion desc ibes a p oduc ’s cha ac e is ics.
The combina ion o bo h he so wa e p oduc line app oach and model d i en so wa e
enginee ing is no a no el idea. P oduc s a e ep esen ed by models in his discipline. This
hesis conside s he special case o nega i e a iabili y: a mul i- a ian domain model con ains
he comple e se o op ional o manda o y so wa e a i ac s which can occu in some o all o
he membe s o a so wa e amily. De i ing a p oduc means dele ing model a i ac s which
a e no assigned o any ea u e ha is included in he ea u e con igu a ion desc ibing i .
The p esen Mas e hesis in oduces an app oach o mapping elemen s o a mul i- a ian
domain model on o elemen s o a ea u e model. The mapping i sel is c ea ed by he use
in a so called mapping model. I allows o he anno a ion o domain model a i ac s wi h
ea u e exp essions ha e e o he ea u e model o he p oduc line. E alua ing i s ea-
u e exp ession, a dis inc selec ion s a e is de e mined o each mapping. The hesis makes
con ibu ions in ou a eas:
Consis ency Selec ion s a es o mu ually depending mappings may be con adic ing o some
condi ions, esul ing in inconsis encies. S a egies elabo a ed in his hesis, e.g. p opa-
ga ion and su oga es, do no only iden i y hem, bu also allow o an au oma ic epai .
A dedica ed language has been de eloped o enable he ph asing o domain speci ic
consis ency condi ions.
Synch onici y Fea u e and domain model a e a ec ed by con inuous e olu ion, which can
u n mappings in o an in alid s a e. Ano he concep elabo a ed in his hesis is a
mos ly au oma ic synch oniza ion o in ol ed models, minimizing he po en ial loss o
in o ma ion.
Agili y Model d i en so wa e p oduc line enginee ing is no supposed o be pu ely plan-
d i en. Conside ing mapping models, p oduc speci ic changes may be in ended o occu
la ely. This equi emen is co e ed by he concep o al e na i e mappings in oduced
o e en suppo posi i e a iabili y.
Mani es a ion o a iabili y The hesis includes an in es iga ion o how a iabili y cap u ed
in ea u e models can in luence p oduc s. Gene ally, ea u es a e supposed o be ela ed
o domain model a i ac s by a m:n ela ionship only. New concep s y o enhance his
by in oducing lexible cons uc s such as a ibu e cons ain s.
A p epa a o y sec ion co e s he concep s desc ibed abo e in heo y. Nex , he so wa e
p oduc line modeling en i onmen F2DMM is in oduced ha implemen s hese concep s.
Finally, he app oach is e alua ed using an a i icial case s udy wi h limi ed ex en . The hesis
is concluded by p esen ing ela ed wo k.
Inhal s e zeichnis
Inhal s e zeichnis
1 Einlei ung 8
1.1 Modelle als Abs ak ion on So wa esys emen . . . . . . . . . . . . . . . . . 8
1.2 Konzep e de Wiede e wendung on So wa e . . . . . . . . . . . . . . . . . 8
1.2.1 Wiede e wendung im Kleinen: Spezialisie ung und Typpa ame isie ung 8
1.2.2 Wiede e wendung im G oßen: Modula isie ung und Komponen en . . 10
1.2.3 O ganisie e Wiede e wendung: P oduk linien und So wa e amilien . 11
1.3 Bei ag de A bei un e bes imm en Aspek en . . . . . . . . . . . . . . . . . 12
1.3.1 Konsis enz ................................. 12
1.3.2 Synch oni ¨
a ................................ 12
1.3.3 Agili ¨
a ................................... 12
1.3.4 Mani es a ion de Va iabili ¨
a ....................... 13
1.4 Au baude A bei ................................. 13
1.5 Beglei ende Ressou cen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex 15
2.1 G undlagen de modellge iebenen So wa een wicklung . . . . . . . . . . . . 15
2.1.1 Ziele..................................... 15
2.1.2 Modellie ungsebenen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.3 Abs ak e und konk e e Syn ax . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Das Eclipse Modeling F amewo k . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Das Eco e-Me amodell . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2 Gene ie ung on Ja a-Quellcode . . . . . . . . . . . . . . . . . . . . . 21
2.3 EMF-Baumedi o en ................................ 22
2.3.1 De UI-unabh¨
angige Teil: I em-P o ide . . . . . . . . . . . . . . . . . 23
2.3.2 De Edi o als Benu ze schni s elle . . . . . . . . . . . . . . . . . . . 23
2.3.3 Anpassungsm¨
oglichkei en ......................... 24
2.4 Das EMF Valida ion F amewo k . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.1 De ini ion on Cons ain s und In a ian en . . . . . . . . . . . . . . . 25
2.4.2 Ba ch- und Li e-Validie ung . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5 Tex uelle Syn ax mi X ex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.1 Au bau eine X ex -G amma ik . . . . . . . . . . . . . . . . . . . . . . 27
2.5.2 Gene ie ung on Lau zei modulen . . . . . . . . . . . . . . . . . . . . 29
2.5.3 Neue zeugung ode Wiede e wendung eines Eco e-Modells . . . . . . 30
2.6 OCL - Objec Cons ain Language . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6.1 Essen ialOCL ............................... 31
2.6.2 Comple eOCL............................... 32
2.7 Modell-zu-Modell-T ans o ma ionen . . . . . . . . . . . . . . . . . . . . . . . 33
2.7.1 Impe a i e Ans¨
a ze: Ja a, ATL und QVT Ope a ional . . . . . . . . . 33
2.7.2 Dekla a i e Ans¨
a ze: QVT Rela ions und T ipel-G aph-G amma iken 34
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung 38
3.1 Modellie ung on So wa eme kmalen . . . . . . . . . . . . . . . . . . . . . . 38
3.1.1 Iden i ika ion on Me kmalen de Va iabili ¨
a .............. 38
3.1.2 Me kmale de Va iabili ¨
a ......................... 38
4
Inhal s e zeichnis
3.1.3 So wa eme kmale und Abh¨
angigkei en: Das Fea u emodell on Kang 39
3.1.4 G uppie ung und Ka dinali ¨
a on Fea u es . . . . . . . . . . . . . . . 40
3.1.5 Fea u e-Kon igu a ionen: Elimina ion de Va iabili ¨
a ......... 41
3.1.6 Zus¨
a zliche Pa ame isie ung du ch A ibu e . . . . . . . . . . . . . . 41
3.2 Mani es a ion de Va iabili ¨
a im Dom¨
anenmodell . . . . . . . . . . . . . . . 42
3.2.1 De Ke nel: Die Menge alle gemeinsamen Elemen e . . . . . . . . . . 42
3.2.2 Op ionale Elemen e in Abh¨
angigkei on de Fea u ekon igu a ion . . 42
3.2.3 Va ia ionspunk e du ch sich gegensei ig ausschließende Al e na i en . 43
3.2.4 Mani es a ion de Mul iplizi ¨
a on Fea u es . . . . . . . . . . . . . . 43
3.2.5 Mani es a ion on Fea u e-A ibu en . . . . . . . . . . . . . . . . . . 44
3.3 Konsis enz und s uk u elle Abh¨
angigkei en................... 45
3.3.1 Annahmen ................................. 46
3.3.2 S uk u elle Abh¨
angigkei on Dom¨
anenmodell-Elemen en . . . . . . . 46
3.3.3 Abh¨
angigkei skon lik e und m¨
ogliche L¨
osungen . . . . . . . . . . . . . 48
3.3.4 Su oga e: Wiede he s ellung de Konsis enz ohne In o ma ions e lus 49
3.4 MDPLE als So wa een wicklungsp ozess . . . . . . . . . . . . . . . . . . . . . 49
3.4.1 Das Doppelspi almodell on Gomaa . . . . . . . . . . . . . . . . . . . 50
3.4.2 Model D i en A chi ec u e . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4.3 Re e enzp ozess de So wa ep oduk linienen wicklung . . . . . . . . . 51
3.4.4 Vo geschlagene MDPLE-P ozess . . . . . . . . . . . . . . . . . . . . . 52
3.4.5 Die ma hema isch- o melle Sich : P oblem- und L¨
osungs aum . . . . . 53
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien 54
4.1 ¨
Ube sich : Modelle und We kzeuge . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2 Fea u emodellie ung ................................ 56
4.2.1 Das Fea u e-Me amodell . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2.2 Validie ung in Fea u emodell und -kon igu a ion . . . . . . . . . . . . 57
4.2.3 We kzeugun e s ¨
u zung .......................... 59
4.2.4 Synch onisa ion on Fea u emodell und -kon igu a ion . . . . . . . . . 59
4.3 DasF2DMM-Me amodell ............................. 63
4.3.1 Re e enzie e Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3.2 De Mapping-Baum: S uk u elle Rekons uk ion des Dom¨
anenmodells 64
4.3.3 Ke n- und Al e na i en-Mappings . . . . . . . . . . . . . . . . . . . . 66
4.3.4 Selek ionszus ¨
ande............................. 66
4.4 FEL: Fea u e-Ausd ¨
ucke und de en Auswe ung . . . . . . . . . . . . . . . . . 68
4.4.1 Elemen a e Fea u e-Ausd ¨
ucke: Quali izie ende Namen, Index-Bezug
und boolesche Ve kn¨
up ungen....................... 68
4.4.2 Fea u e-Ausd ¨
ucke mi Cons ain s au A ibu we en . . . . . . . . . 72
4.4.3 A ibu -Ausd ¨
ucke: Ab age on A ibu we en de ak uellen Fea u e-
kon igu a ion ................................ 74
4.4.4 Se ialisie ung on Fea u e-Ausd ¨
ucken.................. 77
4.5 SIDRL: Eine Sp ache zu Fo mulie ung modellspezi ische Abh¨
angigkei sbe-
dingungen...................................... 77
4.5.1 Au bau und Seman ik eines SDIRL-Dokumen s . . . . . . . . . . . . . 77
4.5.2 X ex -G amma ik ¨
u SDIRL....................... 78
4.5.3 Edi o -Un e s ¨
u zung ........................... 81
4.5.4 Auswe ung de eingebe e en OCL-Ausd ¨
ucke ............. 82
5

Inhal s e zeichnis
4.5.5 Auswe ung on Su oga -Ausd ¨
ucken .................. 83
4.6 Mapping-Besch eibungen und Al e na i en-Mappings . . . . . . . . . . . . . . 83
4.6.1 Die Konzep sich : Mapping-Besch eibungen als Ve kn¨
up ung zum Do-
m¨
anenmodell ................................ 84
4.6.2 Die Anwende sich : E zeugung on Al e na i en-Mappings . . . . . . 86
4.7 Kon lik e kennung, P opaga ion und In alidie ung . . . . . . . . . . . . . . . 90
4.7.1 Phasen bei de E mi lung on Selek ionszus ¨
anden . . . . . . . . . . 91
4.7.2 Beziehungen zwischen Mappings: Die abs ak e Klasse Anno a able . 92
4.7.3 Phase 0: Vo be echnung on Abh¨
angigkei s- und Ausschlussbeziehungen 93
4.7.4 Die P opaga ionss a egien ”Vo w¨
a s“ und ”R¨
uckw¨
a s“ . . . . . . . 97
4.7.5 Phasen 1 bis 5: Iden i ika ion und Au l¨
osung on Kon lik en . . . . . . 99
4.7.6 In alidie ungszyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.8 Ablei ung on P oduk en . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.8.1 No wendige Vo ausse zungen ¨
u die Ablei ung on wohlge o m en P o-
duk en.................................... 104
4.8.2 Anpassung des EMF-Copie s ¨
u die Basis ans o ma ion . . . . . . . 105
4.8.3 Behandlung on Al e na i en . . . . . . . . . . . . . . . . . . . . . . . 106
4.8.4 Auswahl on Su oga -Mappings . . . . . . . . . . . . . . . . . . . . . 106
4.8.5 Du ch ¨
uh ung on Repa a u ak ionen . . . . . . . . . . . . . . . . . . 107
4.9 Synch onisa ions- und Validie ungsmechanismen . . . . . . . . . . . . . . . . 108
4.9.1 Synch onisa ion on Ke n-Dom¨
anen- und Mapping-Modell . . . . . . 108
4.9.2 Einbe ung de Synch onisa ion on Fea u emodell und -kon igu a ion 111
4.9.3 Zus¨
a zliche Konsis enzp ¨
u ung mi els EMF-Validie ung . . . . . . . . 112
4.10 Wei e e Bedienkonzep e des Mapping-Edi o s . . . . . . . . . . . . . . . . . . 115
4.10.1 Die F2DMM-Pe spek i e . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.10.2 Anno a ion on Mappings . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.10.3 Das P ope y-Shee als Diagnose-Ansich . . . . . . . . . . . . . . . . 118
4.10.4 Anzeigeop ionen au de F2DMM-P e e ence-Page . . . . . . . . . . . 118
4.10.5 De F2DMM-Wiza d und das FAMILE-Dashboa d . . . . . . . . . . . 121
5 Beispiel zu E aluie ung des Ansa zes 123
5.1 Be eilig eModelle ................................. 123
5.1.1 Fea u emodell................................ 123
5.1.2 Fea u ekon igu a ionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.1.3 Mul i a ian en-Dom¨
anenmodell...................... 125
5.2 S uk u elle Abh¨
angigkei en ¨
u UML2-Klassen- und Zus andsdiag amme . . 130
5.3 Au l¨
osung on Inkonsis enzen im Mapping-Modell . . . . . . . . . . . . . . . 131
5.3.1 Un olls ¨
andig anno ie e Pake hie a chie . . . . . . . . . . . . . . . . . 132
5.3.2 Abbildung meh we ige Fea u es . . . . . . . . . . . . . . . . . . . . . 132
5.3.3 Abh¨
angigkei en on Zus ¨
anden und T ansi ionen . . . . . . . . . . . . 133
5.3.4 A ibu -abh¨
angige Ka dinali ¨
a eine Assozia ion . . . . . . . . . . . 134
5.3.5 Un e b echung eine meh s u igen Ve e bungshie a chie . . . . . . . . 136
5.3.6 Su oga e und Ausschlusskon lik e . . . . . . . . . . . . . . . . . . . . 136
5.4 Abgelei e eP oduk e................................ 138
5.4.1 Auswahl on Su oga -Kandida en . . . . . . . . . . . . . . . . . . . . 138
5.4.2 Wiede he s ellung de Ve e bungshie a chie . . . . . . . . . . . . . . . 139
5.4.3 Zus andsdiag amme in un e schiedlichen P oduk en . . . . . . . . . . 139
6
Inhal s e zeichnis
5.4.4 Abbildung on A ibu en: Ka dinali ¨
a en und Klassennamen . . . . . 140
5.5 Ausblick: E aluie ung in eine Falls udie mi de MOD2-SCM-P oduk linie . 141
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen 142
6.1 Vom beding en ¨
Ube se zen zu p og ammie sp achenzen ie en Ans¨
a zen . . 142
6.1.1 P ¨
ap ozesso -Mak os............................ 142
6.1.2 CIDE .................................... 143
6.2 Ans¨
a ze ohne T ennung de Fea u e- on de Dom¨
anenmodellie ung . . . . . 144
6.2.1 PLUS: UML-basie e SPL-En wicklung . . . . . . . . . . . . . . . . . 145
6.2.2 De Ansa z on Ziadi und J´ez´equel ¨
u die s a ische Modellie ung . . . 146
6.2.3 De PLiBS-Ansa z ¨
u die dynamische Modellie ung . . . . . . . . . . 147
6.3 Implizi e Abbildung on Fea u es . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3.1 MODPL................................... 148
6.4 Explizi e Abbildung on Fea u es: Mapping-Modelle . . . . . . . . . . . . . . 149
6.4.1 Fea u eMappe .............................. 149
6.5 Modellie ung au Basis posi i e Va iabili ¨
a ................... 152
6.5.1 MATA.................................... 152
6.5.2 VML*.................................... 154
7 Abschließende Beme kungen 155
7.1 Zusammen assung ................................. 155
7.2 R¨
uckbezug au die iden i izie en Aspek e . . . . . . . . . . . . . . . . . . . . 155
7.2.1 Konsis enz ................................. 156
7.2.2 Synch oni ¨
a ................................ 156
7.2.3 Agili ¨
a ................................... 156
7.2.4 Mani es a ion de Va iabili ¨
a ....................... 157
7.3 Diskussion...................................... 157
7.3.1 P oduk linien – p o-ak i ode eak i ? . . . . . . . . . . . . . . . . . 157
7.3.2 Gene izi ¨
a bez¨
uglich des Dom¨
anen-Me amodells . . . . . . . . . . . . 157
7.3.3 Posi i e s. nega i e Va iabili ¨
a ..................... 158
7.4 M¨
ogliche zuk¨
un igeA bei ............................ 158
7.4.1 Besch eibung on Teil ans o ma ionen au h¨
ohe e Abs ak ionsebene 158
7.4.2 Tie e e In eg a ion in die We kzeuge de Dom¨
anenmodellie ung . . . . 159
7.4.3 Un e suchung on P oduk linien zu Modellie ung on Ve hal en . . . 159
7.5 Schlusswo ..................................... 160
Abbildungs e zeichnis 161
Tabellen e zeichnis 163
Quell ex e zeichnis 163
Abk¨
u zungs e zeichnis 164
Li e a u 166
7
1 Einlei ung
1 Einlei ung
1.1 Modelle als Abs ak ion on So wa esys emen
Das Abs ak ionsni eau bei de En wicklung on So wa esys emen s eig sei jehe an: In den
1960e Jah en wu den Assemble sp achen als e mein lich menschenlesba e Me aphe n ¨
u
Maschinenbe ehle en wo en. Die s eigende Komplexi ¨
a on zu en wickelnde So wa e e o -
de e jedoch schnell die Ein ¨
uh ung eine wei e en Abs ak ionsebene: H¨
ohe e P og ammie -
sp achen lassen sich wiede um mi Hil e on Compile n in Assemble p og amme ¨
ube se zen.
Sei den 1980e Jah en ollzog sich bei de En wicklung neue Sp achen ein s ¨
andige Pa-
adigmenwechsel: Ange angen bei de s uk u ie en P og ammie ung, bis hin zu den heu e
g¨
angigen Konzep en de objek o ien ie en ode unk ionalen P og ammie ung. Eine Gemein-
samkei alle in h¨
ohe en P og ammie sp achen o mulie en P og amme is de zus¨
a zliche
Beda an echnische Dokumen a ion, welche den Sp ung on de Konzep - au die Imple-
men ie ungsebene e leich e n soll.
Zu abs ak en Besch eibung on Anwendungssys emen haben sich im Be eich des So -
wa e Enginee ing e schiedene Diag amma en e ablie . Die Sp ache UML (Uni ied Mode-
ling Language, gl. Hi z und Kappel [32] im Li e a u e zeichnis) e ein alle zu Dokumen-
a ion on So wa e no wendigen Diag amma en in eine Diag amm amilie. S anda disie e
Diag amme dienen de Kommunika ion on Ideen o , bzw. de Besch eibung on e zeug e
So wa e nach de Implemen ie ung. Als Haup o eil on UML wi d de ges eige e Abs ak-
ionsg ad gesehen. W¨
ah end UML einen gene ellen Modellie ungsansa z ¨
u So wa esy eme
da s ell , exis ie en zus¨
a zlich eine Vielzahl dom¨
anenspezi ische Sp achen, die es e lauben,
au bes imm e Anwendungszwecke zugeschni ene Modelle zu en we en.
Die modellge iebene So wa een wicklung (MDSE) ha zum Ziel, Diag amme bzw. Modelle
nich wei e hin beglei end zu P og ammie ung eines Sys ems als zus¨
a zliches, nu de Doku-
men a ion dienendes A e ak zu e zeugen, sonde n sie p ¨
ask ip i einzuse zen, um Quell ex
aus ihnen abzulei en. Modelle we den hie bei als Abs ak ion de So wa e au h¨
ohe e Ebene
e s anden — sie e hal en sich also zum Quell ex wie de Quell ex zu einem en sp echenden
Assemble p og amm.
1.2 Konzep e de Wiede e wendung on So wa e
So wa e wi d in den sel ens en F¨
allen on G und au neu en wickel : In g ¨
oße en P ojek en
wi d h¨
au ig on gemeinsamen Biblio heken Geb auch gemach , die wiede e wendba e So -
wa ea e ak e be ei s ellen. Die objek o ien ie e P og ammie ung (OOP) in eine Sp ache
wie Ja a (s. Ullenboom [51]) bie e die Vo ausse zungen hie ¨
u in Fo m geeigne e Sp ach-
kons uk e.
1.2.1 Wiede e wendung im Kleinen: Spezialisie ung und Typpa ame isie ung
Das zen ale Konzep de objek o ien ie en P og ammie ung sind Klassen ( gl. [51, Ab-
schni 3]): Sie assen A ibu e und Ope a ionen zusammen, um Eigenscha en und Ve hal-
ensweisen eine Menge on Objek en zu besch eiben. Objek e wiede um lassen sich aus eine
Klasse e zeugen (ins anziie en); ih Zus and wi d du ch die We e ih e A ibu e bes imm .
Eine Klasse l¨
ass sich olglich als Bauplan ¨
u Objek e desselben Typs be ach en. OOP e -
laub zus¨
a zlich, Klassen mi einande in Beziehung zu se zen und sieh hie ¨
u die Kons uk e
Spezialisie ung und Typpa ame isie ung o , die im Folgenden e l¨
au e we den:
8
1 Einlei ung
Spezialisie ung (auch Ve e bung, gl. [51, Abschni 5.8]): Klassen k¨
onnen bei ih e De ini ion
die A ibu e und Ope a ionen eine o handenen Klasse (Obe klasse) e wei e n ode
neu de inie en. Vo handene Quellcode kann au diese Weise wiede e wende we den.
Ins anzen de spezialisie en Klasse sind imme kompa ibel mi ih e Obe klasse. In
Ja a wi d die Spezialisie ung du ch das Schl¨
usselwo ex ends no ie (s. Quell ex 1.1).
Auch UML-Klassendiag amme sehen ¨
u die Da s ellung on Ve e bungsbeziehungen
spezielle Diag ammelemen e o ( gl. Abbildung 1.1).
1public class Vehicle {
2public double speed;
3}
4
5public class Ca ex ends Vehicle {
6public in doo s;
7}
Quell ex 1.1: No a ion de Ve e bung in Ja a.
Vehicle
+ speed : double
Ca
+ doo s : in
Abbildung 1.1: Da s ellung on Ve e bung in UML-Klassendiag ammen. Ein P eil mi l¨
achige Spi ze
s ell eine Gene alisie ung (Gegen ich ung de Spezialisie ung) da .
Typpa ame isie ung (auch Gene izi ¨
a , gl. [51, Abschni 9]): Eine Klasse en h¨
al op ional
einen ode meh e e Typpa ame e , die als Pla zhal e ¨
u konk e e Typen ungie en. Bei
de Ins anziie ung eine yppa ame isie en Klasse in Ja a muss je ein konk e e Typ
angegeben we den, de ¨
u das e zeug e Objek den Pla z eines Typpa ame e s einnimm
(s. Quell ex 1.2). In de UML e olg hingegen das Binden on Typpa ame e n an
konk e e Typen zun¨
achs au Diag ammebene, be o Ins anzen e zeug we den k¨
onnen
( gl. Abbildung 1.2).
1public class Lis <T> {
2p o ec ed T[] elemen s;
3public T ge (in i){/*..*/ }
4public oid add(in i, T elemen ) { /*..*/ }
5}
6
7public class Lis Tes {
8public s a ic oid main(S ing[] a gs) {
9Lis <Vehicle> ehicleLis = new Lis <Vehicle>();
10 Ca c=new Ca ();
11 c.speed = 180.0;
9
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
2.1.2 Modellie ungsebenen
Vo ausse zung ¨
u die E zeugung wohlge o m e Modelle is eine Modellie ungssp ache, die
e wendba e Modell-Elemen e de inie . In Analogie zu den o malen Sp achen [1, 52] kann
eine solche du ch die Menge e wendba e Modell-Elemen e in eine G amma ik de inie we -
den. Die De ini ion eine G amma ik kann wiede um du ch ein Modell e olgen: Ein konk e es,
au de zu o de inie en Modellsp ache basie endes Modell wi d somi zu Ins anz eines Me a-
modells [7]. Abbildung 2.1 e anschaulich diesen Zusammenhang: Au Ebene M1 we den kon-
k e e Modelle besch ieben, beispielsweise UML-Klassendiag amme. Im (UML-)Me amodell
(M2) we den e ¨
ugba e Modellie ungskons uk e besch ieben. Typische weise we den in ei-
nem Me amodell e wendba e Elemen e (Klassen), de en Eigenscha en (A ibu e) und ih
We ebe eich, sowie m¨
ogliche Beziehungen zwischen Klassen (Re e enzen) de inie .
Me ame amodell (M3)
Me amodell (M2)
Modelle (M1)
Modellins anzen (M0)
Abbildung 2.1: Modellie ungsebenen: Ein Modell kann jeweils als Ins anz eines Modells aus de
n¨
achs h¨
ohe en Ebene da ges ell we den. Modelle au de M3-Ebene sind in de Lage,
sich selbs zu besch eiben.
Die h¨
ochs e Modellie ungsebene, M3, e laub die Besch eibung eines Me ame amodells,
welches wiede um Elemen e des Me amodells de inie . Es is meis so o mulie , dass es in
de Lage is , sich selbs zu de inie en; in de Theo ie w¨
a en jedoch beliebig iele Me a-Ebenen
e laub . Die Objec Managemen G oup (OMG) schl¨
ag als M3-Modell den S anda d MOF
(Me a Objec Facili y, [42]) o , in dem die kleins m¨
ogliche Elemen menge ¨
u Me amodel-
le iden i izie wi d. De MOF-S anda d wi d om Eco e-Me amodell (s. Abschni 2.2.1)
implemen ie .
¨
Ube die Bedeu ung de Ebene M0 exis ie en in de Modell heo ie un e schiedliche An-
nahmen [8]: Sie beinhal e en wede die ”Objek e de Reali ¨
a “, welche du ch das Modell
ep ¨
asen ie we den, ode im Falle eines aus ¨
uh ba en Modells die Gesam hei alle o han-
denen Lau zei objek e, welche du ch das Modell e zeug wu den.
2.1.3 Abs ak e und konk e e Syn ax
Bishe wu den die Beg i e ”Modell“ und ”Diag amm“ als Synonyme be ach e . Ta s¨
achlich
s ehen beide Beg i e in eine ande en Beziehung zueinande : Ein Diag amm is eine m¨
ogliche,
g a ische Rep ¨
asen a ion eines Modells. Eine wei e e Fo m de Rep ¨
asen a ion eines Modells
is beispielsweise die ex uelle Syn ax. Le z e e hil auch bei de He s ellung de Analogie zu
16

2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
den e w¨
ahn en o malen Sp achen, bei denen man eben alls zwischen abs ak e und konk e-
e Syn ax un e scheide . Im Folgenden we den die Zusammenh¨
ange anhand eines Beispiels
e l¨
au e . Es basie au einem Teil des UML2-Me amodells, de in Abbildung 2.2 einge ¨
uh
wi d.
NamedElemen
name: ES ing
TypedElemen Type
Pa ame e
Di ec ion: Pa ame e -
Di ec ionKind
A ibu e Class P imi i eType
Ope a ion
<<enum>>
Pa ame e Di ec ionKind
RETURN
IN
OUT
INOUT
ownedPa ame e s
0..* 0..*
0..*
0..*
ownedOpe a ions
ownedA ibu es
ype
Abbildung 2.2: Ein au die ¨
u die nach olgenden Aus ¨
uh ungen ele an en Elemen e eduzie e
Auszug aus dem UML2-Me amodell. Es de inie eine Un e menge de in UML2-
Klassendiag ammen e wendba en Elemen e: Klassen se zen sich aus A ibu en und
Ope a ionen zusammen, le z e e wiede um beinhal en Pa ame e . Die Me aklassen
A ibu e und Pa ame e e ben die Re e enz au Type on de abs ak en Klasse
TypedElemen .
Die Ins anziie ung e m¨
oglich , aus eine Modellsp ache, e wa einem Me amodell, ein Mo-
dell zu e zeugen. Sie besch eib also den ¨
Ube gang on eine Modellie ungsebene au die
n¨
achs nied ige e. In de objek o ien ie en P og ammie ung inde eine Ins anziie ung bei-
spielsweise du ch Au u eines Kons uk o s s a : Aus eine Klasse wi d ein Objek als In-
s anz de Klasse abgelei e . Analog dazu s ell das MOF-Objek diag amm in Abbildung 2.3
eine Ins anz des Klassendiag amms aus Abbildung 2.2 da .
Das Objek diag amm ep ¨
asen ie ein UML-Klassendiag amm2in abs ak e Syn ax. Die-
se A de Rep ¨
asen a ion en zieh sich jedoch h¨
au ig de In e p e ie ba kei inne halb de
Zieldom¨
ane: Die g a ische Rep ¨
asen a ion on Modellen soll, im Gegensa z zu logischen Re-
p ¨
asen a ion, om Me amodell abh¨
angen. Die Rep ¨
asen a ion eines Modells du ch Diag amme
bzw. Tex wi d du ch die De ini ion eine konk e en Syn ax (s. Abbildung 2.4 und Quellcode
2.1) e ziel .
W¨
ah end Re e enzen, also Beziehungen zwischen Modell-Elemen en, in g a ische No a ion
du ch en sp echende Ve bindungslinien da ges ell we den k¨
onnen, is das meh ache Au e-
en desselben Elemen s als Ziel meh e e Re e enzen in ex uelle No a ion schwie ige da zu-
s ellen. Meis e olg de R¨
uckbezug ¨
ube einen eindeu igen Bezeichne . Unabh¨
angig on de
konk e en Rep ¨
asen a ion m¨
ussen olgende A en des Au e ens on Objek en un e schieden
we den:
2ko ek e weise m¨
uss e man hie on einem Klassenmodell sp echen. Im Kon ex on UML-Modellen ha sich
jedoch de Beg i Klassendiag amm auch ¨
u die abs ak e Rep ¨
asen a ion e ablie .
17
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
: Class
name = „Keypad“
: A ibu e
name = „algo i hm“
: Ope a ion
name = „iden i y“
: Pa ame e
di ec ion = Pa ame e Di ec ionKind.RETURN
: Pa ame e
name = inpu
di ec ion = Pa ame e Di ec ionKind.IN
: P imi i eType
name = „boolean“
: P imi i eType
name = „S ing“ ype
ype
ype
ownedA ibu es
ownedPa ame e s
ownedOpe a ions
Abbildung 2.3: Beispiel ¨
u ein UML2-Modell als Ins anz des UML2-Me amodells aus Abbildung 2.2,
da ges ell als MOF-Objek diag amm. Es s ell in abs ak e Syn ax eine UML-Klasse
Keypad da , welche ein A ibu algo i hm om Typ S ing sowie eine Ope a ion na-
mens iden i y beinhal e . Die ¨
ube ownedPa ame e s en hal enen Ope a ionspa a-
me e de inie en den R¨
uckgabe yp (boolean) sowie den Fo malpa ame e inpu om
Typ S ing.
Keypad
+ algo i hm: S ing
+ iden i y (inpu : S ing): boolean
Abbildung 2.4: Da s ellung des UML2-Modells aus Abbildung 2.3 in konk e e g a ische Syn ax, de-
inie du ch den UML2-S anda d [44]. Das Symbol ”+“ de inie eine Sich ba kei
(public), welche aus G ¨
unden de ¨
Ube sich lichkei nich im o liegenden Ausschni
des Me amodells be ¨
ucksich ig wu de.
18
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
Dekla ie endes Au e en Hie du ch wi d ein Objek in seine S uk u de inie und in-
ne halb eines bes imm en Sich ba kei sbe eiches als Ziel eine Re e enz (in ex uelle
No a ion ¨
ube einen eindeu igen Bezeichne ) e ¨
ugba gemach .
Angewand es Au e en Es e olg R¨
uckbezug au ein du ch ein dekla ie endes Au e en e -
zeug es Objek (in ex uelle No a ion ¨
ube dessen Bezeichne ). So wi d sein meh aches
Au e en als Re e enzziel in un e schiedlichen Be eichen des Modells e m¨
oglich .
1p imi i e S ing
2p imi i e boolean
3
4class Keypad {
5p ope y public algo i hm : S ing
6ope a ion public iden i y (inpu : S ing) : boolean
7}
Quell ex 2.1: Da s ellung des UML2-Modells aus Abbildung 2.3 in eine konk e en, ex uellen
No a ion. De Tex en h¨
al dieselbe In o ma ion wie das Diag amm in Abbildung 2.4.
In Quell ex 2.1 inde das dekla ie ende Au e en de Elemen e S ing bzw. boolean
inne halb en sp echende p imi i e-Anweisungen s a . Im Sich ba kei sbe eich des dekla-
ie enden Au e ens sind diese beiden Elemen e als Re e enzziel e ¨
ugba (s. Ende de Zeilen
6 und 7).
2.2 Das Eclipse Modeling F amewo k
2.2.1 Das Eco e-Me amodell
Das on de Eclipse Communi y3he o geb ach e Modellie ungs ahmenwe k Eclipse Mo-
deling F amewo k (EMF) [48] s ell eine Ja a-basie e Pla o m und We kzeuge ¨
u die
modellge iebene So wa een wicklung zu Ve ¨
ugung. Das Eco e-Me amodell implemen ie
den on de OMG o geschlagenen MOF-S anda d und un e s ¨
u z das XML-basie e Aus-
ausch o ma XMI (XML Me ada a In e change) ¨
u Modellins anzen. Eco e kann en wede
au M2-Ebene zu Modellie ung on Klassendiag ammen, ode au M3-Ebene zu De ini ion
eines eigenen Me amodells ¨
u eine dom¨
anenspezi ische Sp ache e wende we den. Im Rah-
men des Eclipse Modeling P ojec (EMP) wi d e wa ein Eco e-basie es UML-Me amodell
gep leg . Im Folgenden wi d au Spezi ika des Eco e-Me amodells eingegangen.
Hie a chisie ung on Da en ypen Abbildung 2.5 zeig einen ¨
u die wei e en Aus ¨
uh ungen
ele an en Auszug aus dem Eco e-Me amodell: Ineinande e schach el e Pake e ( e-
p ¨
asen ie du ch EPackage) beinhal en wiede um Da en ypen (EClassi ie ). Pake e we -
den global du ch eine eindeu ige Package-URI quali izie . Beispiele ¨
u Da en ypen sind
Klassen (EClass), die s uk u elle Eigenscha en (ES uc u alFea u e) und Ope a io-
nen (EOpe a ion) beinhal en. Ins anzen on EDa aType bilden in Eco e p imi i e Ja a-
Da en ypen wie In ege ode S ing ab.
3h p://www.eclipse.o g
19
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
EClass
eSupe Types
0 .. *
ES uc u alFea u e
lowe Bound : EIn
uppe Bound : EIn
EA ibu e
ERe e ence
con ainmen : EBoolean
eS uc u alFea u es
0 .. *
EDa aType
EClassi ie
eRe e enceType
eA ibu eType
1
1
ENamedElemen
name : ES ing
eOpposi e
0 .. 1
EOpe a ion
eType
0 .. 1
eOpe a ions 0 .. *
EPackage
0 .. *
eClassi ie s
ETypedElemen
EPa ame e
0 .. *
ePa ame e s
0 .. * eSubPackages
Abbildung 2.5: Das Eco e-Me amodell in Klassendiag amm-No a ion ( e ein ach e Da s ellung) [48].
S uk u elle Eigenscha en Die konk e en Me aklassen EA ibu e und ERe e ence e-
p ¨
asen ie en s uk u elle Eigenscha en. Du ch de en A ibu e lowe Bound und uppe Bound
wi d die We igkei on A ibu en bzw. Re e enzen angegeben: Is die Obe g enze g ¨
oße
eins, so bezeichne man eine s uk u elle Eigenscha als meh we ig. W¨
ah end A ibu e
p imi i e Da en ypen abbilden, sind die Typen on Re e enzen imme Klassen. Is das boole-
sche A ibu con ainmen gese z , so handel es sich um eine sog. Con ainmen -Re e enz:
Re e enzziele sind in diesem Fall exis enzabh¨
angig on ih em eCon aine . Unabh¨
angig da on
k¨
onnen bidi ek ionale Re e enzen du ch gegensei iges Se zen on eOpposi e eines Re e enz-
paa s e zeug we den.
Modellie ung on Ve hal en Analog zu den s uk u ellen Eigenscha en s ellen Ins anzen
on EOpe a ion die sog. e hal ensbezogenen Eigenscha en eine Klasse da . Ope a ionen
beinhal en eine Menge on Pa ame e n (EPa ame e ), welche genauso wie die Ope a ion
selbs einen Typ haben (im Falle eine Ope a ion de R¨
uckgabe yp). Das Ve hal en eine
Me hode selbs – de en Aus ¨
uh ungsseman ik – kann nich mi Hil e des Eco e-Me amodells
ausged ¨
uck we den. S a dessen we den in gene ie em Ja a-Quellcode (s. Abschni 2.2.2)
lee e Me hoden ¨
ump e e zeug , die manuell implemen ie we den m¨
ussen, um dem Modell
dynamisches Ve hal en hinzuzu ¨
ugen.
20
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
2.2.2 Gene ie ung on Ja a-Quellcode
In de Einlei ung wu de be ei s e w¨
ahn , dass die Modellie ung au eine h¨
ohe en Abs ak-
ionsebene wie die P og ammie ung in eine mode nen P og ammie sp ache wie Ja a anzu-
siedeln is . S einbe g u. a. [48, Abschni 2.2] behaup en jedoch:
”To model o o p og am, ha is no he ques ion.“
(”Modellie en ode P og ammie en, das is nich die F age.“, ¨
Ube s. d. Au o s). Sie s ¨
u zen
diese Behaup ung au das A gumen , EMF bie e ¨
u jeden Zweck den geeigne en Abs ak-
ionsg ad: Pake - und Klassens uk u en eines Me amodells lassen sich leich du ch Eco e
besch eiben. Das dynamische Ve hal en hingegen sei du ch Modelle wenige ein ach zu spe-
zi izie en als au Quell ex -Ebene. Die EMF-Codegene ie ung schl¨
ag die B ¨
ucke zwischen
Modellie ung und P og ammie ung, indem sie die ¨
Ube se zung eines Eco e-Modells in Ja a-
Quell ex e m¨
oglich . In diesem Abschni lieg de Fokus au de Codegene ie ung ¨
u du ch
ein Eco e-Modelle besch iebene Klassendiag amme. De nach olgende Abschni 2.3 be ass
sich da ¨
ube hinaus mi de Gene ie ung on Edi o en.
Das In e ace EObjec Zu Lau zei we den alle Objek e, die du ch ein au Eco e basie-
endes Me amodell e zeug wu den, als Ins anzen des In e ace EObjec ep ¨
asen ie . Die
EMF-Codegene ie ung so g bei de Abbildung on Eco e- au Ja a-Klassen da ¨
u , dass alle
Klassen di ek ode indi ek on EObjec e ben. Diese e laub den gene ischen Zug i au
jede Eco e-basie e Modellins anz: S uk u elle Eigenscha en k¨
onnen e wa auch dann abge-
ag ode gese z we den, wenn gene ie e Ja a-Klassen nich bekann sind4.EObjec bie e
au Ja a-Ebene u.A. olgende Me hoden an, die du ch die EMF-Codegene ie ung au oma isch
implemen ie we den:
•eClass(): Lie e die das Objek de inie ende EClass zu ¨
uck und e laub so den e le-
xi en Zug i au das Me amodell.
•eResou ce(): Gib die EMF-Ressou ce an, die das o liegende Objek beinhal e . Res-
sou cen k¨
onnen beispielsweise in XMI se ialisie we den.
•eCon aine (): Gib dasjenige EObjec an, on welchem das o liegende Objek unmi -
elba exis en iell abh¨
ang 5.
•eCon en s(): Gib diejenigen Ins anzen on EObjec zu ¨
uck, die du ch eine
Con ainmen -Re e enz om o liegenden Objek abgebilde we den.
•eGe (ES uc u alFea u e): Lie e alle Objek e zu ¨
uck, welche om o liegenden Ob-
jek ¨
ube eine gegebene s uk u elle Eigenscha abh¨
angen. Diese k¨
onnen ein- ode meh -
we ig, sowie du ch p imi i e Da en ypen ode Klassen de inie sein.
•eSe (ES uc u alFea u e, Objec ): Se z den du ch die ¨
ube gebene s uk u elle Ei-
genscha abgebilde en We neu.
4In de gene ischen Va ian e Dynamic EMF wi d olls ¨
andig au Codegene ie ung e zich e ; alle Zu-
g i e geschehen ¨
ube die gene ische Schni s elle. Dadu ch e bie e sich zun¨
achs die Angabe on
Aus ¨
uh ungsseman ik, da keine aus ¨
ullba en Me hoden ¨
ump e exis ie en.
5Die MOF-Spezi ika ion e lang , dass dieses Objek , alls o handen, eindeu ig sein muss. Ansons en is es
das Wu zelelemen eine Ressou ce.
21

2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
Klassen, A ibu e und Re e enzen Wie be ei s e w¨
ahn , we den Eco e-Klasen w¨
ah end de
Codegene ie ung au Ja a-Klassen abgebilde . Genau genommen e olg die Abbildung au ein
Paa on Klasse und In e ace, wobei die (Implemen ie ungs-) Klasse jeweils das Su ix Impl
e h¨
al .
A ibu e we den du ch p i a e Objek elde mi dem en sp echenden Ja a-Da en yp e-
p ¨
asen ie ; auße dem we den en sp echende Zug i sme hoden (ge /se ) e zeug . Meh we -
ige A ibu e we den in speziellen Da ens uk u en, jeweils on ja a.u il.Collec ion e -
bend, abgeleg .
Re e enzen we den eben alls du ch p i a e Felde mi en sp echenden Zug i sme hoden
ep ¨
asen ie . Einen Sonde all s ellen ¨
ube das Se zen on eOpposi e de inie e bidi ek ionale
Re e enzen da : Hie so g de gene ie e Quellcode ¨
u den E hal de Konsis enz beim Se zen
de Re e enzziele.
Ope a ionen und gesch¨
u z e Be eiche Wie be ei s e w¨
ahn , e zeug die EMF-
Codegene ie ung ¨
u EOpe a ions lediglich lee e Me hoden ¨
ump e; lediglich Fo mal- und
R¨
uckgabepa ame e we den aus dem Eco e-Modell ¨
ube nommen. Die Implemen ie ung des
du ch eine Ope a ion besch iebenen Ve hal ens nach de Codegene ie ung is Au gabe des
Modellie e s, bzw. des P og ammie e s.
Die Gene ie ung on Quellcode e olg nich ink emen ell, sonde n olls ¨
andig ¨
u jeweils
ein Eco e-Modell. Um manuell hinzuge ¨
ug en Quellcode o einem e neu en ¨
Ube sch eiben
du ch die Codegene ie ung zu sch¨
u zen, muss die Ja adoc-Anno a ion @gene a ed NOT o
dem en sp echenden Quell ex agmen einge ¨
ug we den.
2.3 EMF-Baumedi o en
Die EMF-Codegene ie ung un e s ¨
u z nich nu die ¨
Ube se zung eines Eco e-Modells in
Ja a-Quellcode, welche das Modell ep ¨
asen ie , sonde n auch die E zeugung eines p o-
o ypischen Baumedi o s, in dem Modellins anzen in de en abs ak e Syn ax eingesehen und
manipulie we den k¨
onnen. Die Gene ie ung on Quellcode wi d p inzipiell ¨
ube ein sog.
EMF-Gene a o modell ges eue , in dem die Codegene ie ung zus¨
a zlich angepass we den
kann ( gl. auch Abschni 2.3.3). Das Gene a o modell e laub die E zeugung on ie un-
e schiedlichen Eclipse-Plugins [48, Kapi el 2.4]:
Model E zeug das Da enmodell in seine Ja a-Rep ¨
asen a ion, wie im o he gehenden Un-
e abschni besch ieben.
Edi Gene ie wiede e wendba en, on de Benu ze schni s elle unabh¨
angigen Code, de
Da s ellung und Manipula ion des on Modellen besch eib ( gl. Abschni 2.3.1).
Edi o E zeug einen p o o ypischen Baumedi o au Basis de GUI-Biblio hek JFace6, de
den Edi -Quellcode wiede e wende ( gl. Abschni 2.3.2).
Tes S ell einen Rahmen zu Implemen ie ung on Tes ¨
allen zu Ve ¨
ugung. Dieses Plugin
is ¨
u die wei e en Aus ¨
uh ungen nich ele an .
6h p://wiki.eclipse.o g/index.php/JFace
22
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
2.3.1 De UI-unabh¨
angige Teil: I em-P o ide
Das gene ie e Edi -Plugin s ell p o nich -abs ak e Modellklasse einen sog. I em-
P o ide zu Ve ¨
ugung. Diese besch eib die Da s ellung und Manipula ion on Modell-
Elemen en, ohne au die Spezi ika on Benu ze obe l¨
achen Bezug zu nehmen. Die gene ie en
I emP o ide -Klassen ¨
ube nehmen ¨
u ih e en sp echenden Modellins anzen meh e e Rollen,
was sich jeweils du ch Implemen ie ung eines ode meh e e In e aces ausd ¨
uck :
•I emP o ide Adap e : E laub die Regis ie ung des I em-P o ide s an jeweils ein ode
meh e e Ins anzen eine Modellklasse ¨
ube den Eco e-in e nen Adap e -Mechanismus7.
•S uc u ed- bzw. T eeI emCon en P o ide : De inie die Me hoden ge Elemen s()
bzw. ge Child en() und ge Pa en s(), die jeweils Kind- ode El e n-Elemen e de
du ch den I em-P o ide besch iebenen Modellins anz bes immen. Diese Mechanismen
we den beispielsweise on hie a chischen Baumedi o en genu z .
•II emLabelP o ide : Ve lang die Implemen ie ung on ge Tex () und ge Image(),
die einen besch eibenden Tex bzw. ein ep ¨
asen a i es Symbol zu ¨
uckgeben.
•II emP ope ySou ce: S ell den Bezug zum sog. P ope y Shee he , in dem Eigen-
scha en selek ie e Objek e angezeig bzw. manipulie we den k¨
onnen. De implemen-
ie ende I em-P o ide egis ie sich hie ¨
u beim Eclipse-wei en Selec ion Se ice.
•IEdi ingDomainI emP o ide : De inie Kind-Objek e, welche un e einem om je-
weiligen I em-P o ide abgebilde en Elemen e s ell we den k¨
onnen und in eg ie den
I em-P o ide in das EMF Command F amewo k, welches die Du ch ¨
uh ung elemen-
a e Manipula ions-Ope a ionen s eue .
Zus¨
a zlich wi d p o Eco e-Modell eine Klasse mi dem Su ix I emP o ide Adap e -
Fac o y gene ie , die die E zeugung eines geeigne en I em-P o ide s ¨
u eine Modellklasse
delegie . Diese Mechanismus e laub die Wiede e wendung des Edi -Codes auch wenn die
konk e e I em-P o ide -Klasse nich bekann is .
2.3.2 De Edi o als Benu ze schni s elle
De Baumedi o , de im Gene a o -Modell e zeug we den kann, is nich als ollwe ige An-
wende schni s elle, sonde n ielmeh als P o o yp zu be ach en, de demons ie en soll, wie
de gene ie e Edi -Code zu manuellen Implemen ie ung eines – g a ischen ode ex uellen
– Edi o s e wende we den kann, e wa um die Un e s ¨
u zung ¨
u konk e e Syn ax zu imple-
men ie en. Abbildung 2.6 zeig einen gene ie en Baumedi o ohne wei e e Anpassungen8.
Im Haup ens e wi d das Modell in seine du ch die Con ainmen -Hie a chie de inie en
Baums uk u angezeig . Wi d ein Ein ag ausgew¨
ahl , so we den dessen s uk u elle Eigen-
scha en in de P ope ies-Ansich angezeig . Do wi d auch Un e s ¨
u zung bei de Manipu-
la ion on We en on A ibu en und Zielen on Nich -Con ainmen -Re e enzen gegeben.
Die du ch IEdi ingDomainI emP o ide ges eue e E zeugung on Kind-Elemen en wi d
¨
ube einen Rech sklick au das en sp echende Elemen im Baum e ziel . Auch das L¨
oschen
7Das En wu smus e Adap e is in [21, Abschni 4.1] besch ieben.
8De hie da ges ell e gene ie e Edi o en s amm einem ¨
uhen P o o ypen des in Abschni 4 o ges ell en
F2DMM-Edi o s.
23
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
Abbildung 2.6: Beispiel ¨
u einen gene ie en EMF-Baumedi o .
on Elemen en ode das R¨
uckg¨
angigmachen bzw. Wiede holen on Ak ionen is pe Kon ex -
men¨
u-Ein ag m¨
oglich.
2.3.3 Anpassungsm¨
oglichkei en
Im p ak ischen Teil de o liegenden Mas e a bei wu de die Gene ie ung on EMF-
Baumedi o en genu z , um diese im Nachhinein manuell anzupassen. EMF bie e an ielen
S ellen die M¨
oglichkei , en wede in die Codegene ie ung einzug ei en ode den gene ie en
Quell ex zu manipulie en, um benu ze de inie es Edi o -Ve hal en zu e zielen. Im Folgen-
den sollen einige Anpassungsm¨
oglichkei en o ges ell we den, die bei de Gene ie ung und
Implemen ie ung de in Abschni 4 o ges ell en Baumedi o en Anwendung ge unden haben.
Anpassungen im Gene a o modell Das EMF-Gene a o modell (auch Genmodel) s ell Ein-
s ellungen zu Anpassung des zu gene ie enden Quell ex es zu Ve ¨
ugung. Diese be e en
sowohl den Modell- als auch den Edi -Code. W¨
ah end au Modellebene e wa die Namen e -
zeug e Ja a-Pake e ode die Basisklasse (s anda dm¨
aßig EObjec ) gew¨
ahl we den k¨
onnen,
k¨
onnen ¨
u den UI-unabh¨
angigen Teil olgende Eins ellungen ¨
u die Da s ellung jede s uk-
u ellen Eigenscha des de inie en Me amodells ge o en we den:
•Child en: Anzeige on Re e enzzielen als Kind-Elemen e im Baum.
•C ea e Child: M¨
oglichkei zu E zeugung on Kind-Elemen en pe Kon ex men¨
u-Ein ag.
24
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
•P ope y Ca ego y und P ope y Desc ip ion: Ka ego ie bzw. Besch eibung de Ei-
genscha im gene ie en P ope y-Shee .
•P ope y Type: Die s uk u elle Eigenscha soll edi ie ba (Edi able), lesba (Readonly)
ode ausgeblende (None) sein.
Label und Icon Nach de Gene ie ung k¨
onnen die on den en sp echenden I emP o ide -
Klassen de inie en Me hoden ge Tex () und ge Image() ¨
ube sch ieben we den, um die
Da s ellung on Elemen en im Baum zu beein lussen.
Command-F amewo k Die on IEdi ingDomainI emP o ide gee b en Me hoden
c ea eSe Command,c ea eCopyCommand und c ea eRemo eCommand k¨
onnen ¨
ube sch ieben
we den, um beispielsweise benu ze de inie e Konsis enzp ¨
u ungen o zunehmen. Nich
aus ¨
uh ba e Commands we den du ch die Klasse Unexecu ableCommand ep ¨
asen ie , um
beispielsweise das L¨
oschen ode Kopie en on Elemen en zu e hinde n.
Plugin-E wei e ungspunk e Eclipse s ell einen Plugin-Mechanismus zu Ve ¨
ugung, de die
Implemen ie ung spezi ische Plugin-Schni s ellen, sog. Ex ension Poin s, e laub . Au diese
Weise k¨
onnen e wa Ak ionen ¨
u das Kon ex -Men¨
u, wei e e Modell-Wiza ds, benu ze de i-
nie e Ansich en (Views) ode sog. P e e ence Pages, Wo kspace-wei e Eins ellungsmasken,
dekla a i inne halb de Da ei plugin.xml de inie we den.
2.4 Das EMF Valida ion F amewo k
Das EMF Valida ion F amewo k [48, Kapi el 18] is Teil des Eclipse Modeling F amewo k. Es
s ell einen Rahmen zu Validie ung on Ins anzen Eco e-basie e Modelle zu Ve ¨
ugung,
die ¨
ube die du ch die S uk u des Me amodells de inie en Bedingungen wie Typkon o -
mi ¨
a ode Mul iplizi ¨
a hinausgeh . Das Valida ion F amewo k un e scheide zwei A en on
Bedingungen au EObjec -Ins anzen:
Cons ain s Bedingungen, die zu einem bes imm en Zei punk zu e en m¨
ussen, e wa o
ode nach dem Se zen des We es eines A ibu s.
In a ian en Bedingungen, die zu jedem Zei punk zu e en m¨
ussen.
2.4.1 De ini ion on Cons ain s und In a ian en
Das Plugin des Valida ion F amewo k sieh den Ex ension Poin
o g.eclipse.em . alida ion.cons ain P o ide s zu De ini ion on Cons ain s
und In a ian en o . Ein Cons ain P o ide bezieh sich au jeweils ein Eco e-Pake , das
das Me amodell de zu alidie enden Modelle beinhal e . Die De ini ion on Cons ain s und
In a ian en e olg zun¨
achs in de Da ei plugin.xml des Plugins, welches die Modell ali-
die ung en h¨
al . P o Cons ain bzw. In a ian e sind un e ande em olgende Eigenscha en
anzugeben:
•Name Ein eindeu ige Bezeichne des Cons ain s bzw. de In a ian e.
•Message Eine Fehle meldung, die dem Benu ze bei Ve le zung des Cons ain s angezeig
we den soll.
25
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
abgebilde en – un e Ums ¨
anden auch meh we igen – We , im Beispiel d1. Auch die
Sch eibweise sel .dep w¨
a e hie m¨
oglich gewesen.
3. Re e enzen lassen sich ¨
ube Punk e zu P aden konka enie en. In diesem Fall we den die
Kan en dep und employees du chlau en, um das meh we ige Re e enzziel, die Menge
{e1, e3}, zu bes immen.
4. We e on A ibu en lassen sich au gleiche Weise wie Re e enzziele bes immen. sala y
we e sich in diesem Fall zu dem We 3200 aus.
5. Auch zu Be echnung on A ibu en k¨
onnen P ade gebilde we den. Das Einkommen
des Ab eilungslei e s b1 is in diesem Beispiel 4200.
6. De Mengenope a o collec binde Elemen e (in diesem Fall e) eine Menge sequenzi-
ell an einen auszuwe enden Ausd uck (e.name) und lie e dessen E gebnisse wiede um
in eine Menge zu ¨
uck. Das E gebnis lau e hie {M . G een, M s. Whi e}.
7. De Mengenope a o selec binde wiede um Elemen e eine Menge an einen OCL-
Ausd uck, um diejenigen Elemen e zu bes immen, welche dem Ausd uck gen¨
ugen. We -
den in einem P ad meh e e meh we ige Re e enzen du chlau en, we den diese w¨
ah end
de Auswe ung zu eine Menge zusammenge ass (implizi e I e a ion).
X ex -Un e s ¨
u zung ¨
u OCL Essen ial OCL eigne sich zu Einbe ung on OCL als
An agesp ache ¨
u dom¨
anenspezi ische Sp achen. Hie ¨
u wi d om Eclipse-OCL-P ojek 15
eine X ex -G amma ik zu Ve ¨
ugung ges ell , welche eine Wiede e wendung de Que y-
Kons uk e und de en In e p e a ion du ch die Eclipse-OCL-Aus ¨
uh ungsumgebung e laub .
Diese Ansa z wu de – un e gewissen Einsch ¨
ankungen – in de o liegenden A bei e olg ,
um dom¨
anenspezi ische Cons ain s au Basis on OCL zu o mulie en (s. Abschni 4.5.2).
2.6.2 Comple e OCL
De u sp ¨
ungliche Anwendungsbe eich on OCL – die De ini ion on Cons ain s – wi d
on de Sp ache Comple e OCL, die Essen ial OCL e wei e , abgedeck . Sie e wende die
on Essen ial OCL be ei ges ell en Kons uk e zu Ab age des Modellzus ands, um die Fo -
mulie ung on Cons ain s au UML- ode Eco e-basie en Modellen zu e lauben. Das in
Abschni 2.4 o ges ell e EMF Valida ion F amewo k bie e beispielsweise eine Comple e-
OCL-Schni s elle zu dekla a i en Fo mulie ung on Validie ungs-Cons ain s bzw. In a i-
an en an.
Comple e OCL e wei e den Sp achum ang on Essen ial OCL an einigen S ellen. Que ies
k¨
onnen au e schiedene Weisen mi einem Kon ex -Objek in Zusammenhang s ehen: F¨
u
Ope a ionen k¨
onnen e wa Vo - ode Nachbedingungen angegeben we den, ¨
u Klassen k¨
onnen
In a ian en de inie we den. Die We e on abgelei e en A ibu en ode Ope a ionen k¨
onnen
¨
ube OCL-Ausd ¨
ucke – un e de Annahme de Sei ene ek eihei – e mi el we den. Die
Syn ax on Essen ial OCL is ¨
u die wei e e A bei nich ele an .
15h p://www.eclipse.o g/p ojec s/p ojec .php?id=modeling.md .ocl
32

2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
2.7 Modell-zu-Modell-T ans o ma ionen
Ein wei e e Bes and eil des Eclipse Modeling P ojec sind Modell-zu-Modell-
T ans o ma ionen (M2M). Im Eclipse-Um eld exis ie en iele M2M-Ans¨
a ze, die den
gemeinsamen Zweck haben, ein Quellmodell nach eine bes imm en Vo sch i in ein
Zielmodell ¨
ube se zen.
In-Place-T ans o ma ionen Einen Spezial all s ellen sog. In-Place-T ans o ma ionen da :
Ans a ein neues Modell zu e zeugen, manipulie en sie ein o handenes. Anwendungsgebie
is un e ande em die Modellie ung on dynamischem Ve hal en — e wa de modellbasie -
en Besch eibung de Seman ik on in Eco e-Klassendiag ammen spezi izie en Ope a ionen.
Hie zu kommen h¨
au ig G aph ans o ma ions egeln bzw. G aphe se zungs egeln zum Einsa z
( gl. ModG aph [13] und EMF Henshin [4]). Diese A de Modell-zu-Modell-T ans o ma ion
is jedoch ¨
u die wei e e A bei nich on Belang.
Ou -Place-T ans o ma ionen Einen allgemeine en Fall s ellen Ou -Place-
Modell ans o ma ionen da : Hie bei bleib das Quellmodell w¨
ah end de Aus ¨
uh ung
un e ¨
ande , s a dessen wi d en sp echend eine T ans o ma ions o sch i ein Zielmodell
neu e zeug . Exogene Modell-zu-Modell-T ans o ma ionen kommen h¨
au ig zu Dokumen-
enkon e ie ung zum Einsa z [37]. Ve schiedene M2M-Ans¨
a ze s ellen dem Anwede beim
Fo mulie en de T ans o ma ions o sch i ein un e schiedlich hohes Abs ak ionsni eau zu
Ve ¨
ugung. Wei e hin lassen sie sich in impe a i e und dekla a i e Ans¨
a ze ein eilen.
2.7.1 Impe a i e Ans¨
a ze: Ja a, ATL und QVT Ope a ional
Impe a i e M2M-Ans¨
a ze assen eine T ans o ma ions o sch i als eine Sequenz on Sei en-
e ek en zum Au bau eines Zielmodells au . Dem Anwende we den hie ¨
u Kons uk e wie
die E zeugung eine Modellklasse ode die Manipula ion on A ibu en ode Re e enzzielen
zu Ve ¨
ugung ges ell . Zuweisungen, welche sich au zwei ko espondie ende Elemen paa e
beziehen, we den meis zu Regeln zusammenge ass , die sich gegensei ig au u en k¨
onnen. F¨
u
die Au u eihen olge on Regeln is de Modellie e selbs e an wo lich.
Ja a-basie e T ans o ma ionen Au nied igem Abs ak ionsni eau be inde sich ei-
ne T ans o ma ionsbesch eibung in eine g¨
angigen P og ammie sp ache wie Ja a: Ei-
ne m¨
ogliche Da s ellung w¨
a e eine Funk ion mi de Signa u public Zielmodell
ans o mie e(Quellmodell). S einbe g u. a. [48, Abschni 16.4] besch eiben das beding e
Kopie en eines Modells als Sonde all eine M2M-T ans o ma ion: Du ch Spezialisie ung de
Klasse Eco eU il.Copie kann de Kopie o gang on Objek en, A ibu en und Re e enzen
selek i an Bedingungen gekn¨
up we den. Diese Ansa z wi d in Abschni 4.8 zu Ablei ung
on P oduk en aus de So wa ep oduk linie e olg .
ATL Die on de A lanMod G oup16 en wickel e Modell ans o ma ionssp ache ATL [2] is
de zei de im Eclipse-Um eld am wei es en e b ei e e M2M-Ansa z. Die ex uelle Sp ache
s ell sowohl impe a i e als auch dekla a i e Mi el zu Ve ¨
ugung. ATL-T ans o ma ionen
16h p://www.emn. /z-in o/a lanmod/index.php/Main_Page
33
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
bes ehen aus eine Menge on Regeln, die die E zeugung on Zielmodell-Elemen en aus ko -
espondie enden Elemen en des Quellmodells besch eiben. Zus¨
a zlich k¨
onnen ¨
u eine T ans-
o ma ion OCL-Hil s unk ionen de inie we den, um We e on A ibu en ode Re e enzen
zu e mi eln. Quellcodeausschni 2.5 zeig den Au bau eine ATL-T ans o ma ions egel.
1lazy ule Class2Class {
2 om
3 ea Lis : FEATURELIST!Fea u eLis ,
4pimClass : DOMAINMODEL!Class (
5pimClass.isRequi edBy( ea Lis )
6)
7 o
8psmClass : DOMAINMODEL!Class (
9name <- pimClass.name,
10 a ibu es <- pimClass. ans o medA ibu es( ea Lis )
11 )
12 }
Quell ex 2.5: Eine in ATL o mulie e T ans o ma ions egel. Quell- und Zielmodell we den di ek in
de T ans o ma ions o sch i ausgezeichne : De om-Teil de inie den Kon ex des
Quellmodells. Im o-Teil we den Elemen e des Zielmodells e zeug und de en A ibu e
mi Hil e des Zuweisungsope a o s (”<-“) ini ialisie . Au de ech en Sei e k¨
onnen
OCL-Ausd ¨
ucke zu E mi lung on A ibu we en ode Re e enzzielen e wende
we den.
QVT Ope a ional Die QVT-Spezi ika ion (Que y View T ans o ma ion) [41] wu de im
Jah 2005 als o ene S anda d zu Besch eibung on Modell-zu-Modell-T ans o ma ionen
on de OMG e abschiede . Sie um ass mi QVT Ope a ional [18] einen impe a i en und
mi QVT Rela ions [24] einen dekla a i en Dialek .
QVT Ope a ional sieh Sp achkons uk e ¨
u die E zeugung und Manipula ion eines Ziel-
modells aus eine Menge on Quellmodellen o . Eins iegspunk eine T ans o ma ion is
die Funk ion main(). Meis wi d in diese Funk ion genau ein Mapping au ge u en, welches
jeweils eine Menge on Manipula ionsope a ionen zusammen ass . Mappings k¨
onnen einande
e e enzie en und OCL-Ausd ¨
ucke en hal en.
Obwohl es sich um einen OMG-S anda d handel , inde QVT Ope a ional in de Eclipse-
Communi y de zei wenige Zusp uch als ATL17.
2.7.2 Dekla a i e Ans¨
a ze: QVT Rela ions und T ipel-G aph-G amma iken
Dekla a i e M2M-Ans¨
a ze basie en au de Besch eibung de Ko espondenz on Elemen en
aus be eilig en Me amodellen [24]. Ebendiese abs ak e Besch eibung e laub die Ablei ung
de eigen lichen T ans o ma ion in beliebige Rich ungen (S ichwo Bidi ek ionali ¨
a , [25])
aus eine Ko espondenzbesch eibung. Eine Gemeinsamkei dekla a i e M2M-Ans¨
a ze is
die Un e s ¨
u zung e schiedene Aus ¨
uh ungsmodi be eilig e Modelldom¨
anen18:
17Von den e s en 50 Bei ¨
agen des Eclipse-Modeling-Fo ums beziehen sich 19 au ATL und 9 au QVT Ope-
a ional. S and: 21. Mai 2012, h p://www.eclipse.o g/ o ums/index.php/ /23/.
18Als Dom¨
anen we den im M2M-Kon ex die jeweiligen Me amodelle on Quell- und Zielmodell bezeichne .
34
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
Check-Only Ein Modell, das sich in diesem Modus be inde , wi d w¨
ah end de T ans o ma-
ion nich e ¨
ande . Es wi d lediglich gep ¨
u , ob bes imm e Mus e au Teile des Mo-
dells anwendba sind. Is dies de Fall, we den Ko espondenzen es gehal en und au
e waige En sp echungen in Modellen de ande en Dom¨
ane gep ¨
u .
En o ce Diese Modus e laub die Manipula ion eines Modells, um die Ko espondenz mi
ande en Modellen siche zus ellen. Eine g¨
angige S a egie is ”check be o e en o ce“:
Zun¨
achs wi d wie beim En o ce-Modus au Anwendba kei on Mus e n gep ¨
u . T e -
en bes imm e En sp echungen nich zu, we den sie e zwungen ( gl. engl. ¨
u o en o ce).
QVT Rela ions De OMG-S anda d QVT Rela ions [41] nimm sich de dekla a i en Be-
sch eibung on Modell-zu-Modell-T ans o ma ionen an und de inie hie ¨
u eine konk e e
ex uelle Syn ax. Bei einem QVT-Rela ions-Dokumen handel es sich um eine Besch eibung
on Beziehungen zwischen Modell-Elemen en beliebig iele Dom¨
anen. Den Haup bes and eil
s ellen sog. Rela ionen da , die mi einande ko espondie ende Klassen auszeichnen. Inne halb
eine Rela ion k¨
onnen eine Reihe on Rela ions a iablen de inie we den, um ko espondie-
ende s uk u elle Eigenscha en e schiedene Dom¨
anen zu iden i izie en.
Eben alls inne halb eine Rela ion inde sich ein Domain-Pa e n p o be eilig em Me-
amodell, gekennzeichne du ch das Schl¨
usselwo domain. Einem Domain-Pa e n geh ei-
nes de Schl¨
usselw¨
o e checkonly ode en o ce o aus, wodu ch de Aus ¨
uh ungsmodus
p o Modell inne halb de Rela ion explizi bes imm wi d. Ein Domain-Pa e n kann –
m¨
ogliche weise e schach el e – Pa e n-Ausd ¨
ucke en hal en, die A ibu e ode Re e enzen
eine Dom¨
anenklasse mi els OCL-Ausd ¨
ucken mi Rela ions a iablen e gleichen. Eine Rela-
ion is ¨
u eine Menge on Dom¨
anenmodell-Elemen en g¨
ul ig, wenn alle Pa e n-Ausd ¨
ucke
on im Check-Only-Modus be indlichen Dom¨
anen als wah e aluie en sowie die We e be-
eilige Rela ions a iablen ¨
ube eins immen. Is dies de Fall, is die Rela ion g¨
ul ig und die
Elemen e on En o ce-Dom¨
anen we den en sp echend e zeug .
Inne halb eine Rela ion d¨
u en zus¨
a zlich zwei A en on Bedingungen o mulie we den:
W¨
ah end de when-Teil in OCL de inie e Ausd ¨
ucke lediglich auswe e , und die Rela ion
nich zus ande kommen l¨
ass , sobald eine diese Ausd ¨
ucke als alsch e aluie , is die Seman-
ik des whe e-Teils es ik i e : Falls dessen Bedingungen nich gel en, wi d die T ans o ma-
ion abgeb ochen. Ein Beispiel ¨
u eine QVT-Rela ions-Regel inde sich in Quell ex 2.6.
1 ela ion Fea u eToFea u e {
2
3 ea u eName : S ing;
4
5checkonly domain absFM a : ea u emodel::Fea u e {
6name = ea u eName,
7pa en = a Pa en : ea u emodel::Fea u eG oup{}
8};
9
10 checkonly domain con FM c : ea u emodel::Fea u e {
11 name = ea u eName,
12 pa en = c Pa en : ea u emodel::Fea u eG oup{}
13 };
14
15 en o ce domain lis l : ea u elis ::Fea u eLis {
16 names = n : ea u elis ::Fea u eName {
17 name = ea u eName
35
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
18 }
19 };
20
21 when {
22 c .s a e = Fea u eS a e::ac i e;
23 (TopFea u eG oupToTopFea u eG oup(a Pa en , c Pa en , l) o
Fea u eG oupToFea u eG oup(a Pa en , c Pa en , l));
24 }
25
26 whe e {
27 a .s a e->oclIsUnde ined() o a .s a e = Fea u eS a e::incomple e;
28 c .s a e = Fea u eS a e::ac i e o c .s a e = Fea u eS a e::inac i e;
29 }
30 }
Quell ex 2.6: Eine Rela ion aus eine in QVT Rela ions o mulie e T ans o ma ions o sch i , welche
Ins anzen eine Modellklasse Fea u e au Ko espondenz ¨
ube p ¨
u . Im when-Teil wi d
o ausgese z , dass ¨
ube geo dne e Fea u eG oup-Elemen e be ei s ko espondie en.
De whe e-Teil de inie eine no wendige Bedingung ¨
u Teile des Modells.
T ipel-G aph-G amma iken T ipel-G aph-G amma iken (TGGs) wu den 1994 on Sch¨
u
[47] als Ansa z zu dekla a i en Besch eibung on Modell-zu-Modell-T ans o ma ionen o -
ges ell . Sie besch eiben den Au bau on T ipel-G aphen mi Hil e eine Menge on P o-
duk ions egeln.TGGs ope ie en g unds¨
a zlich au d ei Dom¨
anen: Neben einem Quell- und
einem Zielg aphen spiel de Au bau des Ko espondenzg aphen die Rolle de Anwendung on
Rela ionen in QVT Rela ions: E e e enzie ko espondie ende Elemen e.
Abbildung 2.10: P oduk ions egeln on TGGs e lauben die Besch eibung ko espondie ende Elemen-
e zweie G aphen in eine g a ischen No a ion.
36
2 Modellge iebene So wa een wicklung im Eclipse-Kon ex
Eine P oduk ions egel besch eib , wie Teilg aphen alle d ei Dom¨
anen simul an e wei e
we den k¨
onnen. Abbildung 2.10 besch eib exempla isch den Au bau eine solchen: Die No-
a ion un e scheide zwischen Kon ex kno en und -kan en, welche in weiß da ges ell we den,
und p oduzie en Kon en bzw. Kan en in g ¨
un und mi zus¨
a zliche Besch i ung ”++“. Kon-
ex elemen e de inie en ein sog. Pa e n: Komm diese Teilg aphenkons ella ion w¨
ah end de
T ans o ma ion au be ei s p oduzie en Elemen en zus ande, wi d die Regel angewende ,
wodu ch alle p oduzie en Kno en wiede um gebunden (Check-Only-Modus) ode e zeug
(En o ce-Modus) we den.
Au g und ih es dekla a i en Cha ak e s eignen sich TGGs besonde s ¨
u sog. Synch onisa-
ions ans o ma ionen: Hie bei gil die Annahme, dass be ei s eine Basis ans o ma ion du ch
die Anwendung de TGG au einen G aphen in eine bes imm e T ans o ma ions ich ung s a -
ge unden ha . Die TGG bleib auch dann anwendba , wenn beide be eilig en Modelle sei de
Basis ans o ma ion manipulie wu den: Du ch die e neu e Aus ¨
uh ung we den Teilg aphen
gebunden, wenn dies m¨
oglich is , bzw. neu e zeug , alls dies n¨
o ig is . Spezielle Algo i hmen
be assen sich mi de Au l¨
osung on Kon lik en, alls be ei s ko espondie ende Elemen e
konku ie enden ¨
Ande ungen un e liegen [22, 26].
Modell ans o ma ionen du ch TGGs we den on e schiedenen We kzeugen un e s ¨
u z ,
wie e wa Fujaba19 ode dem EMF-basie en TGG In e p e e 20. Bei le z e em Ansa z kann
kann de Benu ze zu Fo mulie ung on Ko espondenzbedingungen on OCL Geb auch ma-
chen [24]. Auße dem exis ie ¨
u P oduk ions egeln ein Ve e bungskonzep . Das We kzeug
kam in einem ¨
uhen P o o ypen des We kzeugs F2DMM zu L¨
osung des Abbildungsp o-
blems zwischen Fea u es und A e ak en eines Mul i a ian en-Dom¨
anenmodells zum Einsa z
( gl. Abschni 7.4.1).
19h p://www. ujaba.de
20h p://www.cs.uni-pade bo n.de/ achgebie e/ achgebie -so wa e echnik/ o schung/p ojek e/
gg-in e p e e .h ml
37

3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
Die Disziplin modellge iebene En wicklung on So wa ep oduk linien (MDPLE, gl. engl.
Model D i en P oduc Line Enginee ing) e ein die in de Einlei ung besch iebenen Konzep e
de Abs ak ion on So wa esys emen du ch Modelle und de o ganisie en Wiede e wen-
dung du ch So wa ep oduk linien ( gl. Abschni e 1.1 und 1.2). Ein Bei ag de o liegenden
A bei lieg in de Ausa bei ung eines neuen, Mapping-basie en Modellie ungsansa zes ¨
u
diese Disziplin, um ein en sp echendes We kzeug zu en wickeln, welches in Abschni 4 o -
ges ell wi d. Zu o sollen einige Vo ¨
ube legungen anges ell we den, welche zu En wu sen -
scheidungen hinsich lich des e s ell en We kzeugs beige agen haben. Auße dem soll in diesem
Abschni eine Fo malisie ung de P oblems ellung e olgen, um den o ges ell en Ansa z mi
e wand en Ans¨
a zen e gleichen zu k¨
onnen (s. Abschni 6).
3.1 Modellie ung on So wa eme kmalen
3.1.1 Iden i ika ion on Me kmalen de Va iabili ¨
a
Im All ag begegnen uns an ielen S ellen Ph¨
anomene, die sich un e dem Beg i Va iabili ¨
a
zusammen assen lassen. Ein anschauliches Beispiel hie ¨
u lie e die Au omobilindus ie: Je-
de PKW aus eine bes imm en Se ie besi z beispielsweise ein Schal ge iebe. E kann mi
Somme - ode Win e ei en, als D ei- ode F¨
un ¨
u e ausgelie e we den. Zu Sonde auss a -
ung de Se ie z¨
ahlen op ional elek ische Fens e hebe , ein in eg ie es Na iga ionssys em
ode eine Einpa khil e. De Bo dcompu e kann je nach Ve kau s egion in un e schiedlichen
Sp achen ins allie sein.
Va iabili ¨
a is imme dann gegeben, wenn sich zwischen ¨
ahnlichen Objek en Gemeinsam-
kei en ode Un e schiede e kennen lassen. Pohl u. a. [45, Abschni 4.2] un e scheiden im
Rahmen de Fo malisie ung des Va iabili ¨
a sbeg i s zwischen
•dem Subjek de Va iabili ¨
a :”Ein a iie ba e Gegens and de ealen Wel ode eine
a iie ba e Eigenscha eines Gegens ands“ [45, De ini ion 4-1], sowie
•dem Objek de Va iabili ¨
a :”Eine bes imm e Ausp ¨
agung eines Subjek s de Reali ¨
a “
[45, De ini ion 4-2].
Das Subjek de Reali ¨
a is gem¨
aß diese De ini ion als An wo au die F age: ”Was a-
iie ?“ zu iden i izie en; e schiedene Objek e de Va iabili ¨
a k¨
onnen du ch Bean wo ung
de F age ”Wie a iie es?“ e mi el we den. Die Au o en emp ehlen zudem zu Iden i ika-
ion on So wa eme kmalen die F age ”Wa um a iie e was?“, um e waige Dimensionen
de Va iabili ¨
a eines So wa eme kmals zu iden i izie en: Diese k¨
onnen beispielsweise G ¨
oße,
Fa be, Sp ache, ode oneinande abweichende echnische Vo ausse zungen sein.
3.1.2 Me kmale de Va iabili ¨
a
Vo de o mellen De ini ion on Va iabili ¨
a im Bezug au So wa ep oduk linien beda es
de Un e scheidung e schiedene Me kmale de Va iabili ¨
a , die sich in de A und Weise,
wie sie sich in P oduk en niede schlagen, un e scheiden k¨
onnen [56]:
Gemeinsamkei Ein iden i izie es So wa eme kmal is obliga o ische Bes and eil eines je-
den P oduk s aus de So wa ep oduk linie.
38
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
Op ionali ¨
a Das So wa eme kmal komm in einigen P oduk en aus de P oduk linie o ,
is abe nich obliga o isch.
Al e na i i ¨
a Ein So wa eme kmal, das ein Subjek de Reali ¨
a besch eib , kann du ch e -
schiedene, sich gegensei ig ausschließende, Objek e de Reali ¨
a ep ¨
asen ie we den. In
jedem P oduk aus de P oduk linie muss genau eine Al e na i e aus eine o gegebe-
nen Menge ausgew¨
ahl we den. Das Subjek de Reali ¨
a wi d au Modellebene h¨
au ig
als Va ia ionspunk bezeichne 21.
Mul iplizi ¨
a Ein So wa eme kmal kann sich in einem P oduk in meh e en Ins anzen aus-
d ¨
ucken. In diesem Fall bilde ein Subjek de Reali ¨
a meh e e gleicha ige Objek e de
Reali ¨
a ab.
Bezieh man sich zu ¨
uck au das oben genann e Beispiel aus de Au omobilindus ie, s ell
beispielsweise das Schal ge iebe ein gemeinsames Me kmal da . Das in eg ie e Na iga ions-
sys em is op ional, da es nu Bes and eil de Sonde auss a ung is . Die Me kmale D ei- bzw.
F¨
un ¨
u e s ellen e schiedene Al e na i en ¨
u den Va ia ionspunk ”Anzahl de T¨
u en“ da
und schließen sich gegensei ig aus; eine de beiden Al e na i en muss jedoch gew¨
ahl we den,
um ein olls ¨
andiges P oduk zu de inie en. Als ein Beispiel ¨
u Mul iplizi ¨
a seien die ie
jeweils gleicha igen R¨
ade eines PKW zu nennen.
3.1.3 So wa eme kmale und Abh¨
angigkei en: Das Fea u emodell on Kang
Fea u emodelle (FM, auch Fea u e-B¨
aume) sind ein Fo malismus zu E assung iden i izie -
e So wa eme kmale und wu den on Kang u. a. [35] im Kon ex de Fea u e-o ien ie en
Dom¨
anenanalyse (FODA) beg ¨
unde . Sie dienen de Besch eibung on So wa eme kmalen
( gl. engl. so wa e ea u es) eine P oduk amilie und de en Va iabili ¨
a . Fea u emodelle sind
bauma ig s uk u ie . Fea u es s ehen in eine de olgenden beiden Beziehungen mi ih em
unmi elba beinhal enden El e n-Fea u e:
UND-Dekomposi ion Is das El e n-Fea u e in einem P oduk ealisie , so muss auch das
Kind-Fea u e en hal en sein.
ODER-Dekomposi ion H¨
ochs ens ein Kind-Fea u e aus de Menge de mi dem El e n-
Fea u e in ODER-Beziehung s ehenden Fea u es da in einem P oduk en hal en sein,
in welchem das El e n-Fea u e ealisie is .
En sp echend de obigen De ini ion l¨
ass sich die Gemeinsamkei on So wa eme kmalen
du ch e schach el e, UND-dekomponie e Teilb¨
aume ealisie en, w¨
ah end die Al e na i i ¨
a
sowie die Op ionali ¨
a mi els ODER-Dekomposi ion ealisie we den k¨
onnen.
Abbildung 3.1 s ell ein Fea u emodell da , welches das PKW-Beispiel in g a ische No-
a ion im Sinne des on Kang u. a. [35] de inie en FODA-Modells o malisie . Die UND-
Dekomposi ion wi d hie du ch eine du chgezogene, die ODER-Dekomposi ion du ch eine
ges ichel e Linie da ges ell .
21In [56] und wei e e Li e a u wi d ans a Al e na i i ¨
a h¨
au ig de Te minus Va ia ion e wende .
39
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
PKW
Schal ge iebe Na iga ion
Tü en
D ei Fün
Abbildung 3.1: Beispiel-Fea u emodell in de No a ion on Kang u. a. [35].
3.1.4 G uppie ung und Ka dinali ¨
a on Fea u es
Das Fea u emodell on Kang is jedoch in seine Ausd ucksm¨
ach igkei eingesch ¨
ank : Fes -
gehal ene Va iabli ¨
a kann nich mi eine eindeu igen Seman ik e kn¨
up we den. Pohl u. a.
[45] me ken an, dass de Un e schied zwischen Al e na i i ¨
a und Op ionali ¨
a im Fea u e-
modell au g und de Implika ion ”mindes ens“ nich explizi da s ellba is . Auße dem wi d
das Me kmal de Mul iplizi ¨
a nich be ¨
ucksich ig .
Wei e ¨
uh ende Ans¨
a ze e suchen diese Uneindeu igkei en du ch explizi e Modellie ung
on Fea u e-G uppen im Fea u emodell zu l¨
osen: Wie be ei s in Abbildung 3.1 du ch einen
Ve bindungsbogen da ges ell , k¨
onnen ODER-dekomponie e Fea u es zus¨
a zlich g uppie
we den. Aus diese G uppe muss genau ein (und nich mindes ens ein) Fea u e on einem
konk e en P oduk ealisie we den (Al e na i i ¨
a im Sinne des gegensei igen Ausschlusses).
Nich g uppie e, ODER-dekomponie e Fea u es modellie en en sp echend die Op ionali ¨
a
und k¨
onnen je nach P oduk en wede ealisie ode nich ealisie we den.
Eine wei e e Gene alisie ung is die on Cza necki und Kim [16] he o geb ach e Ka dina-
li ¨
a sbasie e Fea u emodellie ung (CBFM, gl. engl. Ca dinali y Based Fea u e Modeling).
Sie be ¨
ucksich ig das zu o o mulie e Va iabili ¨
a sme kmal de Mul iplizi ¨
a . Ein Fea u e
wi d zus¨
a zlich mi einem Ka dinali ¨
a s-In e all e sehen, welches die zugelassene Mul ipli-
zi ¨
a eines Me kmals in einem P oduk de inie . Is kein In e all angegeben, so gil [0,1] ¨
u
op ionale, [1,1] ¨
u obliga o ische Fea u es. Abbildung 3.2 bilde das Me kmal ”T¨
u en“ du ch
ein meh ach ins anziie ba es Fea u e ”T¨
u “ ab.
PKW [1]
Schal ge iebe [1] Na iga ion [0, 1]
Tü en [1]
Tü [3, 5]
Abbildung 3.2: Das Fea u emodell aus Abbildung 3.1 un e Be ¨
ucksich igung de CBFM.
40
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
De on An kiewicz und Cza necki [3] ausgea bei e e Ansa z zu Fea u emodellie ung
e allgemeine die Konzep e de UND- bzw. ODER-Dekomposi ion du ch die M¨
oglichkei
de Angabe eines Selek ions-In e alls, welches die Anzahl de Un e ea u es eine Fea u e-
G uppe einsch ¨
ank , die in konk e en P oduk en ealisie we den k¨
onnen22. Die UND-
Dekomposi ion l¨
ass sich olglich du ch das Selek ions-In e all [g, g] e allgemeine n, wobei
gdie Anzahl o handene Fea u es eine G uppe da s ell . Die ODER-Dekomposi ion eine
G uppe hingegen ep ¨
asen ie das Selek ions-In e all [1,1].
3.1.5 Fea u e-Kon igu a ionen: Elimina ion de Va iabili ¨
a
W¨
ah end Fea u emodelle die Va iabili ¨
a on So wa eme kmalen de gesam en P oduk li-
nie e assen, beziehen sich Fea u ekon igu a ionen (FK) au die Ausp ¨
agung de e ass en
Me kmale ¨
u ein spezielles P oduk . De P ozess des ¨
Ube gangs on einem Fea u emodell
zu besch eibenden Fea u ekon igu a ion eines P oduk s wi d eben alls als Kon igu a ion be-
zeichne .
Eine Fea u ekon igu a ion um ass die Menge de En scheidungen, welche zu olls ¨
andigen
Elimina ion de du ch das en sp echende Fea u emodell de inie en Va iabili ¨
a ¨
uh en. Diese
Elimina ion inde , bezogen au die zu o de inie en A en de Va iabli ¨
a , wie olg s a :
Gemeinsamkei Das Me kmal wi d in die Fea u ekon igu a ion des zu besch eibenden P o-
duk s au genommen.
Op ionali ¨
a Das Me kmal kann en wede in de FK en hal en sein ode nich .
Al e na i i ¨
a Die das P oduk besch eibende FK muss genau eines de sich gegensei ig aus-
schließenden Me kmale en hal en.
Mul iplizi ¨
a Das Me kmal muss in eine es geleg en Anzahl on Ins anzen, welche inne -
halb des Ka dinali ¨
a s-In e alls lieg , o kommen. Zus¨
a zlich m¨
ussen alle Selek ions-
In e alle eingehal en we den.
3.1.6 Zus¨
a zliche Pa ame isie ung du ch A ibu e
Zu Modellie ung de Al e na i i ¨
a on Me kmalen eines P oduk s exis ie in ielen
Ans¨
a zen zus¨
a zlich die M¨
oglichkei , Fea u es mi sog. Fea u e-A ibu en zu pa ame isie en.
Im Gegensa z zu Al e na i en-Da s ellung ¨
ube eine ODER-Dekomposi ion is de We e-
be eich on A ibu en nich besch ¨
ank , sonde n au endlichen ode nich -endlichen Mengen
de inie (z.B. die Menge alle na ¨
u lichen Zahlen N). Ein Beispiel w¨
a e die Modellie ung eines
A ibu s ”H¨
ochs geschwindigkei “ des Fea u es ”PKW“ als eelle Zahl.
Bei de E assung de Va iabili ¨
a im Fea u emodell wi d zun¨
achs nu de Name des A -
ibu s und dessen We ebe eich au genommen. Zu Elimina ion de Va iabili ¨
a muss dem
de inie en A ibu in jede Fea u ekon igu a ion schließlich ein dem We ebe eich en sp e-
chende We zugewiesen we den.
22Die Bezeichnungen be uhen au de A bei on Lukas [39], die wiede um au dem on An kiewicz und Cza -
necki [3] o ges ell en Fea u ePlugin au bau . Die Au o en un e scheiden zwischen dem Kenng ¨
oßen ea u e
ca dinali y und g oup ca dinali y, welche den hie e wende en Beg i en Ka dinali ¨
a s- bzw. Selek ions-
In e all en sp echen.
41
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
•Jede ge ich e e Beziehung (Di ec edRela ionship) is abh¨
angig on de en Re e enz-
ziel.
An diese S elle wi d noch keine Annahme da ¨
ube gemach , in welche Sp ache diese
Abh¨
angigkei sbedingungen o mulie we den. Im Rahmen des p ak ischen Teils diese A bei
wu de die Sp ache SDIRL einge ¨
uh , welche die Fo mulie ung solche Bedingungen au Basis
on OCL-Ausd ¨
ucken zul¨
ass (s. Abschni 4.5).
3.3.3 Abh¨
angigkei skon lik e und m¨
ogliche L¨
osungen
De Fo malismus de s uk u ellen Abh¨
angigkei en wu de einge ¨
uh , um die Konsis enz on
abgelei e en P oduk en un e den zug undeliegenden Annahmen siche zus ellen. Wie be ei s
e w¨
ahn , kann die Konsis enz on P oduk en nich meh siche ges ell we den, sobald die
aus de Fea u ekon igu a ion abglei e en Selek ionszus ¨
ande on Elemen en des DM de en
s uk u ellen Abh¨
angigkei en wide sp echen. Ein solche Wide sp uch wi d im Folgenden als
Abh¨
angigkei skon lik bezeichne . E i genau dann au , wenn olgende Bedingungen e ¨
ull
sind:
1. Ein DM-Elemen diis s uk u ell abh¨
angig on dj.
2. De Selek ionszus and s(di) is posi i (>).
3. De Selek ionszus and s(dj) is nega i (⊥).
Im Falle eine Con ainmen -Abh¨
angkei e schließ sich diese Zusammenhang in ui i :
Ein Nich -Wu zel-Elemen kann nu dann exis ie en, wenn sein ¨
ube geo dne e Con ai-
ne exis ie . Zieh man das oben genann e Beispiel de s uk u ellen Nich -Con ainmen -
Abh¨
angigkei bei eine Ve e bung in Be ach , kann eine spezialisie e Klasse nu dann o -
handen sein, wenn de en Obe klasse im P oduk exis ie . In beiden Fallen k¨
onn e die Wohl-
ge o m hei eines abgelei e en P oduk es e le z we den.
Um die Wohlge o m hei hingegen zu ga an ie en, m¨
ussen Abh¨
angigkei skon lik e elimi-
nie we den. Ein in diese A bei ausgea bei e es Ve ah en zu Au l¨
osung on Kon lik en
is die P opaga ion des Selek ionszus andes: Dabei wi d de eigen liche, du ch die Fea u e-
kon igu a ion bes imm e, Zus and on be o enen DM-Elemen en k¨
uns lich ¨
ube sch ieben,
so dass de Kon lik nich meh au i . Die P opaga ion kann en wede in die Rich ung de
Abh¨
angigkei (in P eil ich ung) ode in die Gegen ich ung s a inden. En sp echend we den
olgende P opaga ionss a egien (PS) un e schieden:
Vo w¨
a s-P opaga ion (VP) De Selek ionszus and des posi i en, s uk u ell abh¨
angigen
DM-Elemen s diwi d nega i ie .
R¨
uckw¨
a s-P opaga ion (RP) De Selek ionszus and des nega i en, s uk u ell ¨
ube geo d-
ne en Elemen s djwi d posi i ie .
In Abschni 4.7.4 wi d die Anwendung on P opaga ionss a egien zu Au l¨
osung on
Abh¨
angigkei skon lik en im Kon ex des F2DMM-P ojek s aus En wu ssich behandel .
48

3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
3.3.4 Su oga e: Wiede he s ellung de Konsis enz ohne In o ma ions e lus
Die Auswahl de P opaga ionss a egie b ing einige Nebene ek e mi sich: En scheide man
sich ¨
u die R¨
uckw¨
a sp opaga ion, we den un e Ums ¨
anden DM-A e ak e in P oduk e in-
eg ie , in denen sie au g und bes imm e Res ik ionen23 ga nich in eg ie we den d¨
u en.
Die Vo w¨
a s-P opaga ion ga an ie hingegen, dass nu Elemen e, die au g und de Abbil-
dung einen posi i en Selek ionszus and haben, Teil on abgelei e en P oduk en sein k¨
onnen.
Hie bei komm es zwa nich zu Ve le zung on Res ik ionen, jedoch is ein In o ma ions-
e lus m¨
oglich: DM-Elemen e, die eigen lich in bes imm en P oduk en in eg ie sein soll en,
k¨
onnen du ch Anwendung de Vo w¨
a sp opaga ion en allen.
Um dem en gegenzuwi ken ohne dabei die Wohlge o m hei on P oduk en zu e le zen,
k¨
onnen wei e ¨
uh ende S a egien, e wa die in Abschni 4.5 o ges ell en Su oga e angewen-
de we den. Ein du ch Anwendung eine P opaga ionss a egie nach ¨
aglich nega i selek ie -
es DM-Elemen k¨
onn e in einem bes imm en Kon ex du ch einen ad¨
aqua en S ell e e e
e se z we den. Auch dies sei anhand einige UML2-bezogene Beispiele e l¨
au e :
•Fehl de R¨
uckgabe yp eine Ope a ion, kann e du ch einen kompa iblen Typ, e wa
eine Obe klasse, e se z we den.
•Fehl in eine meh s u igen Ve e bungshie a chie eine Klasse, kann sie du ch die
n¨
achs h¨
ohe gelegene gene alisie e Klasse e se z we den.
•In Zus andsdiag ammen kann beim Fehlen eines T ansi ionsendes au den en sp echen-
den Endzus and e wiesen we den.
Um geeigne e Su oga e zu inden, is Kon ex wissen ¨
ube das Modell, in dem de In-
o ma ions e lus au ge e en is , no wendig. Su oga -Kandida en wie in de obigen Au -
lis ung k¨
onnen beispielsweise wiede um mi Hil e de An agesp ache OCL e mi el we -
den. Diese Ansa z wi d in F2DMM e olg : Das Konzep de Su oga e is hie in die
Sp ache SDIRL in eg ie ( gl. Abschni 4.5.5). Su oga -Ausd ¨
ucke sind hie bei es an
Abh¨
angigkei sbedingungen gekn¨
up ; alls eine Nega i ie ung s a inde , we den e ¨
ugba e
Su oga -Kandida en du ch Auswe ung beige ¨
ug e OCL-Ausd ¨
ucke e mi el .
3.4 MDPLE als So wa een wicklungsp ozess
Wie bei de He s ellung gew¨
ohnliche So wa e sind auch am En wicklungsp ozess on So -
wa ep oduk linien e schiedene Pe sonen mi zugewiesenen Rollen be eilig , die in au ein-
ande olgenden Phasen de inie e Funk ionen du ch ¨
uh en. So wa een wicklungsp ozesse [6]
beinhal en die De ini ion on A bei spake en, die Rollen, Phasen und Funk ionen einande
zuo dnen. W¨
ah end in de So wa een wicklung P ozesse wie de Ra ional Uni ied P ocess
(RUP) [38] ode das V-Modell [46] seh konk e e A bei ssch i e de inie en, se zen Ans¨
a ze,
welche au die En wicklung on So wa ep oduk linien ode die modellge iebene So wa e-
en wicklung zugeschni en sind, h¨
au ig au ein ache en P izipien wie dem Wasse all- ode
Spi almodell au . Nach de Vo s ellung einige aus de Li e a u bekann en P ozessmodelle
¨
u MDPLE wi d in diesem Abschni ein au den besch iebenen SPL-Modellie ungsansa z
zugeschni ene P ozess iden i izie .
23Diese Res ik ionen k¨
onnen ¨
okonomische , ech liche ode un e nehmenspoli ische Na u sein: Man will
beim Maßschneide n eines P oduk s nu die n¨
o igen Elemen e p eisgeben.
49
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
3.4.1 Das Doppelspi almodell on Gomaa
Gomaa [23] se z sich mi de UML-ges ¨
u z en En wicklung on So wa ep oduk linien
(SPL) auseinande und de inie in einem ¨
Ube blickskapi el e schiedene P ozesse zu kon i-
nuie lichen En wicklung de selben, un e ande em das Doppelspi almodell (s. Abbildung 3.12).
Beide Spi alen s ellen je einen unabh¨
angigen, i e a i en P ozess da , de jeweils die aus dem
Wasse allmodell bekann en Phasen (Planung, Analyse, En wu und Implemen ie ung) um-
ass . Die Aus ¨
uh ung de beiden Spi alen kann al e nie end e olgen: Nach de ini ialen De-
ini ion eine So wa ep oduk linie we den die e s en P oduk e abgelei e , analysie und die
E gebnisse wiede um zu Wei e en wicklung de gesam en P oduk linie e we e .
Domänenen wicklung
Anwendungsen wicklung
1.1 De ini ion on PL-Zielen,
Al e na i en und Cons ain s
1.2 Analyse de Risiken
De P oduk linie
1.3 En wicklung de
So wa ep oduk linie
1.4 Planung des
nächs en PL-Zyklus
1.1 De ini ion on
indi iduellen P oduk zielen,
Al e na i en und Cons ain s
2.2
Risikoanalyse
P oduk
2.3 En wicklung des
P oduk s
2.4 Planung des
nächs en P oduk -
Zyklus
Abbildung 3.12: Das Doppelspi almodell on Gomaa [23, Abschni 3.4.2] besch eib die En wicklung
on So wa ep oduk linien du ch zwei al e nie ende, ink emen elle En wicklungsp o-
zesse.
3.4.2 Model D i en A chi ec u e
F ankel [20] besch eib mi Model D i en A chi ec u e (MDA) einen Ansa z, de die in de
Einlei ung diese A bei besch iebene ans eigende Abs ak ion bei de Spezi ika ion und Im-
plemen ie ung on So wa esys emen be ¨
ucksich ig , um die A chi ek u eines Sys ems eben-
alls modellge ieben zu spezi izie en. Ziel is die ollau oma ische Gene ie ung alle A e ak e
eines So wa esys ems, inklusi e des aus ¨
uh ba en Quellcodes, aus eine modellbasie en Be-
sch eibung. Du ch die sch i weise ¨
Ube se zung eines abs ak en Modells wi d jeweils ein
au de n¨
achs nied ige en Abs ak ionsebene gelegenes A e ak e zeug . Dadu ch soll zum
einen die P oduk i i ¨
a ges eige , zum ande en de Wa ungsau wand nach de Auslie e ung
gesenk we den.
50
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
Pla o munabhängiges
Modell (PIM)
Pla o mspezi isches
Modell (PSM)
Aus üh ba es
P og amm
Dokumen a ions-
a e ak e
Wiede e wendba e
Komponen en
Domänen-
en wicklung
Anwendungs-
en wicklung
Abbildung 3.13: De MDA-Ansa z on F ankel [20, Abschni 1] besch eib die modellge iebene So -
wa een wicklung als ideale weise ollau oma isie en P ozess.
MDA besch eib die T ans o ma ion om besch eibenden A chi ek u modell zum
aus ¨
uh ba en P og amm in zwei Sch i en: Zun¨
achs e olg die T ans o ma ion eines
pla o munabh¨
angigen Modells (PIM), welches on den Spezi ika on Zielsp ache und
-Pla o m abs ahie , in ein pla o mspezi isches Modell (PSM), welches ebendiese Aspek-
e be ¨
ucksich ig . Das PIM wi d h¨
au ig zu Gene ie ung on Dokumen a ionsa e ak en, e -
wa de A chi ek u besch eibung eines Sys ems, he angezogen. De Sch i om PSM zum
aus ¨
uh ba en P og amm e olg zun¨
achs du ch eine T ans o ma ion in die Zielsp ache. Im
nich -idealisie en P ozess wi d de gene ie e Quell ex manuell mi pla o mspezi ischen
F agmen en ange eiche , um die Funk ionali ¨
a des Zielsys ems zu komple ie en.
3.4.3 Re e enzp ozess de So wa ep oduk linienen wicklung
De im Rahmen des Vo g¨
ange p ojek es MODPL [10] de inie e MDPLE-P ozess e eine
den e s mals on Pohl u. a. [45] o malisie en Re e enzp ozess zu So wa ep oduk linienen -
wicklung hinsich lich de In eg a ion des modellge iebenen Aspek s. Pohl un e scheide zwi-
schen de Dom¨
anenen wicklung, welche sich au die komple e P oduk amilie bezieh , und
de Anwendungsen wicklung, die die Implemen ie ung einzelne P oduk e besch eib . Jedem
de beiden – wiede um sepa a zu be ach enden – En wicklungsp ozesse liegen die P ozess-
sch i e Analyse und En wu , zug unde (s. Abbildung 3.14).
E gebnis de Dom¨
anenanalyse is das Fea u emodell (FM), in dem die Me kmale, welche
inne halb de Dom¨
ane iden i izie wu den, es gehal en we den ( gl. Abschni 3.1). Das
Pendan au de Sei e de Anwendungsen wicklung sind die Fea u ekon igu a ionen (FKs),
die die Me kmale je P oduk aus de So wa e amilie besch eiben. Die E zeugung diese bei-
den A e ak e wi d im Folgenden un e dem Aspek Fea u emodellie ung zusammenge ass .
Au de da un e liegenden Ebene we den jeweils A e ak e de En wicklung besch ieben: Das
Mul i a ian en-Dom¨
anenmodell besch eib So wa e, welche in allen P oduk en o komm ,
w¨
ah end das kon igu ie e Dom¨
anenmodell ein P oduk de So wa e amilie ep ¨
asen ie .
Die Abbildung e deu lich das Haup ziel on MDPLE: Die au oma isie e E zeugung
des kon igu ie en Dom¨
anenmodells du ch einen Ablei ungssch i , dem das Mul i a ian en-
Dom¨
anenmodell und die das P oduk besch eibende Fea u ekon igu a ion zug unde liegen.
51
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
Domänenen wicklung Anwendungsen wicklung
Domäne
Fea u emodell
Mul i a ian en-
Domänenmodell
Analyse En wicklung
An o de ungen
Kon igu ie ung
Fea u ekon igu a ion
Ablei ung
Kon igu ie es
Domänenmodell
Abbildung 3.14: Von Buchmann [10] o geschlagene P ozess zu En wicklung on modellge iebenen
So wa ep oduk linien.
3.4.4 Vo geschlagene MDPLE-P ozess
Diese A bei be ass sich zum G oß eil mi de Abbildung ( gl. engl. mapping) on Fea-
u es au ih e en sp echenden Elemen e des Mul i a ian en-Dom¨
anenmodells. In den ol-
genden Abschni en wi d zu diesem Zweck das Mapping-Modell als zen ale Abbildungs-
s uk u einge ¨
uh . Das Mapping-Modell s ell die Ko ek hei de Abbildung bez¨
uglich
Abh¨
angigkei sbedingungen ( gl. Abschni 3.3) mi Hil e eines sog. Konsis enzmodells siche ,
welches sich wiede um au die Sp ache de Dom¨
ane bezieh : Ve wand e MDPLE-Ans¨
a ze
se zen hie bei h¨
au ig UML als Modellie ungssp ache o aus, sodass diese Sch i en ¨
all (s.
Domänenen wicklung Anwendungsen wicklung
Domäne
Fea u emodell
Analyse En wicklung
An o de ungen
Kon igu ie ung
Fea u ekon igu a ion
Ablei ung Kon igu ie es
Domänenmodell
Mul i a ian en-
Domänenmodell
Mapping-
Modell
Konsis enz-
Modell
Domänen-
Sp ache
Analyse
Ablei ung
Abbildung 3.15: Ein im Kon ex diese A bei o geschlagenes P ozessmodell zu En wicklung on
modellge iebenen So wa ep oduk linien.
52
3 Vo ¨
ube legungen und Fo malisie ung de P oblems ellung
Abschni 6). Das Konsis enzmodell en s eh du ch Analyse diese Modellsp ache du ch einen
DSL-Expe en ( gl. Abbildung 3.15).
Die Sch i e Analyse de Dom¨
anensp ache,Konsis enzmodell und Mapping-Modell we den
de Dom¨
anenen wicklung zugesch ieben, da sie sich eben alls du ch ih e Allgemeing¨
ul igkei
bez¨
uglich de So wa e amilie auszeichnen und nich ¨
u jede FK neu e olgen m¨
ussen. Die
Ablei ung on P oduk en e olg schließlich im Rahmen de Anwendungsen wicklung.
3.4.5 Die ma hema isch- o melle Sich : P oblem- und L¨
osungs aum
Un e den Beg i Fea u emodellie ung ¨
all , wie oben besch ieben, die E zeugung on Fea u-
emodell und -kon igu a ionen. Be ach e man die Ablei ung on P oduk en als ma hema-
isches Abbildungsp oblem, de inie die Fea u emodellie ung einen P oblem aum [15]: Hie
we den lediglich abzubildende So wa eme kmale de inie . Eine Fea u ekon igu a ion FC k
is genau dann kon o m zu einem Fea u emodell FM k, wenn sie jedem in ihm de inie en
So wa eme kmal ieinen Selek ionszus and s( i)∈ {>,⊥} zuweisen kann:
∀ i∈FCk⇒s( i)∈ {>,⊥} ∧ i∈FM k
Die L¨
osung des de inie en Abbildungsp oblems e gib sich – um in de ma hema isch-
o mellen Sich weise zu bleiben – du ch Ablei ung des kon igu ie en Dom¨
anenmodells aus
de Fea u ekon igu a ion. Das Mul i a ian en- sowie das kon igu ie e Dom¨
anenmodell sind
demnach Elemen e des L¨
osungs aums. Im o geschlagenen MDPLE-P ozessmodell ha das
Mapping-Modell die Rolle eine Abbildungs o sch i :
MM (FM ) : FCk⇒Pk,FCkkon o m zu FM
Eine du ch ein Mapping-Modell de inie e Abbildungs o sch i MM (FM ) kann olglich
jede Fea u ekon igu a ion FCk, die kon o m zum mi dem Mapping-Modell e kn¨
up en Fea-
u emodell is , au ein P oduk Pkabbilden. Die Abbildung selbs besch eib den ¨
Ube gang
zwischen P oblem- und L¨
osungs aum [30] und is Gegens and des nach olgenden Abschni s.
53

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene
So wa ep oduk linien
Diese Abschni bau au den zu o e mi el en G undlagen de modellge iebenen So -
wa een wicklung mi Eclipse ( gl. Abschni 2) sowie den Vo ¨
ube legungen aus Abschni 3
au und s ell mi F2DMM einen Edi o zu modellge iebenen En wicklung on So wa e-
p oduk linien au Basis eines Mapping-Modells o . Die Besch eibung e olg al e nie end aus
Konzep - und aus Anwende sich . De nach olgende Abschni 5 besch¨
a ig sich schließlich
mi de Anwendung des We kzeugs au kons uie e P oblems ellungen.
4.1 ¨
Ube sich : Modelle und We kzeuge
Wie be ei s e w¨
ahn , lieg de p ak ische Bei ag diese A bei in de E s ellung ei-
nes We kzeuges, welches die Abbildung on Fea u es au Elemen e eines Mul i a ian en-
Dom¨
anenmodells un e s ¨
u z . G undlage ¨
u den Edi o is ein Mapping-Me amodell, welches
e laub , ein beliebiges Eco e-basie es Dom¨
anenmodell mi zus¨
a zlichen Mapping-spezi ischen
In o ma ionen wie Fea u e-Ausd ¨
ucken, zu e sehen. Die olgenden Aus ¨
uh ungen beziehen
sich au die in Abbildung 4.1 besch iebene Modell- und We kzeuglandscha .
Das en wickel e Rahmenwe k F2DMM (Fea u e To Domain Mapping Model) is Bes and-
eil des leh s uhlwei en P ojek s FAMILE (Fea u es And Mappings In Lucid E olu ion). In
den nach olgenden Abschni en wi d zun¨
achs au die Modelle und We kzeuge zu Fea u e-
modellie ung eingegangen (s. Abschni 4.2), die im Rahmen eines kleinen Mas e -P ojek s
implemen ie wu den und ausd ¨
ucklich kein Bei ag diese A bei sind. So wa eme kmale
und de en Ausp ¨
agung we den in einem Fea u emodell und meh e en Fea u ekon igu a ionen
de inie , die jeweils Ins anz desselben Me amodells sind. Gegens and de o liegenden A bei
wa jedoch die Ausa bei ung on Mechanismen zum E hal de Synch oni ¨
a on FM und
FK in einem en sp echenden Modul.
Im da au olgenden Abschni 4.3 we den die dem F2DMM-Me amodell zug undeliegen-
den En wu sen scheidungen e l¨
au e . Die wesen liche Komponen e s ellen Mappings da ,
die Elemen e des e e enzie en Dom¨
anenmodells mi Fea u e-Ausd ¨
ucken (s. Abschni 4.4)
e sehen, welche in ih e ex uellen Rep ¨
asen a ion on de FEL-G amma ik (Fea u e Ex-
p ession Language) de inie we den. Du ch sie wi d die Mani es a ion on Va iabili ¨
a im
Dom¨
anenmodell du ch geeigne e Sp achkons uk e be ¨
ucksich ig .
Mappings k¨
onnen sich auch au Elemen e auße halb de Dom¨
anenmodell-Ressou ce bezie-
hen. In diesem Fall sp ich man on Al e na i en-Mappings (s. Abschni 4.6). Sie agen zu
Un e s ¨
u zung de Agili ¨
a bei und e lauben die De ini ion on Va ia ionspunk en.
Op ional kann ein SDIRL-Dokumen (S uc u al Dependency Iden i ica ion and Re-
pai Language, s. Abschni 4.5) das Dom¨
anen-Me amodell um s uk u elle Abh¨
angigkei s-
bedingungen ( gl. Abschni 3.3.2) e g¨
anzen. F¨
u das Bea bei en diese Dokumen e is ein
eigene ex uelle Edi o o gesehen, de Teile des om Eclipse Modeling P ojek be ei ge-
s ell en OCL-Tex edi o s und des en sp echenden Me amodells wiede e wende .
Aus einem konsis en en Mapping-Modell k¨
onnen un e Angabe jeweilige Fea u ekon i-
gu a ionen P oduk e (auch kon igu ie e Dom¨
anenmodelle) abgelei e we den (s. Abschni
4.8). Vo ausse zung hie ¨
u is die Synch oni ¨
a des Mappings mi dem zug undeliegenden
Mul i a ian en-DM, welche eben alls du ch ein en sp echendes Modul siche ges ell wi d
( gl. Abschni 4.9). Schließlich beleuch e Abschni 4.10 einige zus¨
a zliche Funk ionen des
F2DMM-Edi o s aus Anwende sich .
54
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
SDIRL-
Tex edi o
Ins anz on
Al e na i es
Domänen-
Modell
Eco e-
Me amodell
Fea u e-
Me amodell
Fea u e-
modell
Fea u e-
kon igu a ion
„Fea u emodel“-
Edi o
„Fea u econ “-
Edi o
FM/FK-
Synch onisa ions-
Modul
Ins anz on
Wi d
abgelei e
aus
bea bei e
Domänen-
Me amodell
Ke n-
Domänen-
Modell
F2DMM-
Me amodell
Ins anz on
FEL-
Me amodell
SDIRL-
Me amodell
Fea u e
A ibu
Fea u e
Fea u e
A ibu
Fea u e
Fea u e
beobach e
Ände ungen
F2D-Mapping-Modell
Elemen
Elemen
Elemen
Elemen
Mapping
Mapping
Mapping
Mapping
Fea u e-
Ausd uck
bea bei e
ko espondie
ko espondie
ko espondie
S uk u elle Abhängigkei en
und Repa a u ope a ionen
OCL-
Me amodell
F2D-Mapping-
Edi o
Fea u e-
Ausd uck
bea bei e bea bei e
OCL-
Tex edi o
bea bei e
FEL-
Tex edi o
OCL-
Ausd ücke
Fea u e-
Ausd uck
Fea u e
ko espondie
P oduk
lei e ab
beobach e
Ände ungen
F2DMM/DM-
Synch onisa ions-
Modul
b ing
Ände ungen
ein
b ing
Ände ungen
ein
Abbildung 4.1: ¨
Ube blick ¨
ube die Modelle und We kzeuge im Kon ex des FAMILE-P ojek s.
55
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4.2 Fea u emodellie ung
Wie be ei s in Abschni 3.1 e w¨
ahn , haben sich Fea u emodelle und -kon igu a ionen [35] zu
o mellen Besch eibung on So wa eme kmalen e ablie . Im Kon ex des FAMILE-P ojek s
wu de in einem kleinen Mas e -P ojek [39] ein Fea u e-Me amodell sowie Edi o en ¨
u Fea-
u emodell und Fea u ekon igu a ion en wickel . Im Rahmen de o liegenden Mas e a bei
wu den keine wei e en ¨
Ande ungen am Me amodell und an den Edi o en o genommen. Eine
Ausnahme s ell die In eg a ion des Synch onisa ionsmoduls in den Fea u ekon igu a ions-
Edi o da , welche in Abschni 4.2.4 behandel wi d. Aus G ¨
unden de Dokumen a ion
und zu besse en Nach ollziehba kei de nach olgenden Aus ¨
uh ungen we den zun¨
achs das
Fea u e-Me amodell, die Edi o en sowie de Validie ungsmechanismus o ges ell .
4.2.1 Das Fea u e-Me amodell
Fea u emodelle und -kon igu a ionen sind Ins anzen eines gemeinsamen, EMF-basie en Me-
amodells ( gl. Eco e-Klassendiag amm in Abbildung 4.2). Die Ve kn¨
up ung zwischen FK
und FM en s eh du ch das Se zen de Re e enz de iningFea u eModel in de Kon igu a-
ion.
Abbildung 4.2: Das Fea u e-Me amodell un e scheide zwischen a oma en Fea u es ( ep ¨
asen ie
du ch die Modellklasse A omicFea u e) und Fea u e-G uppen (Fea u eG oup), wel-
che eine bauma ige Ve schach elung nach dem En wu smus e Composi e [21, Ka-
pi el 4.3] e lauben. Die Wu zel eines Fea u emodells bzw. eine -kon igu a ion sind
du ch die Ablei ung Roo gekennzeichne . Fea u es k¨
onnen du ch Fea u e-A ibu e
pa ame isie we den.
Jedes Fea u e bekomm om Modellie e einen Selek ionszus and (SZ) zugewiesen, e-
p ¨
asen ie du ch den Enume a ions yp S a e. W¨
ah end im Fea u emodell noch keine Aus-
wahl e olg (alle Fea u es haben den SZ pending), muss im Sinne de in Abschni 3.1.5
ge o de en Elimina ion de Va iabili ¨
a inne halb eine g¨
ul igen Fea u ekon igu a ion jedes
Fea u e en wede selec ed ode unselec ed sein.
56
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Iden i ¨
a on Fea u es Bei de E zeugung eines Fea u es wi d eine eindeu ige ID gene ie
und diesem zugewiesen. W¨
ah end im Fea u emodell eine ID genau einmal exis ie en da ,
bekommen im Falle eines meh ach ins anziie ba en Fea u es in eine en sp echenden Fea-
u ekon igu a ion alle Ins anzen dieselbe ID zugewiesen. Die A ibu e minCa dinali y und
maxCa dinali y legen Un e - bzw. Obe g enzen ¨
u die Anzahl de e laub en Ins anzen ei-
nes Fea u es in eine Kon igu a ion es . Im Gegensa z zu den IDs m¨
ussen die Namen on
Fea u es (A ibu name) nich global eindeu ig sein.
Lokale und globale Op ionali ¨
a Das boolesche A ibu ke nel gib an, ob ein modellie es
Fea u e Bes and eil des Ke nels, also de Menge de Gemeinsamkei en alle P oduk e de
P oduk linie is . In eine g¨
ul igen Fea u ekon igu a ion m¨
ussen olglich alle Ins anzen on
Fea u es, ¨
u die die Bedingung ke nel == ue gil , selek ie sein. Das A ibu equi ed
hingegen bezieh sich au die lokale Abh¨
angigkei eines Fea u es on seine en hal enden
Fea u e-G uppe (Va iabili ¨
a sme kmal Op ionali ¨
a , gl. Abschni 3.1.2). Das abgelei e e
A ibu op ional e h¨
al sich in e s zu equi ed.
Fea u e-G uppen, Ka dinali ¨
a und Selek ion De im o liegenden Fea u e-Me amodell
gew¨
ahl e Ansa z un e s ¨
u z Ca dinali y-Based Fea u e Modeling (CBFM, Abschni 3.1.3):
Die A ibu e minSelec und maxSelec geben eine Un e - bzw. Obe g enze ¨
u die e laub-
e Anzahl selek ie e Un e ea u es eine G uppe an, bezogen au alle Ins anzen inne halb
eine Fea u ekon igu a ion. Als Obe g enze is auße dem die Kons an e GROUP SIZE zul¨
assig,
welche die ak uelle Anzahl de Un e ea u es je Kon igu a ion ep ¨
asen ie .
Die a s¨
achliche Ka dinali ¨
a eine Fea u e-G uppe e gib sich in eine Fea u ekon igu a ion
jeweils lokal du ch die Anzahl de Ins anzen p o Un e ea u e. Eine Kon igu a ion is g¨
ul ig,
solange sich diese G ¨
oße im du ch minCa dinali y und maxCa dinali y de inie en In e all
be inde .
Beziehungen zwischen Fea u es: equi es und excludes Bishe wu den Fea u emodell
und -kon igu a ion als e schach el e, bauma ige S uk u e s anden: Fea u es s ehen ¨
ube
die pa en - bzw. child en-Re e enz mi einande in Beziehung. Das o liegende Fea u e-
Me amodell e laub die Angabe wei e e , nich exis enzabh¨
angige Beziehungen: Fea u es
k¨
onnen sich en wede gegensei ig bedingen (modellie ¨
ube die equi es-Kan e) ode aus-
schließen (excludes) [28]. Die umgekeh e Beziehungs ich ung (eOpposi e) wi d du ch die
Re e enzen equi edBy bzw. excludedBy ausged ¨
uck .
4.2.2 Validie ung in Fea u emodell und -kon igu a ion
Um die Wohlge o m hei on Fea u emodell und -kon igu a ion siche zus ellen, wu de, eben-
alls im Vo eld des FAMILE-P ojek s, das EMF Valida ion F amewo k (s. Abschni 2.4)
un e Zuhil enahme geeigne e Cons ain s in die Edi o en eingebunden. Auch Heiden eich
[28] besch eib im Kon ex des Fea u eMappe -P ojek s Bedingungen ¨
u die Wohlge o m hei
e schiedene Komponen en on So wa ep oduk linien (s. Abschni 6.4.1), u.a. Fea u emo-
dellen und -kon igu a ionen. Tabelle 4.1 o dne die Cons ain -Klassen ¨
u das o liegende
Me amodell den on Heiden eich de inie en Bedingungen zu. Le z e e sind den Be eichen
Fea u emodell (FM) und Fea u ekon igu a ion (VM, gl. engl. a ian model) zugeo dne .
57
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
gen.
4.3.2 De Mapping-Baum: S uk u elle Rekons uk ion des Dom¨
anenmodells
Die e ein ach e Illus a ion in Abbildung 4.6 de inie be ei s die g undlegende S uk u
eines Mapping-Modells: De Con ainmen -Baum des Dom¨
anenmodells wi d ekons uie .
W¨
ah end ein Con ainmen -Mapping sich s e s au eine Ins anz on EObjec , n¨
amlich das ab-
gebilde e Dom¨
anenmodell-Elemen , bezieh (s. Re e enz mappedObjec ), wi d bei A ibu -
Mappings die S ing-Se ialisie ung des en sp echenden elemen a en Da en ypen hin e leg .
Die ges ichel en, on A ibu -Mappings ausgehenden Kan en in Abbildung 4.8 s ellen also
keine a s¨
achliche Re e enz da .
¨
Ahnlich e hal en sich Re e enz-Mappings, welche sich au Nich -Con ainmen -Re e enzen
aus dem Dom¨
anenmodell beziehen und somi das angewand e Au e en on an ande e S elle
dekla ie en Objek en ealisie en. Ans a au das e e enzie e Dom¨
anenmodell-Elemen zu
e weisen, bezieh sich ein Re e enz-Mapping au ein Con ainmen -Mapping, welches das de-
kla ie e Objek abbilde ( e e encedMapping). Im Beispiel in Abbildung 4.8 is nich e wa
das Re e enzziel c1 de Re e enz ype mi dem Re e enz-Mapping m1 assoziie , sonde n das
Con ainmen -Mapping cm2, welches sich au c1 bezieh . Diese zus¨
a zliche Abs ak ion is zu
Vo be echnung m¨
ogliche Konsis enz e le zungen (s. Abschni 4.7.1) onn¨
o en.
p1 : uml.Package
c1 : uml.Class
name = „Class1"
cm1 : Con ainmen Mapping
cm2 : Con ainmen Mapping
am1 : A ibu eMapping
cm3 : Con ainmen Mapping
cm4: Con ainmen Mapping
m1 : Re e enceMapping
c2 : uml.Class
p1 : uml.P ope y
name = „p op1"
am1 : A ibu eMapping
ype
„Class1"
„p op1"
Abbildung 4.7: Beispiel-Mapping ( ech s) ¨
u ein o handenes Dom¨
anenmodell (links). Die S uk-
u des Mapping-Modells is du ch den au spannenden Con ainmen -Baum des
Dom¨
anenmodells de inie . Im Gegensa z zu A ibu - und Re e enz-Mappings
e lauben Con ainmen -Mappings eine beliebige Ve schach elung (s. Re e enz
con ainedMappings in Abbildung 4.6).
64

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.8: Ausschni des a s¨
achlichen F2DMM-Me amodells, de dem in de e ein ach en Da s ellung in Abbildung 4.6 angedeu e en,
nach dem Composi e-Mus e [21, Kapi el 4.3] en wo enen Teilmodell en sp ich .
65
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4.3.3 Ke n- und Al e na i en-Mappings
Das a s¨
achliche F2DMM-Me amodell un e scheide neben de s uk u ellen Dimensi-
on (Con ainmen -, A ibu - bzw. Re e enz-Mappings) zus¨
a zlich nach Ke n- und Al-
e na i en-Mappings. Ke n-Mappings beziehen sich au das e e enzie e Mul i a ian en-
Dom¨
anenmodell, indem dessen S uk u wie in Abbildung 4.7 angedeu e nachgebilde wi d.
Die Wah ung de s uk u ellen Synch oni ¨
a mi dem Dom¨
anenmodell is Au gabe des
DM/MM-Synch onisa ionsmoduls, welches in Abschni 4.9.1 o ges ell wi d.
Al e na i en-Mappings e lauben die E wei e ung des Dom¨
anenmodells, e wa um Abbil-
dungen zu ealisie en, die nich du ch Ke n-Mappings da ges ell we den k¨
onnen (s. Ab-
schni 4.6.2). Im Gegensa z zu Ke n-Mappings un e liegen Al e na i en-Mappings keine
au oma ischen Synch onisie ung und we den s a dessen om Modellie e manuell gep leg .
Du ch Kombina ion de beiden genann en Dimensionen e geben sich schließlich sechs konk e e
Mapping-Klassen:
•Ke n-Con ainmen -Mapping, implemen ie du ch Co eCon ainmen Mapping,
•Ke n-A ibu -Mapping (Co eA ibu eMapping),
•Ke n-Re e enz-Mapping (Co eRe e enceMapping),
•Al e na i en-Con ainmen -Mapping (Al e na i eCon ainmen Mapping),
•Al e na i en-A ibu -Mapping (Al e na i eA ibu eMapping),
•Al e na i en-Re e enz-Mapping (Al e na i eRe e enceMapping).
Abbildung 4.8 s ell einen Ausschni des a s¨
achlichen F2DMM-Me amodells da . Map-
pings sind in diese Da s ellung abella isch nach den Dimensionen S uk u (Con ainmen ,
Re e enz, A ibu ; in g ¨
un) bzw. Zugeh¨
o igkei (Ke n, Al e na i e; in o ) angeo dne .
Zus¨
a zlich exis ie ¨
u jede de sechs Mapping-A en ein Con aine -In e ace (in g au da -
ges ell ) als wei e e Abs ak ionssch i . Die abs ak e Klasse Con ainmen Mapping imple-
men ie alle sechs Con aine -In e aces, um eine eku si e Ve schach elung zu e m¨
oglichen.
Das Mapping-Modell selbs (F2DMappingModel) is on Co eCon ainmen MappingCon-
aine abgelei e und ep ¨
asen ie die Wu zel des Mapping-Baumes. Alle Mapping-Klassen
e ben indi ek on de abs ak en Basisklasse Anno a able, die Gemeinsamkei en on Map-
pings, welche mi Fea u e-Ausd ¨
ucken e sehen we den k¨
onnen, be ¨
ucksich ig . Sie wi d in
Abschni 4.7.2 de aillie behandel . Es sei jedoch o weggenommen, dass sich jede Ins anz
on Anno a able zu jedem Zei punk in einem on ach m¨
oglichen Selek ionszus ¨
anden (SZ)
be inde , welche Gegens and des n¨
achs en Un e abschni s sind.
4.3.4 Selek ionszus ¨
ande
Ins anzen on Anno a able wi d nach Auswe ung anno ie e Fea u e-Ausd ¨
ucke (s.
Abschni 4.4) ein SZ zugewiesen, welche jeweils als Li e al des Au z¨
ahlungs ypen
Selec ionS a e ( gl. Abbildung 4.9) modellie is .
Nach de Auswe ung on Fea u e-Ausd ¨
ucken s eh de ini ialSelec ionS a e es . E
kann lediglich die We e ac i e,inac i e,incomple e ode co up ed annehmen (nich anno ie -
e Elemen e e hal en zun¨
achs den SZ incomple e; ehle ha e Ausd ¨
ucke we den als co up-
ed ma kie ). Um die Konsis enz de Anno a ionen siche zus ellen, wi d im Mapping-Modell
66
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.9: Da s ellung de ele an en Elemen e de Me aklasse Anno a able sowie des Enume-
a ions ypen Selec ionS a e als Eco e-Klassendiag amm.
das Konzep de P opaga ion on Selek ionszus ¨
anden implemen ie ( gl. Abschni 3.3.3).
Hie du ch k¨
onnen die p opaga edSelec ionS a es wei e e We e, n¨
amlich supp essed ode
en o ced, annehmen. Du ch Ausschlusskon lik e bzw. Su oga e k¨
onnen diese e neu e idie
we den und die endg¨
ul igen Zus ¨
ande su oga ed bzw. o e uled annehmen. Die Mechanismen
zu Bes immung diese Zus ¨
ande we den in Abschni 4.7.5 e l¨
au e . Abbildung 4.10 ass
m¨
ogliche SZ und de en g a ische No a ion, die auch im F2DMM-Edi o e wende wi d,
zusammen.
inac i e: Mi einem FEL-
Ausd uck e sehen, de in
de ak uellen FK nega i is
ac i e: Mi einem FEL-
Ausd uck e sehen, de in
de ak uellen FK posi i is
incomple e: Mapping-Elemen , welches wede anno ie ,
noch on eine P opaga ion be o en is
supp essed: Du ch
P opaga ion küns lich
nega i ie
en o ced: Du ch
P opaga ion küns lich
posi i ie
su oga ed: Au g und de
Exis enz on Su oga en
küns lich posi i ie
co up ed: Mi einem
ehle ha en FEL-Ausd uck
e sehen
o e uled: Au g und eines
Ausschlusskon lik es
küns lich nega i ie
Abbildung 4.10: M¨
ogliche Selek ionszus ¨
ande eines Mappings im F2DMM-Me amodell und de en Be-
deu ung.
67
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4.4 FEL: Fea u e-Ausd ¨
ucke und de en Auswe ung
Die ex uelle An agesp ache Fea u e Exp ession Language (FEL) dien inne halb des
F2DMM-We kzeugs de Fo mulie ung on Fea u e-Ausd ¨
ucken, welche als Anno a ionen
on Mappings die Ve bindung zum Fea u emodell sowie zu eine e en uell geladenen Fea-
u ekon igu a ion he s ellen. Neben Fea u e-Ausd ¨
ucken de inie die Sp ache auch A ibu -
Ausd ¨
ucke, die An agen au die We e on Fea u e-A ibu en eine Fea u ekon igu a ion
e lauben.
4.4.1 Elemen a e Fea u e-Ausd ¨
ucke: Quali izie ende Namen, Index-Bezug und
boolesche Ve kn¨
up ungen
Fea u e-Ausd ¨
ucke beziehen sich au die Selek ionszus ¨
ande on Fea u es un e
Be ¨
ucksich igung de ak uellen Fea u ekon igu a ion und bekommen nach ih e Auswe ung
selbs einen SZ zugewiesen. M¨
ogliche Selek ionszus ¨
ande ¨
u Fea u e-Ausd ¨
ucke sind incom-
ple e,inac i e,ac i e und co up ed ( gl. Abbildung 4.10). Syn ak isch ung¨
ul ige Fea u e-
Ausd ¨
ucke haben s e s den Selek ionszus and co up ed. In den olgenden Abs¨
a zen wi d die
Syn ax on Fea u e-Ausd ¨
ucken anhand on Beispielen besch ieben.
Fea u e-Re e enzen Eine M¨
oglichkei , Bezug zu Selek ionszus ¨
anden on Fea u es he zu-
s ellen, is das Re e enzie en des Fea u es selbs . Eine Fea u e-Re e enz is ein Fea u e-
Ausd uck, de den Selek ionszus and des du ch ihn e e enzie en Fea u es in de ak uell
geladenen FK annimm . Is keine FK geladen, ha de Ausd uck den We incomple e.
Eine Fea u e-Re e enz bes eh in ih e konk e en ex uellen Syn ax aus dem Fea u e-
Namen selbs . En h¨
al de Fea u e-Name Sonde - ode Lee zeichen, muss e in doppel e Hoch-
komma a (") eingeschlossen we den. Nach olgendes Quell ex agmen en h¨
al d ei Fea u e-
Re e enzen, die sich au das Modell aus Abbildung 4.3 au Sei e 59 beziehen:
1VPN
2"Rolling Shu e s Con ol"
3Cloud
In de geladenen Fea u e-Kon igu a ion w¨
u de de e s e Ausd uck den Selek ionszus and
ac i e zu ¨
uckgeben, da das gleichnamige Fea u e selek ie is . De zwei e Ausd uck e aulie
dagegen zu inac i e. Da im Fea u emodell kein Me kmal mi dem Namen ”Cloud“ o handen
is , w¨
a e de d i e Ausd uck ung¨
ul ig (co up ed).
Quali izie ende Namen In Abschni 4.2.1 wu de be ei s e w¨
ahn , dass Fea u e-Namen nich
global eindeu ig sind. Falls ein Fea u e mi demselben Namen in einem Modell meh ach o -
kommen w¨
u de, k¨
onn e die Re e enz nich meh eindeu ig au gel¨
os we den. Fea u es ¨
ube
de en eindeu ig e gebene IDs zu e e enzie en, k¨
onn e das P oblem l¨
osen, is abe aus An-
wende sich wenig p ak ikabel. S a dessen e laub FEL das Au l¨
osen on Meh deu igkei en
bei Fea u e-Namen ¨
ube den aus P og ammie sp achen bekann en Mechanismus des quali-
izie enden Namens [51, Kapi el 3.6.1]: Einem Fea u e wi d de Name de beinhal enden
Fea u e-G uppe o anges ell , ge enn du ch einen Punk . Dies l¨
ass sich bis zu Wu zel des
Fea u emodells o se zen. Beispiele ¨
u quali izie ende Fea u e-Namen sind:
1"Secu e Connec ion".VPN
2Pe iphe als."Ai Condi ion Con ol"
3"Home Au oma ion Sys em"."Iden i ica ion Mechanism"
68
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Index- und Wildca d-Zug i Fea u es mi Mul iplizi ¨
a g ¨
oße eins k¨
onnen in eine Fea u e-
kon igu a ion in meh e en Ins anzen o kommen. ¨
Ahnlich wie beim o he gehenden P oblem
kann es dadu ch zu Meh deu igkei en kommen: De Ausd uck "Add-on Package"."Mobile
App" k¨
onn e sich im Beispiel au eine de maximal d ei Ins anzen des en sp echenden Fea u es
beziehen24. Um diesem P oblem zu o zukommen, e lang FEL nach eine Re e enz au ein
meh we iges Fea u e die Angabe eines Index in eckigen Klamme n. De Index bezieh sich
au die Posi ion des Fea u es inne halb seine beinhal enden Fea u e-G uppe in de FK; die
Z¨
ahlung wi d bei null begonnen.
Die Anzahl de Ins anzen eines Fea u es is m¨
ogliche weise je nach Fea u ekon igu a ion un-
e schiedlich. Auße dem mag eine boolesche Ve kn¨
up ung un e schiedliche Ins anzen, die sich
au dasselbe Fea u e aus dem Fea u emodell beziehen, ums ¨
andlich sein. Aus diesen G ¨
unden
is zu Angabe eines Index zus¨
a zlich die Wildca d (*) e laub : Sie e kn¨
up alle in de
Fea u ekon igu a ion o kommenden Ins anzen des e e enzie en Fea u es ¨
ube eine ODER-
Konjunk ion und bezieh sich somi au das Subjek de Va iabili ¨
a ( gl. Abschni 3.1.2).
Folgende Fea u e-Ausd ¨
ucke s ellen Beispiele ¨
u einen Index- ode Wildca dzug i da :
1Keypad[3]
2"Add-on Package"[0]."Mobile App"
3"Add-on Package"[*]."Wea he Moni o "
4"Magne ic Ca d"[*]
In de o liegenden Fea u ekon igu a ion exis ie nu eine Ins anz des Fea u es ”Keypad“.
F¨
u den Ausd uck in de e s en Zeile w¨
u de sich demnach de Selek ionszus and unselec ed
e geben: Zug i e ¨
ube die du ch die a s¨
achliche Ka dinali ¨
a de inie e Indexg enze hinaus
sind (un e Be ¨
ucksich igung de maxCa dinali y) e laub . In diesen F¨
allen e hal en sich
nich o handene Ins anzen wie deselek ie e Fea u es.
Boolesche Kons an en Wei e e e laub e Fea u e-Ausd ¨
ucke sind die Kons an en ue und
alse, welche jeweils die Selek ionszus ¨
ande selec ed bzw. unselec ed haben. Sie e lauben das
Mapping on Dom¨
anenmodell-Elemen en ohne Bezug zu FM ode FK.
Boolesche Ve kn¨
up ungen: And, O , Xo , No Fea u e-Re e enzen und boolesche Kon-
s an en k¨
onnen ¨
ube boolesche Ope a o en mi einande e kn¨
up we den. FEL s ell hie zu
die bin¨
a en Ope a o en and,o und xo sowie das un¨
a e no zu Ve ¨
ugung. F¨
u die bin¨
a en
Ope a o en is keine P ¨
azedenz egel de inie ; sie e hal en sich linksassozia i . Is eine ab-
weichende Assozia i i ¨
a gew¨
unsch , k¨
onnen beliebig e schach el e unde Klamme n gese z
we den. Die Seman ik de Ope a o en wi d im olgenden e l¨
au e :
no De Selek ionszus and des olgenden Ausd ucks wi d in e ie (selec ed wi d zu unse-
lec ed, und umgekeh ).
and Gib den Selek ionszus and selec ed zu ¨
uck, alls beide e kn¨
up en Fea u e-Ausd ¨
ucke
selec ed sind.
o selec ed, alls mindes ens eine de Ope anden selec ed is .
xo selec ed, wenn genau eine de Ope anden selec ed is , sons unselec ed.
24ode abe auch au die Gesam hei alle Ins anzen ( gl. Abschni 3.2.4, S ichwo e Subjek - bzw. Objek be-
zogene Mani es a ion de Mul plizi ¨
a ).
69

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Folgende Au lis ung en h¨
al einige g¨
ul ige Fea u e-Ausd ¨
ucke, die boolesche Ve kn¨
up ungen
en hal en und sich wiede um au das Fea u emodell und die Fea u ekon igu a ion aus Abbil-
dung 4.3 (s. S. 59) beziehen:
1no Keypad[*]
2 ue and no alse
3"Add-on Package"[0]."Mobile App" o "Add-on Package"[0]."IPad App"
4"Secu e Connec ion" and (VPN xo SSH)
Zug undeliegende X ex -G amma ik Quellcode 4.1 en h¨
al den ¨
u Fea u e-Ausd ¨
ucke e-
le an en Auszug aus de de X ex -G amma ik ( gl. Abschni 2.5), die die Sp ache FEL
de inie . Die Regeln in den Zeilen 9 bis 13 sind eku si o mulie , um eine beliebige Klam-
me ung de Ausd ¨
ucke zu e m¨
oglichen. Die Regeln Fea u eRe e ence,Fea u ePa h und
Fea u ePa hSegmen besch eiben den Au bau eine Fea u e-Re e enz und we den un e dem
nach olgenden Absa z als Eco e-Modellklassen n¨
ahe be ach e .
1impo "h p://www.eclipse.o g/em /2002/Eco e" as eco e
2
3gene a e el "h p:// el. 2dmm.ai1.ub .de/1.0"
4
5FELExp : Fea u eExp | A Exp ;
6
7Fea u eExp : O Exp ;
8
9O Exp e u ns Fea u eExp : Xo Exp ({O Exp .le =cu en }’o ’
igh =Fea u eExp )* ;
10
11 Xo Exp e u ns Fea u eExp : AndExp ({Xo Exp .le =cu en }’xo ’
igh =Fea u eExp )* ;
12
13 AndExp e u ns Fea u eExp : P ima yExp ({AndExp .le =cu en }’and’
igh =Fea u eExp )* ;
14
15 P ima yExp e u ns Fea u eExp : Nega i eExp | BooleanExp | Fea u eRe e ence |
’(’ O Exp ’)’ ;
16
17 Nega i eExp : ’no ’ exp =Fea u eExp ;
18
19 BooleanExp : alue=Boolean ;
20
21 Fea u eRe e ence : ea u ePa h=Fea u ePa h (’(’
a ibu eCons ain =A ibu eCons ain ’)’)? ;
22
23 Fea u ePa h : (segmen s+=Fea u ePa hSegmen ) (’.’ segmen s+=Fea u ePa hSegmen )* ;
24
25 Fea u ePa hSegmen : ea u eName=(ID|STRING) (’[’ (index=INT | wildca d?=’*’)’]’)?
;
26 Boolean e u ns eco e::EBoolean : ’ ue’ |’ alse’ ;
Quell ex 4.1: X ex -G amma ik ¨
u Fea u e-Ausd ¨
ucke. Die Regel A ibu eCons ain wi d im
n¨
achs en Un e abschni e l¨
au e , A Exp in Abschni 4.4.3. Te minalsymbole
wu den auße Ach gelassen.
70
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Eco e-Modell Abbildung 4.11 zeig ein Eco e-Klassendiag amm des Ausschni s des FEL-
Me amodells, welches aus de obigen X ex -G amma ik gene ie wu de. Die X ex -
Lau zei umgebung e zeug beim Pa sen eines FEL-Dokumen s jeweils eine Ins anz on
FELExp , de en Sub yp Fea u eExp Fea u e-Ausd ¨
ucke ep ¨
asen ie . Jede Un e klasse
on Fea u eExp muss das abgelei e e A ibu s a e om Typ FELS a e implemen ie-
en, welches den Selek ionszus and des jeweiligen Ausd ucks bes imm . Die Un e klassen
on Composi eExp e schach eln wei e e Fea u e-Ausd ¨
ucke paa weise eku si ¨
ube die
Con ainmen -Beziehungen le bzw. igh ; au en sp echende Weise e weis Nega i eExp
¨
ube exp au den zu negie enden Ausd uck.
Eine Fea u e-Re e enz se z sich aus einem quali izie enden P ad (Fea u ePa h) und einem
op ionalen A ibu -Cons ain (s. n¨
achs e Abschni ) zusammen. Jedes Segmen des P ades
en h¨
al neben dem Namen des Fea u es einen e en uellen Index. Is kein Index no ie , wi d
de S anda dwe −1 angenommen. Das boolesche A ibu wildca d ha den We ue,
alls ans a eines Index die Wildca d gese z wu de.
Abbildung 4.11: Von X ex gene ie es und manuell e g¨
anz es Eco e-Modell, das de oben besch ie-
benen G amma ik zug unde lieg . Die Vo gehensweise on de G amma ik zum an-
passba en Me amodell wu de in Abschni 2.5.3 besch ieben.
71
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Ve bindung zu Fea u emodell und -kon igu a ion Die Ve bindung zwischen Fea u e-
Ausd uck und en sp echendem FM bzw. FK wi d empo ¨
a nach dem Pa sen eines Fea u e-
Ausd ucks he ges ell : Die nach ¨
aglich hinzuge ¨
ug en Me hoden applyFea u eModel(Roo )
bzw. applyFea u eCon igu a ion(Roo ) de Schni s elle FELExp bewi ken in al-
len nich -abs ak en Un e klassen das Se zen de Re e enzen ea u eModel bzw.
ea u eCon igu a ion au das ¨
ube gebene Elemen . Bei e schach el en Ausd ¨
ucken e -
olg de Funk ionsau u eku si , so dass jedes Elemen eines gepa s en Fea u e-Ausd ucks,
insbesonde e die Fea u e-Re e enzen, au das FM sowie die ak uelle FK zug ei en k¨
onnen.
Sobald ein Fea u e-Ausd uck mi einem Fea u emodell sowie eine -kon igu a ion assoziie
wu de, wi d in Ins anzen on Fea u eRe e ence nach Fea u es gesuch , die diesem Ausd uck
en sp echen. W¨
ah end eine Fea u e-Re e enz nach Au l¨
osung e en uelle Meh deu igkei en
du ch die Ve wendung on quali izie enden Namen genau ein Fea u e aus dem Fea u emodell
ep ¨
asen ie , k¨
onnen beim Geb auch on Wildca ds meh e e Fea u es aus de geladenen
Fea u ekon igu a ion assoziie sein. Dies spiegel sich in den We igkei en de abgelei e en,
nich - l¨
uch igen Re e enzen modeledFea u e (0..1) und con igu edFea u es (0..*) wide ,
die au die en sp echenden Elemen e aus FM und FK e weisen.
Die Me hode in alida e() aus dem In e ace FELExp wi d imme dann au ge u en, wenn
sich ¨
Ande ungen im Fea u emodell ode de -kon igu a ion e geben haben, sowie nach dem
e s maligen Se zen le z e e . Sie implemen ie das Zu ¨
uckse zen de abgelei e en A ibu e
sowie des Selek ionszus ands bei Beda ( gl. auch Abschni 4.7.6).
4.4.2 Fea u e-Ausd ¨
ucke mi Cons ain s au A ibu we en
In Abschni 3.2.5 wu de disku ie , inwie e n sich das Va iabili ¨
a sme kmal Op ionali ¨
a in
Fea u e-A ibu en ¨
auße n kann. Eine M¨
oglichkei bes and in de Abh¨
angigkei eine Abbil-
dung on sog. A ibu -Cons ain s: Ein Dom¨
anenmodell-Elemen ealisie ein Fea u e nu
dann, wenn bes imm e Bedingungen au dem We eines A ibu s des Fea u es gel en. In
FEL in eg ie e A ibu -Cons ain s e lauben den Ve gleich eines a s¨
achlichen A ibu -
We s mi einem Soll-We und weisen einem Fea u e-Ausd uck nu dann den Selek ionszu-
s and selec ed zu, alls die Bedingung zus¨
a zlich on de ak uell geladenen FK e ¨
ull wi d.
Elemen a e Cons ain s: A en des Ve gleichs Die No a ion eines A ibu -Cons ain s
e olg nach eine einzusch ¨
ankenden Fea u e-Re e enz in unden Klamme n. Sog. elemen a e
Cons ain s e gleichen den We eines A ibu s mi einem Soll-We un e Ve wendung eines
Ve gleichs-Ope a o s. Die Bedingungen we den nu ausgewe e , wenn die Fea u e-Re e enz
¨
u die ak uelle Fea u ekon igu a ion den Selek ionszus and ac i e ha . T i ein Cons ain
nich zu, so wi d de Selek ionszus and zu inac i e. In FEL sind olgende sechs Ve gleichs-
Ope a o en de inie :
=(Gleichhei ) Bezieh sich au die lexikalische Gleichhei des ak uellen mi dem Soll-We .
<> (Ungleichhei ) Eben alls bezogen au lexikalische Gleichhei , jedoch mi umgekeh em
Wah hei swe .
<(Kleine ) S ellen a s¨
achliche We und Soll-We Zahlen da , so wi d de nume ische
Kleine -Ve gleich he angezogen, ansons en de lexikalische.
<=(Kleine ode gleich) T i zu im Falle eine lexikalischen Gleichhei ode eines nume i-
schen Kleine -Ve gleichs.
72
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
>(G ¨
oße ) S ellen a s¨
achliche We und Soll-We Zahlen da , so wi d de nume ische
G ¨
oße -Ve gleich he angezogen, ansons en de lexikalische.
>=(G ¨
oße ode gleich) T i zu im Falle eine lexikalischen Gleichhei ode eines nume i-
schen G ¨
oße -Ve gleichs.
A ibu e, die zum Ve gleich he angezogen we den sollen, we den eben alls ¨
ube ih en Na-
men e e enzie . Wie auch bei Fea u e-Re e enzen we den doppel e Hochkomma a e lang ,
sobald diese Lee - ode Sonde zeichen en hal en. Folgende Au lis ung en h¨
al einige Beispiele
¨
u A ibu -Cons ain s, wiede um bezogen au Fea u emodell und -kon igu a ion aus Abbil-
dung 4.3 (s. S. 59):
1no "Ai Condi ion Con ol"("Min Tempe a u e" >= 20)
2"Seco e Connec ion".VPN("Vendo P o ocol" ="Cisco")
3"Add-on-Package"[0]."Mobile App"(Pla o m = "And oid")
Ohne A ibu -Cons ain w¨
u de de Fea u e-Ausd uck aus Zeile 3 den Selek ionszus and
ac i e e geben. Jedoch i de Ve gleich Pla o m = "And oid" in de geladenen Fea u e-
kon igu a ion nich zu und de gesam e Ausd uck e aluie zu inac i e.
Boolesche Ve kn¨
up ungen on Cons ain s Wie auch Fea u e-Ausd ¨
ucke k¨
onnen A ibu -
Cons ain s ¨
ube boolesche Ve kn¨
up ungen in beliebige Schach elungs ie e mi einande kom-
binie we den. Die Syn ax und die Seman ik de Ope a o en sind iden isch mi de ¨
u
Fea u e-Ausd ¨
ucke. F¨
u die Auswe ung de Ausd ¨
ucke gil das selbe wie ¨
u elemen a e
A ibu -Cons ain s: Sie we den nu in Be ach gezogen, alls de ¨
ube geo dne e Fea u e-
Ausd uck ac i e e gib . Falls dann de A ibu -Cons ain inac i e e gib , wi d diese Selek-
ionszus and an den Fea u e-Ausd uck wei e p opagie . Folgende Au lis ung en h¨
al einen
wei e en, komplexen Fea u e-Ausd uck mi e schach el em A ibu -Cons ain :
1"Add-on-Package"[0]."Mobile App"(Pla o m = "And oid 3" o Pla o m = "And oid 4")
and no "Add-on-Package[0]."IPad App"
Zug undeliegende X ex -G amma ik Die X ex -G amma ik in Quellcode 4.2 is e g¨
anzend
zu Basisg amma ik (s. Quellcode 4.1) zu be ach en. Die Ve schach elung boolesche Aus-
d ¨
ucke wu de analog ealisie ; p o Ve gleichsope a o exis ie jeweils eine eigene Regel.
1A ibu eCons ain : O A ibu eCons ain ;
2
3O A ibu eCons ain e u ns A ibu eCons ain :
Xo A ibu eCons ain ({O A ibu eCons ain .le =cu en }’o ’
igh =A ibu eCons ain )* ;
4
5Xo A ibu eCons ain e u ns A ibu eCons ain :
AndA ibu eCons ain ({Xo A ibu eCons ain .le =cu en }’xo ’
igh =A ibu eCons ain )* ;
6
7AndA ibu eCons ain e u ns A ibu eCons ain :
P ima yA ibu eCons ain ({AndA ibu eCons ain .le =cu en }’and’
igh =A ibu eCons ain )* ;
8
9P ima yA ibu eCons ain e u ns A ibu eCons ain :
Elemen a yA ibu eCons ain
73
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.14: Me amodell ¨
u die abs ak e Rep ¨
asen a ion on SDIRL-Dokumen en. Die Klasse
Con ex CS ep ¨
asen ie die Regel OCLModel aus de G amma ik. De en Un e klassen
sind eben alls aus G ¨
unden de ¨
Ube sich lichkei nich da ges ell .
•Zum einen handel es sich bei de X ex -G amma ik ¨
u Essen ial OCL um ein P ojek
mi expe imen ellem S a us: De Build-P ozess is nich dokumen ie und de ¨
Ube gang
on de konk e en zu abs ak en Syn ax noch nich olls ¨
andig o mal spezi izie .
•Zum ande en h¨
a e die In eg a ion de X ex -G amma ik im Sinne eine Ve e bung die
No wendigkei de Anpassung einige OCL-Lau zei module nach sich gezogen25.
Aus den genann en G ¨
unden wu de bei de In eg a ion on OCL-Ausd ¨
ucken in when-
bzw. su oga e-Bl¨
ocke de SDIRL-G amma ik au den on X ex be ei ges ell en Ve e -
bungsmechanismus e zich e . S a dessen wu den die P oduk ions egeln de Essen ial-OCL-
G amma ik in die SDIRL-G amma ik ¨
ube nommen und die Re e enzen au das OCL-
Me amodell eliminie , um die Eco e-Klassen on X ex in das SDIRL-Pake gene ie en zu
lassen. Die syn ak ische Ko ek hei on OCL-Ausd ¨
ucken wi d au diese Weise im Tex e-
di o siche ges ell . Jedoch en ¨
all beim gew¨
ahl en Ansa z mangels wiede e wende OCL-
Essen ial-Lau zei module die M¨
oglichkei ¨
u die E kennung seman ische Fehle und Edi-
ie un e s ¨
u zung wie au oma ische Quell ex e olls ¨
andigung (Code Comple ion) in OCL-
Bl¨
ocken.
Die gew¨
ahl e Vo gehensweise e o de auße dem ein zweimaliges Pa sen de en hal enen
OCL-Bl¨
ocke: Zun¨
achs e zeug de X ex -gene ie e SDIRL-Pa se die konk e e Syn ax – also
die Modell ep ¨
asen a ion – des Ausd ucks. Da diese aus den oben besch iebenen G ¨
unden
nich mi dem Essen ial-OCL-Modell kompa ibel is , we den inne halb des SDIRL-Edi o s
die OCL-Ausd ¨
ucke ein wei e es mal om en sp echenden Essen ial-OCL-Lau zei modul ge-
pa s : Dies geschieh im SDIRL-Validie ungsmodul, um die seman ische Ko ek hei sowie
die Kompa ibili ¨
a de R¨
uckgabewe e de eingebe e en Ausd ¨
ucke26 siche zus ellen. Dem
Anwende we den im angepass en SDIRL-Edi o en sp echende Fehle angezeig (s. Un e ab-
schni 4.5.3).
25E wa, um das du ch das Linking-Modul besch iebene angewand e Au e en on Eco e-Klassen hinsich lich
impo ie e Me amodelle anzupassen.
26Typ Boolean im when-Teil, kompa ibel mi de equi es angegebenen Klasse in su oga e-Bl¨
ocken.
80

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Re e enzie en on Eco e-Klassen Inne halb de elemen - bzw. equi es-Teile eine SDIRL-
Regel k¨
onnen Eco e-Da en ypen aus impo ie en Namens ¨
aumen angegeben we den. Das
Re e enzie en on Eco e-Klassen du ch de en quali izie enden Namen wi d du ch die Einbin-
dung de im Rahmen des X ex -Eco e-P ojek s27 en wickel en Eco e-Schni s elle e m¨
oglich .
Die P oduk ions egel FQN de inie lediglich ein Symbol ¨
u quali izie ende Namen. Das
Binden an ein angewand es Au e en e olg du ch das Kons uk eco e::EClass|FQN.
Die en sp echende Linking-API ( gl. Abschni 2.5.2) wi d du ch e e enzie en des Eco e-
Me amodells und des Gene a o -Modells sowie das Regis ie en de MWE-Komponen e
o g.eclipse.eco e.x ex .Eco eSuppo eingebunden:
1bean = S andaloneSe up {
2(...)
3 egis e Gene a edEPackage = "de.ub .ai1. 2dmm.sdi l.Sdi lPackage"
4 egis e Gene a edEPackage = "o g.eclipse.em .eco e.Eco ePackage"
5 egis e GenModelFile =
"pla o m:/ esou ce/o g.eclipse.em .eco e/model/Eco e.genmodel"
6}
7
8componen = o g.eclipse.x ex .eco e.Eco eSuppo {}
Um den Impo on Eco e-Namens ¨
aumen zu e m¨
oglichen, gen¨
ug es, die on X ex de i-
nie en Kon en ionen ¨
u explizi e Impo e zu beach en [19, Abschni 5]: Lau e ein A ibu
om Da en yp ES ing au den Bezeichne impo URI, such die X ex -Lau zei umgebung bei
de Anwendung de de inie en P oduk ions egel nach dem im en sp echenden Dokumen spe-
zi izie en Namens aum. Folgende Anpassung im gene ie en Lau zei modul so g da ¨
u , dass
auch Impo e, die nich au ”.eco e“ enden, mi dem Eco e-Linking-Lau zei modul assoziie
we den:
1public class Sdi lRun imeModule ex ends
de.ub .ai1. 2dmm.sdi l.Abs ac Sdi lRun imeModule {
2
3@O e ide
4public Regis y bindIResou ceSe iceP o ide $Regis y() {
5Regis y egis y = supe .bindIResou ceSe iceP o ide $Regis y();
6 egis y.ge Ex ensionToFac o yMap().pu ("*",
egis y.ge Ex ensionToFac o yMap().ge ("eco e"));
7 e u n egis y;
8}
9}
4.5.3 Edi o -Un e s ¨
u zung
De on X ex gene ie e Edi o wu de bis au die im o he gehenden Un e abschni en da -
ges ell en ¨
Ande ungen bez¨
uglich de Auswe ung on OCL-Ausd ¨
ucken und de Re e en-
zie ung on Eco e-Klassen nich wei e manuell angepass . Wie be ei s besch ieben, wu de
die kon ex sensi i e Validie ung on SDIRL-Modellen um die ¨
Ube p ¨
u ung de eingebe e en
OCL-Ausd ¨
ucke e g¨
anz . De Sc eensho in Abbildung 4.15 zeig die Validie ung aus Anwen-
de sich .
27h p://download.eclipse.o g/modeling/ m /x ex /ja adoc/2.0.1/o g/eclipse/x ex /eco e/
Eco eSuppo .h ml
81
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.15: Bildschi m-Ausschni , de die Benu zung des ex uellen SDIRL-Edi o s demon-
s ie : De Anwende wi d da au hingewiesen, dass ein OCL-Ausd uck im when-
Block keinen Wah hei swe zu ¨
ucklie e .
4.5.4 Auswe ung de eingebe e en OCL-Ausd ¨
ucke
W¨
ah end im SDIRL-Edi o noch keine Objek e an die in elemen und equi es dekla ie en
Va iablen gebunden we den, inde inne halb de F2DMM-Lau zei umgebung eine solches
Binden ¨
u jedes Paa on gemapp en DM-Elemen en – kompa ible Da en ypen o ausge-
se z – s a . Die Auswe ung de Ausd ¨
ucke e olg wiede um du ch einen zus¨
a zlichen Pa se-
Sch i , de on dem om Eclipse-OCL-P ojek 28 be ei ges ell en Essen ial-OCL-In e p e e
du chge ¨
uh wi d. Auch das Binden de Va iablen e olg mi Hil e de be ei ges ell en API.
Quell ex 4.6 dokumen ie den Au u de Eclipse-OCL-API zu Auswe ung on OCL-
Ausd ¨
ucken zu Lau zei .
1public boolean isWhenCondi ionT ue(S ing elemen Name, EClass elemen Type, EObjec
elemen Value, S ing equi edName, EClass equi edType, EObjec equi edValue,
S ing whenCondi ionExp ) h ows Pa se Excep ion {
2
3OCL ocl = OCL.newIns ance(Eco eEn i onmen Fac o y.INSTANCE);
4OCLHelpe <EClassi ie , EOpe a ion, ES uc u alFea u e, Cons ain > helpe =
ocl.c ea eOCLHelpe ();
5
6Va iable<EClassi ie , EPa ame e > elemen Va =
Exp essionsFac o y.eINSTANCE.c ea eVa iable();
7elemen Va .se Name(elemen Name);
8elemen Va .se Type(elemen Type);
9ocl.ge En i onmen ().addElemen (elemen Name, elemen Va , ue);
10
11 Va iable<EClassi ie , EPa ame e > equi edVa =
Exp essionsFac o y.eINSTANCE.c ea eVa iable();
12 equi edVa .se Name( equi edName);
13 equi edVa .se Type( equi edType);
14 ocl.ge En i onmen ().addElemen ( equi edName, equi edVa , ue);
15
16 OCLExp ession<EClassi ie > oclExp ession =
helpe .c ea eQue y(whenCondi ionExp );
17 Que y que y = ocl.c ea eQue y(oclExp ession);
18
19 oclQue y.ge Que y().ge E alua ionEn i onmen ().add(elemen Name, elemen Value);
28h p://www.eclipse.o g/modeling/md /?p ojec =ocl
82
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
20 oclQue y.ge Que y().ge E alua ionEn i onmen ().add( equi edName, equi edValue);
21
22 e u n oclQue y.ge Que y().check((EObjec ) null);
23 }
Quell ex 4.6: Ja a-Me hode, die die ¨
Ube p ¨
u ung des when-Teils eine
SDIRL-Abh¨
angigkei sde ini ion zu Lau zei implemen ie ( e ein ach e Da s ellung).
Zun¨
achs wi d eine OCL-Aus ¨
uh ungsumgebung ini ialisie (Zeilen 3 und 4) und eie
Va iablen ¨
u elemen bzw. equi es de inie (Z. 6 bis 14). Anschließend wi d de
OCL-Ausd uck gepa s (Z. 16 und 17) und die zu Lau zei bekann en We e an die
Va iablen gebunden (Z. 19 und 20). Schließlich wi d de Ausd uck ausgewe e und de
dabei e mi el e We zu ¨
uckgegeben (Z. 22).
In de Implemen ie ung des SDIRL-Moduls wu de die Ins anziie ung und Aus ¨
uh ung on
OCL-An agen diese A e allgemeine und hinsich lich Wiede e wendba kei op imie .
Die Klasse Sdi lOCLE alua o kapsel alle An agen an die Eclipse-OCL-API und s ell
Mechanismen wie Ausnahmebehandlung zu Ve ¨
ugung. Au die be ei ges ell e Funk iona-
li ¨
a wi d om SDIRL-Edi o sowie on de F2DMM-We kzeugumgebung zugeg i en (s.
Abschni 4.7.3).
4.5.5 Auswe ung on Su oga -Ausd ¨
ucken
Die Auswe ung on in su oga e-Bl¨
ocken de inie en OCL-An agen e olg ¨
ahnlich wie bei
den im o he gehenden Un e abschni besch iebenen when-Bedingungen. Die Ve bindung
zu Eclipse-OCL-API wi d ¨
ube eine Ins anz on Sdi lOCLE alua o he ges ell . Inne halb
des F2DMM-Edi o s geschieh dies im Rahmen des g oßen In alidie ungszyklus ( gl. Ab-
schni 4.7.6) zu Su oga -Vo - bzw. Neube echnung.
Bei e olg eiche Auswe ung eines Su oga -Ausd ucks wi d eine Ins anz on EObjec
zu ¨
uckgegeben, welche ein Elemen aus dem Ke n-Dom¨
anenmodell ep ¨
asen ie . Das
Mapping-Modell is wiede um in de Lage, das Mapping, welches das Elemen abbilde , zu
e mi eln, um Repa a u ak ionen abzulei en, welche Gegens and on Abschni 4.8.5 sind. Bei
mengenwe igen R¨
uckgabewe en wi d i e a i o gegangen.
4.6 Mapping-Besch eibungen und Al e na i en-Mappings
In den o he gehenden Abschni en wu de da au eingegangen, wie die Ve kn¨
up ung eines
Mappings zum Fea u emodell und de Fea u ekon igu a ion e olg . Diese Abschni leg
den Fokus au die Ve kn¨
up ung zum Dom¨
anenmodell. Abbildung 4.6 s ell diese Ve kn¨
up ung
e ein ach als s uk u elle Eigenscha en de Mapping-Un e klassen da , n¨
amlich ¨
ube die
Re e enzen mappedObjec bzw. e e encedMapping und das A ibu a Value. Zus¨
a zlich
wi d au das abgebilde e A ibu bzw. die abgebilde e Re e enz aus dem Me amodell e wie-
sen. In de a s¨
achlichen Implemen ie ung des F2DMM-Me amodells is an diese S elle ein
wei e e Abs ak ionssch i o gesehen, die sog. Mapping-Besch eibungen. Zun¨
achs we den
de en zug undeliegende Konzep e e l¨
au e , be o au die Benu ze sich , die E zeugung on
Al e na i en-Mappings, eingegangen wi d.
83
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4.6.1 Die Konzep sich : Mapping-Besch eibungen als Ve kn¨
up ung zum Dom¨
anenmodell
Mappings besch eiben nich selbs abgebilde e A e ak e des Dom¨
anenmodells; ielmeh
¨
ube nehmen Mapping-Besch eibungen als Un e klassen on de F2DMM-Modellklasse
MappingDesc ip ion diese Au gabe. Ziel diese wei e en Abs ak ion is die Un e s ¨
u zung
e schiedene A en de Abbildung: Es wu de be ei s da au eingegangen, dass A ibu -
Mappings beispielsweise sog. Pa e ns en hal en k¨
onnen, ¨
ube die mi Hil e on A ibu -
Ausd ¨
ucken (s. Abschni 4.4.3) Bezug zu A ibu we en de ak uellen Fea u ekon igu a-
ion Bezug genommen we den kann. ¨
Ahnliche Mechanismen g ei en bei Con ainmen - ode
Re e enz-Mappings. In den nach olgenden Un e abschni en we den die En wu sen scheidun-
gen ¨
u die un e schiedlichen A en on Mapping-Besch eibungen e l¨
au e .
Con ainmen -Mapping-Besch eibungen Con ainmen -Mappings beinhal en als Implemen-
ie ungsklasse on Con ainmen MappingDesc ip ionCon aine jeweils eine Con ainmen -
MappingDesc ip ion ( gl. Abbildung 4.16). Die Schni s elle e weis au eine ERe e ence:
Eine Con ainmen -Re e enz aus dem Dom¨
anen-Me amodell, welche die Beziehung des abge-
bilde en DM-Elemen s zu seinem eCon aine modellie . Sie dekla ie auße dem die abge-
lei e e Re e enz mappedObjec om Typ EObjec , welche on den Un e klassen implemen ie
wi d, um das abgebilde e Objek zu ep ¨
asen ie en. Es exis ie en zwei A en on Mapping-
Besch eibungen ¨
u Con ainmen -Mappings, ¨
u die olgendes Ve hal en de inie is :
Abbildung 4.16: Besch eibungen ¨
u Con ainmen -Mappings we den du ch Ins anzen on
Con ainmen MappingDesc ip ion ep ¨
asen ie . Die Re e enz mappedObjec
is abgelei e (de i ed).
•W appingCon ainmen MappingDesc ip ion: Bezieh sich au ein o handenes DM-
Elemen als Ins anz on EObjec . Dieses muss sich inne halb eine exis ie enden EMF-
Ressou ce, abe nich no wendige weise in de Ressou ce des Mul i a ian en-DM, be-
inden. Die abgelei e e Re e enz mappedObjec de implemen ie en Schni s elle wi d
du ch den We on w appedObjec de inie . Wei e hin wi d zwischen p im¨
a en und se-
kund¨
a en Mapping-Besch eibungen un e schieden: Sekund¨
a e Mapping-Besch eibungen
en s ehen du ch Kopie eine p im¨
a en Besch eibung. Sie we den ausschließlich on
Al e na i en-Mappings e wende .
84
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
•InPlaceCon ainmen MappingDesc ip ion: Mapping-Besch eibungen diese A en -
s ehen ausschließlich benu ze ges eue als Besch eibungen ¨
u Al e na i en-Mappings.
Ans a au eine konk e e Ins anz zu e weisen, wi d hie bei au eine Klasse aus dem
Dom¨
anen-Me amodell e wiesen (ins anceClass), die e s zum Zei punk de P oduk -
ablei ung als Re e enzziel on mappedObjec ins anziie wi d. Ve schach el e Objek e
und A ibu e k¨
onnen eku si un e dem en sp echenden Mapping einge ¨
ug we den.
A ibu -Mapping-Besch eibungen A ibu -Mappings implemen ie en das In e ace
A ibu eMappingDesc ip ionCon aine , welches eine Con ainmen -Re e enz zu
A ibu eMappingDesc ip ion de inie ( gl. Abbildung 4.17). Dieses In e ace im-
plemen ie ende Klassen en hal en eine Re e enz mappingA ibu e om Typ EA ibu e,
die au dasjenige A ibu aus dem Dom¨
anen-Me amodell e weis , welches die Beziehung
des unmi elba ¨
ube geo dne en Con ainmen -Mappings zu dem A ibu we besch eib ,
de in seine S ing-se ialisie en Fo m om abgelei e en A ibu inalMappedValue
bes imm wi d. F¨
u A ibu -Mappings exis ie en die olgenden zwei konk e en A en on
Mapping-Besch eibungen:
Abbildung 4.17: Das In e ace A ibu eMappingDesc ip ion de inie ein abgelei e es A ibu
inalMappedValue, welches die S ing-Rep ¨
asen a ion des abgebilde en A ibu -
we s en h¨
al .
•SimpleA ibu eMappingDesc ip ion: Beinhal e di ek den S ing-se ialisie en
We mappedValue, de un e ¨
ande an inalMappedValue wei e gegeben wi d.
•Pa e nA ibu eMappingDesc ip ion: De inie ein mappingPa e n, das eine belie-
bige Anzahl on A ibu -Ausd ¨
ucken ( gl. Abschni 4.4.3) beinhal en kann. Diese we -
den aus dem S ing ex ahie und zu Lau zei om FEL-Pa se in ih e abs ak e Syn-
ax ¨
ube ¨
uh und ausgewe e . De esul ie ende A ibu we , eben alls ein S ing, i
an S elle des de inie enden Pa e ns. Diese A des Mappings is nu ¨
u Al e na i en-
Mappings ele an und e m¨
oglich dem Anwende , A ibu e des abgelei e en P oduk s
in Abh¨
angigkei on de geladenen Fea u ekon igu a ion zu es zulegen.
85

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Re e enz-Mapping-Besch eibungen Das e ein ach e F2DMM-Me amodell in Abbildung
Abbildung 4.6 deu e be ei s an, dass sich Re e enz-Mappings nich di ek au das Ziel eine
Nich -Con ainmen -Re e enz des Dom¨
anenmodells, sonde n ielmeh au dessen abbildendes
Con ainmen -Mapping beziehen. Dies is jedoch nu dann m¨
oglich, wenn das e e enzie e
Objek be ei s du ch ein Con ainmen -Mapping ep ¨
asen ie wi d. Deshalb exis ie en auch
¨
u Re e enz-Mapping-Besch eibungen zwei M¨
oglichkei en de Abbildungen, um den We de
abgelei e en Re e enz e e encedObjec zu bes immen:
Abbildung 4.18: Eco e-Klassendiag amm ¨
u Re e enz-Mapping-Besch eibungen.
•In e nalRe e enceMappingDesc ip ion: Wi d e wende , wenn das abzubildende Re-
e enzziel on einem p im¨
a en Con ainmen -Mapping abgebilde wi d. De We ¨
u
e e encedObjec e gib sich als das on le z e em abgebilde e Elemen .
•Ex e nalRe e enceMappingDesc ip ion: Be inde sich das Re e enzziel in keinem
Con ainmen -Mapping, sonde n in eine ex e nen EMF-Ressou ce, bes imm es di ek
als ex e nalObjec den We on e e encedObjec . Ein au diese Weise abgebil-
de es Re e enzziel e h¨
al sich w¨
ah end de P oduk -Ablei ung so, als be ¨
ande es sich
inne halb eines Con ainmen -Mappings mi dem anno ie en Fea u e-Ausd uck ue.
4.6.2 Die Anwende sich : E zeugung on Al e na i en-Mappings
In Abschni 3.2.3 wu de disku ie , inwiewei die No wendigkei zu De ini ion on Va ia-
ionspunk en au Anwende sei e bes eh : Einwe ige s uk u elle Eigenscha en wie e wa de
Name eine UML-Klasse d¨
u en in einem Mul i a ian en-Dom¨
anenmodell nu einmal o kom-
men. Bes and eil de Vo ¨
ube legungen wa auch, inwiewei A ibu e des Fea u emodells die
We e on A ibu en abgelei e e P oduk e beein lussen k¨
onnen ( gl. Abschni 3.2.5).
Bei de Besch eibung des F2DMM-Me amodells in Abschni 4.3 wu den Al e na i en-
Mappings be ei s als benu ze de inie e E g¨
anzungen ¨
u Ke n-Mappings, welche mi dem
Dom¨
anenmodell synch on gehal en we den, e w¨
ahn . Sie en hal en jeweils eine Mapping-
Besch eibung, du ch die die Ve bindung zum Ke n- ode zu einem al e na i en Teil-
dom¨
anenmodell he ges ell wi d. In diesem Abschni wi d die E wei e ung des du ch Ke n-
Dom¨
anenmodell-Elemen e de inie en Mapping-Modells um Al e na i en-Mappings aus An-
wende sich e l¨
au e .
86
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
De Al e na i en-Wiza d Das Anlegen on Al e na i en-Mappings in einem ge¨
o ne en
Mapping-Modell e olg im Edi o du ch Auswahl des en sp echenden Kon ex men¨
u-Ein ags
New Al e na i e un e einem exis ie enden Con ainmen -Mapping. Es e schein de in Abbil-
dung 4.19 gezeig e Wiza d, de den Anwende die s uk u elle Eigenscha – also eine kompa-
ible Re e enz bzw. ein kompa ibles A ibu aus dem Dom¨
anen-Me amodell – w¨
ahlen l¨
ass ,
¨
u die ein Al e na i en-Mapping e zeug we den soll. Abh¨
angig da on, ob eine Con ainmen -,
eine Nich -Con ainmen -Re e enz ode ein A ibu gew¨
ahl wu de, s ehen anschließend die
in den olgenden Abs¨
a zen besch iebenen Auswahlm¨
oglichkei en zu Ve ¨
ugung.
Abbildung 4.19: Die e s e Sei e des Wiza ds zu E s ellung on Al e na i en Mappings e lang nach
de Auswahl eines A ibu s ode eine Re e enz aus dem Dom¨
anen-Me amodell.
Al e na i en ¨
u Con ainmen -Mappings In Abschni 4.6.1 wu den die beiden
Con ainmen -Mapping-Besch eibungen W apping bzw. In-Place o ges ell . E s e e e e en-
zie ein a s¨
achlich o handenes Elemen als Ins anz on EObjec , w¨
ah end die In-Place-
Va ian e die Angabe eine zu ins anziie enden Klasse e lang . Abbildung 4.20 zeig einen
Sc eensho de Wiza d-Sei e, die den Anwende eine de olgenden d ei M¨
oglichkei en zu E -
zeugung eines Al e na i en-Mappings inklusi e eine en sp echenden Mapping-Besch eibung
w¨
ahlen l¨
ass :
•P im¨
a es W apping-Con ainmen -Mapping du ch Angabe eines Dom¨
anenmodell-
Elemen s aus eine ex e nen Ressou ce: Dem Anwende wi d im Anschluss ein Auswahl-
dialog angezeig , in dem e ein Objek , dessen Typ mi de in de e s en Wiza d-Sei e
gew¨
ahl en Con ainmen -Re e enz ¨
ube eins immen muss, aus eine ex e nen Ressou ce
w¨
ahlen soll. Mappings ¨
u in dem Objek e schach el e Elemen e we den en sp echend
seines au spannenden Con ainmen -Baums eku si e zeug .
87
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.20: F¨
u die E s ellung on Al e na i en-Con ainmen -Mappings s ehen d ei
M¨
oglichkei en zu Auswahl.
•Sekund¨
a es W apping-Con ainmen -Mapping als Kopie eines o handenen, p im¨
a en
Ke n-Mappings. Das gew¨
ahl e Mapping und sein beinhal e e Teilbaum we den kopie
und als sekund¨
a (p ima y = alse) ma kie . Die Kopie wi d nach ih e E zeugung
nich du ch ¨
Ande ungen im O iginal-Dom¨
anenmodell beein luss .
•In-Place-De ini ion eines Con ainmen -Mappings du ch Angabe eine nich -abs ak en,
dem Typ de Con ainmen -Re e enz en sp echenden Eco e-Klasse aus dem Dom¨
anen-
Me amodell. Es wi d eine InPlaceCon ainmen MappingDesc ip ion mi Re e enz au
die gew¨
ahl e Klasse e zeug . En hal ene Mappings m¨
ussen manuell om Anwende an-
geleg we den.
Al e na i en ¨
u A ibu -Mappings Abbildung 4.21 zeig einen Bildschi m-Ausschni de
zwei en Wiza d-Sei e un e de Vo ausse zung, dass die zu o gew¨
ahl e s uk u elle Ei-
genscha ein A ibu is . Sie s ell dem Anwende zwei e schiedene M¨
oglichkei en zu
Ve ¨
ugung, um den We des gew¨
ahl en A ibu s zu spezi izie en:
•Di ek e Angabe de S ing-Rep ¨
asen a ion des A ibu we s ¨
ube ein Eingabe eld. Es
wi d eine en sp echende SimpleA ibu eMappingDesc ip ion e zeug . Wu de ein
Au z¨
ahlungs yp ausgew¨
ahl , wi d au de olgenden Sei e ans a eine Eingabemaske
ein Auswahl eld mi allen e ¨
ugba en Li e alen angezeig .
88
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
•Pa e n-basie e E zeugung eines Mappings au Basis eine Pa e nA ibu e-
MappingDesc ip ion, die einen in einem Eingabe eld anzugebenden Tex nach
A ibu -Ausd ¨
ucken ( gl. Abschni 4.4.3) du chsuch . Diese we den un e
Be ¨
ucksich igung de ak uell geladenen Fea u ekon igu a ion ausgewe e und du ch ih
E gebnis e se z . De We des A ibu s ¨
ande sich en sp echend, wenn die geladene
Fea u ekon igu a ion manipulie ode eine ande e geladen wi d.
Abbildung 4.21: Die au Al e na i en-A ibu -Mappings bezogene Wiza d-Sei e e laub die Auswahl
eines di ek en ode eines Pa e n-basie en Modus zu Angabe on A ibu we en.
Beide Modi e langen die Angabe de S ing-Rep ¨
asen a ion eines A ibu we s ¨
u einen
p imi i en Da en ypen. Diese wi d du ch den Eco e-Adap e -Fac o y-Mechanismus ( gl. Ab-
schni 2.3.1) in e p e ie und zu Lau zei in den en sp echenden Da en yp umgewandel .
Hie bei au e ende Fehle , wie e wa die Angabe eines om A ibu -Da en yp nich in e p e-
ie ba en S ings we den on de Modell alidie ung (s. Abschni 4.9.3) behandel .
Al e na i en ¨
u Re e enz-Mappings Auch bei de Angabe on al e na i en Re e enzzielen
¨
u Nich -Con ainmen -Re e enzen wi d om Anwende die Wahl eines on zwei Mapping-
Modi e lang ( gl. Abbildung 4.22):
•Angabe eines ex e nen Re e enzziels zu E zeugung eine neuen Mapping-Besch eibung
au Basis de Klasse Ex e nalRe e enceMappingDesc ip ion. Au de olgenden
Wiza d-Sei e wi d in diesem Fall die Angabe eine ex e nen Ressou ce und anschlie-
ßend eines kompa iblen Re e enzziels aus diese Ressou ce e lang . Das e zeug e
Al e na i eRe e enceMapping e e enzie das angegebene Objek in seine Mapping-
Besch eibung.
89
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
8ELis <EObjec > depSu oga es =
ge MappingModel().ge OCLE alua o ().ge Su oga es(
9ge Dependency().ge Name(),
10 ge Dependency().ge Elemen Name(), sou ceElemen ,
11 ge Dependency().ge Requi edName(), a ge Elemen ,
12 su oga eExp );
13 su oga es.addAll(depSu oga es);
14 }
15 }
16 e u n ge Su oga esGen();
17 }
Quell ex 4.10: Be echnung on Su oga -Objek en du ch Auswe ung en sp echende OCL-
Ausd ¨
ucke in de Me hode ge Su oga es() de Klasse MappingRequi emen Impl.
Die Auswe ung on Su oga -Ausd ¨
ucken inde bei e s maligem Au u de abgelei e en,
ansien en Re e enz su oga es s a ( alls die su oga es-Lis e noch nich ini ialisie
is , gl. Quell ex 4.10, Z. 2). Auch hie wi d on de Abs ak ionsklasse OCLE alua o
Geb auch gemach , in de die a s¨
achliche Auswe ung alle Su oga -Ausd ¨
ucke e olg . Die
R¨
uckgabewe e de OCL-An agen we den en sp echend in su oga es au genommen.
Sich gegensei ig ausschließende Mappings Zus¨
a zlich zu de ¨
ube die Assozia ionsklas-
se MappingRequi emen abgebilde e Beziehung equi es exis ie die Re e enz excludes
zwischen Ins anzen on Anno a able, welche in Phase 0 populie wi d. Vom Anwende e -
zeug e Al e na i en-Mappings konku ie en m¨
ogliche weise mi om Synch onisie ungsmodul
au oma isch e zeug en Ke n-Mappings ode mi wei e en Al e na i en-Mappings. Dies is de
Fall, sobald un e halb eines Con ainmen -Mappings meh e e Al e na i en-Mappings exis ie-
en, die sich au dieselbe einwe ige s uk u elle Eigenscha (isMany() == alse) beziehen.
Zu L¨
osung solche du ch konku ie ende Mappings en s ehende Ausschlusskon lik e (s. Pha-
se 4) wi d a p io i eine Rang olge de inie , die es leg , welches posi i anno ie e Mapping
den We eines einwe igen A ibu s ode eine einwe igen Re e enz bes immen wi d:
1. Ke n-Mappings en s ehen du ch Abbildung eines wohlge o m en Mul i a ian en-
Dom¨
anenmodells. Folglich kann es nu je ein Ke n-Mapping un e halb eines
Con ainmen -Mappings geben, welches sich au eine einwe ige s uk u elle Eigenscha
bezieh . Ein solches Ke n-Mapping ha p inzipiell den Vo ang o konku ie enden
Al e na i en-Mappings.
2. Al e na i en-Mappings k¨
onnen auch ¨
u einwe ige s uk u elle Eigenscha en in belie-
bige Anzahl om Anwende e zeug we den. E en uell konku ie ende Al e na i en-
Mappings bekommen in de Rang olge den S ellenwe ih e Posi ion im Mapping-
Modell zugewiesen: Ausschlusskon lik e we den anhand de Ein ¨
uge eihen olge au gel¨
os .
Inne halb de p epa e()-Me hode eines Anno a able wi d in Phase 0 ¨
u jedes Paa (E, F)
die Me hode E.doesExclude(F)au ge u en, welche nach den oben de inie en P io i ¨
a s egeln
p ¨
u , ob die Anno a ion on Emi einem posi i en Fea u e-Ausd uck das Vo handensein on
Fausschließ . Is dies de Fall, wi d Fin die excludes-Menge on Eau genommen und die
in e se Re e enz excludedBy en sp echend gese z .
96

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4.7.4 Die P opaga ionss a egien ”Vo w¨
a s“ und ”R¨
uckw¨
a s“
In den obigen Aus ¨
uh ungen wu den be ei s die in Abschni 3.3.3 o ges ell en P opaga ions-
s a egien (PS) au geg i en. We den sie zu Au l¨
osung on Abh¨
angigkei skon lik en e wen-
de , sp ich man on p im¨
a en PS. Sie inden zus¨
a zlich Anwendung in de Be echnung on
Selek ionszus ¨
anden nich anno ie e Mappings als sekund¨
a e PS. In den Phasen 2 und 3 (s.
Abschni 4.7.1) de SZ-Be echnung we den p im¨
a e und sekund¨
a e PS eingese z , um die
Konsis enz eines Mapping-Modells wiede he zus ellen.
Au l¨
osung on Abh¨
angigkei skon lik en Ein Abh¨
angigkei skon lik i au , wenn ein Map-
ping Ami posi i em Selek ionszus and on einem Mapping mi nega i em Selek ionszus and
Babh¨
ang (A⇐Bin de in Abschni 3.3 e einba en No a ion). Um diese Konsis enz e le -
zung au zul¨
osen, wu den die olgenden zwei p im¨
a en P opaga ionss a egien (PS) ¨
u Phase
2 ausgea bei e ( gl. auch Abschni 3.3.3 und Abbildung 4.25):
•Vo w¨
a sp opaga ion: Die Konsis enz wi d wiede he ges ell , indem das posi i an-
no ie e Mapping A, welches on Babh¨
ang , mi einem k¨
uns lichen, nega i en Selek-
ionszus and (supp essed) e sehen wi d. Die P opaga ion des Selek ionszus ands e olg
also in Rich ung de Abh¨
angigkei und l¨
os Abh¨
angigkei skon lik e ausschließlich du ch
Nega i ie ung on Selek ionszus ¨
anden.
•R¨
uckw¨
a sp opaga ion: De posi i e Selek ionszus and des Mappings Awi d en ge-
gen de Rich ung de Abh¨
angigkei zum Mapping Bp opagie . Bwi d also mi einem
k¨
uns lichen, posi i en Selek ionszus and (en o ced) e sehen. Die Anwendung diese
S a egie ha die ausschließliche Posi i ie ung be o ene Selek ionszus ¨
ande zu Folge.
A B
Abhängigkei skon lik : Ein
Mapping A mi Zus and ac i e
häng on einem Mapping B mi
Zus and inac i e ab.
Vo wä sp opaga ion:
Mapping B ände den
Zus and on Mapping A
zu supp essed.
Rückwä sp opaga ion:
Mapping A ände den
Zus and on Mapping B
zu en o ced.
ABB A
Abbildung 4.25: P im¨
a e P opaga ions a egien we den angewende , um Abh¨
angigkei skon lik e in-
ne halb des Mapping-Modells au zul¨
osen.
Selek ionszus and nich anno ie e Mappings Sekund¨
a e PS kommen in Phase 3 zum
Einsa z: Zu Wah ung de Konsis enz sowie zu Ve meidung edundan e Anno a ionen sollen
die Selek ionszus ¨
ande nich anno ie e Mappings bes imm we den, ohne die o mulie en
Konsis enzbedingungen zu e le zen. Abbildung 4.26 zeig , dass wiede um die VP und RP,
diesmal als sekund¨
a e P opaga ionss a egien, angewende we den k¨
onnen:
•Vo w¨
a sp opaga ion: De Selek ionszus and eines nich anno ie en Elemen s B
kann du ch den Selek ionszus and eines Mappings Cbes imm we den, alls B⇐C
gil . Bbekomm den Selek ionszus and supp essed ode en o ced, je nach dem ob Csich
in einem nega i en ode posi i en Selek ionszus and be inde , zugewiesen. Es kann also
sowohl eine Posi i ie ung, als auch eine Nega i ie ung e olgen; is beides m¨
oglich, wi d
die Nega i ie ung be o zug .
97
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
•R¨
uckw¨
a sp opaga ion: Wiede um sei Bein nich anno ie es Mapping. Falls es ein
Mapping Agib , welches on Babh¨
ang (A⇐B), so wi d Azu Bes immung des
Selek ionszus ands on Bhe angezogen, was wiede um sowohl zu eine Posi i ie ung als
auch eine Nega i ie ung on Selek ionszus ¨
anden ¨
uh en kann. Bwi d supp essed, alls
Anega i , bzw. en o ced, alls Aposi i anno ie is . Die Posi i ie ung on Zus ¨
anden
wi d gegen¨
ube de Nega i ie ung be o zug .
Die sekund¨
a e PS kann unabh¨
angig on de p im¨
a en PS es geleg we den. Deswei e en is
bei nich anno ie en Elemen en eine Kombina ion du ch P io isie ung de beiden S a egien
denkba : Beispielsweise kann zun¨
achs die Vo w¨
a sp opaga ion angewende we den; is kein
Elemen e ¨
ugba , on dem das nich anno ie e Mapping abh¨
ang , kann schließlich die
R¨
uckw¨
a sp opaga ion he angezogen we den.
A
B
Nich anno ie e Elemen e:
De Selek ionszus and on B kann
en wede on einem abhängigen (C)
ode einem Elemen , das selbs on B
abhäng (A), abgelei e we den.
Vo wä sp opaga ion:
De Selek ionszus and
on C bes imm den
Selek ionszus and on B.
Rückwä sp opaga ion:
De Selek ionszus and
on A bes imm den
Selek ionszus and on B.
C
C
A C
C A
A
B
B
B
B
Abbildung 4.26: Anwendung sekund¨
a e P opaga ionss a egien, um die Selek ionszus ¨
ande nich an-
no ie e Mappings un e Wah ung de Konsis enz abzulei en.
Implemen ie ung im F2DMM-Me amodell Die Unabh¨
angigkei on p im¨
a e und se-
kund¨
a e P opaga ionss a egie beg ¨
unde die T ennung diese beiden Konzep e im
F2DMM-Me amodell. F¨
u jede de beiden S a egien is ein Eco e-Au z¨
ahlungs yp de inie :
W¨
ah end DependencyCon lic S a egy die p im¨
a en S a egien o wa d und e e se,
sowie die Op ion igno e en h¨
al , beinhal e MissingAnno a ionS a egy die kombinie -
en S a egien o wa dThenRe e se bzw. e e seThenFo wa d ¨
u sekund¨
a e PS (s. obige
Aus ¨
uh ungen). Jedem Mapping-Modell is eine Ins anz on P opaga ionS a egy zugeo d-
ne , die jeweils einen de beiden Enume a ions ypen als A ibu en h¨
al (s. Abbildung 4.27).
Zus¨
a zliche A ibu e und Ope a ionen P opaga ionS a egy en h¨
al zudem zwei boole-
sche A ibu e, die wie olg de inie sind, um das Ve hal en de PS zu beein lussen:
• ansi i eCon lic Resolu ion: Is de Wah hei swe ue angegeben, so e hal en
sich bei de Anwendung on P opaga ionss a egien die Selek ionszus ¨
ande supp essed
und en o ced wie inac i e bzw. ac i e. Insbesonde e gil ¨
u die Vo ausse zungen A⇐B
und B⇐Cde Schluss A⇐C.
•includeIncomple e: Gib an, ob Mappings, die sich im inalen Selek ionszus and in-
comple e be inden, in P oduk en en hal en sein sollen ode nich .
Zus¨
a zlich en h¨
al die Klasse P opaga ionS a egy d ei Me hoden, die zu Iden i ika ion
und Elimina ion on Abh¨
angigkei s- bzw. Ausschlusskon lik en e wende we den:
98
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.27: Eco e-Klassendiag amm, das den Zusammenhang zwischen den P opaga ionss a e-
gien au Me amodell-Ebene da s ell .
•isIncluded(Selec ionS a e) en scheide , ob ein Mapping mi ¨
ube gebenem Selek-
ionszus and in einem abgelei e en P oduk en hal en w¨
a e. De R¨
uckgabewe is ue
¨
u die Selek ionszus ¨
ande ac i e,en o ced und su oga ed und nega i ¨
u inac i e,sup-
p essed und co up ed. F¨
u den SZ incomple e en sp ich de R¨
uckgabewe de Op ion
includeIncomple e.
•canSupp ess(Selec ionS a e) bes imm , ob ein Mapping mi ¨
ube gebenem Selek-
ionszus and bei einem ande en Mapping den Selek ionszus and supp essed bewi ken
kann. Dies is de Fall, wenn de gegebene SZ en wede inac i e is , bzw. supp essed
ode o e uled, alls die Op ion ansi i eCon lic Resolu ion gese z is .
•canEn o ce(Selec ionS a e) p ¨
u hingegen, ob ein gegebene Selek ionszus and die
Nega i ie ung eines ande en bewi ken kann. De R¨
uckgabewe is ue, wenn de Se-
lek ionszus and ac i e, bei gese z e Op ion ansi i eCon lic Resolu ion auch en-
o ced ode su oga ed, is .
4.7.5 Phasen 1 bis 5: Iden i ika ion und Au l¨
osung on Kon lik en
In Phase 0 we den Abh¨
angigkei s- und Ausschlussbeziehungen zwischen Mappings o be ech-
ne . Diese dienen de Iden i ika ion on Abh¨
angigkei s- bzw. Ausschlusskon lik en, um diese
anschließend du ch Anwendung eine P opaga ionss a egie au l¨
osen zu k¨
onnen. Im kleinen
In alidie ungszyklus (s. Abschni 4.7.6) wi d inne halb ¨
u jedes Mapping ein konsis en e
Selek ionszus and in meh e en Phasen be echne . Abbildung 4.28 zeig m¨
ogliche Selek ions-
zus ¨
ande eines Anno a able und weis den m¨
oglichen ¨
Ube g¨
angen zwischen ihnen Phasen zu,
die im Folgenden genaue besch ieben we den.
Phase 1: Bes immung des ini ialen Selek ionszus ands De ini iale Selek ionszus and
(ini ialSelec ionS a e) eines du ch Anno a able ep ¨
asen ie en Mappings ( gl. Abbil-
dung 4.24) e gib sich unmi elba du ch Auswe ung seines assoziie en Fea u e-Ausd ucks.
99
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
inac i e
ac i e
incomple e
supp essed
en o ced
su oga ed
co up ed
o e uled
(1)
(1)
(2)
(2)
(4)
(5)
(4)
(5)
(3)
(3)
(0)
(0)
Abbildung 4.28: M¨
ogliche ¨
Ube g¨
ange zwischen Selek ionszus ¨
anden eines Mappings, den jeweiligen
Phasen zugeo dne . Selbs ¨
ube g¨
ange we den nich da ges ell .
Phase 2: Au l¨
osung on Abh¨
angigkei skon lik en Be inde sich ein Mapping (im Folgenden
Kon ex -Mapping) in einem de ini ialen Selek ionszus ¨
ande ac i e ode inac i e, muss au
Ve s ¨
oße gegen o be echne e Abh¨
angigkei en gep ¨
u we den. Hie bei wi d je nach Selek-
ionszus and (SZ) und p im¨
a e P opaga ionss a egie (PS) un e schiedlich o gegangen:
•SZ ac i e und p im¨
a e PS o wa d: Die Selek ionszus ¨
ande de ¨
ube equi es assozi-
ie en Mappings we den e mi el . Is eines diese Mappings in de Lage, das Kon ex -
Mapping zu nega i ie en (canSupp ess()), so wi d de Selek ionszus and des Kon ex -
Elemen s zu supp essed ge¨
ande . Zus¨
a zlich wi d das e e enzie e Mapping in die Men-
ge supp essedBy au genommen ( gl. auch Quell ex 4.11).
1i (s a e == Selec ionS a e.ACTIVE
2&& dcs == DependencyCon lic S a egy.FORWARD) {
3 o (MappingRequi emen equi ed : ge Requi es()) {
4Anno a able a ge = equi ed.ge Ta ge ();
5i (ps.canSupp ess( a ge .ge Selec ionS a e())) {
6s a e = Selec ionS a e.SUPPRESSED;
7ge Supp essedBy().add( a ge );
8}
9}
10 }
Quell ex 4.11: Auszug aus de Me hode upda eSelec ionS a e() de abs ak en Klasse
Anno a ableImpl, in dem die p im¨
a e P opaga ionss a egie o wa d du chgese z
wi d.
•SZ inac i e und p im¨
a e PS e e se: I e ie wi d ¨
ube die on equi edBy e eich en
Mappings. Is ein e e enzie es Mapping in de Lage, das Kon ex -Mapping zu posi i-
ie en (canEn o ce()), wi d de Selek ionszus and des Kon ex -Mappings au en o ced
gese z und das e e enzie e Mapping in en o cedBy au genommen.
100
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Phase 3: Nich anno ie e Mappings Be inde sich ein Mapping im ini ialen Selek ionszu-
s and incomple e, is die sekund¨
a e PS on Bedeu ung:
• o wa d: Es wi d ¨
ube alle ¨
ube equi es assoziie en Mappings i e ie . Be inde sich
eines de e e enzie en Mappings nich im Zus and incomple e, wi d diese je nach Se-
lek ionszus and supp essedBy bzw. en o cedBy ange ¨
ug . Is die Menge supp essedBy
nach de le z en I e a ion nich lee , so wi d de Selek ionszus and des Kon ex -
Mappings en sp echend au supp essed ge¨
ande . Ansons en kann die Posi i ie ung
im Falle eine nich lee en en o cedBy-Menge e olgen.
• e e se: Wie o wa d, mi dem Un e schied, dass ¨
ube die ¨
ube equi edBy e e-
enzie en Mappings i e ie wi d. Auße dem wi d die Menge en o cedBy gegen¨
ube
supp essedBy be o zug .
• o wa dThenRe e se: Zun¨
achs wie o wa d. Be inde sich das Kon ex -Mapping danach
imme noch im Selek ionszus and incomple e, so wi d wie bei e e se o ge ah en.
• e e seThenFo wa d: Nu wenn sich das Kon ex -Mapping nach Anwendung de e-
e se-S a egie imme noch im Zus and incomple e be inde , wi d o wa d angewende .
Phase 4: Ausschlusskon lik e Sich gegensei ig ausschließende Mappings wu den bei de Vo -
be echnung m¨
ogliche Kon lik e in Phase 0 ¨
ube die Re e enzen excludes bzw. excludedBy
o geme k . Be inde sich das Kon ex -Mapping nach Anwendung de PS in einem posi i en
Selek ionszus and, muss noch gep ¨
u we den, ob diese nich du ch ein e en uell eben alls
posi i anno ie es, in excludedBy en hal enes Mapping, nega i ie we den muss. Is dies
de Fall, wi d de SZ des Kon ex -Mappings au o e uled gese z sowie das ausschließende
Mapping in o e uledBy au genommen ( gl. Quell ex 4.12).
1i (ps.isIncluded(s a e)) {
2 o (Anno a able excluding : ge ExcludedBy()) {
3i (ps.isIncluded(excluding.ge Selec ionS a e())) {
4s a e = Selec ionS a e.OVERRULED;
5ge O e uledBy().add(excluding);
6}
7}
8}
Quell ex 4.12: Auszug aus de Me hode upda eSelec ionS a e() on Anno a ableImpl, wodu ch
Ausschlusskon lik e be ¨
ucksich ig we den.
Phase 5: Su oga e W¨
ah end ¨
u A ibu - und Con ainmen -Mappings de inale Selek-
ionszus and an diese S elle es s eh , muss bei Re e enz-Mappings noch gep ¨
u we den,
inwie e n bei de Vo be echnung e mi el e Su oga e den Zus and des Kon ex -Mappings
wei e beein lussen k¨
onnen: De Selek ionszus and su oga ed is ¨
u Mappings ese ie , die
du ch Anwendung on P opaga ionss a egien nega i ie wu den (sich also im SZ supp essed
be inden), jedoch nach de Auswe ung ih e Su oga -Ausd ¨
ucke mindes ens ein Mapping mi
posi i en Selek ionszus and o weisen k¨
onnen, welches das abh¨
angige Elemen als Re e enz-
ziel e se zen kann. Quell ex 4.13 zeig den en sp echenden Quell ex ausschni .
101

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
1i (s a e == Selec ionS a e.SUPPRESSED && ge Re e enceMappingDesc ip ion()
ins anceo In e nalRe e enceMappingDesc ip ion) {
2In e nalRe e enceMappingDesc ip ion in e nalRmd =
(In e nalRe e enceMappingDesc ip ion) ge Re e enceMappingDesc ip ion();
3 o (MappingRequi emen equi ed :
in e nalRmd.ge Re e encedMapping().ge Requi es()) {
4 o (EObjec su Obj : equi ed.ge Su oga es()) {
5Con ainmen Mapping cm = ge MappingModel().ge Con ainmen Mapping(su Obj);
6i (cm != null && ps.isIncluded(cm.ge Selec ionS a e())) {
7ge Su oga eCandida es().add(cm);
8s a e = Selec ionS a e.SURROGATED;
9}
10 }
11 }
12 }
Quell ex 4.13: Auszug aus de ¨
ube sch iebenen Me hode upda eSelec ionS a e() de Klasse
Re e enceMappingImpl, in dem au e ¨
ugba e Su oga e gep ¨
u wi d.
Zu Iden i ika ion on Su oga en e olg eine I e a ion ¨
ube die om un e geo dne en
MappingRequi emen be ei ges ell en su oga es, welche au je ein DM-Elemen e wei-
sen. Kann im Mapping-Modell ein Con ainmen -Mapping iden i izie we den, welches dieses
abbilde und einen posi i en SZ ha (Z. 5 und 6), wi d es als Su oga -Kandida au genommen
und de Selek ionszus and des Kon ex -Mappings au su oga ed gese z (Z. 7 und 8).
Besonde hei : Su oga e und Ausschlusskon lik e Die beiden zule z e w¨
ahn en Konzep-
e Ausschlusskon lik e und Su oga e e g¨
anzen sich in de bishe o ges ell en Implemen ie-
ung noch nich gewinnb ingend: An einigen S ellen is es e o de lich, dass Al e na i en-
Mappings, die die Rolle eines au g und wechselsei igen Ausschlusses als o e uled ge-
kennzeichne en Ke n-Mappings ¨
ube nehmen, als Su oga -Kandida en o geschlagen we -
den k¨
onnen. Um dies zu ealisie en, wu den in de a s¨
achlichen Implemen ie ung on
Re e enceMapping.upda eSelec ionS a e() olgende E z¨
anzungen du chge ¨
uh :
1. I e ie e ¨
ube alle ¨
ube excludes e eichba en, konku ie enden Re e enz-Mappings.
2. P ¨
u e, ob es sich um ein implizi es Re e enz-Mapping handel , und bes imme in diesem
Fall dessen e e enzie es Con ainmen -Mapping. Ansons en b eche ab. De Selek ions-
zus and des konku ie enden Mappings spiel hie bei keine Rolle.
3. F¨
uge das e e enzie e Con ainmen -Mapping de Menge su oga eCandida es des
Kon ex -Mappings hinzu, alls sein Selek ionszus and posi i is .
Ein Beispiel, in dem das e besse e Zusammenspiel zwischen Su oga en und Ausschluss-
kon lik en g ei , wi d in Abschni 5.3.6 gegeben.
4.7.6 In alidie ungszyklen
Ein Mapping-Modell is s ¨
andigen Manipula ionen un e wo en: Fea u e-Ausd ¨
ucke k¨
onnen
om Anwende e zeug , ge¨
ande ode gel¨
osch we den, was eine ¨
Ande ung on SZ einzelne
Mappings zu Folge haben kann. Die S uk u des Mapping-Modells kann sich ¨
ande n, sei
es du ch ¨
Ande ungen am Ke n-DM ode du ch das Hinzu ¨
ugen on Al e na i en-Mappings.
102
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Wei e e m¨
ogliche ¨
Ande ungen be e en Fea u emodell und -kon igu a ion. All diese Manipu-
la ionen haben Auswi kungen au den globalen Zus and des Mapping-Modells, dessen Map-
pings sich wechselsei ig beein lussen. E o de lich is also ein Konzep zu e ek i en Neube-
echnung des Modellzus ands, insbesonde e de nich -pe sis en en Re e enzen zwischen Map-
pings sowie de en Selek ionszus ¨
ande. Im F2DMM-Edi o wi d hie zu zwischen einem g oßen
und einem kleinen In alidie ungszyklus un e schieden:
G oße In alidie ungszyklus T i bei ¨
Ande ungen inne halb de e e enzie en Modelle
(SDIRL,DM,FM ode FK), beim Ein ¨
ugen on Al e na i en, sowie beim e s maligen
Laden eines Mappings ein. E beinhal e olgende Ak ionen:
•Au u de dismiss()-Me hode au dem Mapping-Modell, welche die E gebnisse
alle Vo be echnungen e wi . Dies be i neben den ansien en Re e enzen
auch s¨
am liche o be echne e Su oga e.
•Synch onisa ion on FM und FK ( gl. Abschni 4.2.4).
•Synch onisa ion on MM und DM, um die s uk u elle Nachbildung des e s e en
du ch das le z e e siche zus ellen (s. Abschni 4.9.1).
•Au u de p epa e()-Me hode au dem Mapping-Modell, welche zu eku si en
Vo be echnung on Abh¨
angkei en und Su oga en (Phase 0) ¨
uh .
De g oße In alidie ungszyklus un e s ¨
u z neben seine globalen Anwendung auch die In a-
lidie ung einzelne Teilb¨
aume des Mapping-Modells, wodu ch de Vo gang me kba beschleu-
nig we den kann. Die ink emen elle In alidie ung wi d e wa beim Ein ¨
ugen on Al e na i en-
Mappings eingese z : De g oße In alidie ungszyklus wi d dabei nich au dem gesam-
en Mapping-Modell, sonde n au dem Teilbaum, de das einge ¨
ug e Al e na i en-Mapping
unmi elba beinhal e , du chge ¨
uh . Zus¨
a zlich e olg ein Au u on in e seP epa e:
Abh¨
angigkei en we den hie bei pa iell in en gegengese z e Rich ung neu be echne . E ek-
i en allen hie s¨
am liche Neube echnungen on Abh¨
angigkei en zwischen Elemen en, die
be ei s o dem Ein ¨
ugen de Al e na i e im Mapping-Modell o handen wa en.
Kleine In alidie ungszyklus T i ein, wenn sich ein Fea u e-Ausd uck ¨
ande , eine neue
Fea u ekon igu a ion geladen ode die P opaga ionss a egie angepass wi d, sowie beim
e s maligen ode e neu en Laden nach dem g oßen In alidie ungszyklus.
•Au u on in alida e() au dem Mapping-Modell, was zum eku si en Au u
de selben Me hode au allen Mappings ¨
uh . Hie bei we den zun¨
achs die Mengen
en o ces,supp esses und o e ules gelee .
•Neube echnung de Selek ionszus ¨
ande alle Mappings. Hie zu implemen ie die
Klasse F2DMappingModel die Me hode upda eAll(), die wiede um ¨
u jedes Map-
ping upda eSelec ionS a e() au u , in de die in Phase 1 bis 5 besch iebenen
Be echnungen du chge ¨
uh we den. Au g und ansi i e Abh¨
angigkei en e olg
die Neube echnung i e a i , bis sich keine ¨
Ande ungen de SZ meh e geben30.
•Upda e de Baum-Ansich des Edi o s, um die ¨
Ande ungen sich ba zu machen.
30Zyklische Abh¨
angigkei en k¨
onn en sich an diese S elle in eine Endlosschlei e niede schlagen. In de ak-
uellen Implemen ie ung we den Zyklen wede e kann noch e mieden; s a dessen is in upda eAll eine
Abb uchbedingung o mulie , die zu i , sobald sich die Menge de jenigen Mappings, de en Selek ions-
zus and in eine I e a ion ge¨
ande wu de, meh mals nich e kleine .
103
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4.8 Ablei ung on P oduk en
De in Abschni 3.4.4 o geschlagene MDPLE-P ozess sieh die Ablei ung eines kon igu ie -
en Dom¨
anenmodells bzw. eines P oduk s aus eine gew¨
ahl en Fea u ekon igu a ion o . Zieh
man ausschließlich nega i e Va iabili ¨
a in Be ach , bes eh das Ablei en eines P oduk s im
En e nen alle A e ak e aus dem Mul i a ian en-DM, de en anno ie e Fea u e-Ausd ¨
ucke
als nega i e aluie en. Im F2DMM-Edi o is die P oduk ablei ung als Modell ans o ma-
ion au Ja a-Basis ( gl. Abschni 2.7.1) ealisie . In diesem Abschni we den auße dem
die Konzep e de Al e na i en,Su oga e und abgelei e e Repa a u ak ionen w¨
ah end de
P oduk gene ie ung be ¨
ucksich ig .
4.8.1 No wendige Vo ausse zungen ¨
u die Ablei ung on wohlge o m en P oduk en
Be o au die eigen liche T ans o ma ion eingegangen wi d, soll disku ie we den, welche
Mindes o ausse zungen e ¨
ull sein m¨
ussen, dami ein wohlge o m es P oduk en s eh . Die
Annahme hie bei is , dass alle be eilig en Dom¨
anenmodelle, das Ke n- (bzw. Mul i a ian en-
)DM, sowie die ¨
u ex e ne Al e na i en-Mappings he angezogenen Teildom¨
anenmodelle,
selbs syn ak isch wie seman isch wohlge o m sind31.
•Es muss eine Fea u ekon igu a ion (FK) geladen sein, die kon o m zum Fea u emodell
is , das die P oduk linie besch eib .
•Die geladene FK muss alide sein ( gl. Abschni 4.2.2) und da insbesonde e keine
Fea u es beinhal en, die sich im Selek ionszus and pending be inden.
•Die p im¨
a e PS da nich igno e sein, und die Op ion ansi i eCon lic Resolu ion
muss gew¨
ahl sein. Dies s ell die konsis en e Anwendung de P opaga ionss a egien
bei de P oduk ablei ung siche .
•Fea u e-Ausd ¨
ucke d¨
u en keine Fea u e-Re e enzen en hal en, welche sich au nich
exis ie ende Fea u es beziehen. Ansons en kann de Selek ionszus and on be o enen
Fea u es nich e mi el we den. Heiden eich [28] de inie eine en sp echende Wohlge-
o m hei sbedingung MM-Exis ing-Fea u e.
•Das Mapping-Modell muss in seinen Ke n-Mappings s uk u ell synch on mi dem Ke n-
Dom¨
anenmodell sein.
•Al e na i en-Mappings, die sich au ex e ne Ressou cen beziehen, m¨
ussen au o hande-
ne Modell-Elemen e e weisen. Diese und die o he gehende Vo ausse zung en sp echen
de Wohlge o m hei sbedingung MM-Exis ing-ModelElemen on Heiden eich [28].
Die P ¨
u ung diese Vo ausse zungen is zun¨
achs die Au gabe de F2DMM-
Modell alidie ung, welche au dem EMF Valida ion F amewo k au bau ( gl. Ab-
schni 4.9.3). Die E ¨
ullung on Vo ausse zungen, welche nich on diese abgedeck
we den, wi d o dem Ablei en des P oduk s im Edi o gep ¨
u . Die s uk u elle Syn-
ch oni ¨
a on Ke n-Mappings mi dem Ke n-Dom¨
anenmodell wi d du ch das DM/MM-
Synch onisa ionsmodul (s. Abschni 4.9.1) siche ges ell .
31Heiden eich [28] o mulie auch hie ¨
u Wohlge o m hei sbedingungen (SM-Mul iplici y,SM-Typing,SM-
Seman ics). Hie au wi d im o liegenden Ansa z e zich e , da s a dessen die Annahme eines wohlge o m-
en, Eco e-basie en solu ion space model zu Vo ausse zung e hoben wi d.
104
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Im F2DMM-Edi o is ¨
u die Ablei ung eines kon igu ie en Dom¨
anenmodells de Kon ex -
men¨
u-Ein ag De i e P oduc o gesehen. Wi d diese ausgew¨
ahl , e olg zun¨
achs ein g oße
und ein kleine In alidie ungssch i ( gl. o he gehende Abschni ) sowie die P ¨
u ung de
eben de inie en Vo ausse zungen. Sind diese e ¨
ull , wi d om Anwende die Auswahl eine
Ressou ce ¨
u das abgelei e e P oduk ge o de und die T ans o ma ion du chge ¨
uh .
4.8.2 Anpassung des EMF-Copie s ¨
u die Basis ans o ma ion
Die Modell ans o ma ion om allgemeinen zum kon igu ie en Dom¨
anenmodell soll in diesem
Un e abschni ein des uk i e s anden we den: Es e olg eine Kopie des Mul i a ian en-
Dom¨
anenmodells, wobei alle DM-Elemen e, ¨
u die ein Mapping mi nega i em Selek-
ionszus and o lieg , en allen. Die T ans o ma ion is als Ablei ung on de Klasse
Eco eU il.Copie implemen ie , die ¨
ube die Me hode EObjec copy(EObjec ) die E zeu-
gung eine exak en Kopie eines EObjec un e Be ¨
ucksich igung de e e enziellen In eg i ¨
a 32
ealisie . Copie e b zus¨
a zlich on HashMap<EObjec , EObjec >: Nach dem Kopie en eines
Elemen s wi d ein Ein ag <O iginal, Kopie>in die Map einge ¨
ug .
+ copy(EObjec ): EObjec
+ copyAll(EObjec ): EObjec
+ copyRe e ences() : EObjec
# c ea eCopy(EObjec ): EObjec
# copyCon ainmen (ERe e ence, EObjec , EObjec )
# copyA ibu e(EA ibu e, EObjec , EObjec )
# copyRe e ence(ERe e ence, EObjec , EObjec )
o g.eclipse.em .eco e.u il
Eco eU il.Copie
ja a.u il
HashMap
KV
HashMap<EObjec , EObjec >
<<bind>> K::EObjec
<<bind>> V::EObjec
+ Condi ionalCopie (F2DMappingModel,
P opaga ionS a egy,
Su oga eResolu ionS a egy)
- copyAl e na i eCon ainmen s(EObjec , EObjec )
- copyAl e na i eA ibu es(EObjec , EObjec )
- copyAl e na i eRe e ences()
- isIncluded(EObjec ): boolean
- esol eRe e enceMapping(Re e enceMapping):
EObjec
de.ub .ai1. 2dmm.copie
Condi ionalCopie
de.ub .ai1. 2dmm
F2DMappingModel
P opaga ionS a egy
<<in e ace>>
Su oga eResolu ionS a egy
+ esol e(Re e enceMapping):
Con ainmen Mapping
mappingModel
ps
s s
0..1
0..1
0..1
TakeFi s Su oga eResolu ionS a egy
Igno eSu oga eResolu ionS a egy
In e ac i eSu oga eResolu ionS a egy
Abbildung 4.29: UML-Klassendiag amm, welches den on Eco eU il.Copie e benden
Condi ionalCopie als T ans o ma ionsklasse da s ell . Alle on Copie de i-
nie en Objek me hoden we den on Condi ionalCopie ¨
ube sch ieben (nich
abgebilde ). Das Mapping-Modell, die en sp echende P opaga ionss a egie, sowie ei-
ne S a egie zu Au l¨
osung on Su oga -Mappings (Su oga eResolu ionS a egy,
s. Abschni 4.8.4) we den on ihm e e enzie .
Abbildung 4.29 ¨
uh die Klasse Condi ionalCopie als Spezialisie ung des EMF-Copie s
ein. Sie beinhal e die Me hode isIncluded(EObjec ), welche p ¨
u , ob ein beliebiges
32Alle Re e enzen de Kopie e weisen nich au das O iginal, sonde n au das en sp echende Elemen de
Kopie [48, Kapi el 16.4].
105
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
An diese S elle sei da au hingewiesen, dass die Konsis enzp ¨
u ung nich imme olls ¨
andig
is : Beispielsweise wi d die Ka dinali ¨
a on Fea u es in de o liegenden Implemen ie ung
nich ¨
ube p ¨
u : Eine Fea u e-Re e enz k¨
onn e sich ¨
ube einen Index au ein Fea u e bezie-
hen, das im ak ualisie en FM au g und neue Einsch ¨
ankungen bez¨
uglich de Ka dinali ¨
a
nich meh exis ie en da . Die Wiede he s ellung de Synch oni ¨
a is in solchen F¨
allen dem
Anwende selbs ¨
ube lassen; e wi d jedoch bei de Iden i ika ion on Konsis enz e le zungen
on de Modell alidie ung un e s ¨
u z .
4.9.3 Zus¨
a zliche Konsis enzp ¨
u ung mi els EMF-Validie ung
Aus den zu o genann en G ¨
unden, sowie um bei de Ablei ung on P oduk en einen konsi-
s en en Zus and zu ga an ie en, wu de in den F2DMM-Edi o eine au dem EMF Valida ion
F amewo k ( gl. Abschni 2.4) basie ende Validie ung in eg ie . De Anwende kann op io-
nal die Li e-Validie ung ak i ie en, welche die Lau zei un e Ums ¨
anden e schlech e . Die
Ba ch-Validie ung inde beim Laden eines Mapping-Modells, du ch Auswahl des en sp e-
chenden Kon ex men¨
u-Ein ags, sowie o de P oduk -Ablei ung s a . Zun¨
achs we den
exempla isch d ei Modell-Cons ain s e l¨
au e , be o eine olls ¨
andige Au lis ung alle mi
Hil e des F amewo ks o mulie en Konsis enzbedingungen e olg .
Validi ¨
a on Fea u e-Re e enzen Fea u e-Re e enzen wu den im Abschni ¨
ube FEL (4.4)
als die Ve kn¨
up ung om Mapping- zum Fea u emodell und e l. eine geladenen Fea u ekon-
igu a ion ausgemach . Um g¨
ul ig zu sein, muss sich eine Fea u e-Re e enz au ein exis ie-
endes Fea u e aus dem FM beziehen. Is zus¨
a zlich eine FK geladen, da die Menge con-
igu edFea u es eine Fea u eRe e ence eben alls nich lee sein. Aus diesen beiden Bedin-
gungen l¨
ass sich ein Cons ain o mulie en. Exis ingFea u eRe Cons ain bezieh sich
au Ins anzen on Anno a able und p ¨
u eku si die G¨
ul igkei on Fea u e-Ausd ¨
ucken:
•Eine Fea u e-Re e enz is konsis en , wenn die Re e enz modeledFea u e au ein exi-
s ie endes Fea u e aus dem Fea u emodell zeig . Is eine Fea u ekon igu a ion geladen,
da con igu edFea u es zus¨
a zlich nich die lee e Menge e geben.
•Boolesche Kons an en sind imme alide gegen¨
ube diese Bedingung.
•Boolesche Ve kn¨
up ungen sind nu dann alide, wenn ih e Ope anden alide sind.
De Cons ain ha die Fehle s u e E o . Wie bei allen au Fea u e-Ausd ¨
ucken bezogenen
Cons ain s bes eh die M¨
oglichkei de e neu en Anno a ion des en sp echenden Mappings
du ch einen Doppelklick au den om EMF Valida ion F amewo k in de P oblems-Ansich
gene ie en Ma ke .
Validi ¨
a on A ibu -Ausd ¨
ucken Die Cons ain s IllegalA ibu ePa e nCons-
ain und Incompa ibleA ibu eValueCons ain , beide mi de Fehle s u e E o ,
beziehen sich au A ibu -Ausd ¨
ucke. Le z e e kommen im Mapping-Modell inne halb on
Pa e nA ibu eMappingDesc ip ions zum Einsa z, um den We on A ibu en abge-
lei e e P oduk e als abh¨
angig on de Ausp ¨
agung eines A ibu s de Fea u ekon igu a ion
zu de inie en. Un e olgenden Bedingungen wi d bei de Validie ung du ch die genann en
Cons ain s ein Fehle ausgegeben:
112

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
•Nich wohlge o m es A ibu -Pa e n: De inne halb eines du ch ”#{“ und ”}“ beg enz-
en A ibu -Cons ain s s ehende Ausd uck en h¨
al en wede Syn ax ehle ode e -
weis au ein nich o handenes Fea u e ode A ibu .
•Nich kompa ible A ibu we : De nach dem Auswe en eine Pa e n-basie en
A ibu -Mapping-Besch eibung en s ehende S ing l¨
ass sich nich ¨
ube den Eco e-
Adap e -Fac o y-Mechanismus35 in eine Ins anz des dem A ibu en sp echenden Da-
en yps kon e ie en.
Die beiden au A ibu -Ausd ¨
ucke bezogenen Cons ain s un e scheiden sich on allen an-
de en Validie ungscons ain s dahingehend, dass du ch einen Doppelklick au diese sich nich
das Eingabe ens e ¨
u Fea u e-Ausd ¨
ucke (s. n¨
achs e Abschni ), sonde n die en sp echende
Sei e des Al e na i en-Wiza ds ¨
o ne ( gl. Abschni 4.6.2), in de das be o ene Mapping-
Pa e n zu Ko ek u eingegeben we den kann.
E ¨
ullba kei on Fea u e-Ausd ¨
ucken Eben alls on de Modell alidie ung ¨
ube p ¨
u wi d
die E ¨
ullba kei on Fea u e-Ausd ¨
ucken. Ein Fea u e-Ausd uck gil genau dann als e ¨
ullba ,
wenn mindes ens eine m¨
ogliche Fea u ekon igu a ion exis ie , ¨
u den diese den We ac i e
annimm 36. De Modellcons ain Sa is iableExp Cons ain se z diese Idee olgende -
maßen ¨
u jeden Fea u e-Ausd uck um (Fehle s u e E o , gl. auch Quell ex 4.14):
1. Zun¨
achs we den eie Va iablen iden i izie : Dies sind alle du ch den gesam en Aus-
d uck e e enzie en Fea u es de ak uellen FK. Jede eie Va iable bekomm einen
Index zugewiesen.
2. Zum Tes au E ¨
ullba kei wi d eine Kopie de ak uellen Fea u ekon igu a ion angeleg
und dem Fea u e-Ausd uck als Kon igu a ion mi ge eil .
3. Ein Bi ek o mi eine L¨
ange n, die sich du ch die Anzahl eie Va iablen e gib , wi d
e zeug und jede Ein ag mi 0 ini ialisie .
4. F¨
u jede de 2nm¨
oglichen Pe mu a ionen des Bi ek o s e olg nun die Auswe ung:
a) Zun¨
achs wi d die Va iablenbelegung de kopie en FK en sp echend de en Indices
im Bi ek o angepass (selec ed, alls indizie es Bi 1, sons unselec ed).
b) Es wi d gep ¨
u , ob die ak uelle Belegung g¨
ul ig is : Als ke nel ma kie e Fea u es
m¨
ussen selec ed sein, equi es- und excludes-Kan en d¨
u en sich nich wide sp e-
chen.
c) Is die Belegung g¨
ul ig, wi d de Fea u e-Ausd uck ausgewe e und de esul ie-
ende Selek ionszus and es gehal en.
5. E gib die Auswe ung des gesam en Fea u e-Ausd ucks zumindes ¨
u eine Belegung
den We ac i e, so is de Ausd uck e ¨
ullba .
35De Au u Eco eU il.c ea eF omS ing() schl¨
ag nach ¨
Ube gabe de S ing-Rep ¨
asen a ion und des
A ibu -Da en ypen ehl.
36In e wand en Ans¨
a zen we den kommen hie ¨
u h¨
au ig sog. SAT-Sol e zum Einsa z, die die E ¨
ullba kei
( gl. engl. sa si iabili y) boolesche Ausd ¨
ucke au Basis eines Logik-Kalk¨
uls un e s ¨
u zen [40].
113
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
1p i a e boolean isSa is iable(Anno a able anno a able) {
2Fea u eExp exp = Eco eU il.copy(anno a able.ge Fea u eExp ());
3Roo ea u eCon = Eco eU il.copy(anno a able.ge MappingModel()
.ge Cu en Fea u eCon igu a ion());
4exp .applyFea u eModel(anno a able.ge MappingModel().ge Fea u eModel());
5exp .applyFea u eCon igu a ion( ea u eCon );
6
7Lis <Fea u e> eeVa iables = new A ayLis <Fea u e>(ge F eeVa iables(exp ));
8long nF ee = eeVa iables.size();
9long pe mSize = 1L << nF ee;
10 boolean sa is iable = alse;
11
12 o (long pe mu a ion = 0; pe mu a ion < pe mSize; pe mu a ion++) {
13 applyValues( eeVa iables, pe mu a ion);
14 exp .in alida e();
15 i (isCon igu a ionValid( eeVa iables)) {
16 i (exp .ge S a e() == FELS a e.ACTIVE) {
17 sa is iable = ue;
18 b eak;
19 }
20 }
21 }
22
23 e u n sa is iable;
24 }
Quell ex 4.14: Die Me hode isSa is iable on Sa is iableExp Cons ain p ¨
u die E ¨
ullba -
kei on Fea u e-Ausd ¨
ucken du ch Pe mu a ion eie Va iablen.
Folgende wei e e Cons ain s, jeweils au de Kon ex klasse Anno a able de inie , s ellen
die Wohlge o m hei des Mapping-Modells siche , indem sie die besch iebenen Konsis enz e -
le zungen iden i izie en:
Exis ingA ibu eRe Cons ain Bezieh sich au A ibu -Cons ain s inne halb on
Fea u e-Re e enzen und s ell siche , dass diese sich au im Fea u emodell exis ie ende
A ibu e beziehen (E o ).
Discou agedWildca dCons ain Das Wildca d-Symbol (*) wi d als Index ¨
u ein Fea u e
e wende , welches nu in eine Ins anz o kommen da (Wa ning).
Encou agedWildca dCons ain Kein Index wi d an eine S elle e wende , wo die Benu -
zung ein Wildca d-Symbol m¨
oglich w¨
a e (Wa ning).
NonTau ologicalExp Cons ain Ein Fea u e-Ausd uck is eine Tau ologie: E lie e ¨
u jede
m¨
ogliche Va iablenbelegung den Selek ionszus and ac i e (In o).
NoSyn axE o sCons ain Au g und eines Syn ax ehle s in einem anno ie en Fea u e-
Ausd uck eines Mappings exis ie die S ing-se ialisie e Fo m ea u eExp S , jedoch
nich die dese ialisie e ea u eExp (E o ). Zus¨
a zlich wi d dies du ch den Selek ions-
zus and co up ed he o gehoben.
114
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4.10 Wei e e Bedienkonzep e des Mapping-Edi o s
Zum Abschluss des Implemen ie ungsabschni s we den einige ypische Vo g¨
ange w¨
ah end
des Edi ie ens on Mapping-Modellen aus Benu ze sich beleuch e . E wei e e Eins ellungen
be e en zumeis die g a ische Rep ¨
asen a ion des Mappings.
4.10.1 Die F2DMM-Pe spek i e
De F2DMM-Edi o de inie eine eigene Eclipse-Pe spek i e, die die ¨
u das Bea bei en
eines Mapping-Modells ben¨
o ig en isuellen Elemen e ano dne . Abbildung 4.31 zeig einen
Sc eensho und ma kie die nach olgend besch iebenen UI-Elemen e:
Abbildung 4.31: Die F2DMM-Pe spek i e bei ge¨
o ne em Mapping-Modell.
1. De P ojec Explo e s ell wie in de Ja a-Pe spek i e die P ojek s uk u des
Wo kspace da . Im Beispiel be inde sich das ge¨
o ne e Mapping-Modell zusammen mi
einem SDIRL-Dokumen im Ve zeichnis mappingmodel.
2. Die manuell hinzuge ¨
ug e Fea u es-Ansich s ell das Fea u emodell und eine e en u-
ell geladene Fea u ekon igu a ion in zwei Rei e n da . Die Da s ellung e olg jeweils
wie im FM- bzw. FK-Edi o als Baum. Die Ansich dien zu ¨
Ube p ¨
u ung des Se-
lek ionszus ands on Fea u es. Auße dem bie e sie D ag-and-D op-Un e s ¨
u zung zu
Anno a ion on Mappings (s. n¨
achs e Abschni ).
115
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
3. Die Edi o -Ansich s ell die Hie a chie de Con ainmen -Mappings als Baum da . Die
Symbole eines Mappings en sp echen denen des gemapp en Elemen s, e sehen mi ei-
nem O e lay, welches den ak uellen Selek ionszus and ( gl. Abbildung 4.10) abbilde .
Die Besch i ung e gib sich eben alls du ch die des gemapp en Elemen s und wi d
e g¨
anz du ch die ex uelle Rep ¨
asen a ion des anno ie en Fea u e-Ausd ucks, alls
o handen. Die Wiede e wendung des Symbols und de Besch i ung des gemapp en
Elemen s wi d du ch Ve wendung des Eco e-Adap e -Fac o y-Mechanismus [48, Ab-
schni 5.6] ealisie ( gl. auch Abschni 2.3.1). Ein wei e e Rei e e laub die di ek e
Manipula ion des Dom¨
anenmodells, eben alls in dessen Baum ep ¨
asen a ion.
4. Die eben alls manuell implemen ie e Ansich Mapping P ope ies s ell A ibu - und
Re e enz-Mappings da , welche dem im Edi o selek ie en Con ainmen -Mapping un-
e geo dne sind. Die Da s ellung e olg abella isch: In de e s en Spal e is de Na-
me de gemapp en Re e enz bzw. des gemapp en A ibu s sowie sein Symbol – eben-
alls mi einem du ch den Selek ionszus and bes imm en O e lay – abgebilde . Die
Value-Spal e beinhal e die S ing-Rep ¨
asen a ion des jeweiligen A ibu we s ode die
Besch i ung des abgebilde en Re e enzziels. Die le z e Spal e is dem anno ie enden
Fea u e-Ausd uck o behal en.
5. Die P ope ies-Ansich wu de on de EMF-Codegene ie ung als Teil des Edi o s e -
zeug . Sie s ell Eigenscha en on Elemen en da , die in de Edi o -, de Fea u es- ode
de Mapping-P ope ies-Sich ausgew¨
ahl wu den37. Un e abschni 4.10.3 besch¨
a ig
sich mi da ges ell en Eigenscha en on Mappings. Eben alls im un e en Be eich be in-
de sich de Rei e P oblems, de on de Modell alidie ung iden i izie e Fehle da s ell .
Das FAMILE Dashboa d is Gegens and on Un e abschni 4.10.5.
4.10.2 Anno a ion on Mappings
Bishe wu de die Anno a ion on Mappings aus Anwende sich noch nich genaue be-
sch ieben. Hie ¨
u s ehen d ei Mechanismen zu Ve ¨
ugung, die zun¨
achs die ex uelle Re-
p ¨
asen a ion eines Fea u e-Ausd ucks e zeugen, um diesen anschließend om gene ie en Pa -
se in seine Modell ep ¨
asen a ion ¨
ube se zen zu lassen. Nach dem E zeugen ode ¨
Ande n
eine Anno a ion wi d g unds¨
a zlich de kleine In alidie ungszyklus du chge ¨
uh ( gl. Ab-
schni 4.7.6). Komm es zu Syn ax ehle n, we den diese dem Anwende so o mi ge eil und
on de Modell alidie ung als Ma ke in de P oblems-Ansich einge ¨
ug .
Tex uelle Eingabe Du ch einen Doppelklick au ein Mapping in de Edi o - ode Mapping-
P ope ies-Ansich , sowie du ch Auswahl des Kon ex men¨
u-Ein ags Anno a e Mapping ¨
o ne
sich ein Eingabe eld (s. Abbildung 4.32). Is das Mapping be ei s mi einem Fea u e-Ausd uck
e sehen, wi d dessen bishe ige ex uelle Rep ¨
asen a ion in den Dialog au genommen.
D ag-and-D op Elemen e aus de Fea u es-Ansich k¨
onnen pe D ag-and-D op (DnD) au
ein in de Edi o - ode Mapping-P ope ies-Ansich da ges ell es Mapping gezogen we den.
Dabei wi d au oma isch eine Fea u e-Re e enz e zeug , die das gew¨
ahl e Fea u e eindeu ig
quali izie . Im Falle eines meh ach ins anziie ba en Fea u es wi d de Index aus de FK, bzw.
37Zu Da s ellung de Eigenscha en de beiden manuell de inie en Ansich en bedu e es eine In eg a ion in
den on de Eclipse-Pla o m be ei ges ell en Selec ion Se ice [48].
116
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.32: Tex uelle Eingabe eines Fea u e-Ausd ucks.
das Wildca d-Symbol beim Ziehen aus dem Fea u e-Model-Rei e , einge ¨
ug . In de F2DMM-
P e e ence-Page (s. Abschni 4.10.4) kann eine de olgenden Op ionen ¨
u das Ve hal en bei
eine be ei s o handenen Anno a ion gew¨
ahl we den:
Replace Ein o handene Ausd uck wi d on de e zeug en Fea u e-Re e enz e se z .
And De bishe ige wi d mi dem e zeug en Ausd uck and- e kn¨
up .
O Es e olg eine o -Ve kn¨
up ung.
Xo Es e olg eine xo -Ve kn¨
up ung.
Kopie en pe Zwischenablage ¨
Ahnlich wie das E zeugen eine Fea u e-Re e enz pe
DnD unk ione de in eg ie e Copy-And-Pas e-Mechanismus ¨
u Fea u es. Du ch einen
Rech sklick au das gew¨
ahl e Elemen in de Fea u es-Ansich und Auswahl des Ein ags
Copy FEL Exp ession o Clipboa d (Sch i 1 in Abbildung 4.33) wi d eine eindeu ig quali izie-
ende Fea u e-Re e enz e zeug und in de Zwischenablage des Edi o s gespeiche . Sie kann
du ch Auswahl eines en sp echenden Kon ex men¨
u-Ein ags als Anno a ion eines Mappings
einge ¨
ug we den (Sch i 2). Hie bei s eh dem Anwende die di ek e Auswahl eine de ie
im o he gehenden Absa z de inie en Ein ¨
ugeop ionen zu Ve ¨
ugung. De Copy-And-Pas e-
Ansa z un e s ¨
u z die Auswahl meh e e Fea u es in de Fea u es-Ansich .
Abbildung 4.33: Eingabe eines Fea u e-Ausd ucks pe Copy-And-Pas e.
117

4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
4.10.3 Das P ope y-Shee als Diagnose-Ansich
In Abbildung 4.31 is die P ope ies-Ansich bei einem ge¨
o ne em Mapping-Modell zu sehen:
Bei de Gene ie ung des Edi o s wu de das Gene a o -Modell [48, Abschni 2.4] so angepass ,
dass sie ausschließlich nich -edi ie ba e Felde en h¨
al . Sie dien also nich , wie h¨
au ig bei ge-
ne ie en EMF-Baumedi o en, zu Manipula ion, sonde n ielmeh zu Analyse on Modell-
Eigenscha en. Nach Auswahl eines Mappings is e wa dessen S ing- ep ¨
asen ie e Anno a-
ion sowie de ak uelle Selek ionszus and da ges ell . Zus¨
a zlich is un e O iginal Selec ion
S a e de ini iale Zus and eines Mappings o de Anwendung on P opaga ionss a egien zu
sehen. Alle wei e en Eigenscha en sind als Diagnos ic P ope ies zusammenge ass und bie en
Hil es ellung, um die Auswi kungen on P opaga ions- und Su oga -Mechanismen nachzu-
ollziehen. Sie s ellen die Beziehungen zwischen Anno a able da ( gl. Abbildung 4.24):
•Requi es bzw. Requi ed By: Vo be echne e, ein- und ausgehende Abh¨
angigkei en des
gew¨
ahl en Mappings: En sp ich den jeweils ¨
ube Ins anzen de Assozia ionsklasse
MappingRequi emen abgebilde en Re e enzzielen.
•Excludes bzw. Excluded By: Ande e Mappings, die au g und o be echne e Ausschluss-
kon lik e om gew¨
ahl en Mapping ausgeschlossen we den, bzw. dieses ausschließen.
•En o ces bzw. En o ced By: Ande e Mappings, die au g und des Selek ionszus ands des
gew¨
ahl en Mappings den Zus and en o ced zugewiesen bekommen, bzw. diejenigen Map-
pings die den Zus and en o ced des gew¨
ahl en Mappings bedingen.
•Supp esses bzw Supp essed By: Mappings, die au g und des gew¨
ahl en Mappings in den
Zus and supp essed allen, bzw. Mappings, die den Zus and supp essed des gew¨
ahl en
Mappings bedingen.
•O e ules bzw O e uled By: Mappings, die au g und des gew¨
ahl en Mappings in den SZ
o e uled allen, bzw. Mappings, die diesen SZ ¨
u das gew¨
ahl e Mapping bedingen.
4.10.4 Anzeigeop ionen au de F2DMM-P e e ence-Page
Die Eclipse-Pla o m [14] s ell ¨
u Plugins die M¨
oglichkei de De ini ion on Wo kspace-
wei en Benu ze eins ellungen (P e e ences) zu Ve ¨
ugung. Die Pe sis ie ung de Eins ellun-
gen inde in einem sog. P e e ence S o e s a ; In eine P e e ence Page k¨
onnen Anwende
diese Eins ellungen nach eigenen Bed¨
u nissen anpassen. Auch de F2DMM-Edi o bie e
¨
ube diesen Mechanismus Eins ellungsm¨
oglichkei en an, die ¨
ube wiegend die Da s ellung des
Mapping-Baums be e en. Zus¨
a zlich zum Eclipse-eigenen Men¨
uein ag P e e ences is die
en sp echende P e e ence Page di ek ¨
ube das Kon ex men¨
u e eichba . Abbildung 4.34 bil-
de die e ¨
ugba en Eins ellungen ab.
Die beiden un e en Op ionsg uppen sowie die unmi elba da ¨
ube liegende Op ion wu den
be ei s im Vo eld disku ie : Sie e lauben die Auswahl eine S a egie ¨
u Su oga -Au l¨
osung
( gl. Abschni 4.8.4) sowie eine D ag-and-D op-Ope a ion ( gl. o he gehenden Un e ab-
schni 4.10.2). Auße dem kann an diese S elle die Li e-Validie ung ( gl. Abschni 4.9.3)
ak i ie we den. Die wei e en – die Baumansich des Edi o s beein lussenden – Eins ellungen
we den im Folgenden disku ie .
118
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.34: P e e ence Page ¨
u den F2DMM-Edi o .
Abs ak e Syn axbaum on FEL-Ausd ¨
ucken Die Op ion Show Fea u e Exp essions’ ASTs
ak i ie die Da s ellung abs ak e Syn axb¨
aume (ASTs) un e halb mi Fea u e-Ausd ¨
ucken
e sehene Mappings. Abbildung 4.35 s ell die EMF-Baum ep ¨
asen a ion ¨
u einen komple-
xen Fea u e-Ausd uck da : Teilausd ¨
ucke we den zus¨
a zlich in ih e ex uellen Rep ¨
asen a ion
angezeig . Fea u e-Re e enzen und boolesche Ve kn¨
up ungen sowie A ibu -Cons ain s sind
mi einem O e lay e sehen, welches den Selek ionszus and ¨
u den en sp echenden Teil-
ausd uck isualisie . Dies e leich e dem Anwende die Diagnose on Fea u e-Ausd ¨
ucken
anhand eine geladenen Fea u ekon igua ion.
Abbildung 4.35: Da s ellung des abs ak en Syn axbaums eines komplexe en Fea u e-Ausd ucks.
119
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Mapping-Besch eibungen Mapping-Besch eibungen wu den in Abschni 4.6.1 als Ve -
kn¨
up ung zwischen Mapping-Modell und Ke n-Dom¨
anenmodell einge ¨
uh . Sie dienen nich
nu de logischen Abs ak ion, sonde n auch zu op ionalen Da s ellung on Eigenscha en,
die sich au die Abbildung on Dom¨
anenmodell-Elemen en beziehen. Abbildung 4.36 s ell
die Eigenscha en eine selek ie en Mapping-Besch eibung ¨
u ein A ibu -Mapping in de
P ope ies-Ansich da : Neben dem S ing-se ialisie en A ibu we is das gemapp e A i-
bu aus dem Dom¨
anen-Me amodell au ge ¨
uh . Die Da s ellung wi d ¨
ube die Op ion Show
Mapped By ak i ie , welche sich auch au die Mapping-P ope ies-Ansich auswi k .
Abbildung 4.36: Mapping-Besch eibung eines A ibu -Mappings im P ope y Shee .
Visualisie ung on Abh¨
angigkei en Bei de Vo be echnung on m¨
oglichen Kon lik en ( gl.
Abschni 4.7.3) we den iden i izie e Abh¨
angigkei en als Ins anzen on MappingRequi emen
im Modell es gehal en. Auch diese we den nach Se zen en sp echende Op ionen in de
P e e ence Page angezeig : Die Op ionen Show Con ainmen Dependencies und Show O he
Dependencies ak i ie en unabh¨
angig oneinande die Da s ellung on Con ainmen - bzw.
SDIRL-de inie en Abh¨
angigkei en im Mapping-Baum sowie in de Mapping-P ope ies-
Ansich ( gl. Abbildung 4.37). Die Da s ellung um ass Quelle und Ziel (Sou ce bzw. Ta ge )
de un e Dependency es gehal enen, zu e enden Abh¨
angigkei . Als Su oga e o be echne e
Dom¨
anenmodell-Elemen e we den un e Su oga es au ge ¨
uh .
120
4 F2DMM: Ein Mapping-basie e Edi o ¨
u modellge iebene So wa ep oduk linien
Abbildung 4.37: Rep ¨
asen a ion eine Abh¨
angigkei zwischen Mappings (MappingRequi emen ) im
P ope y Shee .
4.10.5 De F2DMM-Wiza d und das FAMILE-Dashboa d
Die Ini ialisie ung eines F2DMM-basie en Mapping-Modells e lang die Angabe de be-
eilig en Modelle. Hie ¨
u is ein en sp echende Wiza d ( gl. Abbildung 4.38) o gesehen.
E wu de in seine u sp ¨
unglichen Fo m als Teil des Edi o -Plugins gene ie ( gl. Ab-
schni 2.3.2) und nach ¨
aglich manuell e g¨
anz . Bei de E zeugung eines Mapping-Modells
wi d ini ial die Angabe eines Bezeichne s sowie eines Mul i a ian en-Dom¨
anenmodells und
eines Fea u emodells e lang . Op ional k¨
onnen eine Fea u ekon igu a ion sowie ein SDIRL-
Dokumen e e enzie we den.
Nich als Gegens and diese Mas e a bei , sonde n im Rahmen des Leh s uhlp ojek s
FAMILE wu de ein sog. Dashboa d in eg ie , welches den Anwende bei de E zeugung
des Mapping-Modells und e e enzie e Modelle beglei e . In de o liegenden Ve sion ehl
die Un e s ¨
u zung ¨
u das au oma ische Ablei en des kon igu ie en Dom¨
anenmodells aus dem
Mapping-Modell ( gl. auch Abbildung 4.39).
121
5 Beispiel zu E aluie ung des Ansa zes
Abbildung 5.3: Pake diag amm des Mul i a ian en-Dom¨
anenmodells.
128

5 Beispiel zu E aluie ung des Ansa zes
Abbildung 5.4: Klassendiag amm ¨
u das wi i-Pake des Beispiel-Dom¨
anenmodells.
Abbildung 5.5: Klassendiag amm ¨
u das Pake addOnPackage.
Abbildung 5.6: Zus andsdiag amm ¨
u die Klasse Mic owa eO en des Mul i a ian en-DM.
129
5 Beispiel zu E aluie ung des Ansa zes
5.2 S uk u elle Abh¨
angigkei en ¨
u UML2-Klassen- und Zus andsdiag amme
De im Rahmen diese A bei o geschlagene P ozess ¨
u die modellge iebene En wicklung
on So wa ep oduk linien ( gl. Abschni 3.4) de inie die En wicklung eines Konsis enzmo-
dells du ch Analyse de Dom¨
anensp ache als Vo ausse zung ¨
u die E zeugung eines Mapping-
Modells. F2DMM sieh hie ¨
u die ex uelle Sp ache SDIRL o ( gl. Abschni 4.5). F¨
u
dieses Beispiel wu den SDIRL-basie e Abh¨
angigkei sbedingungen ¨
u UML2-Klassen- und Zu-
s andsdiag amme o mulie ( gl. Quell ex 5.1). Diese Bedingungen we den im Folgenden
e l¨
au e , um die aus ihnen abgelei e en Repa a u ak ionen (s. Abschni 5.4) nach ollziehen
zu k¨
onnen.
1impo "h p://www.eclipse.o g/uml2/3.0.0/UML"
2
3/* CLASS DIAGRAMS */
4
5dependency Rela ionshipTa ge {
6elemen el : uml.Di ec edRela ionship
7 equi es g : uml.Elemen
8when {
9 el. a ge ->includes( g)
10 }
11 }
12
13 dependency Membe EndAssocia ion {
14 elemen ass : uml.Associa ion
15 equi es p op : uml.P ope y
16 when {
17 (ass.membe End->includes(p op)) o (ass.ownedEnd->includes(p op))
18 }
19 }
20
21 dependency P ope yType {
22 elemen p op : uml.P ope y
23 equi es p : uml.Type
24 when {
25 p op. ype = p
26 }
27 }
28
29 dependency Supe Classi ie {
30 elemen spec : uml.Classi ie
31 equi es gen : uml.Classi ie
32 when {
33 spec.gene al->includes(gen)
34 }
35 su oga e {
36 gen.gene al.allPa en s()
37 }
38 }
39
40 /* STATE CHARTS */
41
42 dependency T ansi ionS a e {
130
5 Beispiel zu E aluie ung des Ansa zes
43 elemen ans : uml.T ansi ion
44 equi es s a e : uml.S a e
45 when {
46 ans.sou ce = s a e o ans. a ge = s a e
47 }
48 }
Quell ex 5.1: SDIRL-Dokumen , in dem einige Abh¨
angigkei sbedingungen ¨
u das UML2-
Me amodell (Klassen- und Zus andsdiag amme) o mulie we den.
•Rela ionshipTa ge Die Abh¨
angigkei eine du ch Di ec edRela ionship e-
p ¨
asen ie en ge ich e en Beziehung on ih em Quellelemen is be ei s du ch die
Con ainmen -Beziehung abgedeck . Zus¨
a zlich muss das Ziel de Beziehung o handen
sein, was du ch diese benu ze de inie e Abh¨
angigkei siche ges ell wi d.
•Membe EndAssocia ion Eine unge ich e e Assozia ion, da ges ell du ch die UML2-
Klasse Associa ion, is au die Exis enz beide Assozia ionsenden angewiesen. Die-
se k¨
onnen ¨
ube die Re e enzen membe End ode ownedEnd on de Assozia ion selbs
abh¨
angen.
•P ope yType Eine P ope y, die s uk u elle Eigenscha en in UML2-
Klassendiag ammen modellie , h¨
ang on ih em Typ ab, alls ein solche exis ie 38.
•Supe Classi ie Eine UML2-Klasse h¨
ang on ih en e en uell o handenen Obe -
klassen ab. An diese S elle wi d ein Su oga de inie , um In o ma ions e lus zu
e meiden: Wi d eine Obe klasse aus dem P oduk au g und eines nega i en Fea u e-
Ausd ucks ih es Mappings en e n , kann sie wiede um du ch eine de e Obe klassen,
m¨
ogliche weise auch ansi i , e se z we den. In eine meh s u igen Ve e bungshie a -
chie kann au diese Weise eine mi le e Klasse en allen (s. un en).
•T ansi ionS a e UML2-Zus andsdiag amme en hal en Zus ¨
ande ( ep ¨
asen ie du ch
die Klasse S a e) und ¨
Ube g¨
ange (T ansi ion). Ein ¨
Ube gang kann nu dann exis ie-
en, wenn sowohl sein Quell- (sou ce) als auch sein Zielzus and ( a ge ) Bes and eil
eines jeweiligen P oduk s sind.
5.3 Au l¨
osung on Inkonsis enzen im Mapping-Modell
Nachdem in den o he gehenden Abschni en die e e enzie en Modelle sowie eine Menge on
SDIRL-Abh¨
angigkei sde ini ionen o ges ell wu den, kann die E zeugung eines Mapping-
Modells in Ang i genommen we den. Die Ini ialisie ung e olg ¨
ube den en sp echenden
Wiza d ( gl. Abschni 4.10.5).
De Vo gang de Anno a ion einzelne Mappings wi d an diese S elle nich wei e aus
Anwende sich be ach e . S a dessen we den im Folgenden ep ¨
asen a i e Kons ella ionen
inne halb des MM disku ie , die zun¨
achs eine Konsis enz e le zung ode In o ma ions e -
lus implizie en. Diese Teile des Mapping-Modells we den schließlich au geg i en, um die
Anwendung de e a bei e en Konzep e zu Wiede he s ellung de Konsis enz – e wa de P o-
paga ionss a egien – zu un e suchen.
38Nich exis ie ende Typen sind in UML e laub und en sp echen dem Ja a-Da en yp oid.
131
5 Beispiel zu E aluie ung des Ansa zes
5.3.1 Un olls ¨
andig anno ie e Pake hie a chie
In diesem Teil des Beispiels soll zun¨
achs da on ausgegangen we den, dass keine P opaga ions-
s a egie zum Einsa z komm (p im¨
a e und sekund¨
a e PS sind im Edi o au igno e gese z ).
HAS1 sei die geladene Fea u ekon igu a ion. Abbildung 5.7 zeig eine Konsis enz e le zung
du ch einen Ve s oß gegen die in Abschni 3.3.2 de inie e Con ainmen -Abh¨
angigkei . Eine
Ablei ung on wohlge o m en P oduk en aus dem o liegenden Mapping w¨
a e nich m¨
oglich,
da de eCon aine des Pake s emo e nich o handen is .
Abbildung 5.7: Konsis enz e le zung: Die un olls ¨
andige Anno a ion de Pake hie a chie ¨
uh zu
Abh¨
angigkei des selek ie en Pake s emo e on dessen nich selek ie en El e n-
Pake has.
Ein Einsa z eine de in Abschni 4.7.4 o ges ell en sekund¨
a en P opaga ionss a egien
bewi k die Wiede he s ellung de Konsis enz, wie sie in Abbildung 5.8 da ges ell is : Die
E mi lung des Selek ionszus ands des nich anno ie en Pake s has e olg im Fall de
Vo w¨
a sp opaga ion du ch das ¨
ube geo dne e, posi i anno ie e Elemen HASModel, on
dem has abh¨
ang . Im Falle de R¨
uckw¨
a sp opaga ion wi d de Zus and on has du ch Ele-
men e, die wiede um on ihm abh¨
angen, bes imm : Das unmi elba un e geo dne e Pake
emo e, eben alls posi i anno ie , ¨
uh zu eine k¨
uns lichen Posi i ie ung des nich anno-
ie en Elemen s du ch den Selek ionszus and en o ced. In beiden F¨
allen zeig de da ges ell e
Ausschni nun eine konsis en e Pake hie a chie.
Abbildung 5.8: Wiede he s ellung de Konsis enz du ch die Anwendung de P opaga ionss a egien
o wa d (links) bzw. e e se ( ech s).
5.3.2 Abbildung meh we ige Fea u es
Fea u e-Ausd ¨
ucke e lauben das Re e enzie en meh ach ins anziie ba e Fea u es du ch An-
gabe eines Index bzw. eine Wildca d, die eine ODER-Ve kn¨
up ung s¨
am liche Ins anzen des
Fea u es en sp ich ( gl. Abschni 4.4.1). Abbildung 5.9 zeig eine on de Modell alidie-
ung iden i izie e Konsis enz e le zung, die du ch das Nich o handensein eines Index bei
meh ach ins anziie ba en Fea u es en s eh .
132
5 Beispiel zu E aluie ung des Ansa zes
Abbildung 5.9: Konsis enz e le zung: Die meh ach ins anziie ba en Fea u es Keypad,Magne ic
Ca d und Finge p in Scanne kommen jeweils als Fea u e-Re e enz ohne Index au
en sp echenden DM-Elemen en zum Einsa z. Die Validie ung emp iehl den Einsa z
eines Wildca d-Symbols.
Die Au l¨
osung dieses Kon lik s oblieg dem Anwende : De Fea u e-Ausd uck soll so be ich-
ig we den, dass e sich en wede im Sinne de subjek - ode de objek bezogenen Mani es a ion
des Va iabili ¨
a sme kmals Mul iplizi ¨
a an das Fea u emodell bzw. die geladene Fea u ekon i-
gu a ion ich e . Abbildung 5.10 besch eib die He s ellung de Beziehung zum Subjek – also
dem im FM iden i izie en a iie ba en Me kmal – du ch den Einsa z des Wildca d-Symbols.
Abbildung 5.10: Wiede he s ellung de Konsis enz: Du ch Ve wendung des o geschlagenen
Wildca d-Symbols beziehen sich die be o enen Fea u e-Ausd ¨
ucke nun au alle In-
s anzen eines meh we igen Fea u es. De linke Ausschni bezieh sich au die Fea-
u ekon igu a ion HAS1, de ech e au HAS2.
5.3.3 Abh¨
angigkei en on Zus ¨
anden und T ansi ionen
Bei de Ein ¨
uh ung des Fea u emodells ( gl. Abschni 5.1.1) sowie des Mul i a ian en-
Dom¨
anenmodells (5.1.3) wu de be ei s das Zus andsdiag amm ¨
u die Klasse Mic owa eO en
sowie dessen zugeh¨
o ige Fea u es Mic owa e O en Con ol bzw. Cooldown Mode he o ge-
hoben. Nun soll gezeig we den, wie sich du ch lediglich zwei Anno a ionen eine en sp echende
Abbildung im Mapping-Modell un e Be ¨
ucksich igung de Fo de ung des Konsis enze hal s
ealisie en lassen. F¨
u die FK HAS1 en ¨
all das Fea u e Cooldown Mode, w¨
ah end es in HAS2
ealisie we den soll. Abbildung 5.11 zeig die Baum ep ¨
asen a ion des Zus andsdiag amms
im Mapping-Modell, zun¨
achs ohne Anwendung eine P opaga ionss a egie: De zus¨
a zliche
Zus and On Cooldown is mi dem en sp echenden Fea u e anno ie . Die di ek e T ansi ion
s opO en zwischen den Zus ¨
anden On Hea ing und O Closed soll bei de In eg a ion dieses
Fea u es en allen und is en sp echend mi no "Cooldown Mode" anno ie .
Die im e e enzie en SDIRL-Dokumen ( gl. Abschni 5.2) o mulie e
Abh¨
angigkei sbedingung T ansi ionS a e bewi k das En allen eine Kan e, die einen nich
exis ie enden Zus and e e enzie , sobald eine P opaga ionss a egie im Mapping-Modell
133

5 Beispiel zu E aluie ung des Ansa zes
Abbildung 5.11: Konsis enz e le zung: Ein- bzw. ausgehende T ansi ionen des Zus ands On Cooldown
h¨
a en in einem du ch HAS1 (links) besch iebenen P oduk keinen Quell- bzw. Ziel-
zus and. Die Anno a ion HAS2 ( ech s) w¨
a e in diesem Fall auch ohne Anwendung
eine P opaga ionss a egie konsis en .
eingese z wi d. En sp echend wi d beim Wiede he s ellen de Konsis enz du ch den Einsa z
de P opaga ionss a egie o wa d (s. Abbildung 5.12) de iden i izie e Abh¨
angigkei skon lik
in HAS1 du ch au oma ische Nega i ie ung des Selek ionszus ands de ein- bzw. ausgehenden
T ansi ionen s a Cooldown und inishCooldown au gel¨
os .
Abbildung 5.12: Wiede he s ellung de Konsis enz: Die p im¨
a e P opaga ionss a egie o wa d e -
zwing jeweils den Selek ionszus and supp essed ¨
u die T ansi ionen s a Cooldown
und inishCooldown in HAS1 (links). Als sekund¨
a e S a egie wu de eben alls die
Vo w¨
a sp opaga ion eingese z , um nich anno ie e Elemen e, die exis enziell on
ih e ¨
ube geo dne en Region abh¨
angen, zu posi i ie en (en o ced).
5.3.4 A ibu -abh¨
angige Ka dinali ¨
a eine Assozia ion
Eine wei e e ¨
u die E aluie ung des Ansa zes in e essan e, ep ¨
asen a i e Kons ella ion
im Beispiel-Mapping-Modell is die Klasse addOnPackage. In Abbildung 5.5 wu de die
Komposi ions-Assozia ion addOns zwischen AddOnRegis y und AddOn einge ¨
uh und be ei s
da au hingewiesen, dass die Ka dinali ¨
a des on AddOnRegis y ausgehenden Assozia ions-
endes abh¨
angig on de Mul iplizi ¨
a des Fea u es Add-on Package sein soll.
134
5 Beispiel zu E aluie ung des Ansa zes
Um dies zu ealisie en, wi d im Beispiel das implizi e abgelei e e A ibu ca dinali y
in einen A ibu -Ausd uck ( gl. Abschni 4.4.3) eines Al e na i en-Mappings ( gl. Ab-
schni 4.6.2) ¨
u das A ibu alue de die Obe g enze de Assozia ion de inie enden
ValueSpeci ica ion eingebe e . De Zusammenhang mi den um einwe ige s uk u elle
Eigenscha en konku ie enden Mappings ( gl. Abschni 4.7.5) wi d in Abbildung 5.13 deu -
lich: Das Ke n-Mapping ¨
u das A ibu alue (s. Mapping-P ope ies-Ansich ) wu de nega i
anno ie ( alse), um einem manuell e zeug en, mi dem en sp echenden Pa e n-Ausd uck
#{"Add-on Package"::ca dinali y} e sehenen Al e na i en-Mapping den Vo ang zu geben.
F¨
u die Kon igu a ion HAS1 we e de A ibu -Ausd uck zu 2 aus, da ¨
u sie zwei Ins anzen
des Me kmals Add-on Package exis ie en.
Abbildung 5.13: Einbe ung des A ibu -Ausd ucks "Add-on Package"::ca dinali y in ein al e -
na i es A ibu -Mapping, um die Ka dinali ¨
a eines Assozia ionsendes abh¨
angig on
de Fea u ekon igu a ion HAS1 zu bes immen.
Ein Wechsel zu Fea u ekon igu a ion HAS2 bewi k eine so o ige Neuauswe ung des den
A ibu we bes immenden Pa e n-Ausd ucks. Abbildung 5.14 zeig das E gebnis de en -
sp echenden Auswe ung, wiede um in de Mapping-P ope ies-Ansich : Da in HAS2 d ei In-
s anzen on Add-on Package exis ie en, e aluie das Pa e n zu 3.
Abbildung 5.14: Abbildung des Fea u e-A ibu s "Add-on Package"::ca dinali y in HAS2.
Au ¨
ahnliche Weise wi d in abgelei e en P oduk en auch de Name de Klasse
Vendo VPNConnec ionP o ide (s. Pake diag amm in Abbildung 5.3) in Abh¨
angigkei on
einem Fea u e-A ibu gese z : Das P ¨
a ix Vendo wi d hie bei du ch den im Fea u e-A ibu
Vendo P o ocol de jeweiligen FK gese z en We e se z . De hie ¨
u o gesehene, explizi e
A ibu -Ausd uck lau e :
1#{VPN:"Vendo P o ocol"}VPNConnec ionP o ide
135
5 Beispiel zu E aluie ung des Ansa zes
5.3.5 Un e b echung eine meh s u igen Ve e bungshie a chie
Das UML2-Klassendiag amm in Abbildung 5.4 s ell eine d eis u ige Ve e bungshie a chie
inne halb des Pake s has. emo e.wi i des Mul i a ian en-DM da . Diese soll nun im o -
liegenden kons uie en Beispiel ih e Anwendung in aus Su oga -Ausd ¨
ucken abglei e en
Repa a u ak ionen inden ( gl. Abschni e 4.5.5 und 4.7.1). Hie bei wi d gep ¨
u , inwie e n
Abs ac Wi iConnec o de en Subklasse Abs ac IEEE802Connec o als Obe klasse de
au un es e Ebene angesiedel en konk e en Klassen als S ell e e e e se zen kann.
Die E aluie ung soll in diesem Fall unabh¨
angig on de geladenen FK (in diesem Bei-
spiel HAS2) e olgen; hie zu wi d die mi le e Klasse mi de Kons an en alse anno-
ie ( gl. Abbildung 5.15). De de Abh¨
angigkei sde ini ion Supe Classi ie zugeh¨
o ige
Su oga -Ausd uck wi d zun¨
achs aus de SDIRL-Dekla a ion en e n , um die Auswi kun-
gen seines Fehlens zu demons ie en: Ohne ihn k¨
onn en die konk e en Klassen au g und de
Abh¨
angigkei sbedingung Supe Classi ie nich exis ie en — es komm zum In o ma ions-
e lus in abgelei e en P oduk en.
Abbildung 5.15: In o ma ions e lus du ch Un e b echung eine meh s u igen Ve e bungshie a chie
ohne den Einsa z on Su oga en. Die konk e en Klassen IEEE802 11XConnec o ,
X∈ {a, b, g}, we den au g und ih e Abh¨
angigkei on de nega i anno ie en Obe -
klasse als supp essed ma kie .
Das gegebene Mapping e le z zwa keine Konsis enzbedingungen, jedoch kann du ch die
Anwendung des im SDIRL-Dokumen ( gl. Abschni 5.2) de inie en Su oga -Ausd ucks
¨
u die Abh¨
angigkei Supe Classi ie die in de Ve e bungshie a chie au obe s e Ebe-
ne be indliche Klasse Abs ac Wi iConnec o als Su oga ungie en. Abbildung 5.16 zeig
in de Mapping-P ope ies-Ansich , dass die Mappings de zu o au g und des iden i izie en
Abh¨
angigkei skon lik s nega i ie en konk e en Klassen in ih en u sp ¨
unglichen Selek ions-
zus and ac i e zu ¨
uck e se z wu den. Zus¨
a zlich weis die Mapping-P ope ies-Ansich , die
sich au die selek ie e Gene aliza ion-Beziehung eine konk e en Klasse bezieh , au die
Ve ¨
ugba kei on Su oga en hin, die die en allene Klasse Abs ac IEEE802Connec o als
Obe klasse (gene al) e se zen k¨
onnen ( gl. n¨
achs e Abschni ).
5.3.6 Su oga e und Ausschlusskon lik e
Im le z en Absa z on Abschni 4.7.5 wu de da au eingegangen, wie im F2DMM-
Edi o Su oga e und Ausschlusskon lik e e g¨
anzend zusammenspielen k¨
onnen. De in Ab-
bildung 5.17 abgebilde e Sc eensho zeig , wie die Klasse Finge p in Iden i ica o
136
5 Beispiel zu E aluie ung des Ansa zes
Abbildung 5.16: Repa a u de un e b ochenen Ve e bungshie a chie du ch die De ini ion geeigne e
Su oga e im SDIRL-Dokumen .
du ch explizi e Nega i ie ung de en Re e enz zu Obe klasse Abs ac Iden i ica o (s.
Anno a ion alse in de Mapping-P ope ies-Ansich ) eben alls on eine Nega i ie ung
Vo w¨
a sp opaga ion be o en is : Sie be inde sich zun¨
achs im Selek ionszus and supp es-
sed.
Abbildung 5.17: In o ma ions e lus : Su oga e und Ausschlusskon lik e im Zusammenspiel.
Um die olls ¨
andige Nega i ie ung de Klasse Finge p in Iden i ica o zu e hinde n,
kann das e w¨
ahn e Zusammenspiel zwischen Su oga en und Ausschlusskon lik en ausgenu z
we den: Abbildung 5.18 bilde das als Al e na i en-Mapping manuell einge ¨
ug e Re e enz-
Mapping ¨
ube gene al zu Magne icCa dIden i ica o ab. Ohne dass ein manuelles Ein-
g ei en n¨
o ig w¨
a e, ¨
ande sich de Selek ionszus and des u sp ¨
unglichen Re e enzziels zu
su oga ed: In de P ope ies-Ansich wi d das du ch das einge ¨
ug e Al e na i en-Re e enz-
Mapping abgebilde e Elemen Magne icCa dIden i ica o als Su oga o geschlagen. Die
excludes- und o e ules-Beziehungen zu Magne icCa dIden i ica o haben sich zu o
du ch die E kennung und Au l¨
osung on Ausschlusskon lik en in Phase 0 ( gl. Abschni 4.7.3)
e geben.
137
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
Abbildung 6.1: Beispiel ¨
u die Abbildung on Fea u es in de p og ammie sp achenzen ie en
P oduk linien-En wicklungsumgebung CIDE.
Obige Abbildung zeig den Nachbau eines Teils des im o he gehenden Abschni o ge-
s ell en HAS-Beispiels in CIDE. Die syn ak ische Ko ek hei alle ablei ba en P oduk e is
siche ges ell .
Ein Ve gleich zum in diese A bei o ges ell en We kzeug is au g und des konzep io-
nellen Un e schieds zwischen den beiden Ans¨
a zen nu beding m¨
oglich. ¨
Ahnlich wie bei
F2DMM lassen sich inne halb eine G amma ik me amodellspezi ische Konsis enzbedingun-
gen o mulie en, die sich jedoch au op ionale Elemen e inne halb des abs ak en Syn axbaums
besch ¨
anken. CIDE ehl da ¨
ube hinaus ein Mechanismus zu au oma ischen Ablei ung on
Repa a u ak ionen; s a dessen wi d die Au l¨
osung on Kon lik en dem Benu ze ¨
ube lassen,
de R¨
uckmeldung om Compile ode In e p e e de jeweiligen Zielsp ache e h¨
al . Inwiewei
sich F2DMM hingegen ¨
u die P oduk linien-Modellie ung in ex uellen Sp achen eigne ,
wi d in Abschni 7.4.2 disku ie .
6.2 Ans¨
a ze ohne T ennung de Fea u e- on de Dom¨
anenmodellie ung
Alle im Folgenden o ges ell en Me hoden und We kzeuge beziehen sich wiede au die mo-
dellge iebene En wicklung on So wa ep oduk linien (MDPLE). In de Modellie ung on
So wa esys emen ha sich die Modellsp ache UML bzw. UML2 e ablie , so dass iele
Ans¨
a ze die Ve wendung des en sp echenden Me amodells zu Vo ausse zung e heben. Go-
144

6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
maa [23] und Ziadi und J´ez´equel [56] s ellen zwei Ans¨
a ze o , um P oduk linien di ek in
UML, ohne Ve wendung eines besch eibenden Fea u emodells, zu modellie en.
6.2.1 PLUS: UML-basie e SPL-En wicklung
PLUS (P oduc Line UML based So wa e enginee ing) e wei e die aus de UML bekann-
en Modellie ungsme hoden ¨
u Einzel-So wa esys eme um Konzep e und Techniken zu Be-
sch eibung on So wa ep oduk linien (SPL). Gemeinsamkei en und Un e schiede we den
hie bei im Dom¨
anenmodell selbs besch ieben [23, Kapi el 1.8]. Ein P oduk wi d demnach
du ch eine de inie e Sich au die P oduk amilie – ep ¨
asen ie du ch ein Mul i a ian en-
Dom¨
anenmodell – besch ieben. Zu De ini ion on Sich en we den aus dem objek o ien ie en
En wu bekann e Me hoden e wei e . Iden i izie e Fea u es spiegeln sich in un e schiedli-
che G anula i ¨
a im Dom¨
anenmodell wide : De Schwe punk wi d au die komponen enba-
sie e En wicklung geleg .
Mic owa eO en
<<ke nel>>
Clock
<<ke nel>>
Hea ingElemen
<<ke nel>>
Display
<<op ional>>
Lamp
<<op ional>>
Beepe
11 0..1 0..11
<<de aul >>
OneLe el
Hea ingElemen
<< a ian >>
Mul iLe en
Hea ingElemen
<<de aul >>
OneLineDisplay
<< a ian >>
Mul iLineDisplay
{mu ually exclusi e} {mu ually exclusi e}
Abbildung 6.2: Beispiel ¨
u die Ve wendung zus¨
a zliche , on PLUS de inie e , Modellie ungskon-
s uk e in einem UML-Klassendiag amm [23, Abbildung 6.3].
Abbildung 6.2 zeig ein Beispiel eines du ch PLUS-Modellie ungskons uk e ange eiche en
Klassendiag amms [23, Kapi el 6.3]. F¨
u die Anno a ion on Modell-Elemen en eine PLUS-
basie en P oduk linie sind olgende S e eo ypen43 ese ie :
•<<ke nel>>: Das Elemen muss in jedem P oduk o kommen.
•<<op ional>>: Das Elemen is op ional und komm in manchen P oduk en o .
•<<de aul >>: Das Elemen s ell den S anda d-Rep ¨
asen an en eines Va ia ionspunk s
da .
•<< a ian >>: Das Elemen s ell einen al e na i en konk e en Rep ¨
asen an en eines
Va ia ionspunk s da .
Dem PLUS-Ansa z ehl die T ennung on Fea u e- und Dom¨
anenmodellie ung: Konzep e
wie Fea u emodell ode Fea u ekon igu a ionen sind nich o gesehen. Die Besch eibung ei-
nes P oduk s e gib sich s a dessen aus eine Menge on En scheidungen zu Au l¨
osung de
43S e eo ypen sind ”sp achinh¨
a en e E wei e ungsmechanismen“, die o handene UML-Sp achelemen e du ch
Spezialisie ung mi zus¨
a zliche Funk ionali ¨
a an eiche n [32, Kapi el 5.3].
145
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
o.g. S e eo ypen. Gomaa [23] besch eib keine We kzeugun e s ¨
u zung zum Fes hal en diese
En scheidungen bzw. zu Ablei ung on P oduk en aus diesen. Vielmeh s ell PLUS eine
o melle Besch eibung dieses P ozesses da : F¨
u op ionale Elemen e muss bes imm we den,
ob sie in einem P oduk en hal en sind ode nich ; Va ia ionspunk e m¨
ussen du ch Angabe
des S anda d- ode eines de al e na i en Rep ¨
asen an en eliminie we den, um Subjek und
Objek de Va iabili ¨
a ( gl. Abschni 3.1) aneinande zu binden. Ein g¨
angiges Modell is die
Da s ellung des Va ia ionspunk es als abs ak e Klasse und die sich gegensei ig ausschließen-
den Va ian en bzw. Rep ¨
asen an en als konk e e Un e klassen.
Eine Gemeinsamkei mi dem in diese A bei o ges ell en We kzeug F2DMM is die A
und Weise de Da s ellung on Va ia ionspunk en: Diese beinhal en jeweils einen S anda d-
ep ¨
asen an en, de in F2DMM du ch ein en sp echendes Ke n-Mapping ep ¨
asen ie w¨
a e.
Al e na i en-Mappings haben ih e En sp echung im PLUS-S e eo ypen << a ian >>.
6.2.2 De Ansa z on Ziadi und J´ez´equel ¨
u die s a ische Modellie ung
Ziadi und J´ez´equel [56] besch eiben einen Modellie ungsansa z, de dem oben besch iebenen
PLUS-Ansa z in wei en Teilen ¨
ahnel : In einem UML2-P o il sind wiede um S e eo ypen
de inie , die Mul i a ian en-Modelle um In o ma ionen zu de en Va iabili ¨
a e g¨
anzen. Die
Au o en besch eiben die we kzeugges ¨
u z e Ablei ung on P oduk en aus UML2-Modellen,
n¨
amlich Klassendiag ammen (s a ische Aspek ) und Sequenzdiag ammen ( e hal ensbezoge-
ne Aspek ). Eine wei e e Gemeinsamkei zu PLUS is das Fehlen eine T ennung zwischen
Fea u e- und Dom¨
anenmodellie ung.
¨
Ahnlich wie F2DMM un e s ¨
u z de Ansa z on Ziadi und J´ez´equel eine Menge on ge-
ne ischen ode modellspezi ischen Cons ain s [56, Abschni 15.2.3], die den P ozess de P o-
duk ablei ung hinsich lich des Konsis enze hal s beein lussen. ¨
Ahnlich wie in Abschni 4.7
besch ieben e olg zun¨
achs die Iden i ika ion on Abh¨
angigkei skon lik en. Jedoch we den
keine au oma ischen Mechanismen zu Au l¨
osung solche Inkonsis enzen o ges ell : Die P o-
duk ablei ung schl¨
ag im Falle eines ode meh e e Kon lik e ehl.
Wie beim PLUS-Ansa z muss die im Mul i a ian en-Dom¨
anenmodell es gehal ene Va-
iabili ¨
a du ch eine Menge on En scheidungen eliminie we den. Im Ansa z on Ziadi und
J´ez´equel [56, Abschni 15.2.4] komm hie zu ein sog. En scheidungsmodell ( gl. engl. decision
model) zum Einsa z. Es s ell das Pendan zu den in Abschni 3.1 einge ¨
uh en Fea u ekon i-
gu a ionen da , is jedoch eben alls als UML-Klassendiag amm ealisie . Das En scheidungs-
modell implemen ie das Abs ac -Fac o y-En wu smus e [21, Abschni 3.1], indem die als
Va ia ionspunk ma kie en abs ak en Klassen du ch die jeweiligen konk e en Klassen, die
die gew¨
unsch e Va ian e implemen ie en, ins anziie we den.
Die Ablei ung kon igu ie e Dom¨
anenmodelle e olg als Modell ans o ma ion in de
M2M-Sp ache ATL44 ( gl. Abschni 2.7.1). Die o mulie en Cons ain s kommen hie bei
als Vo - bzw. Nachbedingung zum Einsa z und haben lediglich alidie enden Cha ak e .
44In [56] wi d in diesem Kon ex noch die ehemalige Bezeichnung MTL (Model T ans o ma ion Language)
e wende .
146
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
6.2.3 De PLiBS-Ansa z ¨
u die dynamische Modellie ung
Ziadi und J´ez´equel [56, Abschni 15.3] besch eiben zus¨
a zlich die Modellie ung e hal ens-
bezogene Aspek e eine P oduk amilie in UML2-Sequenzdiag ammen sowie das We kzeug
PLiBS (P oduc Line Beha io Syn hesis) [57] in einem wei e en A ikel.
Neben de Op ionali ¨
a und de Al e na i i ¨
a wi d im Kon ex de dynamischen Modellie-
ung mi de Vi uali ¨
a ein zus¨
a zliches Va iabili ¨
a sme kmal einge ¨
uh . Mi dem S e eo yp
<< i ual>> ma kie e Elemen e ungie en als Pla zhal e und k¨
onnen nach de eigen lichen
T ans o ma ion du ch p oduk spezi ische A e ak e e se z we den. Dieses Konzep is da-
du ch beg ¨
unde , dass sich So wa eme kmale in Sequenzdiag ammen au wesen lich eine e
G anula i ¨
a als beispielsweise in Klassendiag ammen niede schlagen k¨
onnen. Das En schei-
dungsmodell muss um die en sp echenden konk e en Realisie ungen on als i uell gekenn-
zeichne en Regionen e g¨
anz we den ( gl. Abbildung 6.3). W¨
ah end de T ans o ma ion e -
olg schließlich die Syn hese de du ch die Modell ans o ma ion gewonnenen P oduk e mi
den die Vi uali ¨
a eliminie enden A e ak en.
Abbildung 6.3: Die Va iabili ¨
a sme kmale Op ionali ¨
a ,Va ia ion und Vi uali ¨
a in PLiBS [56, Ab-
bildung 15.8].
Das Konzep de Vi uali ¨
a bzw. de Syn hese ¨
ahnel in gewisse Weise den in SDIRL
o mulie ba en Al e na i en ( gl. Abschni 4.6.2): Eine nega i e Anno a ion eines Ke n-
Mappings en sp ich de Dekla a ion << i ual>>. Du ch Angabe eines au die selbe Re e-
enz ode das selbe A ibu passenden, posi i anno ie en Al e na i en-Mappings kann eine
konk e e Realisie ung eingebunden und die Vi uali ¨
a schließlich au gel¨
os we den. W¨
ah end
de T ans o ma ion e olg schließlich die Syn hese.
147
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
6.3 Implizi e Abbildung on Fea u es
Die in diesem und im nach olgenden Abschni o ges ell en Ans¨
a ze sehen im Gegensa z
zu den soeben besch iebenen Me hoden und We kzeugen nich nu eine konzep ionelle, son-
de n da ¨
ube hinaus eine physische T ennung zwischen Fea u e- und Dom¨
anenmodellie ung
gem¨
aß de on Pohl u. a. [45] pos ulie en o hogonalen Va iabili ¨
a o : Die Va iabili ¨
a eine
P oduk linie wi d in einem Fea u emodell (FM) es gehal en; Die Ausp ¨
agung iden i izie e
Me kmale in einzelnen P oduk en is Inhal jeweils eine Fea u ekon igu a ion (FK).
6.3.1 MODPL
Buchmann [10, Kapi el 6] besch eib das am Leh s uhl im Rahmen des P ojek s MODPL
en wickel e We kzeug MODPLFea u ePlugin. Es e laub die Abbildung on Elemen en ei-
nes Dom¨
anenmodells au du ch Fea u ePlugin [3] besch iebene Me kmalsmodelle. Im Un e -
schied zum in diese A bei besch iebenen F2DMM-Ansa z e olg keine T ennung zwischen
Dom¨
anen- und Mapping-Modell: S¨
am liche zu Abbildung n¨
o ige In o ma ion is in de Res-
sou ce des Dom¨
anenmodells en hal en.
Die Modellie ungsumgebung Fujaba wu de zu diesem Zweck modi izie : Das zug undelie-
gende UML-Me amodell wu de du ch den be ei s im o he igen Abschni e w¨
ahn en P o-
il-Mechanismus e wei e , um einen eigenen S e eo ypen Va iableElemen zu un e s ¨
u zen.
Diese e b on de Basisklasse Elemen , die die Wu zel de Typhie a chie des Fujaba-UML-
Me amodells da s ell . De S e eo yp en h¨
al ein meh we iges A ibu (auch: Tagged Value)
id om Typ S ing ( gl. Abbildung 6.4). Es e e enzie die Bezeichne on Fea u es, die au
das en sp echende DM-Elemen gemapp we den.
<< me aclass >>
Elemen
<< s e eo ype >>
Va iableElemen
id[1..*]: S ing
Abbildung 6.4: UML-P o il zu Abbildung on Fea u es in MODPL ( gl. [10, Abbildung 6.6]).
Im Folgenden wi d au Gemeinsamkei en und Un e schiede zwischen den Modellie ungs-
ans¨
a zen und Bedienkonzep en on MODPLFea u ePlugin und F2DMM eingegangen:
Ve kn¨
up ungen on Fea u es F2DMM s ell mi de Sp ache FEL die M¨
oglichkei de
Ve kn¨
up ung on Fea u es mi beliebigen booleschen Ope a o en zu Ve ¨
ugung.
In MODPL we den mi meh e en Fea u es anno ie e Elemen e implizi mi eine
UND-Konjunk ion e kn¨
up . FEL e laub auße dem die Fo mulie ung on A ibu -
Cons ain s. Die Eindeu igkei on Fea u e-Bezeichne n wi d in beiden Ans¨
a zen si-
che ges ell .
Iden i ika ion on Konsis enz e le zungen Im F2DMM-Ansa z we den Konsis enz e le -
zungen als Ve s ¨
oße gegen Abh¨
angigkei sbedingungen iden i izie . Me amodellspezi-
ische Abh¨
angigkei en we den in de ex uellen Sp ache SDIRL o mulie . MODPL
e lang hingegen, dass die anno ie en Fea u es abh¨
angige Elemen e eine ech e Teil-
menge des Kon ex -Elemen s sind. Die Bedingungen hie zu we den als P opaga ions e-
geln in OCL o mulie . In beiden Ans¨
a zen we den Konsis enz e le zungen zun¨
achs
egis ie ; die Au l¨
osung e olg in einem wei e en Sch i .
148
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
Au l¨
osung on Konsis enz e le zungen F2DMM un e s ¨
u z die P opaga ionss a egien
Vo w¨
a s bzw. R¨
uckw¨
a s, um je einen de Selek ionszus ¨
ande des on einem Kon-
lik be o enen DM-Elemen -Paa s zu ¨
ube sch eiben. In MODPL we den nich Se-
lek ionszus ¨
ande, sonde n anno ie e Fea u es p opagie , um de o.g. Teilmengen o -
de ung ge ech zu we den. Die P opaga ion selbs is wiede um als Teil de jeweili-
gen P opaga ions egel in Ja a o mulie . Die S a egie selbs ¨
ahnel de F2DMM-
P opaga ionss a egie Vo w¨
a s. Ans elle on Su oga en e en im MODPL-Plugin
Benu ze no i ika ionen, e wa um eine un olls ¨
andige Ve e bungshie a chie wiede he -
zus ellen.
Da s ellung on abgelei e en P oduk en Beide Ans¨
a ze un e s ¨
u zen das Ablei en on kon-
igu ie en Dom¨
anenmodellen bzw. P oduk en aus eine Fea u ekon igu a ion und eine
aliden Abbildung. MODPL e laub da ¨
ube hinaus die Gene ie ung on Quell ex aus
UML-basie en P oduk en. Auße dem k¨
onnen in P oduk en o handene Elemen e in
konk e e Syn ax im Mul i a ian en-DM he o gehoben we den.
Annahmen ¨
u das Dom¨
anen-Me amodell F2DMM e leg keine lei Annahmen ¨
ube das
e wende e Dom¨
anen-Me amodell au , auße dass es au Eco e basie en muss.
Dom¨
anenspezi ische Konsis enzbedingungen we den in SDIRL o mulie . Die
MODPL-We kzeugun e s ¨
u zung is ¨
u UML2-Pake - sowie Klassendiag amme, ba-
sie end au dem Fujaba-UML-Me amodell, o gesehen. Zudem we den Fujaba-
S o ydiag amme [33] un e s ¨
u z , die das Ve hal en on UML-Ope a ionen spezi izie en
k¨
onnen.
In eg a ion in die We kzeuge de Dom¨
anenmodellie ung MODPL zeichne sich du ch en-
ge Ve zahnung de We kzeuge aus: Die Dom¨
anenmodellie ung selbs sowie die Anno a-
ion mi Fea u es e olg in einem modi izie en Fujaba-Edi o . F2DMM enn hingegen
s ik die Dom¨
anenmodellie ung on de Abbildung; hie du ch e bie e sich le z end-
lich die Da s ellung on P oduk linien in de konk e en Syn ax des Dom¨
anenmodells.
De zei wi d lediglich eine Baumansich un e s ¨
u z ( gl. auch Abschni 7.4.2).
6.4 Explizi e Abbildung on Fea u es: Mapping-Modelle
F2DMM se ialisie die zu Abbildung on Fea u e- au Dom¨
anenmodell-Elemen e no wen-
dige In o ma ion inne halb eine eigenen Ressou ce, dem Mapping-Modell. Dieses P inzip des
explizi en Mappings wi d auch on ande en MDPLE-Ans¨
a zen e olg , on denen im Fol-
genden Fea u e Mappe als konk e e Rep ¨
asen an un e such we den soll.
6.4.1 Fea u e Mappe
Das on Heiden eich u. a. [30] besch iebene Eclipse-basie e We kzeug Fea u eMappe 45 im-
plemen ie einen isuellen und in e ak i en Ansa z zu Abbildung on So wa eme kmalen
au A e ak e des Dom¨
anenmodells. Es un e s ¨
u z die Abbildung on Fea u es au DM-
Elemen e in de en konk e e (g a ische ode ex uelle ) Syn ax.
De isuelle Cha ak e des Ansa zes wi d in [29] un e dem Schlagwo ”Con olled Vi-
sualiza ion“ he o gehoben. Sog. Mapping Views e lauben die Rep ¨
asen a ion on Fea u e-
Ausd ¨
ucken du ch je eine benu ze de inie e Fa be. Die a blichen He o hebungen on DM-
45h p:// ea u emappe .o g
149

6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
Elemen en sollen Un e s ¨
u zung bei de Analyse de Abbildung bie en. Sie in eg ie en sich
in jeden GMF-basie en Edi o : In Abbildung 6.5 we den Fea u es aus dem Beispiel-Modell
aus Abschni 5 au ein Klassendiag amm abgebilde , welches wiede um mi Valky ie [11]
modellie wu de.
Abbildung 6.5: Fa bliche Visualisie ung eine Abbildung au das Beispiel-Dom¨
anenmodell mi dem
We kzeug Fea u eMappe .
Die Abbildung selbs e olg in zwei Sch i en: Zun¨
achs muss in de MappingView-Ansich
(s. Abbildung 6.6) ein Fea u e-Ausd uck e zeug we den, de au die anschließend aus-
gew¨
ahl en Elemen e des DM abgebilde wi d. Die Auswahl de DM-Elemen e kann du ch
Selek ion diese in ih e g a ischen ode ex uellen Edi o -Rep ¨
asen a ion geschehen (manu-
elle Modus). Da ¨
ube hinaus e laub ein au oma ische Modus das Mi schneiden on Ma-
nipula ionen au dem DM nach Be ¨
a igung de Reco d-Schal l¨
ache ( o ausge ¨
ull e K eis).
Nach Beendigung de ”Au nahme“ we den alle neu e zeug en Elemen e mi dem gew¨
ahl en
Fea u e-Ausd uck anno ie . Hie spiegel sich de in e ak i e Cha ak e des We kzeugs wide .
Im Folgenden sollen einige Aspek e un e such we den, um das We kzeug Fea u eMappe
on dem in diese A bei o ges ell en F2DMM-Mapping-Edi o abzug enzen:
Fea u emodellie ung Fea u eMappe de inie wie F2DMM ein eigenes Me amodell ¨
u
FM- bzw. FK-Ins anzen, welches jedoch nich die in Abschni 3.1 einge ¨
uh e
ka dinali ¨
a sbasie e Fea u emodellie ung (CBFM) un e s ¨
u z . Ein Impo on mi
pu e:: a ian s e s ell en Me kmalsbesch eibungen wi d jedoch un e s ¨
u z .
Dom¨
anenmodellie ung Wie auch F2DMM un e s ¨
u z Fea u eMappe s¨
am liche Eco e-
basie en Dom¨
anenmodelle, mi de Einsch ¨
ankung, dass diese XMI-se ialisie o -
liegen m¨
ussen. Du ch konk e e ex uelle Syn ax ep ¨
asen ie e Modelle we den du ch
EMFTex 46 un e s ¨
u z . F2DMM un e s ¨
u z das Mapping ex uell ep ¨
asen ie e Mo-
delle bishe nu in de en abs ak e Syn ax.
46Ein Rahmenwe k zu En wicklung on konk e e Syn ax ¨
u Eco e-basie e Modelle, ¨
ahnlich X ex ( gl.
Abschni 2.5). P ojek -Websi e: h p://www.em ex .o g/index.php/EMFTex .
150
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
Abbildung 6.6: Die MappingView des We kzeugs Fea u eMappe e laub die Anno a ion on DM-
Elemen en mi Fea u e-Ausd ¨
ucken be ei s bei de en E zeugung in einem au oma i-
schen sowie nach ¨
aglich einem manuellen Modus.
Fo ma und Se ialisie ung W¨
ah end F2DMM au den om EMF-Rahmenwe k be ei ges ell-
en Dese ialisie ungsmechanismus zu ¨
uckg ei und lediglich au de abs ak en Syn ax
on Dom¨
anenmodellen ope ie , un e s ¨
u z Fea u eMappe e schiedene Compose , die
die Spezi ika de Modellpe sis enz be ¨
ucksich igen. De zei we den GMF-Edi o en so-
wie EMFTex -Edi o en ¨
u EMF-Modelle on je einem Compose un e s ¨
u z .
Abbildung ¨
Ahnlich wie F2DMM e laub Fea u eMappe die Abbildung du ch beliebig e -
schach elba e Fea u e-Ausd ¨
ucke. De en abs ak e Rep ¨
asen a ion wi d jeweils in de
MappingView angezeig ; es exis ie keine ex uelle Syn ax. Auch Konzep e wie A ibu -
Cons ain s ode A ibu -Mappings ehlen, wodu ch die M¨
oglichkei en de Mani es a-
ion de Va iabili ¨
a ( gl. Abschni 3.2) im Gegensa z zu F2DMM eingesch ¨
ank sind.
Konsis enzp ¨
u ung Fea u eMappe p ¨
u zwa die be ei s e w¨
ahn en, on Heiden eich [28]
o mulie en Wohlge o m hei sbedingungen; diese haben jedoch lediglich alidie enden
Cha ak e : Ein wie in diese A bei besch iebenes Konzep zu Ablei ung on Repa a-
u ak ionen, e wa du ch P opaga ionss a egien ode Su oga e, is nich o handen.
Synch onisa ion Die Synch oni ¨
a on Dom¨
anen- und Mappingmodell wi d in Fea u eMap-
pe nu siche ges ell , solange de au oma ische Anno a ionsmodus Manipula ionen des
Anwende s am DM mi schneide . Is dies nich de Fall, we den du ch e en uelle Ma-
nipula ionen ung¨
ul ig gewo dene Mappings e s beim e neu en Laden des Modells on
de Modell alidie ung e kann und dem Anwende als Ve le zung de en sp echenden
Wohlge o m hei sbedingung47 mi ge eil . Die Au l¨
osung diese Inkonsis enzen oblieg
dem Anwende .
47MM-Exis ing-ModelElemen : Von einem Mapping ep ¨
asen ie e A e ak e des L¨
osungs aummodells (hie :
Dom¨
anenmodells) m¨
ussen exis ie en [28, Abschni 3.2].
151
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
6.5 Modellie ung au Basis posi i e Va iabili ¨
a
Alle bishe e w¨
ahn en Ans¨
a ze e olgen die Modellie ung on P oduk linien au Basis ne-
ga i e Va iabili ¨
a : Es exis ie s e s eine gemeinsame Basis — sei es ein Quell ex doku-
men im Falle on p og ammie sp achenzen ie en Ans¨
a zen ( gl. Abschni 6.1) ode ein
Mul i a ian en-Dom¨
anenmodell im Falle modellge iebene P oduk linien-Ans¨
a ze. Sie s ell
die Ve einigungsmenge alle ablei ba en P oduk e da , welche sich du ch die Menge dese-
lek ie e Dom¨
anenmodell-Elemen e bzw. Tex agmen e un e scheiden. Folglich en h¨
al kein
P oduk ein A e ak , welches nich auch Bes and eil de gemeinsamen Basis is ( gl. Abbil-
dung 6.7).
gemeinsame Basis
P oduk 1 P oduk 2
P oduk 3
P oduk 1
P oduk 2
P oduk 3
gemeinsame
Basis
Abbildung 6.7: Nega i e (links) und posi i e Va iabili ¨
a ( ech s).
Eine wei e e Klasse on Ans¨
a zen se z im Gegensa z dazu au die posi i e Va iabili ¨
a
zu Besch eibung on So wa ep oduk linien [27]. Die gemeinsame Basis is hie bei die
kleins m¨
ogliche Schni menge on in allen Mi gliede n de P oduk amilie o kommenden
A e ak en. Folglich en h¨
al jedes P oduk mindes ens die gemeinsame Basis und e wei e
sie um spezi ische A e ak e. Zu Besch eibung modellge iebene SPL au Basis posi i-
e Va iabili ¨
a eignen sich o allem die in Abschni 2.7 o ges ell en Modell-zu-Modell-
T ans o ma ionen: Die E zeugung eines P oduk s e olg du ch Anwendung eine Menge on
e wei e nden Ope a ionen au de gemeinsamen Basis. E wei e nde A e ak e we den hie zu
h¨
au ig in sepa a en Ressou cen, sog. Slices ( gl. engl. ¨
u ”Scheibe“) pe sis ie und w¨
ah end
de T ans o ma ion an die Basis gebunden.
6.5.1 MATA
Posi i e Va iabili ¨
a wi d h¨
au ig zu aspek o ien ie en Modellie ung (AOM) he angezogen:
¨
Ahnlich wie in Abschni 6.1 besch ieben, we den in P oduk en e schiedene Belange ( gl.
engl. conce ns) iden i izie . De on Whi le u. a. [54] o ges ell e SPL-Ansa z MATA (Mo-
deling Aspec s using a T ans o ma ional App oach) sieh die L¨
osung des P oblems de P o-
duk ablei ung in de Modellkomposi ion bzw. Modell usion: Ve schiedene Aspek e k¨
onnen
mi els T ans o ma ionen an ein Re e enzmodell, welches die gemeinsame Basis ep ¨
asen ie ,
gekn¨
up we den.
Die aus de aspek o ien ie en P og ammie ung (AOP) [55] bekann en Ans¨
a ze de Join-
poin s und Ad ices kommen auch bei de AOM zum Einsa z, um die T ennung on Belan-
gen zu ealisie en. W¨
ah end ein Joinpoin in de AOP eine Region im Kon oll luss eines
P og amms de inie , an welche zu Lau zei Ad ices gebunden we den, die jeweils aspek s-
pezi isches Ve hal en (z.B. Logging, Debugging) implemen ie en, we den in AOM spezielle
Modell-Elemen e als Joinpoin s ausgezeichne . Be ei s bei de Komposi ion on Modellen
we den diese mi in einbezogenen Aspek en modellie en Ad ices ange eiche .
152
6 Abg enzung zu e wand en MDPLE-Ans¨
a zen
Die Besch eibung de Ad ices – also de dem Re e enzmodell hinzuzu ¨
ugenden A e ak-
e – e olg im MATA-Ansa z dekla a i im S ile sog. a ibuie e G aph-G amma iken
(AGG). Die zu P oduk gene ie ung e wende e gleichnamige Aus ¨
uh ungsumgebung wi d
on Taen ze [49] besch ieben. ¨
Ahnlich wie die in Abschni 2.7.2 o ges ell en T ipel-G aph-
G amma iken besch eiben AGGs die Manipula ion on Modellen — jedoch als In-Place-
T ans o ma ion: Le z e e wi d au dem Re e enzmodell selbs du chge ¨
uh , olglich exis ie
nu eine einzige Modelldom¨
ane.
¨
Ahnlich wie TGGs beinhal en AGGs eine Menge on P oduk ions egeln. Au de linken
Sei e wi d ein Pa e n de inie . Kann dies au eine Region des zu manipulie enden Modells
angewende we den, i die sog. Komposi ionsspezi ika ion in K a , welche die Manipula ion
des Modells selbs besch eib . Diese kann im MATA-Ansa z in de konk e en Syn ax des
Dom¨
anenmodells de inie we den: Die Modell-S e eo ypen <<c ea e>> bzw. <<dele e>>
geben zu e zeugende bzw. zu en e nende Modella e ak e an; die Menge mi <<con ex >>
anno ie e Elemen e eine Regel de inie en hingegen de en Pa e n. Abbildung 6.8 zeig die
Anwendung eine MATA-Regel au das in de Mi e abgebilde e UML-Sequenzdiag amm. Sie
besch eib die Ein ¨
uh ung eines neuen F agmen s pa sowie zwei neue Nach ich en qund b,
sobald eine mi dem Pa e n ¨
ube eins immende Nach ich pge unden wi d.
Abbildung 6.8: Eine MATA-Regel ¨
u UML-Zus andsdiag amme [54, Abbildung 11].
MATA-Regeln we den o ih e Anwendung in aus ¨
uh ba e AGG-Regeln ¨
ube se z , die
die besch iebene Manipula ion le z lich du ch ¨
uh en. Au posi i e Va iabili ¨
a basie ende
Ans¨
a ze kennen jedoch ein P oblem: Die Reihen olge, in de die besch iebenen T ans o -
ma ionen du chge ¨
uh we den, is en scheidend. Sobald zu einem Zei punk meh e e Re-
geln anwendba sind, e l¨
au die P oduk ablei ung nich meh de e minis isch. Als L¨
osung
schlagen Jaya aman u. a. [34] die Iden i ika ion on Abh¨
angigkei en und Kon lik en zwischen
AGG-Regeln du ch Analyse k i ische Paa e (CPA, gl. engl. c i ical pai analysis) o . Die
Bes immung de endg¨
ul igen Reihen olge paa weise kon ligie ende Regeln bleib jedoch dem
Anwende ¨
ube lassen und kann bei en sp echende G ¨
oße des Re e enzmodells und Anzahl
on Ad ices beliebig komplex we den.
MATA bie e bei de Fo mulie ung on Ad ices bzw. Komposi ionsspezi ika ionen Un-
e s ¨
u zung ¨
u UML-Klassen-, Zus ands- und Sequenzdiag amme. Die zug undeliegende
Aus ¨
uh ungsumgebumg e laub jedoch die E wei e ung au s¨
am liche Eco e-basie en Me-
amodelle; die g a ische No a ion on Regeln muss jeweils en sp echend de konk e en Syn ax
neu de inie we den.
153