Model-D i en So wa e Mode niza ion
Concep -Based Enginee ing o Si ua ion-Speci ic Me hods
Ma in G iege
Facul y o Compu e Science, Elec ical Enginee ing and Ma hema ics
Pade bo n Uni e si y
Disse a ion submi ed in pa ial ul illmen
o he equi emen s o he deg ee o
Dok o de Na u wissenscha en (D . e . na .)
May 2016
Abs ac
Du ing a so wa e mode niza ion p ojec , a legacy sys em is ans e ed in o and adap ed o
a new en i onmen . A ans o ma ion me hod guides his endea o by p esc ibing ac i i ies
o pe o m o a i ac s o gene a e in o de o ealize he ansi ion. The eby, he me hod used
needs o i o he si ua ion a hand by conside ing concep ual di e ences be ween sou ce
and a ge en i onmen and by au oma ing pa s o he ans o ma ion whene e sui able.
O he wise, a dec eased so wa e quali y o inc eased e o o pe o m he ans o ma ion may
esul . Al hough a ious me hod enginee ing app oaches ha e been p oposed o suppo he
de elopmen o ans o ma ion me hods, mos o hem do no p o ide su icien lexibili y in
he de elopmen o all sho in guiding he endea o . In his hesis, we add ess his p oblem
by in oducing a si ua ional me hod enginee ing amewo k o guide he de elopmen o
si ua ion-speci ic ans o ma ion me hods. The amewo k uses a me hod base ha con ains
eusable building blocks o ans o ma ion me hods, based on p inciples om he domain o
model-d i en enginee ing. The de elopmen o a me hod is cen e ed a ound he iden i ica ion
o concep s wi hin a legacy sys em ha ep esen i s unc ionali y by abs ac ing om he
echnology-speci ic ealiza ion. Selec ing p ede ined, model-d i en ans o ma ion s a egies
o each concep enables assembling ans o ma ion me hods ha a e well-sui ed o a so wa e
mode niza ion scena io.
Zusammen assung
In einem So wa emode nisie ungsp ojek wi d ein Al sys em in eine neue Umgebung übe üh
und an diese angepass . Eine T ans o ma ionsme hode lei e dieses Un e angen an, indem sie
auszu üh ende Ak i i ä en ode zu gene ie ende A e ak e besch eib . Dabei muss die Me hode
an die P ojek si ua ion angepass sein, indem sie konzep ionelle Un e schiede zwischen de
Quell- und Zielumgebung be ücksich ig und eine Au oma isie ung e möglich . Eine nich
angepass e Me hode kann eine e inge e Quali ä des esul ie enden Sys ems ode einen
e höh en Au wand ü die T ans o ma ion zu Folge haben. Bes ehende Ansä ze zu E s ellung
on T ans o ma ionsme hoden s ellen en wede eine zu ge inge Flexibili ä in de En wicklung
be ei ode lei en diese nich aus eichend an. In diese A bei ad essie en wi dieses P oblem
du ch die De ini ion eines F amewo ks zu E s ellung si ua ionsspezi ische T ans o ma i-
onsme hoden. Dazu nu z das F amewo k eine Me hodenbasis, welche wiede e wendba e
Baus eine on T ans o ma ionsme hoden basie end au P inzipen de modellge iebenen En -
wicklung beinhal e . Im Mi elpunk de Me hodenen wicklung s eh die Iden i ika ion on
Konzep en inne halb eines Al sys ems, welche dessen Funk ionali ä ep äsen ie en und on
de echnologiespezi ischen Realisie ung abs ahie en. Die Auswahl on o de inie en, mo-
dellge iebenen T ans o ma ionss a egien ü jedes Konzep e möglich den sys ema ischen
Au bau eine Me hode ü die Mode nisie ung eines Sys ems.
Danksagung
Ich möch e mich zu alle e s bei den ielen Pe sonen bedanken, die di ek en ode indi ek en
Ein luss au die En s ehung diese A bei ha en. Ohne sie wä e diese A bei in diese Fo m
nich möglich gewesen.
Allen o an möch e ich meinem Dok o a e P o . D . G ego Engels danken. Du ch seine
in ensi e wissenscha liche Be euung übe die Jah e, die ielen Ra schläge, Diskussionen und
Denkans öße ha e die A bei maßgeblich gep äg . Gleichzei ig ha sein Auge ü das De ail und
die Fähigkei , komplexe Dinge au das Wesen liche eduzie en zu können, meine Denkweise
nachhal ig gep äg . Danken möch e ich auch D . S e an Saue und P o . D . Jü gen Ebe ü
die Diskussionen übe die A bei und ü ih e Funk ionen in de P omo ionskommission.
Die Ausa bei ung eine solchen A bei is ein meh jäh iges, ans engendes Un e angen.
Ich ha e das Glück, wäh end diese Zei o wäh ende Un e s ü zung du ch meine Familie
zu e ah en. Vo allem du ch meine kleine Familie, meine F au S e anie und unse e Toch e
Ma ie. S e i ha die ganze Zei übe zu mi gehal en, mich mo i ie und mi Rückhal gegeben,
da ü möch e ich ih on ganzem He zen danken.
Ein genauso g oße Dank geh auch an meine El e n, Sabine und Ral . Sie haben mich zu
dem gemach , de ich heu e bin und s ehen mi imme mi Ra und Ta zu Sei e. Da ü danke
ich ihnen zu ie s . Ebenso möch e ich meine Lieblingsschwes e Danika und ih em Mann Jan
ü die imme wäh ende Un e s ü zung danken. Ohne meinen Onkel, Klaus Sonnemann, wä e
diese A bei ielleich niemals zu S ande gekommen. E ha damals einen de G unds eine ü
mein S udium geleg , wo ü ich ihm dankba bin.
Diese A bei wu de in ielen Diskussionen geschä , wobei einige Pe sonen besonde s
he o zuheben sind. Mi Ma kus Klenke konn e ich einige Jah e in einem indus iellen Kon ex
eng zusammena bei en. E ha wesen lich dazu beige agen, die Ke nidee diese A bei aus-
zua bei en und umzuse zen, wo ü ich dankba bin. Genauso möch e ich S e lana A i ulina
und Masud Fazal-Baqaie danken, ü die ielen Diskussionen, die Un e s ü zung und gegensei-
ige Mo i a ion. Danken möch e ich auch meinem langjäh igen Bü okollegen Ba ı¸s Güldali,
insbesonde e ü die Ein üh ung in den wissenscha lichen Kon ex .
Ich habe das A bei sklima in de AG Engels imme als seh gu emp unden, weshalb ich
nich zule z allen meinen Kollegen danken möch e.
Table o Con en s
Lis o Figu es xiii
Lis o Tables x ii
I Founda ions and Rela ed Wo k 1
1 In oduc ion 3
1.1 So wa e T ans o ma ion Me hods . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 P oblemS a emen ............................... 9
1.3 Requi emen s.................................. 11
1.4 Solu ionConcep ................................ 12
1.5 O e iew o Publica ions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 S uc u eo hisThesis............................. 15
2 Founda ions 17
2.1 Model-D i en Enginee ing . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Me a-Objec Facili y . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.2 Model-D i en A chi ec u e . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.3 A chi ec u e-D i en Mode niza ion . . . . . . . . . . . . . . . . . . 20
2.2 Me hodEnginee ing .............................. 22
2.2.1 Si ua ional Me hod Enginee ing . . . . . . . . . . . . . . . . . . . . 23
2.2.2 So wa e and Sys ems P ocess Enginee ing Me amodel . . . . . . . . 24
2.2.3 Me amodeling Laye s . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 So wa eReenginee ing............................. 26
2.3.1 So wa e Mig a ion, T ans o ma ion & Mode niza ion . . . . . . . . 27
2.3.2 Compile ................................ 29
2.3.3 P og amming Pa adigms . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.4 Concep Modeling ........................... 32
x i Lis o Figu es
6.21 In eg a ing a agmen ed ans o ma ion me hod speci ica ion . . . . . . . . . 174
6.22
In eg a ed ho seshoe model showing me hod agmen s o he able-based
iew, a ibu e calcula ion and iew ela ion concep , speci ied in MIML . . . 176
6.23 T ans o ma ion p ocess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.24 Ins an ia ion o ool implemen a ion phase agmen s . . . . . . . . . . . . . 179
6.25 Tool implemen a ion p ocess and model ans o ma ion ules de ini ion p ocess 180
6.26
Exce p o SPEM-based ans o ma ion me hod speci ica ion ha de ines a
me hod o ans o m he unning example . . . . . . . . . . . . . . . . . . . 183
7.1
Real es a e managemen legacy sys em in he sou ce en i onmen , he ans-
o med sys em in he a ge en i onmen . . . . . . . . . . . . . . . . . . . . 192
7.2 Con igu ed concep model o he eal es a e managemen legacy sys em . . . 194
7.3 Legacy and a ge ealiza ion o he dialog low concep . . . . . . . . . . . . 195
7.4
In eg a ed ho seshoe model o he eal es a e managemen sys em o he dialog,
dialog low and business module concep s . . . . . . . . . . . . . . . . . . . 198
7.5 A chi ec u e o he gene ic ool in as uc u e . . . . . . . . . . . . . . . . . 199
7.6 Henshin model ans o ma ion ule o ex ac lows be ween dialogs . . . . . 200
7.7
Enac ing a ans o ma ion me hod o ans o m he dialog, dialog low and
business module concep s o he eal es a e managemen legacy sys em . . . . 202
7.8
Resul o a semi-au oma ic a chi ec u al es uc u ing o he eal es a e man-
agemen legacy sys em by clus e ing ela ed business modules . . . . . . . . 203
7.9
E o o ans o ming he eal es a e managemen legacy sys em, amoun o
eedback exchanged be ween in ol ed oles . . . . . . . . . . . . . . . . . . 204
7.10
Legacy epo in he de elopmen en i onmen o he sou ce en i onmen ,
ans o med epo in he de elopmen en i onmen o he a ge en i onmen 206
7.11 Con igu ed concep model o he epo s legacy sys em . . . . . . . . . . . . 208
7.12 Legacy and a ge ealiza ion o he epo layou and elemen concep s . . . . 209
7.13 In eg a ed ho seshoe model o he epo layou and epo elemen concep s 211
7.14
Enac ing a ans o ma ion me hod o ans o m he epo layou and elemen
concep s o he legacy epo . . . . . . . . . . . . . . . . . . . . . . . . . . 213
B.1 O e iew o he me hod enac men p ocess o MEFiSTo . . . . . . . . . . . 245
B.2 O e iew o he me hod de elopmen p ocess o MEFiSTo . . . . . . . . . . 246
Lis o Tables
3.1 E alua ion o selec ed me hod enginee ing app oaches agains equi emen s . 46
5.1 Schema o cha ac e ize me hod pa e ns . . . . . . . . . . . . . . . . . . . . 71
5.2 Language ans o ma ion pa e n cha ac e is ics . . . . . . . . . . . . . . . . 81
5.3 Concep ual ans o ma ion pa e n cha ac e is ics . . . . . . . . . . . . . . . 93
5.4 Reimplemen a ion pa e n cha ac e is ics . . . . . . . . . . . . . . . . . . . . 102
5.5 Code emo al pa e n cha ac e is ics . . . . . . . . . . . . . . . . . . . . . . 108
5.6 Pla o m-dependen a chi ec u e es uc u ing pa e n cha ac e is ics . . . . . 113
5.7 Language ans o ma ion-based eimplemen a ion pa e n cha ac e is ics . . . 122
5.8 Concep ecogni ion-based language ans o ma ion pa e n cha ac e is ics . . 129
6.1
T ans e ing p inciples om he domain o a chi ec u al design decisions o
hedomaino MEFiSTo ............................ 155
6.2
Ope a ions o he in eg a ion o me hod agmen s ha o igina e om di e en
me hod pa e n applica ions . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
A.1 Concep ecogni ion-based eimplemen a ion pa e n cha ac e is ics . . . . . 240
A.2
Concep ecogni ion and language ans o ma ion-based eimplemen a ion
pa e ncha ac e is ics.............................. 242
A.3 Pla o m-dependen a chi ec u e es uc u ing pa e n cha ac e is ics . . . . . 243
A.4 A chi ec u e es uc u ing pa e n cha ac e is ics . . . . . . . . . . . . . . . . 244
“The beginning is he mos impo an pa o he wo k.”
– PLATO
PART I
FOUNDATIONS AND RELATED WORK
CHAPTER 1
In oduc ion
In o ma ion sys ems ha e become a c i ical asse o mos companies as daily business o en
depends on hem. Each sys em has a li ecycle consis ing o mul iple s ages, as illus a ed in
Figu e 1.1. A e a sys em has been de eloped ini ially, i au oma ically en e s he E olu ion
s age [MD08, pp.1-3]. In his s age, i is easible o modi y he sys em in o de o emo e bugs,
imp o e non- unc ional cha ac e is ics o change i s unc ionali y due o changed equi emen s.
Jus as any hing else, in o ma ion sys ems a e aging o e ime. This aging p ocess can ha e
a ious e ec s on he sys em like i s a chi ec u al in eg i y becoming iola ed, i s documen a ion
becoming ou da ed o i s echnological en i onmen becoming obsole e. In each case, he
aging p ocess ul ima ely esul s in he loss o e ol abili y, p e en ing he modi ica ion o he
in o ma ion sys em o mee new o changed equi emen s. I he sys em is s ill aluable o
ongoing business, i has become a legacy sys em.
Ini ial
de elopmen
E olu ion
Se icing
Phaseou
Closedown
Fi s unning
e sion
Loss o
e ol abili y
Se icing
discon inued
Swi choff
Se icing pa ches
E olu ion changes
T ansi ion
Li ecycle
S age
Figu e 1.1 S aged so wa e li ecycle [RB00]
As in o ma ion sys ems becoming legacy is an es ablished p oblem, ou di e en solu ions
ha e eme ged in p ac ice [SWH10, pp.7-9]. The i s solu ion is o o e wo k he legacy sys em
o make i e ol able again. This is easible i he loss o e ol abili y is caused by he deg ada ion
4In oduc ion
o he sys em o e ime. Howe e , i is no easible i he loss o e ol abili y is caused by he
deg ada ion o he echnological en i onmen on which he legacy sys em depends on. In his
hesis, we ocus on he la e case.
The second solu ion is o ede elop he sys em om sc a ch. This solu ion can be applied i
he en i onmen o he legacy sys em became echnologically obsole e, since i enables using
s a e-o - he-a echnologies and so wa e a chi ec u es. Mos no ably, he esul ing in o ma ion
sys em can be speci ically designed o ma ch changed equi emen s, possibly ex ending beyond
he unc ionali y o he legacy sys em.
Howe e , due o he signi ican size o he in o ma ion sys ems, ede elopmen can become
ime-consuming and isky [Sne05]. The e o e, he hi d al e na i e solu ion is o buy Comme -
cial O -The-Shel (COTS) so wa e o eplace i . As e e y COTS so wa e needs o be adap ed
o ma ch indi idual equi emen s, his solu ion is sui able i he e o o cus omiza ion is
low. Howe e , i in ol es he isk o loosing undocumen ed bu business-c i ical unc ionali y
con ained in he legacy sys em du ing he ansi ion.
Fo his eason, he ou h al e na i e o mig a ing a legacy sys em o a new en i onmen is
seen as he commonsense solu ion when dealing wi h legacy sys ems [BS95, p.6]. So wa e
mig a ion is he ansi ion o a legacy sys em o a new en i onmen while e aining i s da a and
unc ionali y [Bis+99]. As in he o he solu ions, he in o ma ion sys em e-en e s he e olu ion
s age a e he ansi ion has been pe o med and he eby egains i s e ol abili y. Compa ed o
ede elopmen o he use o COTS so wa e, he in en ion is o exclude he isk o ha ing los
business-c i ical unc ionali y a e he phasing ou o he legacy sys em. This is achie ed by
sys ema ically ans o ming he sys em and he eby p ese ing i s business-c i ical pa s. Then,
a so wa e mig a ion shi s he isk o ailu e o he ans o ma ion i sel .
So wa e mode niza ion is some kind o so wa e mig a ion ha emphasizes he a emp o
adap ing he so wa e sys em o he new en i onmen . When mode nizing a legacy sys em, he
goal is no only o c ea e an execu able e sion o he sys em in he new en i onmen ha p e-
se es i s da a and unc ionali y bu also o design he sys em o he new en i onmen [Fle+07].
In his hesis, we ocus on mode nizing a he han jus mig a ing legacy sys ems. We assume
ha his is essen ial o ensu e he longe i y o he sys em.
We use a eal-wo ld mode niza ion scena io be ween pla o ms o he endo O acle
as a con inuous example, namely he ans o ma ion om O acle Fo ms o O acle ADF.
The pla o m O acle Fo ms, which o igina ed in 1981
1
, has been es ablished o enable he
de elopmen o in o ma ion sys ems ha consis o use in e aces which allow use s o in e ac
wi h an unde lying da abase. Sys ems de eloped in O acle Fo ms a e w i en in a p op ie a y
1h p://www. i adis.com/si es/de aul / iles/downloads/Kope nikus_de.pd (accessed Ma ch 22 h, 2016)
5
Fou h-Gene a ion P og amming Language (4GL) and do employ a monoli hic a chi ec u e.
An example o a sys em de eloped in O acle Fo ms can be seen in he le side o Figu e 1.2.
In he igh side o he igu e, he same use in e ace is shown in he mo e ecen pla o m
O acle ADF. O acle ADF is a amewo k ha aims o ease he de elopmen o in o ma ion
sys ems by p o iding in as uc u e se ices and co esponding de elopmen ools. Sys ems
de eloped in O acle ADF a e w i en in he objec -o ien ed p og amming language Ja a and
do employ a laye ed, se ice-o ien ed a chi ec u e. The amewo k ex ends he capabili ies
o O acle Fo ms, o example, by enabling he de elopmen o sys ems ha a e op imized o
mobile de ices. This is one o he easons why a ious companies conside ans o ming hei
O acle Fo ms-based in o ma ion sys em o O acle ADF.
Mode niza ion
Figu e 1.2 Use in e ace o he Summi applica ion, ealized in he pla o m O acle Fo ms
(le ) and in O acle ADF ( igh )
An essen ial cha ac e is ic o each so wa e mode niza ion is he in ended change o he
en i onmen [GW05]. This change can be di e se since i can a ec e e y pa o he echnical
en i onmen used by he legacy sys em, examples being he ha dwa e, ope a ing sys em o
un ime en i onmen . The change o he en i onmen hen de e mines he equi ed change ha
needs o occu in he ans o ma ion o he legacy sys em.
Fo example, a ans o ma ion om O acle Fo ms o O acle ADF will esul in a change o
he un ime en i onmen , equi ing he change o in e aces and he p og amming language
used. Ca e ully analyzing such cha ac e is ics o a so wa e mode niza ion, planning and
execu ing he ans o ma ion is he ask o a so wa e mode niza ion p ojec . Jus like so wa e
de elopmen p ojec s, so wa e mode niza ion p ojec s a e complex and he e o e need o be
ca ied ou sys ema ically. This can be achie ed by enac ing a so wa e mode niza ion me hod.
In gene al, a me hod desc ibes all ele an aspec s o guide a so wa e enginee ing endea o ,
such as a so wa e mode niza ion p ojec [ES10]. A desc ip ion comp ises ac i i ies o be
pe o med, a i ac s o be gene a ed, oles o be in ol ed, ools o be u ilized as well as
ela ion be ween hese concep s. Fo so wa e de elopmen , he Ra ional Uni ied P ocess
(RUP) [K u03] o he V-Model XT [VMXe15] a e examples o es ablished me hods ha a e
enac ed in co esponding p ojec s in o de o p o ide guidance.
6In oduc ion
Fo so wa e mode niza ion, such me hods ha e been de eloped as well, an example being
he Re e ence Mig a ion P ocess (ReMiP) [SWH10, pp.85-131]. The con en s o ReMiP ha e
been de i ed by gene alizing es ablished me hods, i can be seen as a e e ence me hod o
so wa e mode niza ion. In Figu e 1.3, an o e iew o i s co e disciplines is shown. A discipline
is a ca ego iza ion o simila con en s wi hin a me hod, e.g., ac i i ies wi h simila conce ns a e
con ained in he same discipline [OMG08a, p.161].
Requi emen s
Analysis
Legacy
Analysis Ta ge Design S a egy
Selec ion T ans o ma ion Tes Cu -O e
So wa e
T ans o ma ion
Me hod
Speci ica ion
design
in luenced by
ou come o de eloped
du ing
enac ed
du ing
A i ac
Discipline
Associa ion
Figu e 1.3 Co e disciplines o a so wa e mode niza ion me hod and hei ela ion o he
de elopmen and enac men o a ans o ma ion me hod, based on ReMiP [SWH10]
When compa ing me hods o de elop so wa e wi h me hods o mode nize legacy sys ems,
bo h ha e some disciplines in common. In bo h cases, equi emen s o he unde lying p ojec
a e analyzed, he a ge a chi ec u e o he esul ing in o ma ion sys em ge s designed and he
sys em is es ed. Bu , he e a e some disciplines ha a e speci ic o so wa e mode niza ion
me hods, such as he need o analyzing he legacy sys em, choosing a ansi ion s a egy o
pe o ming he ans o ma ion and cu -o e .
The T ans o ma ion discipline subs i u es he Implemen a ion discipline o a so wa e
de elopmen p ojec , i comp ises he use o a p e iously de eloped So wa e T ans o ma ion
Me hod. Since a so wa e mode niza ion can be seen as he sys ema ic ans o ma ion o
a i ac s ha cons i u e a legacy sys em, a so wa e ans o ma ion me hod is he pa o a
so wa e mode niza ion me hod which desc ibes how o pe o m he ans o ma ion.
1.1 So wa e T ans o ma ion Me hods
A so wa e ans o ma ion me hod speci ies o e e y pa o he legacy sys em which ac i i ies
o pe o m, oles o in ol e, ools o apply o a i ac s o gene a e in o de o ans o m
he sys em echnically. In o he wo ds, he T ans o ma ion Me hod Speci ica ion guides he
echnical ans o ma ion o a legacy sys em. Besides he ans o ma ion i sel , i can also guide
he de elopmen o ools ha a e equi ed o au oma e pa s o he ans o ma ion.
T ans o ma ion me hods ollow a so wa e ans o ma ion s a egy which desc ibes a
speci ic way o how o pe o m he ans o ma ion. Es ablished s a egies a e con e sion, eim-
1.1 So wa e T ans o ma ion Me hods 7
plemen a ion o w apping [SWH10, pp.10-13]. A con e sion s a egy in ends o au oma ically
ans o m a legacy sys em by de ining mappings be ween he p og amming languages in ol ed.
In con as , when ollowing a eimplemen a ion s a egy, a legacy sys em ge s ew i en manu-
ally by de elope s. A w apping s a egy o esees o encapsula e a sys em by using a w appe .
The w appe ac s as a connec ion poin o he legacy unc ionali y in he esul ing sys em.
Rela ed o p ocesses, ans o ma ion me hods a e ins ances o he es ablished ho seshoe
model [KWC98]. This is due o he ac ha so wa e mode niza ion is some kind o so wa e
eenginee ing, which comp ises he examina ion and al e a ion o a subjec sys em o econs i-
u e i in a new o m and he subsequen implemen a ion o he new o m [CC90]. In gene al,
eenginee ing me hods consis o he consecu i e phases Re e se Enginee ing,Res uc u ing
and Fo wa d Enginee ing which is ep esen ed by he ho seshoe model shown in Figu e 1.4.
Ac i i y
Sou ce
Code
A i ac
Legacy
Sys em
T ans o med
Sys em
Re e se Enginee ing
Fo wa d Enginee ing
Res uc u ing
Phase
Figu e 1.4 Concep ual ep esen a ion o he ho seshoe model, consis ing o he consecu i e
phases e e se enginee ing, es uc u ing and o wa d enginee ing [KWC98]
Du ing he ans o ma ion, he legacy sys em is ep esen ed by a i ac s on di e en le els
o abs ac ion, e.g., on a syn ac ical o a chi ec u al le el. Rep esen a ions on highe le els
o abs ac ion a e e e se enginee ed by enac ing ac i i ies ha apply pa sing o clus e ing
echniques. Then, he ep esen a ions a e es uc u ed o adap he sys em o he new en i on-
men , o example, by changing i s a chi ec u al s yle. Finally, o wa d enginee ing is applied
o conc e ize hem in he a ge en i onmen , possibly gene a ing unnable sou ce code.
The s anda diza ion o a i ac s used by a so wa e ans o ma ion me hod has been he
goal o he Objec Managemen G oup (OMG). Fo his pu pose, he A chi ec u e-D i en
Mode niza ion (ADM) ask o ce
2
has been es ablished which aims o apply p inciples om he
domain o Model-D i en Enginee ing (MDE) on he domain o so wa e mode niza ion. Up o
he p esen day, se e al s anda ds o hese models ha e been de ined in e ms o me amodels,
o he s a e in de elopmen .
2h p://adm.omg.o g (accessed Ma ch 22 h, 2016)
14 In oduc ion
Model-D i en
So wa e
Mode niza ion
Me hod
Enginee ing
MEFiSTo
F amewo k
O acle
Feasibili y
S udy
Componen
Reenginee ing
[GGS12]
[GS13]
[FBGS15]
[GFB15]
[GFBS16]
[G i+14]
[GSK14]
[KG14]
[DG15]
[De +16]
based on
ounda ions o
based on
ounda ions o
applies p inciples o
Founda ions
Solu ion
Concep
Applica ion o
he Solu ion
Concep
applies p inciples o
applies
[G i+16]
Tes Case
Reenginee ing
[Jo +16]
[JGY16]
Figu e 1.8 O e iew o he publica ions ela ed o his hesis
ocused on modeling, i.e., decomposing, a so wa e sys em by a se o concep s and e alua ing
he applicabili y o me hod pa e ns. In addi ion, we discussed he indings o he easibili y
s udies pe o med. In [GFB15], we discussed he sho comings o cu en me hod enginee ing
app oaches o suppo he de elopmen o ans o ma ion me hods. In addi ion, we desc ibed
how ou solu ion concep add esses hese sho comings. In [GFBS16], we desc ibed de ails o
an essen ial pa o he amewo k, namely he con en o i s me hod base. In pa icula , we
desc ibed he con ained me hod agmen s and me hod pa e ns.
The MEFiSTo amewo k was de eloped as pa o an indus ial p ojec ha was cen e ed
a ound so wa e o he endo O acle. We di ec ly applied he amewo k in his p ojec and
published he esul s. In [GSK14], we desc ibed a p ocess o semi-au oma ically es uc u e
a legacy sys em du ing i s ans o ma ion on an a chi ec u al le el. The p ocess is based on
combining hie a chical and pa i ioning clus e ing whe eby in e media e esul s a e alida ed
by sys em expe s. In [G i+14], we desc ibed a me hod o ga he eedback om so wa e
de elope s du ing a ans o ma ion o sys ema ically imp o e a de eloped ans o ma ion
me hod. In [KGB14], we desc ibed he p inciples o MEFiSTo o he O acle communi y.
We ans e ed p inciples o he de eloped solu ion concep o o he ields in which we
we e wo king. In [DG15], we mo i a ed ha he lexible de ini ion o ans o ma ion me hods
enables inc easing he longe i y o Model-In eg a ing Componen s (MoCos) [De +14]. A
MoCo is a non- edundan , eusable and execu able combina ion o logically ela ed models and
code in an in eg a ed o m whe e bo h pa s a e s o ed oge he in one componen . In [De +16],
1.6 S uc u e o his Thesis 15
we b ie ly desc ibed he ole o he MEFiSTo amewo k o ans o m exis ing componen s o
MoCos. In [Jo +16] and [JGY16], we ske ched he idea o how o pe o m he model-d i en
ans o ma ion o es cases in he con ex o a mode niza ion scena io.
1.6 S uc u e o his Thesis
An o e iew o he s uc u e o his hesis is shown in Figu e 1.9. As can be seen, he hesis is
essen ially sepa a ed in o h ee pa s, namely Founda ions and Rela ed Wo k,Solu ion Concep
and E alua ion and Conclusion.
Pa I - Founda ions and Rela ed Wo k
In oduc ion Founda ions Scena io and
Rela ed Wo k
Conclusion
O e iew
Me hod F agmen s Me hod Pa e ns Fo maliza ion
Si ua ional
Con ex
Iden i ica ion
Me hod Base
T ans o ma ion
Me hod
Cons uc ion
Tool
Implemen a ion T ans o ma ion
Me hod Enginee ing P ocess
Pa II - Solu ion Concep
Pa III - E alua ion and Conclusion
Feasibili y S udy 1:
Fo ms o ADF
Feasibili y S udy 2:
Repo s o JRepo s
Feasibili y S udies
Chp. 1 Chp. 2 Chp. 3
Chp. 4
Chp. 5
Chp. 6
Chp. 7
Chp. 8
Figu e 1.9 O e iew o he s uc u e o his hesis
In Chap e 2, we desc ibe ounda ions om di e en esea ch a eas ha a e ela ed o
he solu ion concep . In pa icula , we desc ibe ounda ions om he ields o model-d i en
enginee ing, me hod enginee ing and so wa e eenginee ing,
In Chap e 3, we in oduce ela ed wo k o his hesis. Fo his pu pose, we i s desc ibe
a mode niza ion scena io ha esul ed in he p oblem s a emen o his hesis. Based on he
16 In oduc ion
scena io, we de i e a se o equi emen s ha a solu ion concep needs o ul ill. We iden i y
and classi y exis ing app oaches and e alua e hem agains he equi emen s.
In Chap e 4, we gi e an o e iew o he solu ion concep de ined in his hesis. We
desc ibe he gene al idea o how o cons uc ans o ma ion me hods using me hod agmen s
and me hod pa e ns. We s a e a se o e alua ion c i e ia whose ul illmen we aim o discuss
by easibili y s udies and in oduce an example ha is used con inuously in he hesis.
In Chap e 5, we in oduce he i s main cons i uen o he solu ion concep , namely he
me hod base. We s a e a se o equi emen s ha he me hod base shall ul ill. The ea e , we
in oduce he con en o he me hod base, i.e., we in oduce he con ained me hod agmen s
and me hod pa e ns. Fo each pa e n, we p o ide a comp ehensi e example ha we use o
discuss he cha ac e is ics o he pa e n. Addi ionally, we desc ibe how we o malize he
con en o he me hod base and de eloped ans o ma ion me hod speci ica ions.
In Chap e 6, we in oduce he second main cons i uen o he solu ion concep , namely
he me hod enginee ing p ocess. We s a e a se o equi emen s ha he p ocess shall ul ill.
The ea e , we desc ibe he co e ac i i ies o he p ocess. We discuss he pu pose and emphases
o each ac i i y. Also, we discuss quali y cha ac e is ics o a ising a i ac s and p o ide
de ailed examples.
In Chap e 7, we desc ibe he easibili y s udies pe o med o demons a e he applicabili y
o he de eloped amewo k in p ac ice. We pe o med wo easibili y s udies in which we
ans o med eal-wo ld legacy sys ems. The sys ems di e ed in he echnologies in which hey
ha e been ealized. We use he indings o he s udies o discuss he e alua ion c i e ia ha
we e in oduced in Chap e 4.
In Chap e 8, we summa ize he main con ibu ions o his hesis. In addi ion, we desc ibe
how he solu ion concep ul ills he equi emen s ha we e in oduced in Chap e 3. Finally,
we ske ch u u e wo k by desc ibing possible enhancemen s o he MEFiSTo amewo k.
CHAPTER 2
Founda ions
In his chap e , we gi e an o e iew o ounda ions ha a e ele an o his hesis. We
classi ied hese ounda ions along he esea ch a eas ha o m he basis o he de eloped
solu ion concep , as illus a ed in Figu e 2.1. Subsequen ly, we in oduce essen ial ounda ions
o Model-D i en Enginee ing (MDE) (Sec ion 2.1), Me hod Enginee ing (Sec ion 2.2), and
So wa e Reenginee ing (Sec ion 2.3).
So wa e
Reenginee ing
Me hod
Enginee ing
MEFiSTo
Model-D i en
Enginee ing
Sec. 2.1
Sec. 2.3 Sec. 2.2
Figu e 2.1 Resea ch a eas ela ed o his hesis
2.1 Model-D i en Enginee ing
In his sec ion, we in oduce ounda ions in he a ea o Model-D i en Enginee ing (MDE).
In ui i ely, MDE is a pa adigm ha uses models as he p ima y a i ac s when pe o ming
18 Founda ions
a so wa e enginee ing ask [BCW12, pp.9-10]. We i s desc ibe he gene al p inciples o
MDE by in oducing he Me a-Objec Facili y (MOF). The ea e , we in oduce wo mani es-
a ions o MDE, namely he Model-D i en A chi ec u e (MDA) and he A chi ec u e-D i en
Mode niza ion (ADM).
2.1.1 Me a-Objec Facili y
The Me a-Objec Facili y (MOF) s anda d [OMG15a] de ined by he Objec Managemen
G oup (OMG) can be seen as a amewo k o me ada a ha has been designed o suppo
model-d i en enginee ing. In ui i ely, i enables es ablishing a laye ed a chi ec u e ha can
se e as a common basis o de elop o include models and modeling languages. A MOF-based
a chi ec u e can consis o an in ini e amoun o so-called me amodeling laye s, while a leas
wo a e equi ed. In p ac ice, i is common o use ou laye s as shown in Figu e 2.2.
M0 Laye M1 Laye M2 Laye M3 Laye
Me a-
me amodel
Me amodel
Model
Real Wo ld
Objec s
call_ o m()
name : S ing
Func ionCallExp ession
Class A ibu e
Class
Ins ance-O
Ins ance-O Ins ance-O
Ins ance-O Ins ance-O
Ins ance-O
Figu e 2.2 Exempla y Me a-Objec Facili y-based a chi ec u e, based on [BCW12, p.14]
On he M0 Laye a he bo om o Figu e 2.2, objec s o he eal wo ld eside. These a e he
objec s ha we aim o desc ibe by a model. In his example, ex ual sou ce code is shown. The
sou ce code ep esen s he in oca ion o a unc ion called call_ o m.
On he M1 Laye , models o eal wo ld objec s eside. A model is associa ed wi h
h ee cha ac e is ics: i should be a ep esen a ion o some hing exis ing in he eal wo ld
(Mapping), while only ep esen ing ce ain aspec s (Reduc ion) ha a e ele an o an in-
ended goal (P agma ism) [S a73]. In his example, we model he unc ion in oca ion as a
Func ionCallExp ession which has a name.
To exp ess such a model, we need an associa ed modeling language. Such a language
esides on he M2 Laye as a Me amodel. A me amodel de ines concep s (as me amodel
classes) ha shall be ep esen ed, ela ionships be ween hese concep s and possibly logical
2.1 Model-D i en Enginee ing 19
asse ions [BG01]. Exis ing gene al-pu pose modeling languages o which me amodels
a e a ailable a e, o example, he Uni ied Modeling Language (UML) [OMG15b] o he
Knowledge Disco e y Me amodel (KDM) [OMG11b]. Howe e , modeling languages can also
be (sel -)de ined o a speci ic domain o con ex . Such a language is called a Domain-Speci ic
Language (DSL). In he example, he
Func ionCallExp ession
is an ins ance o he
Class
concep , while i s name is an ins ance o an associa ed A ibu e.
We also need a modeling language o exp ess a me amodel. This is he ole o a Me a-
me amodel, which esides on he M3 Laye . The MOF s anda d [OMG15a] de ines such a
sel -desc ibing language which, among o he hings, de ines he concep o a
Class
. The
Eclipse Modeling F amewo k (EMF)
1
p o ides an implemen a ion o a pa o he MOF
s anda d. The co esponding me amodel is called ECo e2.
2.1.2 Model-D i en A chi ec u e
The Model-D i en A chi ec u e (MDA) ollows he MDE pa adigm and was p oposed by he
OMG [OMG14]. In pa icula , MDA de ines a Model-D i en De elopmen (MDD) p ocess o
so wa e sys ems. An o e iew o his p ocess can be seen in Figu e 2.3.
The gene al idea o MDA is o dis inguish se e al abs ac ion le els on which di e en
ypes o models eside. Fo each ype o model, me amodels a e p oposed by he OMG. S a ing
on a high-le el o abs ac ion, he abs ac ion le el is s epwise and sys ema ically lowe ed un il
he sou ce code o he so wa e sys em can be de i ed. The ansi ion om one model o
ano he is ealized by model ans o ma ions. Finally, a code gene a o is used o gene a e he
sou ce code o he sys em.
ACompu a ion-Independen Model (CIM) desc ibes he so wa e sys em o de elop, inde-
penden o i s echnical ealiza ion [BCW12, pp.40-41]. This comp ises, o example, modeling
equi emen s o business p ocesses. The de i ed Pla o m-Independen Model (PIM) desc ibes
he echnical ealiza ion o he sys em, independen o a speci ic pla o m, i.e., echnology. This
comp ises, o example, he so wa e a chi ec u e o he sys em o i s deploymen . Subsequen ly,
he PIM is ans o med in o a Pla o m-Speci ic Model (PSM) which ep esen s he sys em
using echnology-speci ic de ails. By sepa a ing pla o m-independen and pla o m-speci ic
ep esen a ions, PSMs o di e en echnologies can be de i ed om a single PIM. The PSM
should desc ibe he sys em in su icien echnical de ail, so ha code can be gene a ed. The eby,
he code can ei he be gene a ed comple ely, o pa ially. The la e case equi es ha so wa e
de elope s comple e he gene a ed code.
1h ps://eclipse.o g/modeling/em / (accessed Ma ch 22 h, 2016)
2h p://download.eclipse.o g/modeling/em /em /ja adoc?o g/eclipse/em /eco e/package-summa y.h ml (accessed Ma ch 22 h, 2016)
20 Founda ions
Sys em
Laye
Pla o m-Independen
Design
Compu a ion-
Independen
Model
Sou ce Code
Pla o m-
Independen
Model
Pla o m-Speci ic
Model
Pla o m-
Speci ic
Laye
Pla o m-
Independen
Laye
Compu a ion-
Independen
Laye
Pla o m-Speci ic
Design
Implemen a ion
Model o Tex
T ans o ma ion
Model
T ans o ma ion
Model
Sou ce
Code
Figu e 2.3 A i ac s and abs ac-
ion le els o he Model-D i en
A chi ec u e [BCW12, p.41]
Sys em
Laye
Legacy
Sou ce Code
Pla o m-
Speci ic
Laye
Pla o m-
Independen
Laye
Compu a ion-
Independen
Laye
Model om/ o Tex
T ans o ma ion
Model
T ans o ma ion
Me amodel
Sou ce
Code
T ans o med
Sou ce Code
Knowledge Disco e y
Me amodel
(KDM)
S uc u ed Me ics
Me amodel
(SMM)
Abs ac Syn ax T ee
Me amodel
(ASTM)
Seman ics O Business
Vocabula y And Rules
(SBVR)
Business P ocess Model
and No a ion
(BPMN)
Figu e 2.4 Modeling languages (exce p ) and abs ac-
ion le els o he A chi ec u e-D i en Mode niza ion,
based on [PCDGP11] and [BCW12, pp.45-47]
2.1.3 A chi ec u e-D i en Mode niza ion
The A chi ec u e-D i en Mode niza ion (ADM) also ollows he MDE pa adigm and was
p oposed by he OMG, mo e speci ically, by he A chi ec u e-D i en Mode niza ion Task Fo ce
(ADMTF)
3
[UN10]. Howe e , i canno be applied o de elop new so wa e sys ems bu o
mode nize exis ing ones. An o e iew o he ADM pa adigm can be seen in Figu e 2.4.
The gene al idea o ADM is o dis inguish se e al le els o abs ac ions which can be
aligned wi h he ones o he MDA [BCW12, pp.45-47]. Fo each le el, he OMG p oposes
a ious s anda ds like he Abs ac Syn ax T ee Me amodel (ASTM) o he Knowledge Dis-
co e y Me amodel (KDM) [PCDGP11]. Based on his con ex , a ans o ma ion me hod (c .
Sec ion 2.3.1) shall be enac ed ha spans o e he p oposed abs ac ion le els o ans o m he
exis ing Legacy Sou ce Code in o he desi ed T ans o med Sou ce Code.
Fo his pu pose, he ADMTF discusses he possible implica ions when using he p oposed
abs ac ion le els [UN10, pp.18-19]. Fo example, solely using he pla o m-speci ic laye
enables a physical ans o ma ion bu p e en s subs an ial changes o he sys em. Such kind o
changes, i.e., changing he a chi ec u e o he sys em o e en i s equi emen s, equi es using
3h p://adm.omg.o g (accessed Ma ch 22 h, 2016)
2.1 Model-D i en Enginee ing 21
highe le els o abs ac ion. Howe e , he speci ica ion o a p ecise ans o ma ion me hod, i.e.,
which a i ac s o gene a e o ac i i ies o enac , is missing [BR15, p.140]. In ac , e en he
ela ion be ween p oposed s anda ds is no well-de ined [DLGB12].
Subsequen ly, we p o ide addi ional de ails abou wo me amodels p oposed by he ADMTF
ha a e used wi hin his hesis, namely ASTM and KDM.
Abs ac Syn ax T ee Me amodel
The Abs ac Syn ax T ee Me amodel (ASTM) [OMG11a] is a me amodel ha enables modeling
he Abs ac Syn ax G aph (ASG) o sou ce code (c . Sec ion 2.3.4). An example o he in ended
use o he ASTM can be seen in Figu e 2.5.
Gene ic Abs ac Syn ax T ee
Me amodel (GASTM)
Speci ic Abs ac Syn ax
T ee Me amodel (SASTM)
Me amodel Class Inhe i ance
GASTMSyn axObjec
name : S ing
Commen : S ing
Di y : Boolean
Block
GASTMObjec
name : S ing
Commen : S ing
Di y : Boolean
T igge
name : S ing
lib a yLoca ion : S ing
PlsqlModule
Compila ionUni
Sou ceFile
GASTMSou ceObjec
Figu e 2.5 Abs ac Syn ax T ee Me a-
model, based on [OMG11a]
Co e
KDM
Sou ce
Abs ac ions
Laye
Run ime
Resou ce
Laye
P og am
Elemen s
Laye
In as uc u e
Laye
Code Ac ions
Da a E en UI Pla o m
Concep ual Build S uc u e
Laye Sou ce
Package
Figu e 2.6 Packages and laye s o he Knowledge
Disco e y Me amodel, based on [OMG11b]
The gene al idea o ASTM is o dis inguish di e en ypes o me amodels, whe eby wo o
hem a e ele an o his hesis. On he one hand, he p o ided speci ica ion de ines a Gene ic
Abs ac Syn ax T ee Me amodel (GASTM). This me amodel p o ides means o model gene ic
language cons uc s ha a e common o p og amming languages, an exce p can be seen in he
uppe pa o Figu e 2.5. Fo example, a
Compila ionUni
is an en i y ha con ains sou ce
code, while a GASTMSyn axObjec ep esen s a syn ac ic elemen .
On he o he hand, i is o eseen o de ine a Specialized Abs ac Syn ax T ee Me amodel
(SASTM). This me amodel shall ex end he GASTM and ep esen a speci ic p og amming
22 Founda ions
language. Howe e , such a me amodel is no de ined wi hin he speci ica ion bu needs o be
sel -de ined. An exce p o an SASTM o he p og amming language o O acle Fo ms can be
seen in he lowe pa o Figu e 2.5. The SASTM de ines he syn ac ic elemen s o
Blocks
and
T igge s as well as he PlsqlModule which ac s as a con aine o PL/SQL sou ce code.
Knowledge Disco e y Me amodel
The Knowledge Disco e y Me amodel (KDM) [OMG11b] is a me amodel ha enables he
in eg a ed modeling o in o ma ion abou a so wa e sys em on a ious le els o abs ac ion.
An o e iew o he packages and laye s de ined wi hin he KDM can be seen in Figu e 2.6.
The lowes laye o abs ac ion, i.e., he In as uc u e Laye , se es wo pu poses: Fi s , he
packages called Co e and KDM de ine common me amodel classes ha a e used wi hin o he
packages. Among o he hings, hese elemen s p o ide an ex ension and anno a ion mechanism.
Second, he Sou ce package es ablishes he link o he so wa e sys em ha shall be modeled
by p o iding means o desc ibe i s a i ac s, like i s di ec o ies o sou ce code iles.
The packages o he P og am Elemen s Laye can be used o model a de ailed ep esen a ion
o he sou ce code. Howe e , while ASTM p o ides means o model he de ails o single
language elemen s, KDM is ocused on modeling he con ol and da a low (c . Sec ion 2.3.4).
In his sense, ASTM and KDM complemen each o he . Howe e , he ela ion be ween hese
me amodels is no well-de ined [DLGB12].
The packages o he emaining laye s can be used o model in o ma ion ha a e usually
only implici ly isible by he sou ce code. On he one hand, he Run ime Resou ce Laye co e s
in o ma ion whose ex ac ion usually equi es knowledge o he un ime, e.g., e en -based
s a es o he sys em o he s uc u e o use in e aces. On he o he hand, he Abs ac ions
Laye co e s in o ma ion whose ex ac ion usually equi es knowledge o he domain, e.g.,
business ules o he a chi ec u e o he sys em.
2.2 Me hod Enginee ing
In his sec ion, we in oduce ounda ions in he a ea o me hod enginee ing which is he
discipline o sys ema ically de elop o adap me hods [B i96]. The pu pose o a me hod is o
guide a complex so wa e enginee ing endea o , like he de elopmen o a so wa e sys em
o i s ans o ma ion. A me hod desc ibes his endea o by speci ying he ac i i ies o enac ,
a i ac s o gene a e, ools o use o oles o in ol e [ES10]. In ui i ely, a me hod is a guideline
o he endea o . As he e m o a me hod is a cen al one in his hesis, we de ine i as ollows:
2.2 Me hod Enginee ing 23
No a ion 1 (Me hod)
A me hod is a desc ip ion o how o sys ema ically pe o m an endea o . This comp ises a
p ocess and i s con ained ac i i ies, a i ac s, oles, ools and ela ionships be ween hese
elemen s on a ying le els o g anula i y.
Subsequen ly, we i s desc ibe a speci ic mani es a ion o me hod enginee ing, namely
Si ua ional Me hod Enginee ing (SME). The ea e , we in oduce he So wa e and Sys ems
P ocess Enginee ing Me amodel (SPEM) [OMG08a] which can be used o o mally speci y
me hods. In he end, we desc ibe he use o me amodeling in he con ex o me hod enginee ing
and discuss di e ences o MDE.
2.2.1 Si ua ional Me hod Enginee ing
Si ua ional Me hod Enginee ing (SME) is a kind o me hod enginee ing which encompasses all
aspec s o c ea ing a me hod o a speci ic si ua ion [HS+14, p.5]. In ui i ely, app oaches ha
ollow he SME pa adigm conside he si ua ional con ex in which a me hod will be applied
du ing he de elopmen o he me hod. Due o his, he me hod can be adap ed o he con ex
and is hen called si ua ion-speci ic.
An SME app oach can be ealized in a ious ways, a gene al classi ica ion is desc ibed in
Sec ion 3.3.1. Fo his hesis, he class o app oaches ha enable he modula cons uc ion
o si ua ion-speci ic me hods is pa icula ly impo an . Those app oaches usually de ine wo
essen ial cons i uen s as shown in Figu e 1.7 on page 12. On he one hand, a me hod base is
p o ided which cons i u es a eposi o y ha con ains eusable building blocks o me hods. On
he o he hand, a me hod enginee ing p ocess is de ined o sys ema ically cons uc a me hod.
The building blocks o me hods a e called me hod pa s, whe eby di e en ypes can be
dis inguished. Common examples a e me hod agmen s,me hod chunks o me hod compo-
nen s [HS+14, pp.38-45]. A me hod agmen can be seen as an a omic building block o a
me hod, while chunks as well as componen s agg ega e mul iple agmen s. In his hesis, we
ocus on using me hod agmen s as building blocks and de ine hem as ollows:
No a ion 2 (Me hod F agmen )
A me hod agmen is a eusable, a omic building block o a me hod, i.e., a single ac i i y,
a i ac , ole o ool.
De eloping a comple e me hod by solely using me hod agmen s is a cumbe some ask, as
me hods can become la ge in p ac ice. One way o add ess his p oblem is o use la ge me hod
pa s han me hod agmen s. This inc eases he e iciency o he me hod de elopmen as ewe
30 Founda ions
o ope a o s. Based on his Token S eam, he Abs ac Syn ax T ee (AST) is cons uc ed du ing
he Syn ax Analysis ac i i y by a pa se . The Seman ic Analysis u ns he AST in o an Abs ac
Syn ax G aph (ASG).
The ASG se es as inpu o he (op ional) middle-end. This phase is esponsible o
ans o ming he sou ce language in o a so-called in e media e language (In e media e Lan-
guage Gene a ion) which is op imized subsequen ly (Machine-Independen Op imiza ion). The
use o an in e media e language is mo i a ed by he ac ha i enables using di e en on
and back-ends, i.e., i enables suppo ing di e en p og amming languages while eusing he
middle-end. Possible op imiza ions encompass he elimina ion o edundancy o dead code.
The las phase o a compile is called he back-end. I is esponsible o gene a ing he a ge
p og am. Fi s , Code Gene a ion is pe o med o ans o m he in e media e ep esen a ion
in o sou ce code o he a ge en i onmen . The ea e , en i onmen -speci ic op imiza ions a e
pe o med on he esul ing code.
As Abs ac Syn ax T ees (ASTs) and Abs ac Syn ax G aphs (ASGs) ep esen da a
s uc u es ha a e o en used by examples in his hesis, we desc ibe hem in mo e de ail.
Abs ac Syn ax T ees and G aphs
An AST esul s om pe o ming a Lexical & Syn ax Analysis on sou ce code. The pu pose
o hese ac i i ies is wo old [Aho+06, pp.5-8]. On he one hand, he syn ac ical consis ency
wi h he language de ini ion is e i ied, i.e., i is ensu ed ha he sou ce code con o ms o
he g amma o he p og amming language. On he o he hand, he in o ma ion ga he ed
du ing his ac i i y is pe sis ed in he o m o an AST. An abs ac syn ax ee is a ee-
based da a s uc u e o ep esen sou ce code which consis s o nodes and edges. The nodes
ep esen syn ac ic en i ies, i.e., p og amming concep s (c . Sec ion 2.3.4), o he unde lying
p og amming language. In ui i ely, an AST only p ese es he logical in o ma ion o he sou ce
code [KNE92]. In pa icula , i does no include addi ional in o ma ion ha is used o inc ease
he eadabili y o he code o assis pa sing, like b acke s, keywo ds o inden a ions.
An example o sou ce code and i s co esponding abs ac syn ax ee is shown in Fig-
u e 2.10. The sou ce code consis s o a single s a emen in which a unc ion named
call_ o m
o he un ime en i onmen is in oked. The eby, he alue
en al_con ac
is passed as an
a gumen . The lowe AST ep esen s he sou ce code, while he uppe AST ep esen s he
un ime en i onmen , i.e., he unc ion ha ge s in oked. As can be seen, he essen ial logical
in o ma ion ep esen ed by he sou ce code and he un ime en i onmen is cap u ed by he
ASTs. Howe e , b acke s o keywo ds a e los . No e ha he dashed edges do no belong o he
AST, as an AST only consis s o nodes and edges ha o m a ee. Edges belonging o he AST
a e also called syn ac ic edges [KGW98].
2.3 So wa e Reenginee ing 31
The dashed edges esul om pe o ming a Seman ic Analysis. The pu pose o his ac i i y
is wo old [Aho+06, p.8]. On he one hand, he seman ical consis ency wi h he language
de ini ion is e i ied, e.g., i is checked ha each a iable used has also been de ined. On he
o he hand, he in o ma ion ga he ed du ing his ac i i y is pe sis ed in he o m o an ASG. An
ASG is an AST which is ex ended by seman ic edges [KGW98], making i a (cyclic) g aph.
These edges hold addi ional in o ma ion ela ed o he syn ac ic elemen s used. In he example,
he edges associa e he in oca ion o he un ime unc ion wi h hei co esponding de ini ion.
2.3.3 P og amming Pa adigms
A p og amming pa adigm e e s o a way o p og amming a compu e based on a se o
p inciples [VR09]. Examples o pa adigms a e objec -o ien a ion,concu en p og amming
o unc ional p og amming. The eason o he a ie y o pa adigms lies in he ac ha some
pa adigms a e be e sui ed o sol ing pa icula compu a ional p oblems han o he s. The eby,
a p og amming language can ealize one o mul iple p og amming pa adigms, e.g., Ja a is an
objec -o ien ed language ha enables concu en p og amming.
The examples used in his hesis o en discuss he challenges ha a ise when changing
he p og amming pa adigms du ing a so wa e mode niza ion. In pa icula , we ocus on
wo pa adigms, namely impe a i e and decla a i e p og amming. In ui i ely, in impe a i e
p og amming, a p og amme speci ies how o pe o m a compu a ional ask by speci ying single
ac ions, i.e., by desc ibing wha o do. In con as , in decla a i e p og amming, a p og amme
speci ies wha shall happen wi hou desc ibing how. To gi e an idea o he di e ence be ween
hese wo pa adigms, we gi e an example by Figu es 2.11 and 2.12. The example demons a es
in which way he same unc ionali y can be ealized by using he di e en pa adigms.
The example shows he ealiza ion o a ibu e alida ion ules. The eby, an a ibu e e e s
o a ield wi hin a da a se whose alue shall be alida ed. In he example, he alue o he
ields
da e_shipped
and
da e_o de ed
a e compa ed o alida e ha a good was no shipped
be o e i has been o de ed.
In Figu e 2.11, he unc ionali y is ealized impe a i ely in O acle Fo ms, mo e speci ically,
by a code block w i en in he p og amming language PL/SQL. The block ge s execu ed by he
un ime en i onmen whene e he co esponding da a se shall be alida ed. The alida ion is
ealized by desc ibing single ac ions, i.e., by speci ying how o pe o m he alida ion. Fi s , he
condi ion o he
IF
-s a emen checks whe he
da e_shipped
is smalle han
da e_o de ed
,
i.e., whe he a p oduc is shipped be o e i has been o de ed. I his is he case, a message is
shown and an e o is aised.
In Figu e 2.12, he same unc ionali y is ealized decla a i ely in O acle ADF. In his
en i onmen a language is p o ided ha enables speci ying alida ion ules. Due o ha , he
32 Founda ions
Figu e 2.11 Impe a i e ealiza ion o a ibu e
alida ion ules in O acle Fo ms
Figu e 2.12 Decla a i e ealiza ion o a -
ibu e alida ion ules in O acle ADF
alida ion can be ealized by desc ibing he condi ion ha shall be ensu ed and he message
ha shall be displayed in case o an e o , wi hou desc ibing he ac ions o pe o m. He e, he
unde lying pla o m is esponsible o pe o ming he equi ed ac ions o alida e he condi ion.
In he edi o shown, i is speci ied ha he a ibu e
Da eShipped
shall be
G ea e O EqualTo
he a ibu e
Da eO de ed
. Al hough no shown, he message ha is shown in case he
alida ion ails can be speci ied in he egis e called Failu e Handling.
2.3.4 Concep Modeling
Concep modeling is a echnique ha was in oduced in [KNE92] o ep esen a so wa e sys em
by a se o concep s. The eby, each concep belongs o a pa icula le el o abs ac ion and
e e s o a speci ic pa o he so wa e sys em‘s sou ce code. The gene al idea o concep
modeling is illus a ed in he le side o Figu e 2.13. A conc e e example is shown in he igh
side o he igu e, based on he sou ce code depic ed in Figu e 2.10 on page 29.
The M1 Laye is shown in he uppe pa o Figu e 2.13, on which concep s a e modeled (c .
Sec ion 2.1.1). On he M0 Laye below, ins ances o he concep s wi hin he ac ual so wa e
sys em can be iden i ied. Essen ially, we dis inguish be ween wo classes o concep s, namely
language concep s and abs ac concep s.
On he lowes le el o abs ac ion, language concep s eside. A language concep ep esen s
a syn ac ic en i y de ined by a co esponding p og amming language. The e o e, ins ances
o language concep s a e nodes wi hin an AST (c . Sec ion 2.3.2) and can be au oma ically
2.3 So wa e Reenginee ing 33
M2 Laye M1 Laye
:L3 :L4
:L5
:L10:L6
:L6
:L1
:L14
:L5
:L9
:P4
:P2
:L6
:L12
:L7
:L11
:P3
:L13:L12
:Func ionCallExp ession
:ByValueAc ual
Pa ame e Exp ession
:S ingLi e al
Value = “ en al_con ac “
:Iden i ie Re e ence
Model
Abs ac
Syn ax T ee
:L1
Language
Concep
Ins ance
:P1
P og amming
Concep
Ins ance
compo-
si ion
is-a
consis s-o
P1
P og amming
Concep
P2P3
P1 L1
L3 L4
L2
L6
Ins ance-
O
L7
L1
Language
Concep
UIFlow
ASTNode
Func ionCallExp ession
S ingLi e al
:UIFlow
Figu e 2.13 Rep esen ing a so wa e sys em as a se o concep s (le ), example ( igh )
iden i ied by a pa se . Examples o language concep s a e
Func ionCallExp ession
o
S ingLi e al. In his hesis, we de ine hem as ollows:
No a ion 8 (Language Concep )
A language concep is a syn ac ic en i y o a p og amming language.
Abs ac concep s eside on highe le els o abs ac ion. They ep esen a gene al idea o
a compu a ion o p oblem sol ing p inciple [KNE92]. The eby, hey a e no associa ed o a
speci ic p og amming language bu ep esen language-independen p inciples. In his hesis,
we de ine an abs ac concep as ollows:
No a ion 9 (Abs ac Concep )
An abs ac concep ep esen s a language-independen idea o a compu a ion o p oblem
sol ing p inciple.
Abs ac concep s can be u he classi ied in o p og amming concep s and a chi ec u al
concep s. A p og amming concep ep esen s gene al p og amming s a egies, da a s uc u es o
algo i hms [KNE92]. An example o a p og amming concep is he
UIFlow
which ep esen s
he na iga ion be ween use in e aces. While he ealiza ion o such na iga ion lows depends
34 Founda ions
on he p og amming language used (e.g., by using a
Func ionCallExp ession
), i is a
language-independen p inciple. In his hesis, we de ine a p og amming concep as ollows:
No a ion 10 (P og amming Concep )
A p og amming concep is an abs ac concep and ep esen s gene al p og amming
s a egies, da a s uc u es o algo i hms.
An a chi ec u al concep ep esen s componen s o in e aces ha eside wi hin a so wa e
sys em [KNE92]. In con as o p og amming concep s, hey do no ep esen some unc ion-
ali y o he sys em bu ocus on desc ibing i s o e all s uc u e. In his hesis, we de ine an
a chi ec u al concep as ollows:
No a ion 11 (A chi ec u al Concep )
An a chi ec u al concep is an abs ac concep and ep esen s componen s o in e aces.
Concep s can be ela ed o each o he by ela ions. In his hesis, we ocus on wo ypes
o ela ions, namely is-a and consis s-o ela ions. The is-a ela ion can be used o exp ess a
hie a chy be ween concep s. In ui i ely, i concep
L3
is-a concep
L2
, hen
L3
is a sub-concep
o L2. Fo example, a Func ionCallExp ession is a sub-concep o ASTNode.
The consis s-o ela ion can be used o exp ess dependencies be ween concep s. In ui i ely,
i he iden i ica ion o a concep equi es iden i ying o he s i s , hen ha concep consis s o
he o he s. Speci ying such dependencies is essen ial o (au oma ically) iden i y an ins ance
o a concep wi hin a so wa e sys em, bu no su icien . In addi ion, i is equi ed o speci y
cons ain s be ween dependen concep s, e.g., in e ms o da a o con ol low ela ions. Fo
example, a
UIFlow
consis s-o a
Func ionCallExp ession
, an
Iden i ie Re e ence
, a
ByValueAc ualPa ame e Exp ession
and a
S ingLi e al
, as illus a ed in he igh side
o Figu e 2.13. The
S ingLi e al
encodes he a ge o he na iga ion low and needs o be
a descendan o he Func ionCallExp ession wi hin he AST.
CHAPTER 3
Scena io and Rela ed Wo k
In his chap e , we gi e an o e iew o he ela ed wo k o his hesis. Fo his pu pose, we
i s desc ibe a eal-wo ld mode niza ion scena io in Sec ion 3.1 ha esul ed in he p oblem
s a emen add essed by his hesis. Based on his scena io, we de i e a se o equi emen s
which a solu ion concep need o ul ill in Sec ion 3.2. We iden i y and classi y ela ed wo k in
Sec ion 3.3 and e alua e i agains he equi emen s. The indings o his chap e a e summa ized
in Sec ion 3.4.
3.1 Mode niza ion Scena io
The p oblem s a emen o his hesis (c . Sec ion 1.2) o igina ed om a eal-wo ld mode n-
iza ion scena io ha we obse ed in an indus ial con ex . In his con ex , he p oblem o
ans o ming legacy sys ems ha we e de eloped based on he pla o m o O acle Fo ms was
add essed. While O acle Fo ms had a la ge and ac i e ins alla ion base, a ious companies
we e unsa is ied wi h he capabili ies o he pla o m. Fo example, O acle Fo ms did no enable
o op imize applica ions o mobile de ices. Since, his became an impo an equi emen o e
ime, Fo ms-based sys ems we e conside ed o be legacy. One solu ion o his p oblem was o
ans o m hose sys ems o he mo e ecen pla o m called O acle ADF.
While O acle i sel ecognized he desi e o cus ome s o ans o m Fo ms-based sys ems o
ADF, i did no p o ide a ool-suppo ed ans o ma ion me hod o guide his endea o [O a12].
Since he e was no ans o ma ion me hod a ailable, cus ome s ha wan ed o mode nize hei
sys ems needed o de elop a me hod o hei si ua ion a hand. Howe e , due o missing
knowledge o how o de elop a si ua ion-speci ic ans o ma ion me hod, we obse ed ha
companies s a ed ede eloping hei sys ems om sc a ch, ins ead.
36 Scena io and Rela ed Wo k
The solu ion concep p o ided by his hesis shall add ess his p oblem, i.e., guide he
de elopmen o si ua ion-speci ic ans o ma ion me hods in o de o ans o m Fo ms-based
sys ems o ADF. Howe e , we obse ed ha companies which used O acle Fo ms we e o en
acing addi ional en i onmen al changes. Fo example, ano he pla o m called O acle Repo s
was egula ly used in combina ion wi h O acle Fo ms o au oma ically gene a e epo s. Since
i was desi ed o ans o m sys ems based on his pla o m, oo, he solu ion concep needs o be
gene ic. Ne e heless, we use he ans o ma ion om Fo ms o ADF as a unning example o
his hesis. Fo his eason, we in oduce bo h pla o ms in mo e de ail subsequen ly, whe eby
we ocus on hei so wa e a chi ec u e.
3.1.1 O acle Fo ms
O acle Fo ms is a pla o m o de elop en e p ise applica ions ha consis o a se o dialogs. A
dialog ep esen s a use in e ace ha enables a use o in e ac wi h an unde lying da a sou ce.
In his way, i suppo s he use in pe o ming an unde lying business asks. An example o
such a dialog can be seen in he le side o Figu e 1.2 on page 5. Those dialogs a e de ined
decla a i ely by a p op ie a y Fou h-Gene a ion P og amming Language (4GL) as well as by
using impe a i e PL/SQL sou ce code. The so wa e a chi ec u e o an O acle Fo ms-based
sys em can be seen in he le side o Figu e 3.1.
The a chi ec u e o Fo ms-based sys ems can be desc ibed by ie s and laye s [Fow02, p.19]
as well as componen s. Tie s desc ibes a physical sepa a ion, i.e., a ie ep esen s a dis inc
de ice on which componen s can be execu ed. In con as , laye s desc ibe a logical sepa a ion,
i.e., a laye ep esen s a dis inc conce n ha is add essed by con ained componen s. Taken
oge he , hese componen s ealize he unc ionali y o he legacy sys em.
Usually h ee ie s a e used by O acle Fo ms-based sys ems, namely a Clien Tie , a Middle
Tie and a Da abase Tie . On he clien ie , i.e., he end use ‘s de ice, he P esen a ion Laye
is loca ed. The co esponding componen is p o ided by he pla o m and esponsible o
ende ing he use in e ace o he sys em and p ocessing use in e ac ion. I beha es like a hin
clien as p ocessing is mos ly limi ed o o wa ding he in e ac ion e en s o he middle ie .
The ac ual sou ce iles ha o m he Fo ms-based sys em a e execu ed on he middle
ie , i.e., on an applica ion se e . While a ious componen s a e loca ed on his ie , hey
canno be classi ied in o dis inc conce ns, i.e., laye s. Fo example, he PL/SQL engine
componen execu es impe a i e sou ce code blocks. Howe e , he sou ce code can be used o
di e en pu poses, e.g., o alida e da a, o eac on sys em e en s o o adap he use in e ace.
The e o e, he middle ie can be seen as monoli hic, i.e., i only consis s o a single laye .
1Based on h p://de.slidesha e.ne /o acle_imc_ eam/o acle- o ms-mode niza ion-s a egies (accessed Ma ch 22 h, 2016)
3.1 Mode niza ion Scena io 37
Model
Laye
Reco d Manage
Block
Ja a UI Rende e
SQL In e ace
PL/SQL engine
Model
Laye
Da a
Se ices
A chi ec u al
Laye
A chi ec u al
Componen
use
SQL In e ace
Reco d Manage
Block Da a De ini ion
Da a Logic
Block UI De ini ion
Ja a UI Rende e
UI Logic
In e p e a ion
Middle
Tie
Clien
Tie
Se e
Tie Da abase
Middle
Tie
Clien
Tie
Da abase
Clien
Tie
A chi ec u al
Tie
Da abase
Tie
Monoli hic
Laye
P esen a ion
Laye
Pe sis ence
Laye
View
Laye
Pe sis ence
Laye
Con olle
Laye
Na iga ion Logic
Figu e 3.1 A chi ec u e o O acle Fo ms-based sys ems (le ), in e p e ed as Model-View-
Con olle (MVC) a chi ec u e ( igh )1
On he da abase ie , i.e., he backend se e , he Pe sis ence Laye is loca ed. On his laye
aDa abase is execu ed ha enables s o ing and e ie ing he pe sis en da a o he applica ion.
Besides da a se s, execu able p og ams can also be de ined he e in e ms o s o ed p ocedu es
2
.
Rela ed o he mode niza ion scena io conside ed, we assume ha we do no change he
con en o he da abase ie , i.e., he da abase. In addi ion, we neglec he hin componen o he
clien ie as i jus ende s he use in e ace. Ins ead, ou ocus lies on ans o ming he con en
o he middle ie , i.e., he ac ual legacy sys em. One o he challenges o he ans o ma ion lies
in he ac ha sys ems in he a ge en i onmen O acle ADF possess a Model-View-Con olle
(MVC) a chi ec u e. The esul o in e p e ing he a chi ec u e o Fo ms-based sys ems as an
MVC a chi ec u e can be seen in he igh side o Figu e 3.1.
In an MVC a chi ec u e, componen s a e sepa a ed in o h ee laye s [Bus+96, pp.125-143].
The Model laye con ains hose componen s ha p o ide co e da a and associa ed unc ionali y.
Componen s o he View laye display in o ma ion o a use while componen s o he Con olle
laye p ocess use in e ac ion. Aligning he monoli hic a chi ec u e o O acle Fo ms wi h he
MVC a chi ec u e equi es b eaking up exis ing componen s. Fo example, he PL/SQL engine
execu es sou ce code o di e en conce ns. These conce ns need o be sepa a ed, i.e., UI Logic,
Na iga ion Logic and Da a Logic needs o be dis inguished.
2h ps://docs.o acle.com/cd/B28359_01/appde .111/b28843/ dddg_p ocedu es.h m (accessed Ma ch 22 h, 2016)
38 Scena io and Rela ed Wo k
3.1.2 O acle ADF
O acle ADF is a pla o m o de elop en e p ise applica ions based on Ja a EE s anda ds. I
p o ides a se o in as uc u e se ices o ease he de elopmen and is no es ic ed o a
speci ic echnology. Ra he , a choice be ween di e en echnologies exis s on a ious laye s.
The so wa e a chi ec u e o an O acle ADF-based sys em can be seen in Figu e 3.2.
ADF Desk op
In eg a ion ADF Faces
Da a Se ices
View
Laye
Model
Laye
A chi ec u al
Laye
use
Da abase
Tie
Clien
Tie
Middle
Tie
Da a
Se ices
A chi ec u al
Componen
Clien
Tie
A chi ec u al
Tie
Me ada a Se ices (MDS)
ADF Secu i y
Pe sis ence
Laye
ADF Con olle Con olle
Laye
ADF Business Componen s
ADF Model
Model
Laye
Figu e 3.2 Model-View-Con olle (MVC) a chi ec u e o O acle ADF-based sys ems3
As can be seen, ADF-based sys ems usually use he same h ee ie s as Fo ms-based
sys ems. Howe e , in e ms o laye s, O acle ADF ollows an MVC a chi ec u e by design.
The componen s shown a e jus examples and can be exchanged as desi ed. Fo example,
he ADF Business Componen s ep esen one way o connec o ex e nal da a sou ces and
o p o ide access o hese da a sou ces wi hin he model laye . An al e na i e would be o
use a sel -de eloped, Ja a-based da abase connec ion ins ead. No e ha some c oss-cu ing
componen s exis , i.e., componen s ha a e p esen on all laye s. They p o ide c oss-cu ing
unc ionali y, i.e., secu i y o mul i-language suppo .
This concludes he desc ip ion o he mode niza ion scena io, he pla o ms o Fo ms
and ADF as well as hei di e ences on he a chi ec u al le el. Subsequen ly, we use he
mode niza ion scena io o de i e a se o equi emen s o he solu ion concep o his hesis.
3Based on h p://docs.o acle.com/middlewa e/1221/ad /concep s/GUID-422ED063-2643-4F8D-B4BB-A8FA4C8CF536.h m (accessed
Ma ch 22 h, 2016)
3.2 Requi emen s 39
3.2 Requi emen s
In his sec ion, we discuss challenges ela ed o he de ini ion o a ans o ma ion me hod
ha a ise due o he mode niza ion scena io desc ibed in he p e ious sec ion. Based on
hese challenges, we de i e a se o equi emen s ha any me hod enginee ing app oach needs
o ul ill in o de o suppo he de ini ion o ans o ma ion me hods in he con ex o he
mode niza ion scena io. We classi y he equi emen s in o ou ca ego ies, namely Con olled
Flexibili y,Adap abili y,Tooling as well as Fo maliza ion.
Con olled Flexibili y
The ac ha no ans o ma ion me hod was a ailable in he i s place was he main p oblem
o he mode niza ion scena io desc ibed. In addi ion, no me hod enginee ing app oach could
be used o de elop a me hod o he si ua ion a hand. The eason o his is ha exis ing
app oaches p o ided a low deg ee o lexibili y [HBO94]. In ui i ely, his essen ial cha ac e -
is ic o a me hod enginee ing app oach de e mines he deg ee o eedom gi en du ing he
de elopmen o a me hod o adap he me hod o a p e ailing si ua ion. To add ess his p oblem,
Requi emen 1 claims ha he solu ion concep shall p o ide a high deg ee o lexibili y.
Requi emen 1 (Flexibili y)
The me hod enginee ing app oach shall p o ide a high deg ee o lexibili y.
Ne e heless, some me hod enginee ing app oaches p o ided a high deg ee o lexibili y. As
an edge case, conside he de elopmen o a ans o ma ion me hod om sc a ch which p o ides
he highes deg ee o lexibili y possible. Howe e , such app oaches we e no applicable in he
mode niza ion scena io, as hey p o ided a low deg ee o con ol [HBO94]. In ui i ely, his
essen ial cha ac e is ic o a me hod enginee ing app oach de e mines he deg ee o guidance
gi en du ing he de elopmen o he me hod. Wi hou such guidance, i is no possible o ensu e
he esul o he de elopmen , e.g., he co ec ness o quali y o he me hod. To add ess his
p oblem, Requi emen 2 claims ha he solu ion concep shall p o ide a high deg ee o con ol.
Requi emen 2 (Con ol)
The me hod enginee ing app oach shall p o ide a high deg ee o con ol.
Adap abili y
Me hod enginee ing app oaches can suppo speci ic en i onmen al changes. Fo example,
ela ed o he mode niza ion scena io, an ob ious solu ion would be o de ine a me hod
46 Scena io and Rela ed Wo k
Fixed Con igu a ion Selec ion Tailo ing Cons uc ion
ID Requi emen Senso ia
[MH11]
ARTIST
[Men+14]
SOA-MF
[RL15]
ReMiP
[SWH10] MEFiSTo
Con olled Flexibili y
RQ1 The me hod enginee ing
app oach shall p o ide a high
deg ee o lexibili y
6O O 4 4
RQ2 The me hod enginee ing
app oach shall p o ide a high
deg ee o con ol
4 4 4 6 4
Adap abili y
RQ3
The de elopmen o
ans o ma ion me hods shall
no be limi ed o a speci ic
en i onmen al change
6 6 6 4 4
RQ4
The de elopmen o
ans o ma ion me hods shall
no be limi ed o a speci ic le el
o g anula i y
6 4 O4 4
RQ5
The de elopmen o
ans o ma ion me hods shall
no be limi ed o a speci ic
ans o ma ion s a egy
6 4 O4 4
Tooling
RQ6 The use o ools du ing he
enac men o he ans o ma ion
me hod shall be guided
4 4 O O 4
Fo maliza ion
RQ7 De eloped ans o ma ion
me hods shall be speci ied
o mally
6 4 O4 4
Table 3.1 E alua ion o selec ed me hod enginee ing app oaches agains equi emen s
Requi emen 1 & 2
We al eady discussed in de ail in Sec ion 3.3.1 ha none o he ap-
p oaches p o ides a su icien deg ee o Flexibili y and Con ol a he same ime. Fixed me hods
like Senso ia lack lexibili y bu p o ide con ol, while he opposi e is ue o ailo ing-based
app oaches (c . Figu e 3.3).
The solu ion concep o his hesis, i.e., he Me hod Enginee ing F amewo k o Si ua ion-
Speci ic So wa e T ans o ma ion Me hods (MEFiSTo) (c . Sec ion 4.1), ul ills bo h e-
qui emen s as i is a cons uc ion-based app oach. T ans o ma ion me hods a e de eloped
in a modula way by assembling p ede ined building blocks. The endea o is guided by a
co esponding me hod enginee ing p ocess.
Requi emen 3
Gene ali y can be achie ed i he eusable me hod o me hod building blocks
p o ided by a me hod enginee ing app oach a e no a uned o a speci ic en i onmen al change.
This is only he case o he ReMiP app oach as i de ines a gene ic ans o ma ion me hod. All
3.3 Rela ed Wo k 47
o he app oaches ocus on a speci ic en i onmen al change, like he ans o ma ion o a SOA
(Senso ia,SOA-MF) o o a cloud (ARTIST) en i onmen .
In MEFiSTo, his equi emen is add essed by he me hod base, i.e., he eposi o y ha
con ains he eusable building blocks o ans o ma ion me hods. The con en o his eposi o y
was designed o be independen o a speci ic en i onmen al change o echnology (c . Sec-
ions 5.3 and 5.4).
Requi emen 4
Va ying he G anula i y o he de eloped me hod can be achie ed by a ious
means. One way is o explici ly o esee an adap a ion o he g anula i y du ing he de elopmen
o a me hod as pa o he me hod enginee ing p ocess. Ano he way is o o malize he me hod
in a language ha enables e inemen . Fo example, he g anula i y o SPEM-based me hod
speci ica ions can be adap ed e oac i ely. ARTIST and ReMiP ollow he la e app oach. In
con as , Senso ia does no o esee an adap a ion o he g anula i y and, as he me hod is no
speci ied o mally, i is also no suppo ed by he speci ica ion language. In SOA-MF, whe he
an adap a ion o he g anula i y is possible depends on which me hod ge s selec ed.
In MEFiSTo, his equi emen is add essed in wo ways. On he one hand, he me hod
enginee ing p ocess explici ly o esees o speci y a decomposi ion o he legacy sys em o
ans o m by so called concep s (c . Sec ion 6.3.1), whe eby he g anula i y can be a ied. The
decomposi ion has a di ec in luence on he g anula i y o he esul ing ans o ma ion me hod.
On he o he hand, me hods a e o malized by using SPEM which suppo s e inemen .
Requi emen 5 Ve sa ili y can be achie ed by enabling o combine mul iple ans o ma ion
s a egies wi hin he esul ing me hod. ARTIST and ReMiP bo h combine di e en s a egies
like con e sion and eimplemen a ion. In con as , Senso ia only o esees a con e sion o he
legacy sys em. In SOA-MF, he s a egy again depends on which me hod ge s selec ed.
In MEFiSTo, his equi emen is add essed by he me hod base, i.e., he eposi o y ha
con ains he eusable building blocks o ans o ma ion me hod. These building blocks can be
used o speci y ans o ma ion me hods ha ollow a con e sion and/o eimplemen a ion-based
s a egy (c . Sec ion 5.3).
Requi emen 6
Con inui y can be achie ed by a ious means. One way is o explici ly
p o ide a se o ools along wi h he me hod enginee ing app oach. These ools should be
aligned wi h he esul ing me hod, so ha hey a e di ec ly applicable. Ano he way is o guide
he de elopmen o equi ed ools as pa o he app oach. ARTIST ollows he o me app oach,
i.e., i p o ides a se o ools
4
.Senso ia and ReMiP ollow he la e app oach by speci ying he
capabili ies o equi ed ools. Howe e , while Senso ia desc ibes he equi ed ools in g ea
de ail, e.g., by speci ying echnologies, me amodels o model ans o ma ions, ReMiP does
4h ps://gi hub.com/a is -p ojec / (accessed Ma ch 22 h, 2016)
48 Scena io and Rela ed Wo k
no p o ide many de ails. In SOA-MF, whe he he use o a ool is guided, o no , depends on
which me hod ge s selec ed.
In MEFiSTo, his equi emen is add essed in wo ways. On he one hand, i is explici ly
o eseen ha a de eloped ans o ma ion me hod speci ies how o de elop equi ed ools
(c . Sec ion 5.4). On he o he hand, he de elopmen shall be based on an associa ed, gene ic
ool in as uc u e (c . Sec ion 6.5).
Requi emen 7
Fo maliza ion can be achie ed by speci ying he esul ing me hod o mally.
Fo example, a me amodel like SPEM can be used o his pu pose (c . Sec ion 2.2.2). ARTIST
and ReMiP bo h use SPEM o o mally speci y he p oposed me hods. In con as , Senso ia
does no p o ide a o mal desc ip ion. In SOA-MF, whe he he esul ing me hod is desc ibed
o mally, o no , depends on which me hod ge s selec ed.
In MEFiSTo, each de eloped ans o ma ion me hod is speci ied o mally (c . Sec ion 5.7).
Fi s , he MEFiSTo In e media e Modeling Language (MIML) is used du ing he de elopmen
o he me hod. When he de elopmen o a me hod is comple ed, he MIML-based speci ica ion
ge s au oma ically ans o med in o a SPEM-based speci ica ion.
3.4 Summa y
In his hesis, we aim o p o ide a solu ion concep o a p oblem s a emen ha o igina ed
om a eal-wo ld mode niza ion scena io. In his chap e , we in oduced ha scena io and
de i ed co esponding equi emen s. We in oduced ela ed wo k, i.e. we in oduced exis ing
app oaches ha could ha e been applied in he mode niza ion scena io and e alua ed hem
agains he equi emen s. We concluded ha exis ing app oaches ha e a ious sho comings
and discussed how hey a e add essed by he solu ion concep o his hesis.
Fi s , we in oduced he mode niza ion scena io o his hesis in Sec ion 3.1. We desc ibed
he si ua ion ha a ious companies ace in p ac ice, i.e., he desi e o ans o m O acle Fo ms-
based sys ems o O acle ADF. We desc ibed bo h en i onmen s on an a chi ec u al le el and
desc ibed hei di e ences.
In Sec ion 3.2, we discussed a se o challenges ha a ise due o he conside ed mode n-
iza ion scena io. Based on hese challenges, we de i ed a se o equi emen s ha a solu ion
concep needs o ul ill in o de o be applicable in he mode niza ion scena io.
In Sec ion 3.3, we in oduced ela ed wo k o his hesis. In pa icula , we in oduced and
classi ied exis ing si ua ional me hod enginee ing app oaches and eenginee ing amewo ks
ha could ha e been applied in he mode niza ion scena io. We e alua ed hem agains
he iden i ied equi emen s and concluded ha a ious sho comings exis . In addi ion, we
discussed how he solu ion concep o his hesis add esses he equi emen s.
“We canno sol e ou p oblems wi h he same hinking
we used when we c ea ed hem.”
– ALBERT EINSTEIN
PART II
SOLUTION CONCEPT
CHAPTER 4
O e iew
In he p e ious chap e , we iden i ied ha s a e-o - he-a app oaches ail o p o ide su icien
con olled lexibili y in he de elopmen o ans o ma ion me hods. In his chap e , we gi e
an o e iew o he solu ion concep which add esses his issue. Fi s , we explain he gene al
idea o he solu ion concep and gi e an o e iew o i s main cons i uen s in Sec ion 4.1. In
Chap e s 5 and 6, hese cons i uen s a e e isi ed and discussed in mo e de ail. In Sec ion 4.2,
we s a e a se o e alua ion c i e ia ela ed o he solu ion concep whose ul illmen we aim o
discuss by he easibili y s udies desc ibed in Chap e 7. In Sec ion 4.3, we in oduce a legacy
sys em which ac s as a unning example h oughou he hesis. Finally, he indings o his
chap e a e summa ized in Sec ion 4.4.
4.1 The MEFiSTo F amewo k
To enable he modula cons uc ion o si ua ion-speci ic so wa e ans o ma ion me hods,
we p opose a me hod enginee ing amewo k called MEFiSTo. Compa ed o s a e-o - he-
a app oaches o de elop me hods, he amewo k p o ides a highe deg ee o con olled
lexibili y. I consis s o wo main cons i uen s: a me hod base ha p o ides building blocks o
assemble ans o ma ion me hods and a co esponding me hod enginee ing p ocess ha guides
he de elopmen and enac men o si ua ion-speci ic me hods. Subsequen ly, we i s desc ibe
he pu pose and con en o he me hod base o explain he gene al idea o how ans o ma ion
me hods a e cons uc ed using he amewo k. Then, we gi e an o e iew o he co esponding
me hod enginee ing p ocess o he amewo k. In he end o his sec ion, we discuss he design
a ionale o he main cons i uen s o MEFiSTo.
52 O e iew
4.1.1 Me hod Base
The MEFiSTo amewo k is a Si ua ional Me hod Enginee ing (SME) amewo k. SME is an
es ablished enginee ing discipline o de elop si ua ion-speci ic me hods (c . Sec ion 2.2.1) by
conside ing he si ua ional con ex in which he me hod will be applied. Rela ed o he domain
o so wa e mode niza ion, his con ex consis s o he cha ac e is ics o he legacy sys em, he
in ended a ge design and he cha ac e is ics o he mode niza ion p ojec .
The dis inguishing cha ac e is ic be ween SME app oaches is he deg ee o con olled
lexibili y hey p o ide. In ui i ely, lexibili y e e s o he deg ee o eedom o adap a me hod
o he si ua ion a hand, while con ol e e s o he deg ee o guidance gi en o his endea o .
In Sec ion 3.3.1, di e en classes o SME app oaches and hei deg ee o con olled lexibili y
ha e been in oduced. Rela ed o his classi ica ion, he MEFiSTo amewo k belongs o he
class o app oaches ha enable he modula cons uc ion o ans o ma ion me hods. These
kinds o app oaches p o ide a high deg ee o con olled lexibili y as me hods a e de eloped by
assembling eusable building blocks o me hods. Such building blocks a e s o ed in a eposi o y
called a me hod base [B i96]. In he case o MEFiSTo, we use wo di e en ypes o building
blocks, namely me hod agmen s and me hod pa e ns. These cons i uen s o he me hod base
can be seen in he uppe pa o Figu e 4.1.
In his hesis, a me hod agmen is de ined as an a omic cons i uen o a me hod, i.e., a
single ac i i y, a i ac , ole o ool (c . Sec ion 2.2.1). The agmen s p oposed in his hesis
a e cons i uen s o ans o ma ion me hods. Solely using he p oposed me hod agmen s would
p o ide a high deg ee o lexibili y, as ans o ma ion me hods could be eely assembled om
hem. Howe e , we aim o con olled lexibili y, i.e., we wan o make su e ha he assembled
me hod possesses desi ed p ope ies. Fo example, we wan o ensu e ha a ans o ma ion
me hod can ac ually be used o ans o m he legacy sys em on which i is applied. Then, a
necessa y p e equisi e is ha a consis en pa h s a ing om he sou ce code o he legacy
sys em o he esul ing ans o med sou ce code needs o be speci ied. Such me hodological
knowledge is encoded by he me hod pa e ns ha a e also con ained in he me hod base.
In ui i ely, he pa e ns ep esen ans o ma ion s a egies by desc ibing cons ain s o e he
me hod agmen s, e.g., by de ining which one o use and how o o de hem.
The guidance p o ided by he me hod base in he de elopmen o ans o ma ion me hods
is es ic ed o he s uc u e o he me hod speci ica ion o de elop. To guide he de elopmen
i sel , we addi ionally p o ide a co esponding me hod enginee ing p ocess. In MEFiSTo, he
de elopmen o a me hod can be seen as being pa e n-based. The idea is o i s (I) selec a
me hod pa e n ha i s he si ua ional-con ex obse ed. The pa e n (II) hen de e mines he
me hod agmen s o be cus omized. This is exempli ied in he lowe pa o Figu e 4.1.
4.1 The MEFiSTo F amewo k 53
Selec ion o
Me hod Pa e n
Me hod F agmen s
Model
Disco e y
Me hod Pa e ns
Me hod Base
Cus omiza ion o
Me hod F agmen s
T ans o ma ion Me hod Speci ica ion
PL/SQL
Pla o m-
Speci ic Model
Ja a Pla o m-
Speci ic Model
PL/SQL
Sou ce Code
Ja a Sou ce
Code
T ans o med
Pla o m-
Speci ic Model
T ans o med
Sou ce Code
Code
Gene a ion
Language
T ans o ma ion
III
Ja a Code
Gene a ion
PL/SQL
Disco e y
PL/SQL o Ja a
T ans o ma ion
Legacy
Pla o m-
Speci ic
Model
Legacy
Sou ce
Code Re-
implemen a ion
Language
T ans o ma ion
Concep ual
T ans o ma ion
Figu e 4.1 Pa e n-based de elopmen o ans o ma ion me hods
To ge an in ui i e idea o he pa e n-based de elopmen p ocess, conside a scena io
in which he sou ce and a ge en i onmen use di e en p og amming languages, e.g., a
ans o ma ion om PL/SQL sou ce code o Ja a sou ce code needs o be pe o med. In
addi ion, a high deg ee o au oma ion is equi ed as he legacy sys em consis s o millions o
lines o code. Fi s (I), we selec a me hod pa e n based on he iden i ied si ua ional con ex .
He e, we choose he Language T ans o ma ion pa e n. As i encodes a con e sion-based
ans o ma ion by pe o ming au oma ed ans o ma ions be ween he in ol ed a i ac s, we
assume i o be a good i o he obse ed con ex . Second (II), we cus omize he me hod
agmen s as de e mined by he pa e n. In his example, he pa e n p esc ibes o s a wi h he
Legacy Sou ce Code a i ac , which ge s cus omized o a PL/SQL Sou ce Code a i ac . In his
way, we end up wi h a si ua ion-speci ic ans o ma ion me hod speci ica ion.
A de ailed desc ip ion o he p oposed me hod base and i s con en is gi en in Chap e 5. In
he nex sec ion, we gi e a mo e de ailed o e iew o he p oposed ac i i ies ha make up he
me hod enginee ing p ocess.
54 O e iew
4.1.2 Me hod Enginee ing P ocess
The me hod enginee ing p ocess ha is pa o he MEFiSTo amewo k desc ibes he ac i i ies
and ela ed s eps necessa y in o de o de elop and enac a si ua ion-speci ic ans o ma ion
me hod. An o e iew o he co e ac i i ies o he p ocess and i s ela ion o he p oposed
me hod base is shown in Figu e 4.2.
Con e ed
Sou ce
Code
Legacy
Sou ce
Code
Si ua ional Con ex Iden i ica ion T ans o ma ion Me hod Cons uc ion
Tool Implemen a ionT ans o ma ion
Si ua ion-Speci ic
Tool Chain
Si ua ion-Speci ic
T ans o ma ion
Me hod Speci ica ion
Si ua ional
Con ex Model
Me amodel
M2M
T ans o med
Sou ce
Code
Me hod F agmen s
Model
Disco e y
A chi ec u e
Res uc u ing
Me hod Pa e ns
Sou ce
Code
L-PSM
F-PIM
Me hod Base
Tool
De elope s
So wa e
De elope s
Monoli h
Laye 1
Laye 2
Laye 3
Legacy
Sou ce
Code
T ans o med
Sou ce
Code
Legacy
Sou ce
Code
Legacy
Sou ce
Code
Legacy
Sou ce
Code
Legacy
Sou ce
Code
Legacy
Sou ce
Code
Mode niza ion
Expe and
Tool Specialis
Me hod De elopmen
Me hod Enac men
Sec. 6.6 Sec. 6.5
Sec. 6.3 Sec. 6.4
Sec.
5.3 & 5.4
Sys em
Expe s
Sec.
5.5 & 5.6
Mode niza ion
Expe and
Tool Specialis
Figu e 4.2 O e iew o he MEFiSTo amewo k
The Legacy Sou ce Code o he sys em o be ans o med is an essen ial inpu a i ac o
he me hod enginee ing p ocess. By enac ing he p ocess, i will become T ans o med Sou ce
Code, which cons i u es he ans o med sys em in he new en i onmen . The p ocess i sel
4.1 The MEFiSTo F amewo k 55
can be sepa a ed in o wo disciplines, namely Me hod De elopmen and Me hod Enac men .
By pe o ming ac i i ies o he o me discipline, a si ua ion-speci ic ans o ma ion me hod
ge s de eloped. The de eloped me hod is hen pe o med by ac i i ies o he la e discipline
o ac ually ans o m he legacy sys em. As can be seen in he igu e, he ansi ion be ween
ac i i ies o bo h disciplines is associa ed wi h he low o a Si ua ion-Speci ic T ans o ma ion
Me hod Speci ica ion, which is a desc ip ion o he de eloped me hod. Subsequen ly, we b ie ly
desc ibe he pu pose o he ou co e ac i i ies.
De eloping a si ua ion-speci ic ans o ma ion me hod essen ially equi es knowledge o he
si ua ional con ex , as i is a p e equisi e o pe o m in o med decisions du ing he de elopmen .
Fo example, i is equi ed o ha e knowledge abou he cha ac e is ics o he legacy sys em
and he a ge design. Sys ema ically disco e ing his con ex is he pu pose o he Si ua ional
Con ex Iden i ica ion ac i i y, i is desc ibed in de ail in Sec ion 6.3.
The si ua ional con ex iden i ied enables pe o ming in o med decisions in he cons uc ion
o a ans o ma ion me hod. As MEFiSTo ollows a pa e n-based de elopmen (see 4.1.1), his
essen ially encompasses selec ing me hod pa e ns and cus omizing me hod agmen s. The
pu pose o he T ans o ma ion Me hod Cons uc ion is o guide ha endea o , i is desc ibed in
de ail in Sec ion 6.4
Ideally, ans o ma ion me hods employ a high deg ee o con e sion, in o de o educe he
o e all e o and a oid e o s ha could esul due o manual in e ac ions [SWH10, p.131].
The e o e, o e e y speci ied ac i i y ha shall ei he be pe o med au oma ically o semi-
au oma ically, a co esponding ool as pa o an in eg a ed ool chain needs o be implemen ed.
This is pe o med as pa o he Tool Implemen a ion ac i i y. In Sec ion 6.5, we discuss he
capabili ies a gene ic ool in as uc u e needs o p o ide in o de o suppo he de elopmen
o p ojec -speci ic ools.
When he ans o ma ion me hod has been de eloped and equi ed ools ha e been imple-
men ed, he ac ual ans o ma ion o he legacy sys em needs o occu . Co esponding pa s
o he me hod a e pe o med wi hin he T ans o ma ion ac i i y. In Sec ion 6.6, we discuss
challenges when enac ing he ac i i ies inc emen ally.
4.1.3 Phases & Roles
The me hod enginee ing p ocess o MEFiSTo consis s o ou co e ac i i ies. The a ionale
o his segmen a ion is wo old. On he one hand, he ac i i ies p oposed a e common o
SME app oaches. They a e discussed on a gene ic le el in [B i96], we adap ed hem o he
domain o so wa e ans o ma ion. On he o he hand, and mo e impo an ly, we aim o a clea
sepa a ion o conce ns in e ms o expe ise equi ed. Fo example, de eloping a ans o ma ion
me hod equi es knowledge o so wa e mode niza ion, while he enac men o he de eloped
62 O e iew
T ee-Based Da a Selec ion
When s a ing he Summi applica ion, he i s dialog enables selec ing a cus ome (c . le
side o dialog (a) shown in Figu e 4.5). In his dialog, he cus ome s a e ep esen ed by a
ee s uc u e. Besides ans o ming he use in e ace elemen s (i) o he ee, we ocus on
ans o ming he expand and collapse beha io (ii).
(C6)
The dialog p o ides use in e ace elemen s ha ep esen a ee. The ee has a dep h
o wo, whe eby he oo nodes ep esen coun ies and he lea s ep esen he ac ual
cus ome s. The selec ion o a lea igge s a selec ion o he co esponding da a se .
(C7)
Besides he ee i sel , he use in e ace enables igge ing ee- ela ed ac ions. In
pa icula , i enables expanding and collapsing pa s o he ee au oma ically.
(a) Cus ome Selec ion
(b) Sales
Rep esen a i e
Selec ion
(c) O de Managemen
(d) In en o y
O e iew
(e) P oduc Selec ion
Dialog
Dialog Flow
Module
Figu e 4.5 Fo m Modules o he Summi applica ion, hei con ained dialogs and he na iga ion
lows be ween hem
Modula iza ion
E e y applica ion has an a chi ec u e ha desc ibes i s undamen al o ganiza ion [IEEE00].
The a chi ec u e o an O acle Fo ms-based applica ion is mainly de ined by i s modules.
(C8)
E e y applica ion de eloped in Fo ms consis s o a se o modules, i.e., each applica ion
has a modula iza ion. The eby, modules a e s o ed in co esponding sou ce iles. Fo m
Modules a e he main buildings blocks as hey con ain he de ini ion o dialogs, connec-
ions o unde lying da a sou ces as well as sou ce code ou ines [O a00a, pp.62-63].
4.4 Summa y 63
The Fo m Modules o he Summi applica ion and i s con ained dialogs a e shown in
Figu e 4.5. Fo each Fo m Module, he con ained dialogs as well as possible na iga ion lows
be ween hem a e isualized. When s a ing he Summi applica ion, he dialog o selec a
cus ome (a) is shown. Based on he selec ion, he sales ep esen a i e associa ed can be
changed (b) o he associa ed o de can be edi ed (c) (c . Figu e 4.4). When edi ing an o de ,
s ocking in o ma ion o an i em can be shown (d) and new i ems can be added (e).
4.4 Summa y
Cu en me hod enginee ing app oaches do no p o ide su icien con olled lexibili y in
he de elopmen o si ua ion-speci ic so wa e ans o ma ion me hods. In his chap e , we
in oduced he solu ion concep o his hesis which add esses his p oblem.
The solu ion concep consis s o a me hod enginee ing amewo k, called MEFiSTo. The
amewo k aims o achie e a high deg ee o con olled lexibili y by enabling a pa e n-based
de elopmen o ans o ma ion me hods. We desc ibed i s main cons i uen s in Sec ion 4.1,
namely a me hod base and a co esponding me hod enginee ing p ocess.
To e alua e cha ac e is ics o he MEFiSTo amewo k, we s a ed a se o e alua ion c i e ia
as ques ions in Sec ion 4.2. In pa icula , he ques ions add ess cha ac e is ics o he co e
cons i uen s o MEFiSTo. We e isi and answe hese ques ions in Sec ion 7.4 in he con ex
o he easibili y s udies pe o med.
To exempli y de ails o he MEFiSTo amewo k and demons a e i s applica ion, we
in oduced a unning example in he o m o a legacy sys em in Sec ion 4.3. We ga e an
o e iew o he unc ionali y and a chi ec u e o he O acle Fo ms-based applica ion. I will be
e isi ed in subsequen chap e s whe eby echnical de ails a e discussed.
In he nex wo chap e s, we will go in o de ail on he wo main cons i uen s o MEFiSTo.
In chap e 5, de ails on he p oposed me hod base a e gi en, while de ails o he co esponding
me hod enginee ing p ocess a e desc ibed in chap e 6.
CHAPTER 5
MEFiSTo Me hod Base
In he p e ious chap e , an o e iew o he MEFiSTo amewo k o de ine si ua ion-speci ic
ans o ma ion me hods has been gi en. In his chap e , we in oduce he con en o he me hod
base as pa o he amewo k. Fi s , we discuss equi emen s ha speci ically add ess he
me hod base in Sec ion 5.1. In Sec ion 5.2, we e ine he s uc u e o he me hod base and
desc ibe i s con en . Essen ially, he me hod base consis s o wo cons i uen s, namely me hod
agmen s and me hod pa e ns. We p opose a se o me hod agmen s in Sec ions 5.3 and 5.4,
while a se o me hod pa e ns is p oposed subsequen ly in Sec ions 5.5 and 5.6. In Sec ion 5.7,
we o malize he in oduced con en o he me hod base. The indings o his chap e a e
summa ized in Sec ion 5.8.
5.1 Requi emen s
Be o e de ining he con en o he me hod base, we discuss ela ed equi emen s. The eby, we
ha e o dis inguish unc ional and non- unc ional equi emen s. When de eloping a me hod,
he con en o he me hod base will de e mine he possible mani es a ions o a me hod. Fo
example, i he me hod base does no include a me hod agmen ha ep esen s an au oma ed
ac i i y, i will no be possible o speci y a ool-suppo ed ans o ma ion me hod. In his sense,
unc ional equi emen s a e hose ha desc ibe which me hods shall be de elopable using he
con en o he me hod base.
The p oblem s a emen o his hesis eme ged om he eal-wo ld p oblem o ans o ming
O acle Fo ms applica ions o O acle ADF (c . Sec ion 3.1). Due o he di e ences be ween
hese en i onmen s, a ans o ma ion me hod ha is applicable in gene al is no a ailable. As
a esul , ans o ma ion me hods a e cu en ly de eloped in an ad-hoc manne . We in end o
add ess his p oblem by he solu ion concep o his hesis, ha is, he MEFiSTo amewo k.
66 MEFiSTo Me hod Base
The e o e, Requi emen 1 claims ha he con en o he me hod base, i.e., he me hod agmen s
and pa e ns, shall suppo he de elopmen o si ua ion-speci ic ans o ma ion me hods o
he mode niza ion om O acle Fo ms o O acle ADF.
Me hod Base Requi emen 1 (Suppo o Fo ms/ADF)
The composi ion o con en elemen s, s o ed in he me hod base, shall enable he de el-
opmen o si ua ion-speci ic ans o ma ion me hods o he mode niza ion om O acle
Fo ms o O acle ADF.
While unc ional equi emen s desc ibe which me hods shall be de elopable using he
con en o he me hod base, we also discuss he o m ha a de eloped me hod should ake. In
his sense, non- unc ional equi emen s a e hose ha ela e o he cha ac e is ics o he con en
o he me hod base.
Me hod
Base
Scope o
MEFiSTo
Me hod
Speci ica ion
Me hod
Enginee ing
P ocess
Technology-Speci ic
Me hod Base
P ojec -Speci ic
Me hod
Speci ica ion D
P ojec -Speci ic
Me hod
Speci ica ion E
P ojec -Speci ic
Me hod
Speci ica ion F
Me hod
De elopmen
Me hod
Reenginee ing
Technology-Independen
Me hod Base
P ojec -Speci ic
Me hod
Speci ica ion A
Me hod
De elopmen
P ojec -Speci ic
Me hod
Speci ica ion B
P ojec -Speci ic
Me hod
Speci ica ion C
Figu e 5.1 Use o a echnology-independen me hod base in MEFiSTo (le ), eenginee ing o
de eloped me hods o de i e a echnology-speci ic me hod base ( igh )
Requi emen 1 s a es ha he con en o he me hod base shall suppo he de elopmen
o ans o ma ion me hods o a speci ic mode niza ion scena io. Mo e p ecisely, he speci ic
echnologies O acle Fo ms and O acle ADF shall be conside ed. An ob ious solu ion o
his equi emen would be o s o e echnology-speci ic me hod agmen s and pa e ns in he
me hod base. Howe e , while he p oblem o ans o ming sys ems based on O acle Fo ms was
he main d i e o de ine MEFiSTo, he e exis legacy sys ems based on ela ed echnologies
o which ans o ma ion me hods a e also de eloped in an ad-hoc manne . Mos no ably,
Fo ms-based sys ems o en in oke he c ea ion o p in able epo s, de eloped in he echnology
O acle Repo s. Using a echnology-speci ic me hod base would exclude he de elopmen o
ans o ma ion me hods o di e en echnologies such as O acle Repo s.
5.1 Requi emen s 67
An al e na i e solu ion is o s o e echnology-independen con en inside he me hod base.
Then, a co esponding me hod enginee ing p ocess needs o conside echnology-speci ic
cus omiza ion o he con en , as p oposed in [HV97]. This will enable he de elopmen o
ans o ma ion me hods o o he mode niza ion scena ios bu equi e manual e o o he
cus omiza ion. Howe e , as an addi ional ad an age we expec ha de eloped me hods can be
la e on eenginee ed o sys ema ically de i e he con en o a echnology-speci ic me hod base
(see Figu e 5.1). The e o e, Requi emen 2 claims ha he con en o he me hod base shall no
be associa ed o a speci ic echnology.
Me hod Base Requi emen 2 (Technology-independence)
The me hod agmen s and pa e ns shall no be associa ed o a speci ic echnology.
We in end o use he MEFiSTo amewo k o mode nize so wa e sys ems. While a
so wa e mig a ion aims o p ese e he unc ionali y o a sys em while ans e ing i o a new
en i onmen , so wa e mode niza ion addi ionally emphasizes o adap he sys em o he new
en i onmen . We assume ha Model-D i en Enginee ing (MDE) (c . Sec ion 2.1) is a key
p inciple o enable au oma ion in so wa e mode niza ion scena ios. Using models enables
ep esen ing a so wa e sys em on highe le els o abs ac ion, i.e., i enables abs ac ing om
i s cu en echnological ealiza ion. We assume ha his is essen ial o adap a sys em o i s
new en i onmen . The e o e, Requi emen 3 claims ha he con en o he me hod base shall
be based on p inciples om he domain o model-d i en enginee ing.
Me hod Base Requi emen 3 (MDE p inciples)
The me hod agmen s and pa e ns shall be based on model-d i en enginee ing p inciples.
The A chi ec u e-D i en Mode niza ion Task Fo ce (ADMTF) is an ini ia i e o he OMG
ha applies concep s om he domain o model-d i en enginee ing o he domain o so wa e
mode niza ion (c . Sec ion 2.1.3). I s main con ibu ion consis s o a ious s anda ds in he
o m o me amodels, like he Abs ac Syn ax T ee Me amodel (ASTM) o he Knowledge
Disco e y Me amodel (KDM). In he con ex o a ans o ma ion me hod, a i ac s in he o m
o models can con o m o hese me amodels. The mo i a ion o he ADMTF o de elop hese
s anda ds is o enable he eusabili y o ools and os e hei in eg a ion. To po en ially ake
ad an age o exis ing ools in MEFiSTo, oo, Requi emen 4 claims ha he con en o he
me hod base shall conside compa ibili y o s anda ds om he ADM con ex .
Me hod Base Requi emen 4 (Compa ibili y o s anda ds)
The me hod agmen s and pa e ns shall be compa ible o s anda ds om he ADM con ex .
68 MEFiSTo Me hod Base
So wa e ans o ma ion me hods can be desc ibed o mally, o no . P o iding a o mal
desc ip ion o a me hod equi es addi ional speci ica ion e o , bu is conside ed as a key
success ac o o mode niza ion p ojec s [Cab+15]. Fo example, i enables p o iding suppo
in he enac men o a me hod, e.g., by using a p ocess engine ha assigns asks o in ol ed
pe sons [DF94]. Mo e impo an ly, we assume ha a o mal desc ip ion will be bene icial
o eusing a de eloped me hod, e.g., i allows eenginee ing eusable pa s. I is common
p ac ice o use me amodels o o maliza ion [RDR03]. The e o e, Requi emen 5 claims o
o malize he con en o he me hod base using he So wa e and Sys ems P ocess Enginee ing
Me amodel (SPEM) which is a s anda d [OMG08a] de ined by he OMG.
Me hod Base Requi emen 5 (Fo maliza ion in SPEM)
The me hod agmen s and pa e ns shall be desc ibed o mally by using SPEM.
5.2 O e iew o he S uc u e
In his sec ion, we gi e an o e iew o he s uc u e o he me hod base ha is pa o MEFiSTo.
The pu pose o he me hod base is o p o ide eusable building blocks o ans o ma ion
me hod speci ica ions. In Sec ion 4.1.1 we mo i a ed ha he me hod base con ains wo ypes
o such blocks: me hod agmen s and me hod pa e ns. In Figu e 5.2, hese cons i uen s a e
u he classi ied.
5.2.1 Me hod F agmen s
Reusable me hod agmen s o m he basis o he me hod base. They can be seen as a omic
building blocks o me hods (c . Sec ion 2.2.1). A he highes le el, we classi y he me hod
agmen s based on he phase hey p ima ily belong o, namely he ool implemen a ion o
ans o ma ion phase (c . Sec ion 4.1.3). While he agmen s ela ed o he ool implemen-
a ion phase can be used o speci y ool de elopmen ac i i ies, he agmen s ela ed o he
ans o ma ion phase can be used o desc ibe he ans o ma ion i sel . Fo each phase, we
classi y he agmen s based on hei ype.
In gene al, he in e sec ion o he agmen s con ained in he ool implemen a ion and
ans o ma ion phase is emp y, i.e., no agmen is con ained in bo h. Howe e , his does no
mean ha agmen s a e exclusi ely used in hei associa ed phase. Ins ead, some agmen s
ac as an in e ace be ween bo h phases. Fo example, model ans o ma ions a e de eloped in
he ool implemen a ion phases (i.e., hey a e an ou pu ) bu used in he ans o ma ion phase
(i.e., hey a e an inpu ). The same is ue o me amodels o ools.
5.2 O e iew o he S uc u e 69
Composed Pa e nsTool Implemen a ion Phase
Tools
Tool
Ac i i ies
Me amodel
De ini ion
A i ac s
Me amodel
Roles
Tool
De elope
T ans o ma ion Phase
A i ac s
Ac i i ies
Roles
So wa e
De elope
Basic Pa e ns
Func ionali y P ese ing A chi ec u al Res uc u ing
Func ionali y P ese ing A chi ec u al Res uc u ing
Sec. 5.4
Sec. 5.3
Sec. 5.6
Sec. 5.5
Me hod F agmen s
Me hod Pa e ns
Me hod Base
P og am
Comp ehension Legacy
Sou ce Code
Tools
Pa se
Figu e 5.2 O e iew o he s uc u e o he me hod base in MEFiSTo
We exploi his ela ion be ween he me hod agmen s o bo h phases o sys ema ically
enginee he me hod agmen s o he ool implemen a ion phase. In pa icula , we use he ac
ha he agmen s o he ool implemen a ion phase shall be able o exp ess he de elopmen o
ools o a i ac s ha a e used as pa o he ans o ma ion phase. The e o e, we i s desc ibe
he agmen s o he ans o ma ion phase in Sec ion 5.3 and de i e he agmen s o he ool
implemen a ion phase subsequen ly in Sec ion 5.4.
To enginee he me hod agmen s o he ans o ma ion phase, we conside di e en
echniques ha ha e been de eloped o e ime. In [Ral04], hese echniques a e ca ego ized
in o wo main ca ego ies, namely he eenginee ing o exis ing me hods and he ad-hoc
cons uc ion o new agmen s. Techniques o he i s ca ego y desc ibe di e en ways o
disassemble exis ing me hods in o smalle agmen s. To eenginee he me hod agmen s
o he MEFiSTo amewo k, we would equi e speci ica ions o model-d i en ans o ma ion
me hods ha a e no limi ed o speci ic en i onmen al changes. As exis ing me hods o me hod
enginee ing amewo ks ha ul ill hese equi emen s we e no a ailable, we applied an ad-hoc
echnique o cons uc he agmen s om sc a ch.
Fo an ad-hoc echnique, i is essen ial o clea ly iden i y he equi emen s o he domain o
which he de elopmen o me hods shall be suppo ed. In he case o MEFiSTo, hese equi e-
70 MEFiSTo Me hod Base
men s ha e been discussed in Sec ion 5.1. In his hesis, we mee he unc ional equi emen s
i he me hod agmen s p oposed can be used o de elop si ua ion-speci ic ans o ma ion
me hods o he mode niza ion scena io conside ed, ha is, o he ans o ma ion om O a-
cle Fo ms o O acle ADF. We e alua e he ul illmen o his equi emen by he easibili y
s udy desc ibed in Sec ion 7.2. In addi ion, we use he easibili y s udies o demons a e he
ul illmen o non- unc ional equi emen s, like he compa ibili y o he agmen s o ADM.
To demons a e he echnology-independence o he me hod base, we pe o med a second
easibili y s udy ha is desc ibed in Sec ion 7.3. In his s udy, we de eloped and enac ed a
ans o ma ion me hod o ano he mode niza ion scena io, namely he ans o ma ion om
O acle Repo s o Jaspe Repo s.
5.2.2 Me hod Pa e ns
A me hod pa e n is associa ed wi h a p oblem ha shall be add essed by enac ing a me hod.
Fo his pu pose, i encodes me hodological knowledge in he o m o cons uc ion guidelines
o a me hod. In he case o MEFiSTo, a me hod pa e n speci ies which me hod agmen s o
cus omize and how o assemble hem (c . Sec ion 2.2.1).
The pa e ns p oposed in his hesis ha e been obse ed in p ac ice, when de eloping
ans o ma ion me hods o he ans o ma ion om O acle Fo ms o O acle ADF. The e o e,
each p oposed pa e n is associa ed wi h he p oblem o ans o ming legacy sys ems in o
new en i onmen s. In his con ex , one pa icula p oblem is o e ain he unc ionali y o he
o iginal sys em [Bis+99]. The unc ionali y p ese ing pa e ns add ess his issue by encoding
me hodological solu ions. In pa icula , each pa e n ollows a speci ic ans o ma ion s a egy,
e.g., a pa e n can ollow a con e sion o eimplemen a ion-s a egy. Besides e aining he
unc ionali y o a sys em, ano he p oblem is o adap i s s uc u e o he new en i onmen . This
issue is add essed by he a chi ec u al es uc u ing pa e ns, which encode me hodological
solu ions o change he a chi ec u e o a legacy sys em du ing i s ans o ma ion.
A e ha ing iden i ied he pa e ns, we no iced ha we can dis inguish a leas wo ypes
o hem: a omic and non-a omic ones. The a omici y o a pa e n a ises om he ac ha a
pa e n becomes in alid when any manda o y agmen is emo ed, ha is, i does no ul ill i s
me hodological pu pose. In his hesis, we call an a omic me hod pa e n a basic pa e n. In
con as , non-a omic pa e ns a ise by combining one o mo e basic pa e ns. In his hesis, we
call hem composed pa e ns. As each basic pa e n ollows a speci ic ans o ma ion s a egy,
composed pa e ns can be bene icial as hei solu ion consis s o combining di e en s a egies.
We desc ibe basic pa e ns in Sec ion 5.5, ollowed by composed pa e ns in Sec ion 5.6.
In MEFiSTo, he de elopmen o ans o ma ion me hods can be seen as being pa e n-based
(c . Sec ion 4.1). In o de o selec one o mul iple o he p oposed pa e ns o a si ua ion
5.2 O e iew o he S uc u e 71
obse ed, i is essen ial o unde s and he cha ac e is ics o each pa e n. The e o e, we desc ibe
each pa e n acco ding o he schema shown in Table 5.1 ha we de i ed om he schema
de ined in [Gam+95, pp.6-7].
In en Which p oblem does he pa e n add ess?
S a egy Which me hodological solu ion does he pa e n p o ide?
S uc u e
The s uc u e o he pa e n, depic ed as a pa h in he ho seshoe model
(c . Figu e 5.4)
Applicabili y In which si ua ions is he pa e n sui able? Wha a e he mos
impo an in luence ac o s on i s e iciency o e ec i eness?
P epa a ion Which a i ac s o ools ha e o be de eloped in ad ance o he
ans o ma ion when applying he pa e n?
Example An example o he pa e n’s applica ion on he unning example
(c . Sec ion 4.3)
Known Uses How do exis ing echniques ela e o he pa e n? Wha a e examples
o exis ing me hods ha (pa ially) con o m o i ?
Rela ed Pa e ns Rela ions o o he pa e ns p oposed
Table 5.1 Schema o cha ac e ize me hod pa e ns
The schema p o ides a condensed, abula desc ip ion ha summa izes he mos impo an
cha ac e is ics o each pa e n b ie ly. To unde s and hese cha ac e is ics in de ail, i.e., he
a ionale o each cha ac e is ic, we addi ionally p o ide an in e ela ed, ex ensi e desc ip ion.
Fo his desc ip ion we use he ollowing s uc u e:
1) Example
Fo each pa e n an example is in oduced, i.e., a me hod ha con o ms o he
pa e n. The me hod speci ies how o ans o m pa s o he unning example ha has been
desc ibed in Sec ion 4.3. The applica ion shall demons a e how he pa e n add esses he
p oblem o ans o ming selec ed pa s o an applica ion in o a new en i onmen . I is used as a
e e ence when discussing speci ic cha ac e is ics.
78 MEFiSTo Me hod Base
Model
Tex ual A i ac
Manual
Ac i i y
Ac i i y Speci ica ion A i ac Speci ica ion
Me amodel
Reimplemen a ion
Guidance
Code Gene a ion
Rules
Model
T ans o ma ion
Rules
Tool
Tool
Model T ans o ma ion
Rules De ini ion
Code Gene a ion
Rules De ini ion
Reimplemen a ion
Guidance
Speci ica ion
Tool De ini ion
Me amodel
De ini ion
Tool Speci ica ion
Tool
De elope
Role Speci ica ion
Role
Figu e 5.5 Me hod agmen s o he ool implemen a ion phase
Based on his ela ion be ween he agmen s o bo h phases, we de i ed he agmen s
o he ool implemen a ion phase om he ones o he ans o ma ion phase. The esul ing
ac i i ies, a i ac s and ools a e shown in Figu e 5.5.
A i ac s & Ac i i ies
We o esee six me hod agmen s ha cons i u e ac i i ies and co esponding a i ac s. As
au oma ed ans o ma ions a e based on he use o models, co esponding me amodels a e
equi ed. The Me amodel De ini ion ac i i y ep esen s he de ini ion o a equi ed me amodel,
while he a i ac i sel is speci ied by he Me amodel agmen . We use he e m de ini ion o he
ac i i y as we o esee di e en ways on how o ealize he me amodel. Fi s , a me amodel can
be de eloped om sc a ch. Howe e , in he con ex o a ans o ma ion me hod, me amodels a e
equi ed o he p og amming languages ha a e used in he sou ce o a ge en i onmen . These
me amodels a e in gene al well-de ined and s able. The e o e, secondly, exis ing me amodels
can be eused i a ailable. Howe e , i migh s ill be bene icial o adap hem o speci ic needs.
The e o e, hi dly, p o iles [Des00] can be used o adap an exis ing me amodel.
Va ious ac i i ies equi e he use o ools. Pe o ming he Model Disco e y ac i i y e-
qui es using pa se s, P og am Comp ehension can equi e e e se enginee ing ools and an
A chi ec u al Res uc u ing migh equi e a clus e ing ool. The co esponding Tool De ini ion
ac i i y ep esen s he de elopmen o such a equi ed ool. Like me amodels, ools can be
de eloped om sc a ch o an exis ing one can be used. No e ha he ou pu o his ac i i y is
no an a i ac bu a ool, in con as o he o he ac i i ies.
Ac i i ies ha cons i u e ans o ma ions be ween models a e ealized by au oma ically
execu ed model ans o ma ions. The ac i i y called Model T ans o ma ion Rules De ini ion
ep esen s he de ini ion o equi ed model ans o ma ion ules. The Model T ans o ma ion
Rules agmen ep esen s he ou pu o he ac i i y, ha is, he esul ing a i ac . Simila
5.5 Basic T ans o ma ion Pa e ns 79
agmen s a e equi ed o he Code Gene a ion ac i i y. The ac i i y called Code Gene a ion
Rules De ini ion ep esen s he de ini ion o co esponding ules, while he Code Gene a ion
Rules agmen ep esen s he esul ing a i ac .
As he Reimplemen a ion ac i i y is pe o med manually by so wa e de elope s, i needs
o be guided. The ac i i y called Reimplemen a ion Guidance Speci ica ion ep esen s he
de ini ion o such guidance. Fo example, a ool de elope can p o ide a s ep-by-s ep ins uc ion
on how o pe o m he eimplemen a ion. The Reimplemen a ion Guidance agmen ep esen s
he co esponding a i ac .
Roles
One ole is associa ed wi h he ool implemen a ion phase, namely a Tool De elope (c .
Sec ion 4.1.3), o which we p o ide a co esponding me hod agmen . The ool de elope is
esponsible o he ac i i ies in oduced, e.g., he de ini ion o me amodels, eimplemen a ion
guidance o any ool equi ed. The e o e, we assume ha a pe son in his ole has comp ehensi e
knowledge o model-d i en enginee ing and de eloping eenginee ing ools.
Tools
In e ms o ools, we ha e o dis inguish be ween wo ypes o ools: hose, which a e equi ed
by any ans o ma ion me hod and hose, which ha e o be speci ically de eloped o a me hod.
On he one hand, some ools a e equi ed by each de eloped me hod ha speci ies o
au oma e pa o he ans o ma ion. Fo example, a model ans o ma ion engine is equi ed o
execu e model ans o ma ion ules. Me hod agmen s ha desc ibe hese kinds o ools ha e
al eady been in oduced as pa o he ans o ma ion phase agmen s (c . Sec ion 5.3).
On he o he hand, some ools ha e o be speci ically de eloped o a de ined me hod.
Examples encompass seman ic analyze s, clus e ing o e e se enginee ing ools. We p o ide a
gene ic agmen o speci y hese kinds o ools.
5.5 Basic T ans o ma ion Pa e ns
In his sec ion, we in oduce a se o basic pa e ns, shown in Figu e 5.6. Each pa e n is
associa ed wi h a pa h in he ho seshoe model ha we in oduced in he p e ious Sec ion (c .
Figu e 5.4). The pa h isualizes he solu ion p o ided by a pa e n, as i in o mally indica es
which me hod agmen s essen ially o op ionally shall be cus omized when applying i . Fo
example, an applica ion o he Reimplemen a ion Pa e n
F3
equi es cus omizing he Legacy
80 MEFiSTo Me hod Base
Sou ce Code a i ac , he Reimplemen a ion ac i i y as well as he T ans o med Sou ce Code
a i ac . A o mal desc ip ion o he pa e ns is gi en a he end o his chap e in Sec ion 5.7.
Func ionali y P ese ing A chi ec u al Res uc u ing
Reimplemen a ion
F3
Code Remo al
F4
Language
T ans o ma ion
F1
Concep ual
T ans o ma ion
F2
Pla o m-Independen
A chi ec u e
Res uc u ing
A2
Pla o m-Dependen
A chi ec u e
Res uc u ing
A1
Au oma ed
Ac i i y
A i ac o
Sys em
Model Manual
Ac i i y Manda o y Op ional
Ac i i ies
colo ed
black
Ac i i ies
colo ed
g ey
No
Ac i i y
Figu e 5.6 Basic ans o ma ion me hod pa e ns
Subsequen ly, we begin in oducing each pa e n wi h an example, i.e., we desc ibe he
enac men o a me hod ha con o ms o he pa e n. The eby, he me hod is used o ans o m
pa s o he Summi legacy sys em which has been in oduced as a unning example in Sec-
ion 4.3. We omi a desc ip ion o he pa e n
A2
, as i di e s only ma ginally om
A1
. I s
cha ac e iza ion can be ound in he appendix (c . Sec ion A).
So a , we desc ibed he unc ionali y and a chi ec u e o Summi on a high le el o
abs ac ion. In pa icula , we omi ed echnical de ails and a mapping o he unc ionali y in o
he a ge en i onmen . In e ms o he mapping, we use he one desc ibed in [RM11] ha
has been de ined as pa o a case s udy. Fo each mapping used, we p o ide a desc ip ion
o he echnical backg ound. We assume ha a de ailed echnical example o each pa e n is
essen ial o c ea e an unde s anding o i s gene al cha ac e is ics. The i s pa e n we in oduce
is he Language T ans o ma ion Pa e n. I s me hodological solu ion o p ese e unc ionali y
consis s o con e ing i , using an au oma ed, model-d i en ool chain.
5.5.1 Language T ans o ma ion (F1)
In en
Pe o m an au oma ed ans o ma ion o he legacy sys em’s
unc ionali y in o a new en i onmen , ollowing a con e sion-based
ans o ma ion s a egy
Con inued on nex page
5.5 Basic T ans o ma ion Pa e ns 81
S a egy
De ini ion o a di ec mapping be ween he p og amming languages o
he en i onmen s in ol ed. This is ealized by ep esen ing he legacy
sys em as a model o i s ASG1on a pla o m-speci ic laye . A model
ans o ma ion ha ans o ms his model in o an ASG1o he a ge
en i onmen is a ealiza ion o he mapping be ween he p og amming
languages in ol ed
S uc u e
Applicabili y
Use when he unc ionali y o ans o m is ealized compa ably in he
legacy and a ge en i onmen and he legacy sys em has a su icien
size. The di e ence in he ealiza ion de e mines he complexi y o he
mapping be ween he p og amming languages in ol ed, in luencing
he e iciency and e ec i eness o he pa e n
P epa a ion
Applying his pa e n essen ially equi es ealizing a pa se ,
model- o-model ans o ma ions and code gene a ion ules. Also, i
can be necessa y o ealize a seman ic analyze o model iews
Example
Figu e 5.7 shows he enac men o a me hod which con o ms o he
pa e n. The eby, he in e nal ep esen a ion o da abase ables o he
unning example is ans o med (c . Sec ion 4.3).
Known Uses
The s a egy ealized by he pa e n is compa able o he s a egy
ollowed by a compile . Howe e , compile design usually ocuses on
au oma ing he ans o ma ion. In con as , he pa e n also enables
de eloping semi-au oma ic me hods, which can be necessa y o end up
wi h a si ua ion-speci ic me hod. The me hod desc ibed in [Fuh+12,
pp.174-178] con o ms o he pa e n
Rela ed Pa e ns /
Table 5.2 Cha ac e iza ion o he Language T ans o ma ion Pa e n
82 MEFiSTo Me hod Base
Example
This sec ion is sepa a ed in o h ee pa s. Fi s , we in oduce he (i) echnical backg ound
equi ed o unde s and he example. Then, we desc ibe he (ii) enac men o a me hod ha
con o ms o he Language T ans o ma ion Pa e n. As his is he i s pa e n we in oduce, we
desc ibe how he me hod has been (iii) de eloped by using he MEFiSTo amewo k.
Technical Backg ound
Fi s , we need o unde s and he concep , i.e., he unc ionali y, which
we aim o ans o m. In his example, we aim o ans o m a pa o he able-based da a access
unc ionali y ealized in he Summi applica ion (c . Sec ion 4.3). Mo e speci ically, we
demons a e he ans o ma ion o he in e nal ep esen a ion o he ables used (C1). Such
an in e nal da a s uc u e is bene icial o a da abase-in ensi e applica ion, as he unde lying
pla o m can ake ca e o popula ing i and p opaga ing changes made back o he da abase.
Second, we need an unde s anding o how he concep is ealized in he legacy sys em. In
O acle Fo ms-based applica ions like Summi , p o ided language cons uc s can be used o
speci y he s uc u e o an in e nal ep esen a ion, namely Blocks and I ems [O a00a].
We can dis inguish wo ypes o
Blocks
: hose, which a e associa ed o a da abase able
(called da a
Blocks
), and hose, which a e no (called con ol
Blocks
). Da a
Blocks
can be
seen as a placeholde o one o mul iple da ase s, i.e., ows o a da abase able.
Blocks
a e
an example o decla a i e language cons uc s p o ided by O acle Fo ms. Such language
cons uc s ha e associa ed p ope ies o speci y hei de ails. Fo example, a
Block
has he
p ope y
Da abaseBlock
which can be se o
T ue
o
False
, indica ing whe he he
Block
is
a da a
Block
, o no . I a da a
Block
is de ined, he p ope y named
Que yDa aSou ceName
is
used o indica e he da abase able whose da ase s he
Block
ep esen s. Rela ed o he Summi
applica ion, an exce p o he de ini ion o he
Block
called
S_ORD
can be seen in he a i ac
called Summi Block Sou ce Code, shown in he lowe le o Figu e 5.7. I shows ha
S_ORD
is
a da a Block which e e s o he iden ically named able.
In addi ion, a
Block
se es as a con aine o
I ems
. Jus like
Blocks
, he e a e con ol and
da a
I ems
, indica ed by he Boolean p ope y
Da abaseI em
. A da a
I em
can be seen as a
placeholde o a ield in a da ase , i.e., an en y in a column o a da abase able. Rela ed o he
Summi applica ion, an exce p o he de ini ion o
I ems
ha a e pa o he
S_ORD Block
can
also be seen in he igu e. I shows he de ini ion o a ious
I ems
ha s o e he ID o an o de
(
ID
), he ID and he name o a ela ed sales ep esen a i e (
SALES_REP_ID
,
SALES_REP_NAME
)
as well as he o de ing and shipping da es (DATE_ORDERED,DATE_SHIPPED).
Blocks
and
I ems
can be used o de ine he s uc u e o he in e nal ep esen a ion o
da ase s. In o de o ans o m his unc ionali y, we also need o ha e knowledge o how he
1Depending on he si ua ion, using an AST can be su icien
5.5 Basic T ans o ma ion Pa e ns 83
Summi Block Sou ce Code
Summi Da abase
S_ORD
ID
DATE_SHIPPED
DATE_ORDERED
SALES_REP_ID
S_ORD :RDBTableDe ini ion
ID :RDBColumnDe ini ion
ID :RDBColumnDe ini ion
S_EMP :RDBTableDe ini ion
LAST_NAME :RDBColumnDe ini ion
Summi Da abase Model Summi En i y Objec Model
<En i y Name="S_ORD_EO“>
<A ibu e Name="ID“ />
<A ibu e Name="SALES_REP_ID“/>
<A ibu e Name="DATE_ORDERED“/>
<A ibu e Name="DATE_SHIPPED“/>
</En i y>
Summi En i y Objec Sou ce Code
Disco e Summi
Blocks and SQL
S a emen s
Henshin Model
T ans o ma ion
Engine
Disco e Summi
Da abase Tables
O acle Fo ms Sou ce
Code Pa se and
Seman ic Analyze
DATE_ORDERED :RDBColumnDe ini ion
Acceleo Code
Gene a ion
Engine
O acle Da abase
Pa se
T ans o m In e nal
Rep esen a ion o
Summi Da abase
Tables
Gene a e Summi
En i y Objec s
S_ORD :En i yObjec
ID :En i yA ibu e
ID : En i yA ibu e
S_EMP : En i yObjec
LAST_NAME : En i yA ibu e
DATE_ORDERED :En i yA ibu e
SALES_REP_ID :RDBColumnDe ini ion SALES_REP_ID : En i yA ibu e
S_EMP
ID
FIRST_NAME
LAST_NAME
<En i y Name="S_EMP_EO“>
<A ibu e Name="ID“/>
<A ibu e Name="LAST_NAME“/>
<A ibu e Name="FIRST_NAME“/>
</En i y>
Da a Flow
Tex ual A i ac
o Sys em
Model, Class
o Associa on Con ol Flow
Ac i i y Tool
TablesToEn i yObjec s
T ans o ma ion
En i yObjec s
Gene a ion Templa e
<Block Name="S_ORD"
Da abaseBlock="T ue" Que yDa aSou ceName="S_ORD">
<I em Name="ID" Da abaseI em="T ue"/>
<I em Name="SALES_REP_ID“ Da abaseI em="T ue"/>
<I em Name="DATE_ORDERED" Da abaseI em="T ue"/>
<I em Name="DATE_SHIPPED" Da abaseI em="T ue"/>
<I em Name="SALES_REP_NAME“ Da abaseI em="False"/>
<T igge Name="POST-QUERY“ T igge Tex ="…“/>
</Block>
Sys em Laye Pla o m-Speci ic Laye
DATE_SHIPPED :RDBColumnDe ini ion DATE_SHIPPED :En i yA ibu e
FIRST_NAME :RDBColumnDe ini ion FIRST_NAME : En i yA ibu e
SALES_REP_ID :I em
S_ORD :Block
ID :I em
SALES_REP_NAME :I em
Summi Block and SQL Model
DATE_ORDERED :I em
:RDBSelec Exp ession
E :RDBTableRe e ence
POST_QUERY :T igge
DATE_SHIPPED :I em
Figu e 5.7 Enac ing a ans o ma ion me hod o ans o m he in e nal ep esen a ion o da abase
ables o he unning example by using he Language T ans o ma ion Pa e n
connec ion o he unde lying da abase is ealized. In gene al, he e a e wo ways o ealize his
connec ion: decla a i ely and impe a i ely. I a da a
Block
de ines a ela ion o a able using
he
Que yDa aSou ceName
p ope y, each
I em
whose name co esponds o a column in ha
able is popula ed au oma ically. In his way, he connec ion is ealized decla a i ely, which is
he case o mos I ems in he Summi applica ion.
The
SALES_REP_NAME I em
shown in he lowe le o Figu e 5.7 e eals ha i is a con-
ol
I em
, as he
Da abaseI em
p ope y is se o
False
. In ac , his
I em
is popula ed
impe a i ely by execu ing code implemen ed as pa o a
T igge
. A
T igge
is a decla -
a i e language cons uc ha con ains p og am code, w i en in he p og amming language
PL/SQL. Each
T igge
is execu ed au oma ically by he Fo ms un ime when an associa ed,
p ede ined poin in ime is eached o an e en occu s. Rela ed o he Summi applica ion, he
SALES_REP_NAME I em
is popula ed by he code con ained in he
T igge Tex
p ope y o
he
Pos -Que y T igge
, shown in Lis ing 5.1. The
T igge
belongs o he same
Block
as
he
I em
and is execu ed a e a da ase has been e ched by he un ime, bu be o e he esul is
84 MEFiSTo Me hod Base
displayed o he use . He e, an SQL s a emen is execu ed ha , among o he hings, e ie es
he name o he sales ep esen a i e and s o es he esul in he co esponding I em.
1SELECT E. las _name
2INTO :S_ORD.sales_ ep_name
3FROM S_EMP E
4WHERE : S_ORD . sales_ ep_id = E. id;
Lis ing 5.1 Sou ce code o he POST-QUERY T igge which is a pa o he S_ORD Block
The eason o why di e en ways a e used o ealize he connec ion be ween he in e nal
ep esen a ion o da ase s and he da abase can be seen by ha ing a look a he da abase
schema, shown in lowe le side o Figu e 5.7. While he
S_ORD Block
and mos o i s
I ems
co espond o he
S_ORD
able and i s a ibu es, he alue o he
SALES_REP_NAME
a ibu e is
e ie ed om ano he able called
S_EMP
. In o he wo ds, he impe a i e p og am code joins
bo h ables, using he SALES_REP_ID a ibu e as a o eign key.
Besides knowledge o he concep and i s ealiza ion in he legacy sys em, we hi dly need
an unde s anding o how he concep shall be ealized in he a ge en i onmen O acle ADF.
He e, we will use he mapping desc ibed in [RM11, p.12]. In his case s udy,
En i y Objec s
a e used o he in e nal ep esen a ion o he ables used by he applica ion. Like a
Block
, an
En i y Objec
can be used o ep esen a da ase s o ed in a able [O a13]. I consis s o a se
o En i y A ibu es ha can co espond o columns o a able.
Based on he desc ip ion, one could ge he imp ession ha each
Block
needs o be ans-
o med in o an
En i y Objec
, while
I ems
need o be ans o med o
En i y A ibu es
.
Howe e , his is no he case as a
Block
does no necessa ily ep esen a da abase able bu
a he a da abase iew. An example is he
S_ORD Block
, which agg ega es he da a o mul iple
ables. Ins ead, we need o iden i y he ables ha a e ac ually used by he Summi applica ion
and c ea e co esponding En i y Objec s o hem.
Me hod Enac men
The desi ed ans o ma ion is achie ed by enac ing he ans o ma ion
me hod as shown in Figu e 5.7. No e ha mos o he a i ac s a e p esen ed sho ened. The
me hod consis s o cus omized me hod agmen s ha ha e been in oduced in Sec ion 5.3 and
is an ins ance o he Language T ans o ma ion Pa e n.
In he beginning, wo ac i i ies need o be pe o med ha a e cus omiza ions o he Model
Disco e y agmen , namely he ac i i ies called Disco e Summi Da abase Tables and Dis-
co e Summi Blocks and SQL S a emen s. The ac i i ies ga he equi ed in o ma ion ela ed o
he unc ionali y o ans o m and ep esen hem homogeneously as an L-PSM. The Disco e
Summi Da abase Tables ac i i y is pe o med au oma ically by using an O acle Da abase
Pa se . Du ing i s pe o mance, he schema o he da abase used by he applica ion ge s pa sed.
5.5 Basic T ans o ma ion Pa e ns 85
This encompasses pa sing he ables and hei a ibu es as well as ela ed de ails, like he da a
ypes. The ou pu o he ac i i y consis s o a model ep esen ing he da abase schema. Rela ed
o he Summi applica ion, he disco e y o he ables
S_EMP
and
S_ORD
is shown in he lowe
le o Figu e 5.7. Thei pa sing esul s in he Summi Da abase Model which con o ms o he
Gene ic Abs ac Syn ax T ee Me amodel (GASTM) de ined in [OMG11a, pp.115-123].
The Disco e Summi Blocks and SQL S a emen s ac i i y is also pe o med au oma ically,
bu using an O acle Fo ms Sou ce Code Pa se and Seman ic Analyze . Pa sing O acle Fo ms
sou ce code equi es pa sing he Fo ms-speci ic, decla a i e language cons uc s, like
Blocks
,
bu also he pa s w i en in he impe a i e p og amming language PL/SQL. The ou pu consis s
o a model ep esen ing he sou ce code. Rela ed o he Summi applica ion, he disco e y o he
S_ORD Block
is shown. The esul ing model ep esen s he
Block
and i s
I ems
as well as a
decomposi ion o he SQL s a emen ha is s o ed in he ela ed
T igge
. The model con o ms
o a Specialized Abs ac Syn ax T ee Me amodel (SASTM) [OMG11a] ha has been de ined
o he p og amming language o O acle Fo ms (c . Sec ion 2.1.3). No e ha associa ions
exis be ween he model o he sou ce code and he model o he da abase. Fo example, he
ela ion be ween he
Block
called
S_ORD
and he equally named able is ep esen ed by an
associa ion be ween he classes
S_ORD:Block
and
S_ORD:RDBTableDe ini ion
. This is due
o he ac ha he disco e y s ep no only conside s pa sing, ha is, syn ac ic analysis, bu also
seman ic analysis [Aho+06, pp.8-9]. This esul s in he addi ion o seman ic edges [KGW98],
i.e., edges ha do no belong o he ee s uc u e o he AST, making he L-PSM an ASG (c .
Sec ion 2.3.2). He e, he associa ion be ween he da a
Block
and he able o which i e e s
o is an example o such an edge. This analysis is also he eason why he disco e y o he
sou ce code is pe o med a e he disco e y o he da abase ables. A model ep esen ing he
ables is a p e equisi e o esol e he a ge s o such edges.
A e he L-PSM has been c ea ed, i ge s ans o med in o a T-PSM by pe o ming he
ac i i y called T ans o m In e nal Rep esen a ion o Summi Da abase Tables. This ac i i y is a
cus omiza ion o he Language T ans o ma ion agmen which p esc ibes o pe o m a di ec
ans o ma ion be ween he p og amming languages used. He e, his is ealized by execu ing a
se o model ans o ma ion ules by a co esponding engine ha ans o m he L-PSM in o he
T-PSM. An exce p o hese ules o he example can be seen in Figu e 5.8. Execu ing he ule
TableToEn i yObjec
ins an ia es an
En i y Objec
class o each able ha is e e enced
wi hin a
Fo m Module
by a da a
Block
. The
ColumnToEn i yA ibu e
ule ins an ia es
he co esponding
En i yA ibu es
. No e ha hese ules need o be execu ed epea edly,
as long as one o hem is applicable. The esul ing model is shown in he uppe igh side o
Figu e 5.7. I con o ms o an SASTM [OMG11a] ha has been de ined o he p og amming
language o O acle ADF.
86 MEFiSTo Me hod Base
TableToEn i yObjec
:Fo mModule :RDBTableDe ini ion
:En i yObjec
C ea eP ese e
Class o
Associa ion
ColumnToEn i yA ibu e
om
om om
om o
:Block
:T ace
:T ace
:RDBTableDe ini ion :En i yObjec :T ace
om o
:En i yA ibu e:T ace:RDBColumnDe ini ion
:T ace
Fo bid
om
om o
:En i yObjec
o
:En i yA ibu e
o
Figu e 5.8 Exce p o he model ans o ma ion ules o ans o m he L-PSM in o he T-PSM
As a las s ep, he code is gene a ed based on he T-PSM by pe o ming he ac i i y called
Gene a e Summi En i y Objec s. This ac i i y is a cus omiza ion o he Code Gene a ion
agmen which desc ibes he execu ion o a se o code gene a ion ules by a co esponding
engine o ans o m he T-PSM in o ex ual sou ce code. He e, a code gene a ion echnique
is applied ha is based on he use o an abs ac de ini ion o he code o gene a e [He 03,
pp.87-96], which in his case is he ole o he T-PSM. The T-PSM can be conside ed as
a pa ame e o he code gene a ion empla e in which a iable pa s a e exchanged du ing
execu ion. The esul ing sou ce code can be seen in he lowe igh side o Figu e 5.7. In O acle
ADF, En i y Objec s a e de ined by XML iles, as shown.
This concludes he desc ip ion o he enac men o he me hod. Subsequen ly, we desc ibe
how i has been de eloped.
Me hod De elopmen
The de elopmen o he ans o ma ion me hod occu s on he Me hod
Speci ica ion Laye (M1) (c . Sec ion 2.2.3) in ad ance o i s enac men . An o e iew o he
de elopmen is shown in Figu e 5.9. To cla i y he ela ion be ween he ac i i ies and a i ac s
on he M0 and M1 Laye , he igu e shows bo h laye s and ela ionships be ween hem.
In he uppe igh o Figu e 5.9, he pe o mance o he ac i i ies called Si ua ional Con ex
Iden i ica ion and T ans o ma ion Me hod Cons uc ion is shown. Bo h ac i i ies a e co e
ac i i ies o he me hod enginee ing p ocess o he MEFiSTo amewo k (c . Sec ion 4.1.2).
Subsequen ly, we desc ibe he ac i i ies in he con ex o he example. A his poin , we do no
go in o de ail bu aim o mo i a e he ac ha bo h ac i i ies a e c i ical o he de elopmen o
si ua ion-speci ic ans o ma ion me hod. De ails o hese ac i i ies a e desc ibed in Chap e 6.
One pu pose o he ac i i y called Si ua ional Con ex Iden i ica ion is o ga he knowledge
ha is equi ed o de elop he me hod. This knowledge a leas encompasses he echnical
backg ound ha we desc ibed in he beginning o his sec ion, i.e., knowledge o he unc-
ionali y o ans o m, i s ealiza ion in he legacy sys em as well as he desi ed ealiza ion
in he a ge en i onmen . Wi hou his knowledge, in o med decisions on how o pe o m
he ans o ma ion would no be possible. In he example, wi hou ha ing knowledge o he
5.5 Basic T ans o ma ion Pa e ns 87
Me hod Base
Me hod Speci ica ion Laye (M1)
Me hod Enac men Laye (M0)
Summi Block
Sou ce Code
Summi
En i y Objec
Sou ce Code
Disco e
Summi
Da abase
Tables
Gene a e
Summi En i y
Objec s
T ans o m In e nal
Rep esen a ion o Summi
Da abase Tables
O acle
Da abase
Summi En i y
Objec Model
Summi
Block and
SQL Model
Disco e
Summi Blocks
and SQL
S a emen s
Summi
Da abase
Model
T ans o ma ion
Me hod Speci ica ion
Summi Da abase
Summi
Da abase
Model
Summi En i y
Objec Sou ce
Code
Disco e Summi
Blocks and SQL
S a emen s
Henshin Model
T ans o ma ion
Engine
Disco e Summi
Da abase Tables
O acle Fo ms
Sou ce Code Pa se
and Seman ic
Analyze
Acceleo Code
Gene a ion
Engine
O acle Da abase
Pa se
T ans o m In e nal
Rep esen a ion o
Summi Da abase
Tables
Gene a e Summi
En i y Objec s
Summi En i y
Objec Model
Remo al
Legacy
Sou ce
Code
T ans o med
Sou ce
Code
Model
Disco e y
Code
Gene a ion
Language
T ans o ma ion
Da abase
Model o he
T ans o med Sys em’s
Sou ce Code and i s
En i onmen (M-PSM)
Model o he Legacy
Sys em’s Sou ce Code
and i s En i onmen
(L-PSM)
Reimplemen a ion
Me hod F agmen s Me hod Pa e ns
Da a Flow
Tex ual A i ac
o Sys em
Ins ance O
Model, Class
o Associa on
Speci ica ion
Laye (M1)
Enac men
Laye (M0)
Con ol Flow
Ac i i y
Tool
Language
T ans o ma ion
F1
En ichmen
Me hod
Base
Me hod
Speci ica ion
T ans o ma ion
Me hod Cons uc ion
Ma kus and
Jan
Summi Block
Sou ce Code
TablesTo
En i yObjec s
T ans o ma ion
En i yObjec s
Gene a ion
Templa e
Expe
Ac i i y
Da a Flow
Con ol Flow
Si ua ional Con ex
Iden i ica ion
Ma kus and
Jan
Summi Si ua ional
Con ex Model
Legacy
Sou ce
Code
Summi
Block and
SQL Model
Figu e 5.9 De eloping a ans o ma ion me hod o ans o m he in e nal ep esen a ion o
da abase ables o he unning example by using he Language T ans o ma ion Pa e n
seman ics o
Blocks
and hei ela ion o da abase ables, i would no ha e been known ha
he disco e y o he da abase schema is essen ial o ans o m he unc ionali y.
Ano he pu pose o he ac i i y is o pe o m an assessmen o he me hod pa e ns s o ed
in he me hod base, based on he ga he ed knowledge. This encompasses assessing whe he a
me hod pa e n is applicable and es ima ing he e o equi ed o apply i , e.g., he e o equi ed
o de elop ools like pa se s o model ans o ma ions. No e ha his equi es knowledge o he
con en o he me hod base. He e, we do no discuss whe he he Language T ans o ma ion
Pa e n is he bes i ing one o he si ua ion obse ed, bu assume ha his is he case. The
ga he ed in o ma ion as well as he esul o he assessmen is p ese ed in he o m o a
Si ua ional Con ex Model.
94 MEFiSTo Me hod Base
Technical Backg ound
Fi s , we need o ha e an unde s anding o he unc ionali y o ans-
o m. In his example, we aim o ans o m ano he pa o he able-based da a access
unc ionali y (c . Sec ion 4.3). In his ins ance, we show how he pa e n can be used o
ans o m he a ibu e alida ion ules o he Summi applica ion (C2). The alida ion ules
a e used o ensu e ha no in alid en ies a e s o ed pe sis en ly in he da abase.
Second, we need an unde s anding o how he concep is ealized in he legacy sys em.
O acle Fo ms p o ides a se o
T igge s
ha can be used o his pu pose, in pa icula ,
T igge s
whose name begins wi h
WHEN-VALIDATE
[O a00c, p.423]. These
T igge s
a e
in oked whene e he in e nal ep esen a ion changes, o example due o a use inpu o a
p og amma ic manipula ion. An in oca ion leads o an execu ion o he associa ed, impe a i e
sou ce code ha alida es he changes made and aises an excep ion, i he alida ion ails.
In he example, he
WHEN-VALIDATE-RECORD T igge
, which is a pa o he
S_ORD
Block
, is such a
T igge
. I can be seen in he lowe le o Figu e 5.10, as well as i s
con ained sou ce code. The pu pose o his
T igge
is o ensu e ha he shipping da e o
o de ed goods is la e han he o de ing da e o hose goods. Technically, his e i ica ion is
ealized by an
I
-S a emen ha compa es he alue o he
DATE_SHIPPED I em
o he alue
o he
DATE_ORDERED I em
. I he shipping da e is ea lie han he o de ing da e, a message is
shown o he use (c . Figu e 4.4, page 59) and an excep ion is aised. The excep ion would
cancel an ongoing commi o he da abase.
Besides knowledge o he concep and i s ealiza ion in he legacy sys em, we hi dly need
o ha e an unde s anding o how o ealize he unc ionali y in he a ge en i onmen . In O acle
ADF, he e exis wo ways o ealize such alida ion ules [O a13]. On he one hand, he ules
can be ealized impe a i ely by using Ja a code. Such code would ge in oked by an e en ,
which is aised when an in e nal ep esen a ion, i.e., an
En i y Objec
, needs o be alida ed.
On he o he hand, O acle ADF enables de ining alida ion ules decla a i ely. Fo his pu pose,
a se o language cons uc s is p o ided ha can be used o exp ess he ules as pa o he
de ini ion o En i y Objec s.
While he impe a i e ealiza ion comes close o how he unc ionali y is cu en ly ealized
in he legacy sys em, he decla a i e ealiza ion is a o ed by he mapping desc ibed in [RM11,
pp.15-16]. This is due o he ac ha O acle sugges s o use he decla a i e ealiza ion i
possible, as i is associa ed wi h a ious bene i s
3
. Fo example, decla a i e ules a e execu ed
by a dedica ed amewo k which akes ca e o s acking excep ions. Impe a i e ealiza ions
shall only be used in complex scena ios ha canno be exp essed decla a i ely. The e o e, he
challenge is o ans o m an impe a i e ealiza ion in o a decla a i e one (c . Sec ion 2.3.3).
3h p://docs.o acle.com/middlewa e/1213/ad /de elop/ad -bc- alida ion- ules.h m (accessed Ma ch 22 h, 2016)
5.5 Basic T ans o ma ion Pa e ns 95
Rule_0 :Compa eValida ionBean
ModelBundle :P ope iesBundle
< alida ion:Compa eValida ionBean
Name="O dEO_Rule_0"
OnA ibu e="Da eShipped"
Ope andType="ATTR"
Compa eType="GREATERTHANEQUALTO"
Compa eValue="Da eO de ed">
< alida ion:OnA ibu es>
< alida ion:I em Value="Da eShipped"/>
< alida ion:I em Value="Da eO de ed"/>
</ alida ion:OnA ibu es>
</ alida ion:Compa eValida ionBean>
<Resou ceBundle><P ope iesBundle
P ope iesFile="summi .model.ModelBundle"/>
</Resou ceBundle>
summi .O dEO_Rule_0=
Ship da e is be o e o de da e!
:T igge
S_ORD :En i yObjec
DATE_SHIPPED
:En i yA ibu e
DATE_ORDERED
:En i yA ibu e
:Bina yExp ession
:A ibu eOpe and
onChange
onChange
le Ope and
a ibu e
igge asse ion
igh Ope and
WHEN-VALIDATE-RECORD :T igge
:Bina yExp ession
:I S a emen
condi ion
henBody
Less :Bina yOpe a o ope a o
le Ope and :Iden i ie Re e ence
DATE_ORDERED :I em
S_ORD :Block
DATE_SHIPPED :I em
igh Ope and :Iden i ie Re e ence
:BlockS a emen
:Func ionCallExp ession
:ByValueAc ualPa ame e Exp ession
:S ingLi e al
Value = “Ship da e is
be o e o de da e!“
:Th owS a emen
<Block Name="S_ORD"
<T igge Name="WHEN-VALIDATE-RECORD“
T igge Tex ="
IF :S_ORD.da e_shipped < :S_ORD.da e_o de ed THEN
MESSAGE('Ship da e is be o e o de da e!');
RAISE FORM_TRIGGER_FAILURE;
END IF;
“/>
</Block>
S_ORD :RDBTableDe ini ion
DATE_SHIPPED
:RDBColumnDe ini ion
Summi
Da abase Model
DATE_ORDERED
:RDBColumnDe ini ion
Summi Block and T igge Model
Rule_0 :Key
Value = “Ship da e is be o e o de da e!“
e o Msg
Summi En i y Valida o Model
:Valida ionRule
:E o Message
Value = “Ship da e is
be o e o de da e!“
DATE_SHIPPED
:ColumnSe
DATE_ORDERED
:ColumnSe
S_ORD :Rela ionalTable
e o Msg
:T igge
onChange
igge
:Bina yExp ession
le Ope and
igh Ope and
onChange
Summi Valida ion Rule Model Summi Valida ion Rule Model
O acle Fo ms
Sou ce Code Pa se
and Seman ic
Analyze
Disco e
Summi Blocks and
T igge s
O acle Fo ms
Run ime API
Pa se
Disco e O acle
Fo ms Run ime
En i onmen
O acle
Da abase
Pa se
Disco e Summi
Da abase Tables
S_ORD
DATE_SHIPPED
DATE_ORDERED
Henshin Model
T ans o ma ion
Engine
Ex ac
Summi Valida ion
Rules
Henshin Model
T ans o ma ion
Engine
Conc e ize
Summi Valida ion
Rules
Gene a e
Summi
Valida ion Beans
Acceleo Code
Gene a ion
Engine
Valida ionBean
Gene a ion Templa e
:Iden i ie Re e ence
Valida ionRuleTo
Valida ionBean
T ans o ma ion
Summi
Valida ionS a emen sTo
Valida ionRules
T ans o ma ion
Summi Da abase
Da a Flow
Tex ual A i ac
o Sys em
Model, Class
o Associa on Con ol Flow
Ac i i y Tool
Summi Block Sou ce Code Summi P ope ies Bundle Sou ce Code Summi Valida ion Bean Sou ce Code
Sys em Laye Pla o m-Independen Laye Pla o m-Speci ic Laye
Valida ionRule
Res uc u ing
T ans o ma ion
:Valida ionRule
:E o Message
Value = “Ship da e is
be o e o de da e!“
DATE_SHIPPED
:ColumnSe
DATE_ORDERED
:ColumnSe
S_ORD :Rela ionalTable
e o Msg
:T igge
onChange
igge
:Bina yExp ession
condi ion
le Ope and
igh Ope and
O acle Fo ms
Run ime
En i onmen
O acle Fo ms
Run ime En i onmen
G ea e ThanEqualTo
:Compa eType
ope a o
LessThan :Ope a o G ea e ThanO Equal
:Ope a o
ope a o ope a o
Asse ion :Valida ionFailCondi ion :Valida ion
alida ion alida ion
O acle Fo ms Run ime
En i onmen Model
:Func ionDe ini ion
:Fo malPa ame e De ini ion
FORM_TRIGGER_FAILURE
:Excep ionType
MESSAGE :Name
MESSAGE_TEXT :Name
Henshin Model
T ans o ma ion
Engine
Res uc u e
Summi Valida ion
Rules
Figu e 5.10 Enac ing a ans o ma ion me hod o ans o m he a ibu e alida ion ules o he
unning example by using he Concep ual T ans o ma ion Pa e n
Me hod Enac men
The desi ed ans o ma ion is achie ed by enac ing he ans o ma ion
me hod as shown in Figu e 5.10. No e ha mos o he a i ac s a e p esen ed sho ened. The
me hod consis s o cus omized me hod agmen s ha ha e been in oduced in Sec ion 5.3 and
is an ins ance o he Concep ual T ans o ma ion Pa e n.
96 MEFiSTo Me hod Base
In he me hod shown, he Model Disco e y agmen has been cus omized h ee imes
o ga he in o ma ion associa ed wi h he unc ionali y and ep esen i by an L-PSM. The
ac i i y called Disco e Summi Da abase Tables is he same as he one desc ibed o he
Language T ans o ma ion Pa e n in Sec ion 5.5.1. I is pe o med au oma ically by an O acle
Da abase Pa se o pa se he schema o he da abase used by he Summi applica ion and c ea e
a co esponding model. Rela ed o he Summi applica ion, he disco e y o he able
S_ORD
is
shown in he lowe cen e o Figu e 5.10. Thei pa sing esul s in he Summi Da abase Model
which con o ms o he GASTM de ined in [OMG11a, pp.115-123].
The ac i i y called Disco e O acle Fo ms Run ime En i onmen is pe o med au oma ically
using an O acle Fo ms Run ime API Pa se . I s pu pose is o ep esen he un ime en i onmen
o O acle Fo ms by modeling i s Applica ion P og amming In e ace (API). In his example, his
comp ises de ined unc ions as well as excep ions. A ex ual desc ip ion o he API could be a
concei able inpu o his ac i i y. Howe e , he me hod speci ies o use a managemen in e ace
o he un ime en i onmen i sel . As he in e ace is Ja a-based, he API can be ex ac ed using
he e lec ion capabili ies o Ja a. The esul ing O acle Fo ms Run ime En i onmen Model
con o ms o he GASTM de ined [OMG11a].
The ac i i y called Disco e Summi Blocks and T igge s is also pe o med au oma ically,
bu using an O acle Fo ms Sou ce Code Pa se and Seman ic Analyze . Pe o ming he ac i i y
equi es pa sing he sou ce code o he Summi applica ion, in pa icula , he
Blocks
and
T igge s
as well as hei ela ed p ope ies. Rela ed o he Summi applica ion, he disco e y
o he
S_ORD Block
and he con ained
WHEN-VALIDATE-RECORD T igge
is shown in he
lowe le o Figu e 5.10. The esul ing Summi Block and T igge Model ep esen s hese
language cons uc s and, mo e impo an ly, he PL/SQL sou ce code ha is de ined wi hin
he
T igge Tex
p ope y. The model con o ms o an SASTM [OMG11a] ha has been
de ined o he p og amming language o O acle Fo ms. No e ha he e exis edges be ween
he Summi Block and T igge Model and he O acle Fo ms Run ime En i onmen Model, e.g.,
modeling he call o a unc ion p o ided by he un ime en i onmen . These edges a e seman ic
edges ha esul due o a seman ic analysis, making he model an ASG (c . Sec ion 2.3.2).
A e he L-PSM has been c ea ed, i ge s ans o med in o a Func ional Pla o m-Indepen-
den Model (F-PIM) by pe o ming he Ex ac Summi Valida ion Rules ac i i y. This ac i i y
is a cus omiza ion o he P og am Comp ehension agmen and p esc ibes o pe o m e e se
enginee ing. In pa icula , i p esc ibes o abs ac om pla o m-speci ic language cons uc s
by in e p e ing he L-PSM and ep esen ing he esul on a pla o m-independen laye . He e,
his is ealized by execu ing a se o model ans o ma ion ules by a co esponding engine. A
his poin , we do no go in o de ail on he ules o how o de elop hem. The challenge o his
ans o ma ion is discussed a he end o his sec ion.
5.5 Basic T ans o ma ion Pa e ns 97
Rela ed o he Summi applica ion, he e e se enginee ing o he ule ha alida es he
shipping and o de ing da es is shown. The ASG ha is pa o he Summi Block and T igge
Model ep esen s an impe a i e ealiza ion o ha ule in he p og amming language PL/SQL.
I can be seen ha he ule is only desc ibed implici ly, i.e., speci ic knowledge is equi ed
o unde s and ha his pa o he sou ce code is, in ac , a alida ion ule. Take o example
he
S ing Li e al
ha is a pa ame e o he unc ion call o he pla o m-speci ic unc ion
called
MESSAGE
. Jus ha ing knowledge o he seman ics o he language cons uc s i sel ha
a e associa ed wi h he unc ion call would no enable o unde s and he meaning o he li e al.
In his case, he key is on he one hand o know he seman ics o he
WHEN-VALIDATE-RECORD
T igge and on he o he hand he s uc u e o a alida ion ule. Then, in e p e ing he li e al
in his con ex e eals ha i ep esen s he e o message o he case ha he alida ion ails.
The esul o such an in e p e a ion can be seen in he Summi Valida ion Rule Model, shown
in he uppe le o Figu e 5.10. The model con o ms o he KDM [OMG11b] ha has pa ly
been ex ended o ep esen alida ion ules. The alida ion ule o he example is ep esen ed
by he equally named class Valida ion Rule. I can be seen ha he concep o a alida ion
ule is associa ed wi h h ee cha ac e is ics, ep esen ed as classes: a
T igge
ha de e mines
when o e alua e he ule, a
Valida ion
ha ep esen s he condi ion o alida e as well as an
E o Message ha shall be displayed in case ha he alida ion ails.
A e he F-PIM has been c ea ed, i s s uc u e is changed by pe o ming he ac i i y called
Res uc u e Summi Valida ion Rules. The ac i i y is a cus omiza ion o he Res uc u ing ag-
men and p esc ibes o pe o m changes on he F-PIM by an endogenous model ans o ma ion,
i.e., he me amodel does no change. In e ms o he Concep ual T ans o ma ion Pa e n, his is
an op ional ac i i y. Rela ed o he Summi applica ion, he esul o he es uc u ing can be
seen in he uppe igh o Figu e 5.10. In he example, his in e media e ac i i y is pe o med
o b ing he s uc u e o he alida ion ule ha has been e e se enginee ed om he legacy
sys em close o he desi ed s uc u e in he a ge en i onmen . In pa icula , wo di e ences
a e add essed by he es uc u ing.
Fi s , he
T igge
ha de e mines when o e alua e he ule, is changed. In he legacy
sys em, he ule is pa o he
WHEN-VALIDATE-RECORD T igge
so ha i is always e alua ed
whene e any o he
I ems
o he
S_ORD Block
changes. This means ha i is also e alua ed
e en when nei he he
DATE_SHIPPED
no he
DATE_ORDERED
changes. In his case, a igge -
ing esul s in unnecessa y compu a ional e o , nega i ely in luencing he pe o mance. An
unnecessa y igge ing o he ule could ha e been p e en ed by using
I em
-based
T igge s
,
i.e.,
WHEN-VALIDATE-ITEM T igge s
o he
DATE_SHIPPED
and he
DATE_ORDERED I ems
.
In his case, he e alua ion would ha e only been igge ed whene e hese speci ic
I ems
change. Howe e , his would equi e duplica ing he code ha con ains he alida ion ule,
98 MEFiSTo Me hod Base
nega i ely in luencing he main ainabili y. In o he wo ds, he es ic ions in he legacy en-
i onmen equi e making cu s in he pe o mance o main ainabili y, as one alida ion ule
canno be ela ed o mul iple a ibu es, i.e.,
I ems
. In he a ge en i onmen , his es ic ion is
no p esen anymo e. The e o e, he es uc u ing add esses he
onChange
associa ion o he
T igge so ha i e e s o bo h a ibu es ( ep esen ed as ColumnSe s) a e wa ds.
Second, he
Valida ion
ha ep esen s he condi ion o alida e, is changed. In he
legacy sys em, he condi ion is ealized by an exp ession ha checks o a ailu e. I he
condi ion
DATE_SHIPPED < DATE_ORDERED
yields
TRUE
, hen he ule is iola ed. In he a ge
en i onmen , he opposi e needs o be exp essed. He e, we do no need o (impe a i ely) check
o a ailu e, bu (decla a i ely) speci y he asse ion ha needs o hold (c . Sec ion 2.3.3). In
his example, he esul ing asse ion would be
DATE_SHIPPED ≥DATE_ORDERED
. The e o e,
he es uc u ing add esses he
Valida ion
and
Ope a o
class by changing he ype o he
o me and nega ing he la e .
A e he F-PIM has been es uc u ed, i ge s ans o med in o a T-PSM by pe o ming
he ac i i y called Conc e ize Summi Valida ion Rules. The ac i i y is a cus omiza ion o
he Conc e iza ion agmen and p esc ibes o pe o m o wa d enginee ing. In pa icula ,
i p esc ibes o exp ess he unc ionali y ep esen ed on a pla o m-independen laye by
pla o m-dependen language cons uc s. Rela ed o he Summi applica ion, he esul o he
conc e iza ion can be seen in he cen e igh o Figu e 5.10. The Summi En i y Valida o
Model con o ms o an SASTM [OMG11b] ha has been de ined o he p og amming language
o O acle ADF. I can be seen ha o mos classes a one- o-one mapping exis s. Fo example, a
Valida ion Rule
is mapped o a
Compa e Valida ion Bean
, whe eby he la e ep esen s
a pla o m-speci ic cons uc . Fo some classes, a mo e complex mapping is equi ed. Fo
example, he
E o Message
is s o ed in sepa a e p ope ies ile and only e e enced by he
alida ion ule. The in en ion is o be able o easily exchange he p ope ies ile la e on,
depending o he language chosen by he use .
As a las s ep, code is gene a ed based on he T-PSM by pe o ming he ac i i y called
Gene a e Summi Valida ion Beans. As his ac i i y does no di e om he one desc ibed o
he Language T ans o ma ion Pa e n, we omi a desc ip ion and e e o Sec ion 5.5.1.
This concludes he desc ip ion o an example o he Concep ual T ans o ma ion Pa e n.
Subsequen ly, we desc ibe i s gene ic cha ac e is ics.
Desc ip ion
The Concep ual T ans o ma ion Pa e n can be applied o ans o m he unc ionali y o a
legacy sys em in o a new en i onmen , ollowing a con e sion-based ans o ma ion s a egy.
The basic idea o how o ans o m he unc ionali y is o explici ly ep esen i on a pla o m-
5.5 Basic T ans o ma ion Pa e ns 99
independen laye . This ep esen a ion is ex ac ed om he sou ce code o he legacy sys em
and mapped o sou ce code in he a ge en i onmen . Mo e p ecisely, applying he pa e n
i s equi es ep esen ing he unc ionali y o ans o m on he pla o m-speci ic laye as a
pla o m-speci ic model o he legacy en i onmen (L-PSM) by pe o ming a model disco e y.
Then, he unc ionali y o ans o m ge s e e se enginee ed om he L-PSM and ep esen ed
explici ly by a pla o m-independen model (F-PIM). By pe o ming a conc e iza ion, he
F-PIM is ans o med in o a pla o m-speci ic model o he a ge en i onmen (T-PSM), which
is subsequen ly used o gene a e sou ce code.
Jus like he Language T ans o ma ion Pa e n, he ans o ma ion s a egy desc ibed by he
Concep ual T ans o ma ion Pa e n is ela ed o he mechanics o a compile , oo. This is due o
he ac ha a ans o ma ion me hod which ollows one o bo h pa e ns, enables ans o ming
unc ionali y, w i en in a sou ce language, o unc ionali y, w i en in a a ge language. The
main di e ence be ween bo h pa e ns lies in he in e media e ep esen a ions used, i.e., he
s uc u e o he middle-end (c . Sec ion 2.3.2). In he case o he Concep ual T ans o ma ion
Pa e n, an addi ional in e media e ep esen a ion on a pla o m-independen laye is used.
Fo a compile , he use o a pla o m-independen in e media e ep esen a ion is no unusual,
especially, i he compile suppo s mul iple sou ce and/o a ge languages [FCL09, p.395-
396]. The ep esen a ion hen enables he exchange o he on - o back-end, so ha a ious
combina ions o sou ce and a ge languages can be suppo ed, while he middle-end can be
eused. The same mo i a ion led o he de ini ion o he ASTM and KDM me amodels by he
OMG. The use o s anda dized, pla o m-independen me amodels shall acili a e eusing o
ools [UN10, pp.45-48]. In his sense, he pa e n can be used o desc ibe he mechanics o a
compile , oo.
On he o he side, we see ano he impo an mo i a ion o using a pla o m-independen
in e media e ep esen a ion, namely acili a ing a sepa a ion on conce ns. Fo he Language
T ans o ma ion Pa e n, we discussed ha he model ans o ma ion which ans o ms he L-
PSM in o he T-PSM needs o ul ill a leas wo conce ns. Fi s , he ASG needs o be in e p e ed
o iden i y he unc ionali y o ans o m. Second, he unc ionali y needs o be mapped o
language cons uc s o he a ge en i onmen . Addi ionally, as demons a ed by he example, i
can be necessa y o es uc u e he unc ionali y. When applying he Concep ual T ans o ma ion
Pa e n, hese conce ns a e sepa a ed. Fi s , he P og am Comp ehension ac i i y add esses
he in e p e a ion. Then he unc ionali y is Res uc u ed be o e he Conc e iza ion ac i i y
add esses he subsequen mapping in he a ge en i onmen .
Based on ou expe ience, his sepa a ion o conce ns is especially bene icial i he unc ion-
ali y o ans o m is only implici ly desc ibed by he sou ce code o he legacy sys em, i.e., an
inc eased deg ee o p og am comp ehension is equi ed. In he example shown in Figu e 5.10,
100 MEFiSTo Me hod Base
in e p e ing he
I S a emen
con ained in he
T igge
as a alida ion ule and iden i ying
he di e en pa s o he ule esul s in a complex mapping be ween he syn ac ic elemen s
in ol ed. Like o he Language T ans o ma ion Pa e n, his can come a he expense o
a dec eased deg ee o au oma ism, bu an inc eased deg ee o non- unc ional p ope ies by
enabling a mapping on na i e language cons uc s in he esul ing sys em.
An applica ion o his pa e n is desc ibed in [Fle+07]. In his wo k, an indus ial applica ion
has been ans o med om COOL:Gen o Cobol, using a model-d i en ans o ma ion me hod.
The me hod con o ms o he Concep ual T ans o ma ion Pa e n. Fi s , a pla o m-speci ic
model o he COOL:Gen sou ce code is disco e ed. Then, his model is ans o med in o an
in e media e ep esen a ion ha con o ms o a sel -de ined, pla o m-independen me amodel
called ANT. Based on his ep esen a ion some es uc u ings a e pe o med, be o e inally
sou ce code is gene a ed in he a ge en i onmen .
Ano he example o a ans o ma ion me hod ha con o ms o he pa e n is desc ibed
in [SSG14]. In his wo k, g aphical use in e aces de eloped in O acle Fo ms and Bo land
Delphi a e au oma ically con e ed o web pages. The ans o ma ion me hod uses pla o m-
independen models o hese use in e aces, namely Rapid Applica ion De elopmen (RAD)
and Conc e e Use In e ace (CUI) models as in e media e ep esen a ions.
This concludes he gene ic desc ip ion o he pa e n, whe eby we discussed a ious
cha ac e is ics. Howe e , so a we did no discuss in which si ua ions an applica ion o he
pa e n is app op ia e. This discussion is pa o he nex sec ion.
Sui abili y
In e ms on in luences on he e ec i eness, he desi ed a ge ealiza ion needs o be conside ed
as an in luence ac o . The eby, he a gumen a ion is he same as o he Language T ans o ma-
ion Pa e n: a de ia ion om he desi ed ealiza ion can educe he complexi y o ac i i ies. In
he example, using an impe a i e ealiza ion in he a ge en i onmen would ease he e e se
enginee ing and make he es uc u ing unnecessa y, he e o e inc easing he e iciency o he
me hod. Howe e , his comes o he expense o a dec eased pe o mance and main ainabili y,
as he alida ion amewo k and he IDE suppo o he a ge en i onmen could no be used.
We wan o poin ou ha his a gumen applies o all pa e ns, also o he ones ha a e
desc ibed subsequen ly. The e o e, we do no men ion his ac o o subsequen pa e ns. In
gene al, we do no discuss ac o s in de ail ha ha e al eady been discussed o o he pa e ns.
In e ms on in luences on he e iciency, we obse ed he complexi y o he p og am
comp ehension ac i i y o essen ially in luence he e iciency o he pa e n. Fo he example,
we did no p o ide any de ails o how he ans o ma ion be ween he L-PSM and F-PIM
is ealized bu assume ha his ac i i y desc ibes he execu ion o a model ans o ma ion.
5.5 Basic T ans o ma ion Pa e ns 101
This is, o example, possible i code con en ions exis ha can be used o eliably ex ac
he equi ed in o ma ion. Howe e , o en he e e se enginee ing ac i i y consis s o mul iple
s eps, i.e., i is a p ocess i sel . Fo example, in [Cos+12] a amewo k is desc ibed o ex ac
business ules om Ja a sou ce code. The e e se enginee ing ac i i y is pe o med semi-
au oma ically, consis ing o mul iple s eps and in e media e esul s. The e o e, he way in
which some unc ionali y is ealized in he legacy sys em as well as how i shall be ealized in
he a ge en i onmen needs o be conside ed as an in luence ac o o assess he complexi y o
he p og am comp ehension ac i i y. Ne e heless, we assume ha his pa e n is pa icula ly
e icien i he unc ionali y o ans o m is ealized in di e en ways in bo h en i onmen s.
Apa om ha , as discussed be o e, each me hod agmen ha ge s used when applying
he me hod pa e n needs o be e alua ed o iden i y po en ial in luence ac o s on i s e iciency.
As his pa e n ollows a con e sion s a egy, oo, he size o he legacy sys em is an essen ial
in luence ac o on i s e iciency.
In conclusion, we assume ha he pa e n is pa icula ly sui able i he unc ionali y o
ans o m is ealized signi ican ly di e en in bo h en i onmen s while he sou ce code o
ans o m is su icien ly la ge. I he sou ce code is no ha la ge, he au oma ion o he
ans o ma ion migh be ine icien . Then, he me hod pa e n we in oduce in he nex sec ion
can be a iable al e na i e, as i ollows a Reimplemen a ion-based ans o ma ion s a egy.
5.5.3 Reimplemen a ion (F3)
In en
Pe o m a manual ans o ma ion o he legacy sys em’s unc ionali y
in o a new en i onmen , ollowing a eimplemen a ion-based
ans o ma ion s a egy
S a egy
P o ide guidance o so wa e de elope s who manually eimplemen
he unc ionali y in he a ge en i onmen
S uc u e
Applicabili y
Use when au oma ic app oaches a e ei he ine icien o ine ec i e.
The amoun o a ailable de elope s and hei expe ience has an
essen ial in luence on he e iciency and e ec i eness o he pa e n
Con inued on nex page
102 MEFiSTo Me hod Base
P epa a ion Applying his pa e n essen ially equi es de ining guidance
documen s o sys ema ize he eimplemen a ion.
Example
Figu e 5.11 shows he enac men o a me hod which con o ms o he
pa e n. The eby, he in e nal ep esen a ion o da abase iews o he
unning example is ans o med (c . Sec ion 4.3)
Known Uses
The s a egy ealized by he pa e n is compa able o he
implemen a ion ac i i y ha is pa o a so wa e de elopmen
endea o . I can be seen as a speci ic ype o implemen a ion ac i i y
as some cons ain s need o be conside ed: he legacy sys em speci ies
he unc ionali y o ealize while guidance documen s desc ibe
pe o med design decisions o equi ed es uc u ings. The me hod
desc ibed in [RM11] con o ms o he pa e n
Rela ed Pa e ns /
Table 5.4 Cha ac e iza ion o he Reimplemen a ion Pa e n
Example
This sec ion is sepa a ed in o wo pa s. Fi s , we desc ibe he (i) backg ound knowledge
co e ing echnical de ails o he example. Then, we desc ibe he (ii) enac men o a me hod
ha con o ms o he Reimplemen a ion Pa e n.
Technical Backg ound
Fi s , we need o ha e an unde s anding o he unc ionali y o ans-
o m. In his example, we aim o ans o m he iew-based da a access unc ionali y o he
Summi applica ion (c . Sec ion 4.3) as a whole. P ima ily, his equi es he ans o ma ion o
he in e nal ep esen a ion o he iews (C3), i.e., i s s uc u e. The eby, mos a ibu es o a
iew a e based on ields inside a da abase. Howe e , in he Summi applica ion, some a ibu es
a e calcula ed (C4) dynamically by an exp ession. We aim o ans o m hese exp essions, oo.
Las ly, iews can be ela ed o each o he by iew ela ions (C5), which cause ha a selec ed
da ase o one iew de e mines he da ase s o ano he iew.
Second, we need an unde s anding o how he concep is ealized in he legacy sys em. As
desc ibed o he Language T ans o ma ion Pa e n in Sec ion 5.5.1, da a
Blocks
a e used
wi hin an O acle Fo ms applica ion o speci y iews. Usually, mos
I ems
con ained in such a
Block
ela e o an unde lying ield in a da abase able. Fo
I ems
whose alue is calcula ed
5.5 Basic T ans o ma ion Pa e ns 103
dynamically by an exp ession, he p ope y
Calcula ion Mode
is se o
Fo mula
, while he
Fo mula
p ope y con ains he ac ual exp ession. To speci y ela ions be ween iews, he
Rela ion
language cons uc can be used which is also con ained wi hin a
Block
. I has
se e al p ope ies o speci y he ela ion, like he Join Condi ion p ope y.
Rela ed o he Summi applica ion, he ealiza ion o wo iews can be seen in he lowe
le o Figu e 5.11. The
Block
called
S_ORD
de ines a dialog-speci ic iew o access o de ing
in o ma ion, while he
Block
called
S_ITEM
de ines a iew on he i ems o a selec ed o de . This
dependency is ealized by he
Rela ion
called
S_ORD_S_ITEM
, con ained in he
S_ORD Block
.
I de ines a join-condi ion ha is e alua ed a un ime. In pa icula , he join is pe o med on
he
ID I em
o he
S_ORD Block
and he
ORDER_ID I em
o he
S_ITEM Block
. In addi ion,
he
ITEM_TOTAL
a ibu e ha is pa o he
S_ITEM Block
is no associa ed wi h a ield in he
da abase, bu i is calcula ed. I ep esen s he o al cos s o an o de ed i em, by mul iplying he
cos o one i em wi h he amoun o de ed (c . Figu e 4.4, page 59).
<ViewLink Name="S_ORD_S_ITEM_Link“>
<ViewLinkDe End Sou ce="T ue“/>
<A A ay Name="A ibu es">
<I em Value="S_ORD_VO.ID“/>
</A A ay>
</ViewLinkDe End>
<ViewLinkDe End Sou ce="T ue“/>
<A A ay Name="A ibu es">
<I em Value="S_ITEM_VO.ID“/>
</A A ay>
</ViewLinkDe End>
</ViewLink>
Da a Flow
Tex ual A i ac Con ol Flow
Ac i i y
Summi View Objec Sou ce Code
Sys em Laye
Reimplemen
Summi Table-
Based Views
Reimplemen a ion
Guidance
Iden i y each Block in he legacy applica ion
ha is an in e nal ep esen a ion o a da abase
iew. This is he case, i he p ope y Da abaseBlock is se
o T ue. I he p ope y is False, WHEN-NEW-* T igge s
need o be checked o a p og amma ic ini ializa ion.
Fo each iden i ied ep esen a ion o a iew, c ea e a View
Objec . The eby, he I ems become View A ibu es. I an
I em is based on a ield o a da abase able, ei he
decla a i ely o p og amma ically, he View A ibu e shall
be based on he co esponding En i y A ibu e ha
ep esen s he ield.
Reimplemen
Summi Calcula ed
A ibu es
Reimplemen
Summi View
Rela ions
Reimplemen a ion
Guidance
The View A ibu es ha a e
no based on En i y A ibu es a e
p og amma ically calcula ed.
Iden i y he co esponding calcula ion
ule by checking whe he he Fo mula
p ope y o an I em is se .
In he a ge sys em, se he Value
Type p ope y o he View A ibu e o
Exp ession and inse he iden i ied
calcula ion ule as G oo y exp ession.
Reimplemen a ion
Guidance
Da abase iews can be ela ed o
each o he in a Mas e -De ail
Rela ionship.
Iden i y such ela ions by
sea ching o Rela ions ha a e
con ained by a Block.
Use he iden i ied Rela ion o
c ea e View Links in he a ge
sys em.
Summi Block Sou ce Code
<ViewObjec Name="S_ITEM_VO“>
<ViewA ibu e Name="ID“/>
<ViewA ibu e Name="ORDER_ID“/>
<ViewA ibu e Name="ITEM_TOTAL“/>
</ViewObjec >
Summi View Link Sou ce Code
Ini ial Node Final Node
Tim and
Max <ViewObjec Name="S_ORD_VO“>
<ViewA ibu e Name="ID“/>
<ViewA ibu e Name="SALES_REP_ID“/>
<ViewA ibu e Name="DATE_ORDERED“/>
<ViewA ibu e Name="DATE_SHIPPED“/>
<ViewA ibu e Name="CUSTOMER_NAME“/>
</ViewObjec >
So wa e
De elope s
Tim and
Max
Tim and
Max
<Fo mModule Name="ORDERS“
<Block Name="S_ORD"
Da abaseBlock="T ue" Que yDa aSou ceName="S_ORD">
<I em Name="ID" Da abaseI em="T ue"/>
<I em Name="CUSTOMER_ID" Da abaseI em="T ue"/>
<I em Name="DATE_ORDERED" Da abaseI em="T ue"/>
<I em Name="DATE_SHIPPED" Da abaseI em="T ue"/>
<I em Name="SALES_REP_ID“ Da abaseI em="False"/>
<Rela ion Name="S_ORD_S_ITEM“ JoinCondi ion="…“/>
</Block>
<Block Name="S_ITEM“
Da abaseBlock="T ue" Que yDa aSou ceName="S_ITEM“>
<I em Name="ID" Da abaseI em="T ue"/>
<I em Name="ORDER_ID" Da abaseI em="T ue"/>
<I em Name="ITEM_TOTAL“ Calcula ionModel="Fo mula“
Fo mula="…“/>
</Block>
</Fo mModule>
Figu e 5.11 Enac ing a ans o ma ion me hod o ans o m he iew-based da a access o he
unning example by using he Reimplemen a ion Pa e n
Besides knowledge o he concep and i s ealiza ion in he legacy sys em, we hi dly
need o ha e an unde s anding o how o ealize he unc ionali y in he a ge en i onmen .
He e, we will use he mapping desc ibed in [RM11, p.10-11,23]. In his case s udy,
View
Objec s
a e used as an in e nal ep esen a ion o da abase iews. In O acle ADF, he e exis
di e en ways on how o de ine
View Objec s
. Fo example, hey can be di ec ly based on an
110 MEFiSTo Me hod Base
Da a Flow
Tex ual A i ac Con ol Flow
Ac i i y
Summi UI Sou ce Code
Sys em Laye
<Fo mModule Name="CUSTOMERS“>
<Block Name="NAVIGATOR">
<I em Name="TREE_CUST" I emType="Hie a chicalT ee“ Can as="TREE“/>
</Block>
<Block Name="NAV_CONTROL“>
<I em Name="EXPANDALL“ Can as="TREE“>
<T igge T igge Tex ="…“/>
</I em>
<I em Name="COLLAPSEALL“ Can as="TREE“>
<T igge T igge Tex ="…“/>
</I em>
</Block>
<Can as Name="TREE“ P og amUni Tex ="…“/>
<P og amUni Name="COLLAPSE_ALL“ P og amUni Tex ="…“/>
<P og amUni Name="EXPAND_ALL“ P og amUni Tex ="…“/>
</Fo mModule>
Summi Block, Can as and P og am Uni Sou ce Code
<a : ace Name="TREE“>
<a : ee id="TREE_CUST“/>
</a : ace >
Disco e Summi
Blocks and
Can ases
O acle Fo ms Sou ce
Code Pa se and
Seman ic Analyze
TREE: Can as
NAVIGATOR :Block
Summi Block and Can as Model
CUSTOMERS :Fo mModule
I em Type = Hie a chical T ee
TREE_CUST :I em
TREE :Face
Summi JSP Model
TREE_CUST :T ee
T ans o m Summi
Can ases and
UI Elemen s
Henshin Model
T ans o ma ion
Engine
Use In e ace
T ans o ma ion
Pla o m-Speci ic Laye
can as
Acceleo Code
Gene a ion
Engine
Gene a e Summi
Use In e aces
JSP Gene a ion
Templa e
NAV_CONTROL :Block
EXPANDALL :I em
COLLAPSEALL :I em
Model, Class
o Associa on Tool
Figu e 5.13 Enac ing a ans o ma ion me hod o ans o m he ee-based da a selec ion o he
unning example by using he Code Remo al Pa e n
o he ac ha he a ec ed pa s o he sou ce code do no need o be conside ed du ing he
ans o ma ion. The e o e, he Code Remo al Pa e n can only be seen implici ly in Figu e 5.13.
I is applied on hose pa s o he sou ce code ha a e no ans o med. In his example, his
comp ises he
T igge s
con ained by he
I ems
called
COLLAPSEALL
and
EXPANDALL
, as well
as ela ed P og am Uni s.
This concludes he desc ip ion o an example o he Code Remo al Pa e n. Subsequen ly,
we desc ibe he gene ic cha ac e is ics o his me hod pa e n.
Desc ip ion
The Code Remo al Pa e n can be applied o p ese e he unc ionali y o a legacy sys em by
no ans o ming i . This is achie ed by igno ing co esponding pa s in he sou ce code ha
ep esen he a ge ed unc ionali y.
5.5 Basic T ans o ma ion Pa e ns 111
The ans o ma ion s a egy desc ibed by his pa e n is ela ed o he mechanics o a
compile . In pa icula , we e e o a common op imiza ion pe o med by compile s, i.e., he
elimina ion o dead code [Aho+06, pp.591-592]. In his s ep, a compile ies o iden i y pa s
o he sou ce code ha canno be execu ed and a e he e o e no compiled. In ce ain ins ances
his can be deduced by conside ing knowledge gained du ing he compila ion, i.e., he use o
he alue o a iables.
Rela ed o he de elopmen o ans o ma ion me hods we need o essen ially dis inguish
wo cases, i.e., we need o dis inguish o which eason i is no necessa y o ans o m he code.
On he one hand, he code migh no be used in he legacy sys em, which can esul when a
sys em go con inuously ad anced. In ac , he p esence o dead code is a common p oblem o
legacy sys ems, whe e o e i is usually add essed in a dedica ed p epa a ion phase [SWH10,
pp. 106-107]. I some code ge s emo ed du ing he ans o ma ion o ha eason, hen i is
compa able o he elimina ion o dead code ha we desc ibed.
On he o he hand, he code migh no be necessa y in he a ge en i onmen , as he
en i onmen p o ides he unc ionali y implici ly. An example o his ype o code can be
seen in Figu e 5.13. As he a ge en i onmen al eady p o ides he unc ionali y o expand
and collapse a ee, he sou ce code ha ealizes his unc ionali y impe a i ely needs no o be
ans o med. One could a gue ha he unc ionali y is de ined by he
T ee
cons uc so ha
he language cons uc s, e.g., he
P og am Uni s
, a e no emo ed bu mapped o he
T ee
.
Howe e , we would a gue ha his is no he case as he model ans o ma ion ha ans o ms
he L-PSM in o he T-PSM does no need o conside he
P og am Uni s
. In he example,
i only ans o ms
I ems
o he ype
Hie a chical T ee
. As a esul , we a e no able o
con inuously ace he
P og am Uni s
om hei de ini ion in he sou ce code o he legacy
en i onmen o he sou ce code o he a ge en i onmen . In gene al, his can be an indica o
o he emo al o code.
In addi ion, one could a gue i his pa e n is equi ed a all since i only p esc ibes o
cus omize one me hod agmen ha cons i u es an a i ac . In pa icula , no ac i i ies a e
de ined. While his is ue, he pa e n enables some kind o ma king sou ce code ha shall
no be ans o med. We assume ha his is essen ial o enable he assessmen o de eloped
me hods. In pa icula , i would no be possible o e alua e whe he a ans o ma ion me hod is
comple e, i.e., whe he i co e s he whole legacy sys em.
This concludes he gene ic desc ip ion o he pa e n, whe eby we discussed a ious
cha ac e is ics. Howe e , so a we did no discuss in which si ua ions an applica ion o he
pa e n is app op ia e. This discussion is pa o he nex sec ion.
112 MEFiSTo Me hod Base
Sui abili y
In e ms on in luences on he e ec i eness, he necessi y o he sou ce code on which he
pa e n is applied needs o be conside ed as in luence ac o . In ac , he pa e n can only be
e ec i e i i is applied on sou ce code ha is no necessa y. O he wise, i will always be
ine ec i e as unc ionali y will be los du ing he ans o ma ion
Also in e ms on in luences on he e iciency, he necessi y o he sou ce code is he
de e mining in luence ac o . I he code is no necessa y, we assume he pa e n o be he mos
e icien one as i equi es he leas e o , i.e., no e o . When applying he pa e n on necessa y
code, i s e iciency does no need o be conside ed as i yields an e oneous ans o ma ion.
In conclusion, we assume ha he pa e n shall be applied i i is no necessa y o ans o m
he unc ionali y, since i is no used by he legacy sys em o since i is implici ly p o ided by
he a ge en i onmen . So a , we ocused on pa e ns o ans o m some unc ionali y. In he
nex sec ion, we in oduce a pa e n o es uc u e he a chi ec u e o a legacy sys em du ing i s
ans o ma ion.
5.5.5 Pla o m-Dependen A chi ec u e Res uc u ing (A1)
In en Pe o m an au oma ed es uc u ing o a legacy sys em‘s a chi ec u e
du ing i s ans o ma ion in o a new en i onmen
S a egy
An in e media e ep esen a ion o he sys em’s a chi ec u e is used on
a pla o m-independen laye . The ep esen a ion is e e se enginee ed
om an ASG
4
o he legacy sys em on a pla o m-speci ic laye . A e
a es uc u ing, i is ans o med in o an ASG4o he a ge
en i onmen
S uc u e
Con inued on nex page
5.5 Basic T ans o ma ion Pa e ns 113
Applicabili y
Use when he a chi ec u e o he sys em o ans o m di e s in he
sou ce and in he a ge en i onmen and i he di e ence is oo
signi ican o pe o m he es uc u ing implici ly when con e ing he
unc ionali y. In addi ion, he s uc u es ha imply he a chi ec u e o
he sys em and hose ha a e a ec ed by he es uc u ing need o
eside in models on he pla o m-speci ic laye
P epa a ion
Applying his pa e n equi es ealizing model ans o ma ions ules.
In addi ion, i can be necessa y o ealize dedica ed a chi ec u e
eco e y algo i hms o model iews
Example
Figu e 5.14 shows he enac men o a me hod which con o ms o he
pa e n. The eby, he modula iza ion o he unning example is
changed (c . Sec ion 4.3)
Known Uses
The s a egy ealized by he pa e n is compa able o he s a egy
ollowed by a chi ec u al eenginee ing ools. The me hod desc ibed
in [Hec+08] con o ms o he pa e n
Rela ed Pa e ns Simila o A2
Table 5.6 Cha ac e iza ion o he Pla o m-Dependen A chi ec u e Res uc u ing Pa e n
Example
This sec ion is sepa a ed in o wo pa s. Fi s , we desc ibe he (i) backg ound knowledge
co e ing echnical de ails o he example. Then, we desc ibe he (ii) enac men o a me hod
ha con o ms o he Pla o m-Dependen A chi ec u e Res uc u ing Pa e n.
Technical Backg ound
Fi s , we need o ha e an unde s anding o he concep on which
his pa e n shall be applied. In con as o he o he pa e ns in oduced, his one does no
enable o ans o m some unc ionali y bu o es uc u e he a chi ec u e o a sys em du ing i s
ans o ma ion. The e o e, we need o ha e an unde s anding o he a chi ec u al s uc u e we
aim o change. Rela ed o he Summi applica ion (c . Sec ion 4.3), we aim o change i s modu-
la iza ion (C8). In addi ion, we demons a e he impac o his change on he ans o ma ion o
he in e nal ep esen a ion o he ables used (C1).
4Depending on he si ua ion, using an AST can be su icien
114 MEFiSTo Me hod Base
Second, we need an unde s anding o how he concep is ealized in he legacy sys em. Any
Fo ms-based sys em consis s o a se o modules. While he e a e di e en ypes o modules,
each module is s o ed in a dedica ed ile. In he example, we only conside Fo m Modules
which con ain he de ini ion o use in e aces, sou ce code ou ines as well as da a connec ions.
Rela ed o he Summi applica ion, we use he
ORDERS
and
CUSTOMERS Fo m Modules
o
exempli y he applica ion o he pa e n. An exce p o hei sou ce code can be seen in he
lowe le o Figu e 5.14. No e ha we do no discuss he ealiza ion and mapping o he
in e nal ep esen a ion o he ables used. Ins ead, we e e o Sec ion 5.5.1 whe e his has
been discussed in g ea de ail.
Besides knowledge o he concep and i s ealiza ion in he legacy sys em, we hi dly need
o ha e an unde s anding o how o ealize he unc ionali y in he a ge en i onmen . In
O acle ADF, he modula iza ion can be de ined o each laye sepa a ely (c . Sec ion 3.1),
e.g., o he da a as well as o he iew laye . In he example, we ocus on he modula iza ion
o he da a laye and use a
Model P ojec
o his pu pose. This is a simpli ica ion, as he
equi alen o a module in O acle Fo ms would a he be an
Applica ion Module
han a
Modeling P ojec
. Howe e , we assume ha all da a connec ions con ained in ha p ojec
a e la e on bundled as one
Applica ion Module
, which ac s as a con aine o de ined da a
connec ions [O a13]
Finally, we need o ha e an unde s anding o he way in which he a chi ec u e shall be
es uc u ed. In he example, we apply he mapping desc ibed in [RM11, p.8] which sugges s
me ging all modules o he applica ion. I is s a ed ha la ge applica ions migh equi e a mo e
complex es uc u ing, bu me ging is sui able o he Summi applica ion. Fo a mo e complex
es uc u ing, we e e o he easibili y s udy desc ibed in Sec ion 7.2.
Me hod Enac men
The desi ed ans o ma ion is achie ed by enac ing he ans o ma ion
me hod as shown in Figu e 5.14. The eby we wan o poin ou ha he me hod does no con o m
o he Pla o m-Dependen A chi ec u e Res uc u ing Pa e n. Ins ead, he combined use o
wo me hod pa e ns is shown: The in e nal ep esen a ion o da abase ables is ans o med by
applying he Language T ans o ma ion Pa e n (c . Sec ion 5.5.1), while he modula iza ion is
changed by applying he Pla o m-Dependen A chi ec u e Res uc u ing Pa e n. The easons
o ha equal he easons o he Code Remo al Pa e n (c . Sec ion 5.5.4). On he one hand,
he applica ion o he pa e n can be obse ed bes when demons a ing i s impac on o he
pa e ns. On he o he hand, i is ano he example o a composed pa e n.
Rela ed o he ans o ma ion o he in e nal ep esen a ion o da abase ables, we do
no p o ide a de ailed desc ip ion o he me hod pa s bu e e o he example p o ided in
Sec ion 5.5.1. Fi s , a syn ac ic and seman ic analysis is pe o med by enac ing he ac i i ies
5.5 Basic T ans o ma ion Pa e ns 115
Summi
Da abase Model
Summi Block and
SQL Model
Summi Componen Model
Henshin Model
T ans o ma ion
Engine
Ex ac
Summi Componen
A chi ec u e
Henshin Model
T ans o ma ion
Engine
Conc e ize
Summi Componen
A chi ec u e
Henshin Model
T ans o ma ion
Engine
Res uc u e
Summi Componen
A chi ec u e
Gene a e Summi
Model P ojec
Acceleo Code
Gene a ion
Engine
Componen To
ModelP ojec
T ans o ma ion
Da a Flow
Tex ual A i ac
o Sys em
Model, Class
o Associa on Con ol Flow
Ac i i y Tool
Sys em Laye Pla o m-Independen Laye Pla o m-Speci ic Laye
Me geModules
T ans o ma ion
ORDERS :Componen
Disco e Summi
Blocks and SQL
S a emen s
Disco e Summi
Da abase Tables
O acle Fo ms
Sou ce Code Pa se
and Seman ic
Analyze
O acle Da abase
Pa se
S_EMP
ID
<Fo mModule Name="ORDERS“>
<Block Name="S_ORD"
Da abaseBlock="T ue" Que yDa aSou ceName="S_ORD">
<T igge Name="POST-QUERY“ T igge Tex ="…“/>
</Block>
</Fo mModule>
<Fo mModule Name="CUSTOMERS“>
<Block Name="S_CUSTOMER“
Da abaseBlock="T ue" Que yDa aSou ceName=„S_CUSTOMER“>
<T igge Name="POST-QUERY“ T igge Tex ="…“/>
</Block>
</Fo mModule>
S_ORD
ID
S_CUSTOMER
ID
ID :RDBColumnDe ini ion
S_CUSTOMER :RDBTableDe ini ion
ID :RDBColumnDe ini ion
S_EMP :RDBTableDe ini ion
ID :RDBColumnDe ini ion
S_ORD :RDBTableDe ini ion
S_CUSTOMER :Block
:RDBSelec Exp ession
E :RDBTableRe e ence
CUSTOMERS:Fo mModule
POST_QUERY :T igge
S_ORD :Block
:RDBSelec Exp ession
E :RDBTableRe e ence
ORDERS:Fo mModule
POST_QUERY :T igge Henshin Model
T ans o ma ion
Engine
T ans o m In e nal
Rep esen a ion o
Summi Da abase
Tables
TablesTo
En i yObjec s
T ans o ma ion
S_ORD :En i yObjec
ID :En i yA ibu e
ID : En i yA ibu e
S_EMP : En i yObjec
Summi :ModelP ojec
ID : En i yA ibu e
S_CUSTOMER : En i yObjec
<En i y Name="S_ORD_EO“>
<A ibu e Name="ID“/>
</En i y>
<En i y Name="S_CUSTOMER_EO“>
<A ibu e Name="ID“/>
</En i y>
<JboP ojec Name="Model“>
<Con ainee
Name="en i ies“
PackageName="o acle.summi .model.en i ies“/>
</JboP ojec >
<En i y Name="S_EMP_EO“>
<A ibu e Name="ID“/>
</En i y>
CUSTOMERS :Componen
Summi :Componen
Summi Componen Model
Summi Model
P ojec Model
Summi Da abase Summi Block Sou ce Code Summi Model P ojec Sou ce Code
Fo mModuleTo
Componen
T ans o ma ion
Figu e 5.14 Enac ing a ans o ma ion me hod o ans o m he a chi ec u e o he unning
example by using he Pla o m-Dependen A chi ec u e Res uc u ing Pa e n
called Disco e Summi Da abase Tables and Disco e Summi Blocks and SQL S a emen s o
e ie e a model o he da abase and he ASG o he sou ce code Then, by pe o ming he ac i i y
called T ans o m In e nal Rep esen a ion o Summi Da abase Tables, a model ans o ma ion
is execu ed ha ans o ms he L-PSM in o he T-PSM. In pa icula , he ables and columns o
he da abase model a e ans o med o
En i y Objec s
and
En i y A ibu es
. As a las
s ep, pe o ming he ac i i y called Gene a e Summi Model P ojec gene a es co esponding
sou ce code o he a ge en i onmen .
116 MEFiSTo Me hod Base
The h ee ac i i ies shown in he uppe pa o Figu e 5.14 esul om applying he Pla o m-
Dependen A chi ec u e Res uc u ing Pa e n. A i s , an A-PIM ge s c ea ed by enac ing he
ac i i y called Ex ac Summi Componen A chi ec u e. This ac i i y is a cus omiza ion o he
A chi ec u e Reco e y agmen and p esc ibes o pe o m e e se enginee ing. In pa icula , i
p esc ibes how o econs uc he a chi ec u e o he applica ion by in e p e ing he L-PSM and
ep esen ing he esul on a pla o m-independen laye . Rela ed o he Summi applica ion,
we ex ac he a chi ec u e by ans o ming each
Fo m Module
ins ance in o an a chi ec u al
Componen
which ep esen s a uni o composi ion [Szy02, p.548]. In gene al, componen s
can ha e dependencies o each o he . In he case o he example, his could be na iga ion lows
be ween con ained dialogs (c . Sec ion 4.3). Howe e , o ealize he in ended es uc u ing,
i was no equi ed o ex ac hem. The esul ing model can be seen in he uppe le o
Figu e 5.11, i con o ms o he KDM [OMG11b].
As a second s ep, he a chi ec u e ge s es uc u ed by modi ying he con en o he A-PIM
using an endogenous model ans o ma ion. This is achie ed by enac ing he ac i i y called
Res uc u e Summi Componen A chi ec u e, which is a cus omiza ion o he A chi ec u e
Res uc u ing agmen . Rela ed o he Summi applica ion, he es uc u ing consis s o
me ging all Componen s. The esul ing model can be seen in he uppe igh o Figu e 5.11.
Finally, he changed a chi ec u e o he applica ion ge s conc e ized in he new en i onmen .
In pa icula , he A-PIM is used o c ea e pa s o he T-PSM by applying an exogenous model
ans o ma ion. This is achie ed by enac ing he ac i i y called Conc e ize Summi Componen
A chi ec u e, which is a cus omiza ion o he A chi ec u e Conc e iza ion agmen . Rela ed
o he Summi applica ion, a model ans o ma ion c ea es a
Model P ojec
ins ance in he
T-PSM o each
Componen
ha is con ained in he A-PIM. The esul ing model can be seen in
he middle igh o Figu e 5.11.
No e ha he T-PSM plays an impo an ole in he in eg a ion o bo h pa e ns, as i is an
inpu o he ac i i y called T ans o m In e nal Rep esen a ion o Summi Da abase Tables. This
da a low dependency makes he Language T ans o ma ion Pa e n (c . Sec ion 5.5.1) dependen
on he ( esul o he) A chi ec u e Res uc u ing Pa e n. F om a unc ional pe spec i e, his is
due o he ac ha each
En i y Objec
needs o be associa ed o a
Model P ojec
which is
only c ea ed by he a chi ec u e conc e iza ion ac i i y.
This concludes he desc ip ion o an example o he Pla o m-Dependen A chi ec u e
Res uc u ing Pa e n. Subsequen ly, we desc ibe i s gene ic cha ac e is ics.
Desc ip ion
The Pla o m-Dependen A chi ec u e Res uc u ing Pa e n can be applied o change he
a chi ec u e o a legacy sys em du ing i s ans o ma ion in o a new en i onmen . The basic
5.5 Basic T ans o ma ion Pa e ns 117
idea o how o es uc u e he a chi ec u e is o use an explici ep esen a ion o i on a pla o m-
independen laye . This ep esen a ion is ex ac ed om he sou ce code o he legacy sys em
and mapped o sou ce code in he a ge en i onmen . Mo e p ecisely, applying he pa e n i s
equi es ex ac ing he a chi ec u e o he sys em o ans o m on he pla o m-independen
laye as a pla o m-independen model (A-PIM) by pe o ming an a chi ec u e eco e y. Then,
an a chi ec u e es uc u ing changes he a chi ec u e as desi ed by modi ying he A-PIM. By
pe o ming an a chi ec u e conc e iza ion, he A-PIM is ans o med in o a pla o m-speci ic
model, i.e., he a chi ec u e is ealized by pla o m-speci ic concep s.
The ans o ma ion s a egy desc ibed by his pa e n is ela ed o he s a egy ollowed
by a chi ec u al eenginee ing ools. In pa icula , hese ools usually ealize h ee ac i i ies,
namely a chi ec u e eco e y,a chi ec u e ans o ma ion and a chi ec u e design [KWC98].
Since he in en ions o he p ocesses co espond o he in en ions o he h ee ac i i ies ha a e
p esc ibed by he pa e n, he pa e n can be used o desc ibe he mechanics o an a chi ec u al
eenginee ing ool.
The pa e n is simila o he Pla o m-Independen A chi ec u e Res uc u ing Pa e n (
A2
).
Bo h pa e ns only di e in he sou ce o he a chi ec u e es uc u ing ac i i y, i.e., whe he a
pla o m-speci ic o pla o m-independen ep esen a ion o he legacy sys em is used. The eby,
he abs ac ion laye o use depends on whe e he in o ma ion is desc ibed ha is equi ed
o ex ac he a chi ec u al model. In he example, he
Componen s
a e ex ac ed di ec ly
om he
Fo m Modules
ha a e ep esen ed in he L-PSM. Assume ha an F-PIM would be
used in which
Fo m Modules
a e ep esen ed by pla o m-independen
Modules
. Then, he
a chi ec u al model could be ex ac ed om he F-PIM ins ead.
We wan o poin ou ha he ela ion be ween he A-PIM and models on a lowe le el o
abs ac ion is sligh ly di e en han he ela ion be ween he F-PIM and models on a lowe le el
o abs ac ion. I an ins ance o some unc ionali y o ans o m is ep esen ed in he L-PSM
and F-PIM, hen he only in o ma ion ha ge s los is how he unc ionali y was ealized in
he legacy en i onmen . Bu , he unc ionali y desc ibed is he same in bo h models, i.e., i
is edundan . In con as , his is no he case o he con en o he a chi ec u al model. The
a chi ec u al en i ies con ained do no ep esen he unc ionali ies desc ibed by he models on
a lowe le el o abs ac ion bu aim o ep esen g ea e cohe ences. This can, o example,
be achie ed by agg ega ing in o ma ion con ained in pla o m-speci ic models. This can also
be seen in he example when conside ing he di e ence be ween he
Fo m Modules
and he
Componen s
shown. While bo h seem o be simila , a
Fo m Module
is solely a ep esen a ion
o a sou ce ile. The
S_ORD Block
is con ained by i , bu he
Fo m Module
does no ep esen
i . In con as , he co esponding Componen is a ep esen a ion o he en i e Fo m Module.
118 MEFiSTo Me hod Base
An applica ion o his pa e n is desc ibed in [Hec+08]. In his wo k, a Ja a-based applica-
ion ha has a wo- ie a chi ec u e is ans o med o con o m o a h ee- ie a chi ec u e. This
is achie ed by ex ac ing an A-PIM ha ep esen s he laye each code block belongs o. A
es uc u ing ac i i y on his model in oduces a new laye and mo es code blocks based on
de ined ules. Finally, he changes a e e lec ed back o he sou ce code.
This concludes he gene ic desc ip ion o he pa e n, whe eby we discussed a ious
cha ac e is ics. Howe e , so a we did no discuss in which si ua ions an applica ion o he
pa e n is app op ia e. This discussion is pa o he nex sec ion.
Sui abili y
In e ms on in luences on he e ec i eness, we need o conside ha his pa e n di e s om
he o he pa e ns by he ac ha i is always op ional. T ans o ming a legacy sys em as
pa o a so wa e mode niza ion essen ially equi es e aining i s unc ionali y, which can be
achie ed by applying any o he pa e ns in oduced ea lie . In con as , he Pla o m-Dependen
A chi ec u e Res uc u ing Pa e n enables pe o ming some es uc u ings explici ly on an
a chi ec u al laye , which is no equi ed o p ese e he unc ionali y.
Howe e , i an a chi ec u al es uc u ing is desi ed, ans o ma ions ha p ese e he
unc ionali y need o implici ly conside his es uc u ing. Fo example, in he case o a
Language T ans o ma ion Pa e n, he di ec model ans o ma ion be ween he L-PSM and
T-PSM needs o ealize his es uc u ing, in addi ion o he mapping be ween he p og amming
languages used. As discussed in Sec ion 5.5.1, his would inc ease he complexi y o he
model ans o ma ion which can, in u n, dec ease he e ec i eness. By using he A chi ec u e
Res uc u ing Pa e n, he conce n o ex ac ing and es uc u ing he a chi ec u e can be
sepa a ed om he p ese a ion o he unc ionali y. In ui i ely, he esul ing a chi ec u al
model can be used o pa ame e ize ans o ma ions on a lowe le el o abs ac ion, possibly
making hem e ec i e. The e o e, in luences on he e ec i eness a e implici ly gi en by he
in luence ac o s o he o he pa e ns.
In e ms on in luences on he e iciency, we obse ed he complexi y o he a chi ec u e
eco e y and es uc u ing ac i i ies o essen ially in luence he e iciency o he pa e n. In he
example, we used a simple one- o-one mapping be ween
Fo m Modules
and
Componen s
o
ex ac an a chi ec u al model while subsequen ly me ging all esul ing
Componen s
. Howe e ,
in gene al, a chi ec u e eco e y and es uc u ing a e complex endea o s ha can equi e
applying pa e n-ma ching o clus e ing echniques.
In conclusion, we assume ha he pa e n is pa icula ly sui able i he a chi ec u e o he
sys em in he sou ce and in he a ge en i onmen di e s signi ican ly, while la ge pa s o he
unc ionali y a e con e ed so ha dependen ans o ma ions bene i om he a chi ec u al
5.6 Composed T ans o ma ion Pa e ns 119
model. As can be seen in he example shown in Figu e 5.14, pa e ns can be ela ed o each
o he . In he nex Sec ion, we in oduce a se o composed pa e ns ha esul by combining
wo o mo e o he me hod pa e ns in oduced so a .
5.6 Composed T ans o ma ion Pa e ns
In his sec ion, we in oduce a se o composed pa e ns, shown in Figu e 5.15. A composed
pa e n esul s om combining wo o mo e basic pa e ns. An example is he ans o ma ion
me hod desc ibed in sec ion 5.5.5. The me hod is a esul o applying he Pla o m-Dependen
A chi ec u e Res uc u ing Pa e n and he Language T ans o ma ion Pa e n.
Based on he example, i could be seen ha some in eg a ion e o is necessa y so ha an
in eg a ed ans o ma ion me hod esul s. In pa icula , he da a low needed o be p ecisely
de ined as pa o he in eg a ion in o de o ensu e ha ac i i ies which o igina e om di e en
pa e ns a e pe o med in a co ec o de . In gene al, he use o a composed pa e n always
equi es in eg a ion o he me hod agmen s ha o igina e om di e en pa e ns. The e o e,
such in eg a ion is an essen ial pa o he me hod enginee ing p ocess o MEFiSTo. The
in eg a ion is add essed in de ail in Sec ion 6.4.2.
To unde s and he use ulness o his addi ional se o pa e ns, we need o dis inguish wo
cases: a composed pa e n can ei he eme ge implici ly o be applied explici ly. A composed
pa e n eme ges implici ly i a legacy sys em is di ided in o dis inc pa s, whe eby di e en
basic pa e ns a e applied on di e en pa s o ans o m he con ained unc ionali y. Then, he
in eg a ion needs o be add essed e ospec i ely.
P o iding a se o composed pa e ns as pa o he me hod base enables conside ing he
combined use o basic pa e ns p ospec i ely. Based on ou obse a ions, his o e s a leas wo
bene i s. On he one hand, i p e en s he need o a ine-g anula desc ip ion o he unc ionali y
o he sys em o ans o m. In his sense, i p o ides an addi ional deg ee o eedom in he
speci ica ion o he unc ionali y. On he o he hand, i enables conside ing in eg a ion e ec s
du ing he de elopmen o a me hod explici ly. This allows a ine-g anula adap a ion o he
me hod o he si ua ion a hand.
Subsequen ly, we in oduce he composed pa e ns in he same way as we in oduced he
basic pa e ns in Sec ion 5.5. Howe e , in con as o he basic pa e ns, we do no desc ibe each
composed pa e n bu only selec ed ones, i.e., pa e ns
F5
and
F7
. This is due o he obse a ion
ha he di e ence in he cha ac e is ics be ween he basic and he composed pa e ns only
a ises due o in eg a ion e ec s. The e o e, we ocus on co e ing all in eg a ion e ec s bu no
all pa e ns. Ne e heless, he cha ac e is ics o pa e ns ha ha e no been desc ibed can be
ound in he appendix (c . Sec ion A).
126 MEFiSTo Me hod Base
In MDA, models a e used on a ious le els o abs ac ion du ing he de elopmen , whe eby he
lowes le el is he pla o m-speci ic laye [OMG14]. The PSM on ha laye is in e p e ed and
execu ed di ec ly, o , i is used o gene a e code. Code can be comple ely o pa ially gene a ed.
In he las case, de elope s implemen missing pa s manually [BCW12, p.29].
In compa ison, he me hod ha esul s when applying he Language T ans o ma ion-Based
Reimplemen a ion Pa e n only di e s in wo main aspec s. Fi s , he ins an ia ion o he
PSM di e s. While in an MDA-based p ocess a PSM esul s om ans o ming a PIM, he
pa e n p esc ibes o ins an ia e i om ano he PSM. In ui i ely, a compile -based app oach
is applied o enable a la e al en y in o an MDA-based de elopmen p ocess. F om his poin
on he p ocess is he same excep o , secondly, he way in which he de elope s a e guided.
In pa icula , he in o ma ion sou ce di e s. While in an MDA-based p ocess he PSM shall
con ain all in o ma ion equi ed o eimplemen a ion [BCW12, p.41], he legacy sys em always
akes his ole in case o a mode niza ion.
No e ha he in o ma ion sou ce can be shi ed, which can be seen based on he me hod
shown in Figu e 5.16. In he example, i would ac ually no be necessa y o access he sou ce
code in o de o eimplemen he alida ion ules, as all equi ed in o ma ion a e con ained.
This can be bene icial i a con ex change o he so wa e de elope s is p e en ed, i.e., hey
do no need o lea e hei de elopmen en i onmen bu ind all ele an in o ma ion he e.
On he one hand, his can be seen as a syne gy e ec esul ing om he in eg a ion o bo h
pa e n. On he o he hand, his c ea es a dependency o eimplemen a ion ac i i ies on he
ou pu o he language ans o ma ion. I he sou ce code o he legacy sys em is di ec ly used,
eimplemen a ion ac i i ies could also be pe o med in pa allel. Howe e , in eg a ion always
needs o be conside ed, ei he implici ly o explici ly.
To some deg ee, an applica ion o his pa e n is desc ibed in [Fuh+12, pp.170-174]. In his
wo k, a model-d i en ans o ma ion om a clien -se e o a Se ice O ien ed A chi ec u e
(SOA) has been pe o med as a case s udy. Fi s , he legacy sys em was ep esen ed as a
pla o m-speci ic model. Howe e , no language ans o ma ion was pe o med bu some kind
o es uc u ing as co esponding pa s o he model ha e been iden i ied ha o m a se ice.
Fo each pa iden i ied, code has been gene a ed based on he PSM ha is no comple e bu
eimplemen ed manually by de elope s a e wa ds.
This concludes he gene ic desc ip ion o he pa e n, whe eby we discussed a ious
cha ac e is ics. Howe e , so a we did no discuss in which si ua ions an applica ion o he
pa e n is app op ia e. This discussion is pa o he nex sec ion.
5.6 Composed T ans o ma ion Pa e ns 127
Sui abili y
In e ms on in luences on he e ec i eness, we ha e o conside he in luence ac o s o he basic
pa e ns ha esul when decomposing his composed one. Fo hose pa s o he unc ionali y
ha shall be au oma ically con e ed, we need o conside he ealiza ion in he legacy sys em
as well as he desi ed ealiza ion in he a ge en i onmen as essen ial in luence ac o s. As
discussed in Sec ion 5.5.1, hese ac o s in luence he complexi y o he model ans o ma ion
be ween he L-PSM and T-PSM. This, in u n, can lead o a de ia ion om an ini ially desi ed
ealiza ion, nega i ely in luencing he e ec i eness.
Fo hose pa s o he unc ionali y ha shall be eimplemen ed, he skills o he so wa e
de elope ha pe o m he eimplemen a ion ac i i y need o be conside ed as an essen ial
in luence ac o . As discussed in Sec ion 5.5.3, he de elope s always ha e a ce ain deg ee o
eedom when pe o ming eimplemen a ion ac i i ies. The e o e, he e ec i eness can depend
on he mic o design-decisions hey pe o m.
Also in case o in luence ac o s on he e iciency we need o conside he in luence ac o s
o he unde lying basic pa e ns. Fo hose pa s o he unc ionali y ha shall be au oma ically
con e ed, he e o o de elop a syn ac ic and/o seman ic analyze , me amodels and code
gene a ion ules needs o be conside ed. In addi ion, he complexi y o he model ans o ma ion
on he pla o m-speci ic laye as well as he size o he unc ionali y o con e a e essen ial
in luence ac o s.
Fo hose pa s o he unc ionali y ha shall be eimplemen ed, he amoun o de elope s
a ailable as well as hei skills o m essen ial in luence ac o s. Also, he size o he pa o he
unc ionali y o eimplemen needs o be conside ed. I should be su icien ly small so ha an
au oma ic con e sion would be ine icien .
In conclusion, we assume ha he pa e n is pa icula ly sui able i la ge pa s o he
unc ionali y o ans o m a e ealized compa ably in bo h en i onmen s while he o e all
sou ce code o ans o m is su icien ly la ge. Tha pa s o he unc ionali y ha a e ealized
signi ican ly di e en should no be oo la ge while de elope s should be amilia wi h he
a ge en i onmen . Based on he desc ip ion o his pa e n, i could be seen ha he in eg a ion
o an au oma ed con e sion and a manual eimplemen a ion needs o be ca e ully conside ed.
Subsequen ly, we desc ibe ano he special in eg a ion e ec ha can a ise when in eg a ing
con e sion-based ans o ma ion s a egies ha ely on he use o di e en le els o abs ac ion.
128 MEFiSTo Me hod Base
5.6.2 Concep Recogni ion-Based Language T ans o ma ion (F7)
In en
Pe o m an au oma ed ans o ma ion o he legacy sys em’s
unc ionali y in o a new en i onmen , ollowing a con e sion-based
ans o ma ion s a egy
S a egy
Use an in e media e ep esen a ion o pa s o he unc ionali y o
ans o m on a pla o m-independen laye o enhance a di ec
mapping be ween he p og amming languages o he en i onmen s
in ol ed. The in e media e ep esen a ion is e e se enginee ed om
an ASG6o he legacy sys em on a pla o m-speci ic laye . When he
ASG6o he legacy sys em is ans o med in o an ASG6o he a ge
en i onmen , he model ans o ma ion used is dependen on he
ans o ma ion o he in e media e ep esen a ion
S uc u e
Applicabili y
Use when he unc ionali y o ans o m is ealized signi ican ly
di e en in he legacy and a ge en i onmen and when he
complexi y o a di ec ans o ma ion becomes low i pa s o he
unc ionali y a e made explici . Also, he legacy sys em needs o ha e
a su icien size. The use o an in e media e ep esen a ion can educe
he complexi y o a di ec ans o ma ion by sepa a ing he conce ns
o e e se enginee ing, es uc u ing and mapping he unc ionali y.
The mani es a ion o hese conce ns essen ially in luences he
e iciency and e ec i eness o he pa e n
P epa a ion
Applying his pa e n essen ially equi es ealizing a pa se ,
model- o-model ans o ma ions and code gene a ion ules. In
addi ion, i can be necessa y o ealize a seman ic analyze , dedica ed
e e se enginee ing algo i hms o model iews
Con inued on nex page
5.6 Composed T ans o ma ion Pa e ns 129
Example
Figu e 5.17 shows he enac men o a me hod o a me hod. The eby,
he in e nal ep esen a ion o da abase iews o he unning example is
ans o med (c . Sec ion 4.3)
Known Uses
The s a egy ealized by he pa e n is compa able o he s a egy
ollowed by a compile ha uses an abs ac ep esen a ion o he
sou ce code o compile in o de o op imize he esul .
The me hod desc ibed in [San14, pp.197-199] con o ms o he pa e n
Rela ed Pa e ns Combines F1, F2and F4
Table 5.8 Cha ac e iza ion o he Concep Recogni ion-Based Language T ans o ma ion Pa e n
Example
This sec ion is sepa a ed in o wo pa s. Fi s , we desc ibe he (i) backg ound knowledge
co e ing echnical de ails o he example. Then, we desc ibe he (ii) enac men o a me hod
ha con o ms o he Concep Recogni ion-Based Language T ans o ma ion Pa e n.
Technical Backg ound
Fi s , we need o ha e an unde s anding o he unc ionali y o ans-
o m. In his example, we aim o ans o m he iew-based da a access unc ionali y (c .
Sec ion 4.3). In pa icula , we show how he pa e n can be used o ans o m he in e nal
ep esen a ion o he iews (C3).
We do no go in o de ail on how hese unc ionali ies a e ealized in he legacy sys em and
shall be ealized in he a ge en i onmen . Ins ead, we e e o Sec ion 5.5.3 whe e his has
been desc ibed in g ea de ail. In sho , da abase iews a e de ined by
Blocks
and
I ems
in
O acle Fo ms, while hey a e mapped o
View Objec s
and co esponding
View A ibu es
in O acle ADF.
While he pa e n exempli ies he ans o ma ion o he in e nal ep esen a ion o da abase
iews, we addi ionally assume how he in e nal ep esen a ion o da abase ables a e ans-
o med. In pa icula , we assume ha he mapping ha has been desc ibed in de ail in Sec-
ion 5.5.1 is applied. In sho , da abase ables ha a e e e enced by
I ems
o impe a i e
sou ce code in O acle Fo ms a e ep esen ed by
En i y Objec s
and co esponding
En i y
A ibu es in O acle ADF.
6Depending on he si ua ion, using an AST can be su icien
130 MEFiSTo Me hod Base
<ViewObjec Name="S_ORD_VO“>
<ViewA ibu e Name="ID“
En i yA Name="ID“ En i yUsage="S_ORD_EO“/>
<ViewA ibu e Name="SALES_REP_ID“
En i yA Name="SALES_REP_ID“ En i yUsage="S_ORD_EO“/>
<ViewA ibu e Name="DATE_ORDERED“
En i yA Name="DATE_ORDERED“ En i yUsage="S_ORD_EO“/>
<ViewA ibu e Name="DATE_SHIPPED“
En i yA Name="DATE_SHIPPED“ En i yUsage="S_ORD_EO“/>
<ViewA ibu e Name="SALES_REP_NAME“
En i yA Name="LAST_NAME“ En i yUsage="S_EMP_EO“/>
</ViewObjec >
Summi View Model
Summi View Objec Sou ce Code
Sys em Laye Pla o m-Independen Laye Pla o m-Speci ic Laye
Summi Block Sou ce CodeSummi Da abase
S_ORD
ID
DATE_SHIPPED
DATE_ORDERED
SALES_REP_ID
SALES_REP_ID :I em
S_ORD :Block
S_ORD :RDBTableDe ini ion
ID :RDBColumnDe ini ion P ima yKey = T ue
ID :I em
Summi Block and
SQL Model
Summi Da abase Model
DATE_ORDERED :I emDATE_ORDERED :RDBColumnDe ini ion
SALES_REP_ID :RDBColumnDe ini ion
<Block Name="S_ORD"
Da abaseBlock="T ue" Que yDa aSou ceName="S_ORD">
<I em Name="ID" Da abaseI em="T ue" />
<I em Name="CUSTOMER_ID" Da abaseI em="T ue"/>
<I em Name="DATE_ORDERED" Da abaseI em="T ue"/>
<I em Name="DATE_SHIPPED" Da abaseI em="T ue"/>
<I em Name=„SALES_REP_NAME“ Da abaseI em="False"/>
<T igge Name="POST-QUERY“ T igge Tex ="…"/>
</Block>
S_ORD :En i yObjec
ID :En i yA ibu e
DATE_ORDERED :En i yA ibu e
SALES_REP_ID : En i yA ibu e
Summi View Objec Model
DATE_SHIPPED :RDBColumnDe ini ion
FIRST_NAME
S_EMP
ID
LAST_NAME
ID :RDBColumnDe ini ion
S_EMP :RDBTableDe ini ion
LAST_NAME :RDBColumnDe ini ion
FIRST_NAME :RDBColumnDe ini ion
DATE_SHIPPED :I em
SALES_REP_NAME :I em
:RDBSelec Exp ession
E :RDBTableRe e ence
POST_QUERY :T igge
DATE_SHIPPED :En i yA ibu e
S_EMP :En i yObjec
ID :En i yA ibu e
FIRST_NAME :En i yA ibu e
LAST_NAME : En i yA ibu e
S_ORD :En i yBasedViewObjec
P ima yKey = T ue
ID :ViewA ibu e
DATE_ORDERED :ViewA ibu e
SALES_REP_ID :ViewA ibu e
DATE_SHIPPED :ViewA ibu e
SALES_REP_NAME :ViewA ibu e
S_ORD :TableBasedView
ID :TableBasedA ibu e
DATE_ORDERED : TableBasedA ibu e
SALES_REP_ID : TableBasedA ibu e
DATE_SHIPPED : TableBasedA ibu e
SALES_REP_NAME : TableBasedA ibu e
To
F om To
O acle Fo ms
Sou ce Code Pa se
and Seman ic
Analyze
Disco e
Summi Blocks and
SQL S a emen s
O acle
Da abase
Pa se
Disco e Summi
Da abase Tables
O acle Fo ms
Sou ce Code
Pa se
Gene a e Summi
View Objec s
ViewObjec s
Gene a ion Templa e
Ex ac
Summi Views
T ans o m In e nal
Rep esen a ion o
Summi Da abase
Views
:T ace
T ace
Model
Conc e ize
Summi Views
Henshin Model
T ans o ma ion
Engine
BlocksTo
ViewObjec s
T ans o ma ion
Henshin Model
T ans o ma ion
Engine
Henshin Model
T ans o ma ion
Engine
ViewToViewObjec
T ans o ma ion
Summi BlockToView
T ans o ma ion
Da a Flow
Tex ual A i ac
o Sys em
Model, Class
o Associa on Con ol Flow
Ac i i y Tool
Figu e 5.17 Resul ing models when enac ing a ans o ma ion me hod o ans o m he in e nal
ep esen a ion o da abase iews o he unning example by using he Concep Recogni ion-
Based Language T ans o ma ion Pa e n
Me hod Enac men
The desi ed ans o ma ion is achie ed by enac ing he ans o ma ion
me hod as shown in Figu e 5.16. No e ha mos o he a i ac s a e p esen ed sho ened. The
me hod consis s o cus omized me hod agmen s ha ha e been in oduced in Sec ion 5.3 and
is an ins ance o he Concep Recogni ion-Based Language T ans o ma ion Pa e n.
The wo ac i i ies shown in he highes laye o Figu e 5.17 o igina e om he Concep ual
T ans o ma ion Pa e n, while he ac i i y on he middle laye o igina es om he Language
T ans o ma ion Pa e n. In con as , he ac i i ies on he lowe laye a e pa o bo h pa e ns.
As he enac men o exempla y me hods has al eady been discussed in Sec ions 5.5.1 and 5.5.2,
we do no go in o de ail on e e y ac i i y bu ocus on hose pa s ha a e a ec ed by he
in eg a ion o bo h pa e ns.
5.6 Composed T ans o ma ion Pa e ns 131
An example o an a ec ed ac i i y is he ac i i y called Ex ac Summi Views, shown in
he uppe le o Figu e 5.10. The ac i i y is a cus omiza ion o he P og am Comp ehension
agmen , i s pu pose is o ex ac he da abase iews de ined wi hin he O acle Fo ms applica-
ion and ep esen i as an F-PIM. When applying he Concep Recogni ion-Based Language
T ans o ma ion Pa e n, he F-PIM does no comple ely ep esen he unc ionali y o ans o m
bu only a pa o i . Tha pa is used o enhance a dependen language ans o ma ion. Rela ed
o he Summi applica ion, he ex ac ion o he iew called
S_ORD
is shown, which is de ined
by he equally named
Block
. The esul ing F-PIM does only ep esen he s uc u e o he iew,
i.e., he iew and i s ields, bu does no model echnical de ails. Fo example, key- ela ions a e
no modeled on he pla o m-independen laye as well as he in o ma ion o which da abase
ield a Table Based A ibu e co esponds o.
Since he missing in o ma ion is con ained in he L-PSM, a T ace Model ha links bo h
models is an addi ional ou pu o he ac i i y. In he example, he con ained
T ace
elemen
links he
S_ORD Table Based View
elemen and i s o igin, namely he
S_ORD Block
. While
he igu e only shows one
T ace
elemen , we assume ha each pa o he Summi View Model
is aced. Fo example, each
Table Based A ibu e
is linked o an
I em
and i s da a sou ce,
i.e., o he associa ed RDB Column De ini ion om which he da a is e ched.
The subsequen ac i i y called Conc e ize Summi Views is a cus omiza ion o he Con-
c e iza ion agmen . By enac ing he ac i i y, he F-PIM ge s ans o med in o he T-PSM,
shown in he middle igh o Figu e 5.17. In he example, enac ing he ac i i y in okes he
execu ion o a model ans o ma ion ha c ea es he
En i y Based View Objec
elemen as
well as i s con ained
View A ibu es
. Howe e , p ope ies a e no c ea ed, like he
P ima y
Key
alue o he
View A ibu e
called
ID
, as well as e e ences o
En i y Objec s
. The
T ace Model is upda ed o e e ence elemen s o he Summi View Objec Model.
The missing echnical de ails a e added by enac ing he ac i i y called T ans o m In e nal
Rep esen a ion o Summi Da abase Views, which is a cus omiza ion o he Language T ans-
o ma ion agmen . The eby, he model ans o ma ion ha is execu ed when pe o ming he
ac i i y conside s he ace in o ma ion p o ided by he T ace Model o e ie e he cohe ences
be ween he in ol ed models. No e ha he da a low dependency o he ac i i y on he T ace
Model and he T-PSM ealizes he in eg a ion o he Concep ual T ans o ma ion and he Lan-
guage T ans o ma ion Pa e n. As a las s ep, code is gene a ed in he a ge en i onmen by
enac ing he ac i i y called Gene a e Summi View Objec s.
This concludes he desc ip ion o an example o he Concep Recogni ion-Based Language
T ans o ma ion Pa e n. Subsequen ly, we desc ibe i s gene ic cha ac e is ics.
132 MEFiSTo Me hod Base
Desc ip ion
The Concep Recogni ion-Based Language T ans o ma ion Pa e n can be applied o ans o m
he unc ionali y o a legacy sys em in o a new en i onmen , ollowing a con e sion-based
ans o ma ion s a egy. The basic idea o how o ans o m he unc ionali y is o explici
ep esen a pa o i on a pla o m-independen laye . This ep esen a ion is ex ac ed om he
sou ce code o he legacy sys em and used o enhance a mapping be ween he p og amming
languages o bo h en i onmen s. Mo e p ecisely, applying he pa e n i s equi es ep esen ing
he unc ionali y o ans o m on he pla o m-speci ic laye as a pla o m-speci ic model o he
legacy en i onmen (L-PSM) by pe o ming a model disco e y. Then, a pa o he unc ionali y
o ans o m ge s e e se enginee ed om he L-PSM and ep esen ed explici ly by a pla o m-
independen model (F-PIM). By pe o ming a conc e iza ion, he F-PIM is ans o med in o a
pla o m-speci ic model o he a ge en i onmen T-PSM. T ace in o ma ion a e main ained so
ha a subsequen language ans o ma ion can add missing pa s in he T-PSM by ans o ming
he L-PSM while using ace links. Finally, sou ce code is gene a ed based on he T-PSM.
The ans o ma ion s a egy desc ibed by his pa e n can be ela ed o he mechanics o a
compile . Besides using an in e media e ep esen a ion ha holds all in o ma ion o he code
o compile, some compile s use an addi ional ep esen a ion o enhance he code gene a ion
p ocess [Aho+06, p.525-542]. Fo example, a Con ol Flow G aph (CFG) can be used ha
ep esen s an abs ac ion o he code, i.e., i does no con ain all in o ma ion bu ocuses
on con ol low ela ions. Op imiza ions can be de ined pu ely on he CFG ha a e hen
e lec ed back on he in e media e ep esen a ion. This is compa able o he s a egy desc ibed
by he pa e n. In he example, he F-PIM abs ac s om echnology-speci ic e minology
and explici ly ep esen s he s uc u e o he unde lying unc ionali y. The pa e n enables o
pe o m es uc u ings on his pla o m-independen ep esen a ion, so ha i could be used o
desc ibe he mechanics o a compile , oo.
On he o he side, he ep esen a ion by an F-PIM does no need o be es uc u ed in o de
o enhance a language ans o ma ion. In ac , we assume ha i can al eady be bene icial o
jus explici ly ep esen pa s o he unc ionali y on a pla o m-independen laye . We apply
he same a gumen as o he Concep ual T ans o ma ion Pa e n (c . Sec ion 5.5.2), namely
he ac ha he use o a pla o m-independen laye sepa a es he conce ns o in e p e ing he
L-PSM and mapping he esul in he a ge en i onmen . No e ha , when applying his pa e n,
he mapping occu s as pa o he conc e iza ion and he language ans o ma ion. The eby, he
amoun o in o ma ion being ans o med pe ac i i y can a y.
This concludes he gene ic desc ip ion o he pa e n, whe eby we discussed a ious
cha ac e is ics. Howe e , so a we did no discuss in which si ua ions an applica ion o he
pa e n is app op ia e. This discussion is pa o he nex sec ion.
5.7 Fo maliza ion 133
Sui abili y
In e ms on in luences on he e ec i eness, we ha e o conside he in luence ac o s o he
basic pa e ns ha esul when decomposing his composed one. Fo he Language as well as
o he Concep ual T ans o ma ion Pa e n, he ealiza ion o he unc ionali y o ans o m in
he legacy sys em and he desi ed ealiza ion in he a ge en i onmen a e essen ial in luence
ac o s. The di e ence in he ealiza ion will de e mine he complexi y o he Language
T ans o ma ion, which can be coun e ac ed by using a pla o m-independen laye . This has
been discussed in de ail in Sec ions 5.5.1 and 5.5.2.
Also, in case o in luence ac o s on he e iciency we need o conside he in luence ac o s
o he unde lying basic pa e ns. As bo h pa e ns ollow a con e sion-based ans o ma ion
s a egy, he e o o de elop a syn ac ic and/o seman ic analyze , me amodels and code
gene a ion ules needs o be conside ed. In addi ion, we assume he e o o de elop he model
ans o ma ion ha ans o ms he L-PSM in o he T-PSM as well as he e o o ealize he
p og am comp ehension ac i i y o be signi ican . The e o is de e mined by he di e ences
in he ealiza ion.
Also, he size o he sou ce code o ans o m needs o be conside ed as an in luence
ac o . Only i he code is su icien ly la ge, he bene i s o au oma ing he ans o ma ion will
compensa e he e o o de eloping ools. In pa icula , o his pa e n, he e o o he
de elopmen o ools needs o be ca e ully e alua ed. As he pa e n elies on he use o ace
in o ma ion be ween di e en , possibly la ge models, de eloping scalable ools is c i ical.
In conclusion, we assume ha he pa e n is pa icula ly sui able i he unc ionali y o
ans o m is ealized di e en ly in bo h en i onmen s and when he complexi y o a di ec
ans o ma ion becomes low i pa s o he unc ionali y a e made explici , while he sou ce
code o ans o m is su icien ly la ge. This concludes an in o mal desc ip ion o he composed
pa e ns. In he nex sec ion, we desc ibe how we o malized hem.
5.7 Fo maliza ion
In his sec ion, we desc ibe how we o malize he con en o he me hod base, i.e., he p oposed
agmen s and pa e ns. An o e iew o he di e en a i ac s in ol ed in he o maliza ion as
well as hei ela ions is shown in Figu e 5.18.
The igu e is sepa a ed in o wo laye s. A i ac s belonging o he uppe laye a e p ojec -
independen a i ac s. They a e de ined as pa o his hesis and suppo he de elopmen
o ans o ma ion me hods. In con as , a i ac s belonging o he lowe laye a e p ojec -
speci ic ones. They a e c ea ed when enac ing he me hod enginee ing p ocess o he MEFiSTo
amewo k, desc ibed in Sec ion 6.
134 MEFiSTo Me hod Base
In MEFiSTo, we do no di ec ly speci y he de eloped ans o ma ion me hod in SPEM
bu ini ially use an in e media e ep esen a ion ins ead. Tha in e media e ep esen a ion is
au oma ically ans o med in o SPEM by execu ing a model ans o ma ion. The easons o
his a e wo old: Fi s , as SPEM is a comp ehensi e and he e o e complex language, he
speci ica ion can become a cumbe some ask. By using an in e media e ep esen a ion ha
only suppo s speci ying essen ial cons i uen s o a me hod by abs ac ing om SPEM-speci ic
cons i uen s, we aim o educe his complexi y. Second, he use o an in e media e language
eases he eplacemen o SPEM. I ano he language o speci y me hods shall be used, i is only
equi ed o de elop a new model ans o ma ion ha ans o ms he in e media e ep esen a ion
in o ha language.
P ojec -Idependen
MEFiSTo In e media e
Modeling Language
(MIML)
So wa e & Sys ems
P ocess Enginee ing
Me amodel (SPEM)
Summi
SPEM
Model
Summi
MIML Model
MEFiSTo Me hod Base
SPEM Model
ins ance o
ins ance o
MIML To SPEM
T ans o ma ion
MimlToSPEM
T ans o ma ionRules
ex ends
P ojec -Speci ic
Model
T ans o ma ion
Engine
ep esen s abs ac ion o
Da a
Flow
Tex ual
A i ac
Package
Ac i i y
Tool
Rela ion
Sec.
5.7.2
Sec.
5.7.1
Sec.
5.7.3
Figu e 5.18 O e iew o packages and hei ela ions when o malizing a me hod in MEFiSTo
The MEFiSTo In e media e Modeling Language (MIML) a i ac ha is shown on he uppe
le side o Figu e 5.18 ep esen s he in e media e language o MEFiSTo. An ins ance o his
me amodel desc ibes a p ojec -speci ic me hod, an example is he Summi MIML Model. We
go in o de ail on hese wo a i ac s and hei con en in Sec ion 5.7.1.
The h ee a i ac s in he igh side o Figu e 5.18 cons i u e a o mal desc ip ion o a
ans o ma ion me hod using SPEM. On he op, he So wa e And Sys ems P ocess Enginee ing
Me amodel esides as de ined by he OMG [OMG08a]. The MEFiSTo Me hod Base SPEM
Model is an ins ance o ha me amodel, i speci ies he gene ic me hod agmen s as p oposed
in Sec ions 5.3 and 5.4. A p ojec -speci ic model can ex end hese me hod agmen s o speci y
cus omized ones. An example o such a model is he Summi SPEM Model. We go in o de ail
on hese h ee a i ac s and hei con en in Sec ion 5.7.2. In addi ion, we discuss he model
ans o ma ion o ans o m MIML in o SPEM in Sec ion 5.7.3.
5.7 Fo maliza ion 135
5.7.1 MEFiSTo In e media e Modeling Language (MIML)
In MEFiSTo, a ans o ma ion me hod ge s ini ially speci ied by a model o an in e media e lan-
guage called MIML. In Figu e 5.19, an exce p o he me amodel o MIML and a co esponding
model o a p ojec -speci ic me hod is shown.
MEFiSTo In e media e Modeling Lanaguage (M2)
F agmen
Ac i i yRole A i ac Tool
ou pu
inpu ool
Summi MIML Model (M1)
Associa on Inhe i ance
Sys em
:A i ac
Objec
Class A i ac
Package
ole
subAc i i y
T ans o ma ion
ToolDe elope Model
Disco e y
Language
T ans o ma ion
LPSM TPSM
sel .ou pu -> o All
(a i ac | a i ac .oclIsTypeO (LPSM))
Pa se
Pa e n
Me hodF agmen
Me hodPa e n
ToolImplemen a ionPhaseF agmen
T ans o ma ionPhaseF agmen
Basic
LanguageT ans o ma ionPa e n
sel . ans o ma ionphase agmen s.me hodF agmen -> o All( agmen |
agmen .oclIsTypeO ( agmen :: ans o ma ion::ModelDisco e y) o
agmen .oclIsTypeO ( agmen :: ans o ma ion::En ichmen ) o
agmen .oclIsTypeO ( agmen :: ans o ma ion::LanguageT ans o ma ion) o
agmen .oclIsTypeO ( agmen :: ans o ma ion::CodeGene a ion) o
…)
sel .subAc i i y-> o All
(ac i i y | ac i i y.oclIsTypeO (ModelDisco e y))
subA i ac
F agmen
Pa e n
In e nal Rep esen a ion o Da abase Tables :LanguageT ans o ma ionPa e n
:T ans o ma ionPhaseF agmen
Disco e Blocks and SQL S a emen s
:ModelDisco e y
Block and SQL Model
:LPSM
Block Sou ce Code
:LegacySou ceCode
Block and SQL Model
:LanguageT ans o ma ion
Block and SQL Model
:TPSM
:LPSM
:ModelDisco e y:LegacySou ceCode :LanguageT ans o ma ion :TPSM
Disco e O acle Fo ms Run ime
:ModelDisco e y
ou pu inpu inpu ou pu
Composi ion
Me hodPa e nCon igu a ion
LanguageT ans o ma ion
Pa e nCon igu a ion
disco e Pla o m :Boolean
LanguageT ans o ma ion
Pa e nCon igu a ion
disco e Pla o m = „ ue“
Cons ain
Legacy
Sou ceCode
Figu e 5.19 Model o he ans o ma ion me hod in oduced in Sec ion 5.5.1 in MIML (exce p )
The uppe laye shows he con en o he MIML me amodel. The package called
F agmen
p o ides elemen s o speci y he essen ial cons i uen s o a me hod, namely oles, a i ac s, ac i -
i ies and ools. Sub-packages p o ide explici language elemen s o all p oposed me hod ag-
men s by e ining he gene ic cons i uen s. Fo example, he package named
T ans o ma ion
p o ides elemen s o speci y agmen s o he equally named phase, e.g., he
LPSM
a i ac o
Model Disco e y ac i i y (c . Sec ions 5.3 and 5.4).
Elemen s o he
F agmen
package a e associa ed wi h cons ain s ha speci y in a ian s
o me hod agmen ins ances. Those in a ian s a e de ined in he Objec Cons ain Language
(OCL). Fo example, an ins ance o he
Model Disco e y
agmen can only ha e sub-
ac i i ies o he same ype while he ou pu has o consis o LPSM ins ances.
APPENDIX A
Cha ac e iza ion o Me hod Pa e ns
Concep Recogni ion-Based Reimplemen a ion (F6)
In en
Pe o m a semi-au oma ic ans o ma ion o he legacy sys em’s
unc ionali y in o a new en i onmen by combining a con e sion- and
a eimplemen a ion-based ans o ma ion s a egy
S a egy
Use an in e media e ep esen a ion o pa s o he unc ionali y o
ans o m on a pla o m-independen laye o guide a manual
eimplemen a ion. The in e media e ep esen a ion is e e se
enginee ed om an ASG
1
o he legacy sys em on a pla o m-speci ic
laye and conc e ized in o an ASG1o he a ge en i onmen .
Subsequen ly, code is gene a ed in he a ge en i onmen ha o ms
he basis o manual eimplemen a ion ac i i ies pe o med by
so wa e de elope s
S uc u e
Con inued on nex page
240 Cha ac e iza ion o Me hod Pa e ns
Applicabili y
Use when he unc ionali y o ans o m is ealized signi ican ly
di e en in he legacy and a ge en i onmen and when so wa e
de elope s can be poin edly guided i pa s o he unc ionali y a e
made explici . The use o an in e media e ep esen a ion can educe
he complexi y o a di ec ans o ma ion by sepa a ing he conce ns
o e e se enginee ing, es uc u ing and mapping he unc ionali y.
The mani es a ion o hese conce ns essen ially in luences he
e iciency and e ec i eness o he pa e n. Those pa s o he
unc ionali y, which ha e no been con e ed, shall be eimplemen ed
manually. The eby, he amoun o a ailable de elope s and hei
expe ience o m in luence ac o s o conside
P epa a ion
Applying his pa e n essen ially equi es ealizing a pa se ,
model- o-model ans o ma ions, code gene a ion ules and guidance
documen s o sys ema ize he eimplemen a ion. In addi ion, i can be
necessa y o ealize a seman ic analyze , dedica ed e e se enginee ing
algo i hms o model iews
Example
In he i s easibili y s udy (c . Sec ion 7.2), we applied he pa e n on
he Back Na iga ion and Business Logic concep s o he Con olle
conce n. The me hod desc ibed in [Fle+07] con o ms o he pa e n
Known Uses
The s a egy ealized by he pa e n is compa able o he s a egy
ollowed by an MDA-based de elopmen p ocess ha s a s on he
pla o m-independen laye . While pa s o he unc ionali y o
ans o m a e au oma ically gene a ed using a model-d i en ool chain,
emaining pa s a e comple ed manually
Rela ed Pa e ns Combines F2, F3and F4; Simila o F5
Table A.1 Cha ac e iza ion o he Concep Recogni ion-Based Reimplemen a ion Pa e n
1Depending on he si ua ion, using an AST can be su icien
241
Concep Recogni ion and Language T ans o ma ion-Based Reimplemen a ion (F8)
In en
Pe o m a semi-au oma ic ans o ma ion o he legacy sys em’s
unc ionali y in o a new en i onmen by combining a con e sion- and
a eimplemen a ion-based ans o ma ion s a egy
S a egy
Use an in e media e ep esen a ion o pa s o he unc ionali y o
ans o m on a pla o m-independen laye o enhance a di ec
mapping be ween he p og amming languages o he en i onmen s
in ol ed and o guide a manual eimplemen a ion. The in e media e
ep esen a ion is e e se enginee ed om an ASG2o he legacy
sys em on a pla o m-speci ic laye and conc e ized in o an ASG2o
he a ge en i onmen . When he ASG2o he legacy sys em is
ans o med in o an ASG2o he a ge en i onmen , he model
ans o ma ion used is dependen on he ans o ma ion o he
in e media e ep esen a ion. Subsequen ly, code is gene a ed in he
a ge en i onmen ha o ms he basis o eimplemen a ion ac i i ies
pe o med by so wa e de elope s
S uc u e
Con inued on nex page
242 Cha ac e iza ion o Me hod Pa e ns
Applicabili y
Use when he unc ionali y o ans o m is ealized signi ican ly
di e en in he legacy and a ge en i onmen . In addi ion, he
complexi y o a di ec ans o ma ion should become low i pa s o
he unc ionali y a e made explici while i should also enable o
poin edly guide so wa e de elope s. The use o an in e media e
ep esen a ion can enhance a di ec ans o ma ion bu equi es
add essing he conce ns o e e se enginee ing, es uc u ing and
mapping he unc ionali y explici ly. The mani es a ion o hese
conce ns as well as he emaining complexi y o he di ec
ans o ma ion in luences he e iciency and e ec i eness o he
pa e n. Those pa s o he unc ionali y, which ha e no been
con e ed, shall be eimplemen ed. The eby, he amoun o a ailable
de elope s and hei expe ience o m in luence ac o s o conside
P epa a ion
Applying his pa e n essen ially equi es ealizing a pa se ,
model- o-model ans o ma ions, code gene a ion ules and guidance
documen s o sys ema ize he eimplemen a ion. In addi ion, i can be
necessa y o ealize a seman ic analyze , dedica ed e e se enginee ing
algo i hms o model iews
Example
In he i s easibili y s udy (c . Sec ion 7.2), we applied he pa e n on
he Non-Da a-Based Dialog Elemen concep o he View conce n
Known Uses
The s a egy ealized by he pa e n is compa able o he s a egy
ollowed by an MDA-based de elopmen p ocess ha s a s on he
pla o m-independen laye . While pa s o he unc ionali y o
ans o m a e au oma ically gene a ed using a model-d i en ool chain,
emaining pa s a e comple ed manually
Rela ed Pa e ns Combines F1, F2, F3and F4
Table A.2 Cha ac e iza ion o he Concep Recogni ion And Language T ans o ma ion-Based
Reimplemen a ion Pa e n
2Depending on he si ua ion, using an AST can be su icien
243
Pla o m-Independen A chi ec u e Res uc u ing (A2)
In en Pe o m an au oma ed es uc u ing o a legacy sys em‘s a chi ec u e
du ing i s ans o ma ion in o a new en i onmen
S a egy
An in e media e ep esen a ion o he sys em’s a chi ec u e is used on
a pla o m-independen laye . The ep esen a ion is e e se enginee ed
om a model o he sys em’s unc ionali y on a pla o m-independen
laye . A e he a chi ec u al model has been es uc u ed, he changes
a e e lec ed back o he model ha ep esen s he unc ionali y
S uc u e
Applicabili y
Use when he a chi ec u e o he sys em o ans o m di e s in he
sou ce and in he a ge en i onmen and i he di e ence is oo
signi ican o pe o m he es uc u ing implici ly when con e ing he
unc ionali y. In addi ion, he s uc u es ha imply he a chi ec u e o
he sys em and hose ha a e a ec ed by he es uc u ing need o
eside in models on he pla o m-independen laye
P epa a ion
Applying his pa e n equi es ealizing model ans o ma ions ules.
In addi ion, i can be necessa y o ealize dedica ed a chi ec u e
eco e y algo i hms o model iews
Example
In he i s easibili y s udy (c . Sec ion 7.2), we applied he pa e n on
he Business Module concep o he Modula iza ion conce n
Known Uses The s a egy ealized by he pa e n is compa able o he s a egy
ollowed by a chi ec u al eenginee ing ools
Rela ed Pa e ns Simila o A1
Table A.3 Cha ac e iza ion o he Pla o m-Independen A chi ec u e Res uc u ing Pa e n
244 Cha ac e iza ion o Me hod Pa e ns
A chi ec u e Res uc u ing (A3)
In en Pe o m an au oma ed es uc u ing o a legacy sys em‘s a chi ec u e
du ing i s ans o ma ion in o a new en i onmen
S a egy
An in e media e ep esen a ion o he sys em’s a chi ec u e is used on
a pla o m-independen laye . The ep esen a ion is e e se enginee ed
om models o he sys em’s unc ionali y on a pla o m-speci ic and
pla o m-independen laye . A e he a chi ec u al model has been
es uc u ed, he changes a e e lec ed back o he models ha
ep esen he unc ionali y
S uc u e
Applicabili y
Use when he a chi ec u e o he sys em o ans o m di e s in he
sou ce and in he a ge en i onmen and i he di e ence is oo
signi ican o pe o m he es uc u ing implici ly when con e ing he
unc ionali y. Also, he s uc u es ha imply he a chi ec u e o he
sys em and hose ha a e a ec ed by he es uc u ing need o eside
in models on he pla o m-speci ic and pla o m-independen laye
P epa a ion
Applying his pa e n equi es ealizing model ans o ma ions ules.
In addi ion, i can be necessa y o ealize dedica ed a chi ec u e
eco e y algo i hms o model iews
Example –
Known Uses The s a egy ealized by he pa e n is compa able o he s a egy
ollowed by a chi ec u al eenginee ing ools
Rela ed Pa e ns Combines A1and A2
Table A.4 Cha ac e iza ion o he A chi ec u e Res uc u ing Pa e n
APPENDIX B
O e iew o he Me hod Enginee ing P ocess
Tool
Implemen a ion T ans o ma ion
Si ua ion-Speci ic
Tool Chain
MDE
De elope s
So wa e
De elope s
Me hod Enac men
Sec. 6.5 Sec. 6.6
Tool Implemen a ion Phase T ans o ma ion Phase
Si ua ion-Speci ic
T ans o ma ion
Me hod Speci ica ion
Code Gene a ion
Rules De ini ion
Reimplemen a ion
Guidance
De ini ion
Tool Implemen a ion
Me amodel
De ini ion
Model
T ans o ma ion
Rules De ini ion
Tool De elope Tool De elope
Tool De elope
Tool De elope
Model T ans o ma ion Rules De ini ion
De ine Table-Based
View Conc e iza ion
T ans o ma ion
De ine Table-Based
View Ex ac ion
T ans o ma ion
De ine Block o
View Objec
T ans o ma ion
De ine Fo mula o
Exp ession
T ans o ma ion
De ine Rela ion o
View Link
T ans o ma ion
Tool
De elope
Tool
De elope
Tool
De elope
Tool
De elope
Tool
De elope
Rela ionTo
ViewLink
T ans o ma ion
TableBased
ViewConc e iza ion
T ans o ma ion
TableBased
ViewEx ac ion
T ans o ma ion
Fo mula To
Exp ession
T ans o ma ion
BlockTo
ViewObjec
T ans o ma ion
T ans o ma ion
P og am
Comp ehension
Model
Disco e y
L-PSM
En ichmen
Pla o m-
Independen
A chi ec u e
Reco e y
Pla o m-
Independen
A chi ec u e
Conc e iza ion
Conc e iza ion
A chi ec u e
Res uc u ing
Language
T ans o ma ion
Code
Gene a ion
Reimplemen a ion
So wa e
De elope s
Sys em
Expe
Pa se
Model
T ans o ma ion
Engine
Model
T ans o ma ion
Engine
Model
T ans o ma ion
Engine
Model
T ans o ma ion
Engine
Model
T ans o ma ion
Engine
Model
T ans o ma ion
Engine
Code
Gene a ion
Engine
Figu e B.1 O e iew o he me hod enac men p ocess o MEFiSTo
246 O e iew o he Me hod Enginee ing P ocess
Me hod Pa e n
In eg a ion
Me hod Pa e n
Selec ion and
Con igu a ion
Ins an ia ion o Tool
Implemen a ion Phase
F agmen s
Me hod
Comple ion
Si ua ional
Con ex
Model
Incomple e
T ans o ma ion
Me hod Speci ica ion
(SPEM)
F agmen ed
T ans o ma ion
Me hod Speci ica ion
(MIML)
In eg a ed
T ans o ma ion
Me hod Speci ica ion
(MIML)
Me hod
Pa e ns
Me hod
F agmen s
Me hod Base
T ans o ma ion Me hod Cons uc ion
T ans o ma ion
Me hod
Speci ica ion
(SPEM)
MimlToSPEM
T ans o ma ionRules
Mode niza ion
Expe and Tool
Specialis
Mode niza ion
Expe and Tool
Specialis Mode niza ion Expe
and Tool Specialis
MIML To SPEM
T ans o ma ion
Model
T ans o ma ion
Engine
P epa a ionPhase
Me hodF agmen
Ins an ia ion
T ans o ma ionRules
Incomple e
T ans o ma ion
Me hod Speci ica ion
(MIML)
Model
T ans o ma ion
Engine
Mode niza ion Expe
and Tool Specialis
Sec. 6.4.2 Sec. 6.4.3 Sec. 6.4.4Sec. 6.4.1 Sec. 6.4.5
Iden i y
Sui able
Me hod
Pa e ns
Iden i y Legacy
and Ta ge
Realiza ion pe
Concep
In luence Fac o Iden i ica ion
Iden i y In luence
Fac o s pe Sui able
Me hod Pa e n
Mode niza ion
Expe
Summa ize ad an ages
and disad an ages pe
Sui able Me hod Pa e n
[All Sui able
Me hod Pa e ns
been in es iga ed]
Mode niza ion Expe
and Tool Specialis
Mode niza ion Expe
and Tool Specialis
[All Conce ns
ha e been
in es iga ed]
Mode niza ion Expe
and Tool Specialis
Concep
Iden i ica ion pe
Conce n, based
on Ta ge Sys em
Conce n
Iden i ica ion
based on Ta ge
A chi ec u e
Ta ge -D i en Concep Iden i ica ion
Valida ion o
Iden i ied Concep s
pe Conce n, based
on Legacy Sys em
Mode niza ion
Expe
(Missing) Concep
Iden i ica ion pe
Conce n, based on
Legacy Sys em
[All conce ns
ha e been
in es iga ed]
Mode niza ion
Expe
Mode niza ion
Expe
Mode niza ion
Expe
Con igu e
Me hod
Speci ica ion
(coa se-g anula )
Selec
Me hod Pa e ns
o all Concep s
Me hod Pa e n Selec ion and Con igu a ion
Ins an ia e Cus omized
T ans o ma ion Phase
Me hod F agmen s
Con igu e
Me hod
Speci ica ion
( ine-g anula )
Mode niza ion Expe
and Tool Specialis
Mode niza ion Expe
and Tool Specialis Mode niza ion Expe
and Tool Specialis
Model
T ans o ma ion
Engine
Si ua ional
Con ex Model
[Me hod Pa e ns
no selec ed]
F agmen ed
T ans o ma ion
Me hod Speci ica ion
(MIML)
T ans o ma ionPhase
Me hodF agmen
Ins an ia ion
T ans o ma ionRules
Si ua ional
Con ex Model
[Me hod Pa e ns
selec ed]
T ans o ma ion
Me hod Speci ica ion
(MIML)
[Me hod F agmen s
Ins an ia ed]
T ans o ma ion
Me hod Speci ica ion
(MIML)
[Me hod Pa e ns
Con igu ed]
Ins an ia e
T ans o ma ion
Me hod
Speci ica ion
T ans o ma ionMe hod
Speci ica ionIns an ia ion
T ans o ma ionRules
Model
T ans o ma ion
Engine
T ans o ma ion
Me hod Speci ica ion
(MIML)
[Ins an ia ed]
In luence
Fac o
Iden i ica ion
Si ua ional
Con ex Model
Me hod
Pa e ns
Me hod
F agmen s
Me hod Base
Concep
Iden i ica ion
Concep
Model
Si ua ional Con ex Iden i ica ion
Mode niza ion
Expe
Mode niza ion Expe
and Tool Specialis
Sec. 6.3.1 Sec. 6.3.2
Si ua ional
Con ex
Iden i ica ion
T ans o ma ion
Me hod
Cons uc ion
Si ua ional
Con ex
Model
Me hod
F agmen s
Me hod
Pa e ns
Me hod Base
Me hod De elopmen
Mode niza ion
Expe and Tool
Specialis
Mode niza ion
Expe and Tool
Specialis
Sec. 6.3 Sec. 6.4
Concep ualiza ion Phase
Si ua ion-Speci ic
T ans o ma ion
Me hod Speci ica ion
Figu e B.2 O e iew o he me hod de elopmen p ocess o MEFiSTo
Glossa y
abs ac concep
An abs ac concep ep esen s a language-independen idea o a compu a ion o p oblem
sol ing p inciple [KNE92].
abs ac syn ax g aph
An abs ac syn ax g aph is an abs ac syn ax ee ha has been ex ended by seman ic
edges, e.g., edges ha link he use o an iden i ie o i s decla a ion [KGW98].
abs ac syn ax ee
An abs ac syn ax ee is a ee whose nodes ep esen syn ac ic cons uc s o sou ce
code, while edges ep esen he hie a chical ela ion be ween hem [Aho+06, p.41].
a chi ec u al concep
An a chi ec u al concep is an abs ac concep and ep esen s componen s o in e aces.
a chi ec u al pla o m-independen model
An a chi ec u al pla o m-independen model is a pla o m-independen model de ined
by he MEFiSTo amewo k ha ep esen s a chi ec u al s uc u es o a so wa e sys em
o ans o m.
a chi ec u al s yle
An a chi ec u al s yle desc ibes a amily o so wa e sys ems ha sha e a common
so wa e a chi ec u e in e ms o a pa e n o s uc u al o ganiza ion [GS94, p.6].
a chi ec u e-d i en mode niza ion
The a chi ec u e-d i en mode niza ion is a so wa e mode niza ion pa adigm, based
on model-d i en enginee ing concep s. I is de ined by he OMG which p omo es
co esponding s anda ds [BCW12, pp.45-47].
254 Glossa y
si ua ion-speci ic
A so wa e ans o ma ion me hod is si ua ion-speci ic i i is e icien and e ec i e
agains he backg ound o he associa ed si ua ion. E iciency ela es o p ope ies o he
enac ed p ocess, while e ec i eness ela es o p ope ies o he esul ing in o ma ion
sys em.
si ua ional con ex
A si ua ional con ex is associa ed o a so wa e mode niza ion p ojec and consis s o a
se o in luence ac o s. I needs o be conside ed in o de o design a si ua ion-speci ic
ans o ma ion me hod.
si ua ional me hod enginee ing
Si ua ional me hod enginee ing is a kind o me hod enginee ing which encompasses all
aspec s o c ea ing a me hod o a si ua ion a hand [HS+14, p.5].
so wa e and sys ems p ocess enginee ing me amodel
The so wa e and sys ems p ocess enginee ing me amodel is a me amodel de ined by he
OMG ha can be used o o mally speci y me hods [OMG08a].
so wa e a chi ec u e
The so wa e a chi ec u e is he undamen al o ganiza ion o a so wa e sys em embodied
in i s componen s, hei ela ionships o each o he , and o he en i onmen , and he
p inciples guiding i s design and e olu ion [IEEE00].
so wa e mig a ion
So wa e mig a ion is a kind o so wa e eenginee ing conce ned wi h he ansi ion o a
legacy sys em o a new en i onmen while e aining he sys em‘s da a and unc ional-
i y [Bis+99].
so wa e mode niza ion
So wa e mode niza ion is a kind o so wa e mig a ion conce ned wi h he ansi ion o
a legacy sys em o a new en i onmen while adap ing he sys em o he new en i onmen .
so wa e mode niza ion me hod
A so wa e mode niza ion me hod is a me hod ha is used guide a so wa e mode niza ion
endea o .
Glossa y 255
so wa e mode niza ion p ojec
A so wa e mode niza ion p ojec is es ablished by a company o ca y ou a so wa e
mode niza ion by de ining and enac ing a so wa e mode niza ion me hod.
so wa e eenginee ing
So wa e eenginee ing is he examina ion and al e a ion o a subjec sys em o econs i-
u e i in a new o m and he subsequen implemen a ion o he new o m [CC90].
so wa e eenginee ing me hod
A so wa e eenginee ing me hod is a me hod ha is used o guide a so wa e eenginee -
ing endea o .
so wa e ans o ma ion me hod
A so wa e ans o ma ion me hod is an ins ance o he ho seshoe model and used o
guide he echnical ansi ion o a legacy sys em in o a new en i onmen du ing a so wa e
mode niza ion endea o .
so wa e ans o ma ion package
A so wa e ans o ma ion package ep esen s a pa , i.e., an inc emen , o a legacy
sys em ha is used du ing he inc emen al ans o ma ion o ha legacy sys em [BS95,
pp.13-14].
so wa e ans o ma ion s a egy
A so wa e ans o ma ion s a egy is a speci ic way o how o pe o m he echnical
ansi ion o a legacy sys em du ing a so wa e mode niza ion, es ablished examples
being eimplemen a ion, w apping and con e sion [SWH10, pp.10-13].
s aged so wa e li ecycle
The s aged so wa e li ecycle is a model ha desc ibes s ages in he li ecycle o a so wa e
sys em a e he ini ial de elopmen [RB00].
syn ac ic analysis
Syn ac ic analysis is pe o med by a pa se on sou ce code o c ea e an abs ac syn ax
ee which ep esen s ha sou ce code [Aho+06, p.8].
echnological space
A echnological space is a wo king con ex wi h a se o associa ed concep s, body o
knowledge, ools, equi ed skills, and possibili ies [AKB02].
256 Glossa y
ans o med pla o m-speci ic model
A ans o med pla o m-speci ic model is a pla o m-speci ic model de ined by he
MEFiSTo amewo k ha ep esen s he so wa e sys em o ans o m by echnology-
speci ic concep s o he a ge en i onmen .
w apping
W apping is a so wa e ans o ma ion s a egy ha aims o ans o m pa s o a legacy
sys em by encapsula ing hem using a w appe . The w appe ac s as a connec ion poin
in he esul ing in o ma ion sys em [SWH10, pp.12-13].
Ac onyms
4GL
Fou h-Gene a ion P og amming Language.
A-PIM
A chi ec u al Pla o m-Independen Model.
ADM
A chi ec u e-D i en Mode niza ion.
ADMTF
A chi ec u e-D i en Mode niza ion Task Fo ce.
API
Applica ion P og amming In e ace.
ASG
Abs ac Syn ax G aph.
AST
Abs ac Syn ax T ee.
ASTM
Abs ac Syn ax T ee Me amodel.
CDO
Connec ed Da a Objec s.
CFG
Con ol Flow G aph.
258 Ac onyms
CIM
Compu a ion-Independen Model.
COTS
Comme cial O -The-Shel .
CRUD
C ea e Read Upda e Dele e.
DSL
Domain-Speci ic Language.
EMF
Eclipse Modeling F amewo k.
F-PIM
Func ional Pla o m-Independen Model.
GASTM
Gene ic Abs ac Syn ax T ee Me amodel.
IDE
In eg a ed De elopmen En i onmen .
JDAPI
Ja a De elopmen API.
KDM
Knowledge Disco e y Me amodel.
L-PSM
Legacy Pla o m-Speci ic Model.
LOC
Lines o Code.
Ac onyms 259
MDA
Model-D i en A chi ec u e.
MDD
Model-D i en De elopmen .
MDE
Model-D i en Enginee ing.
MEFiSTo
Me hod Enginee ing F amewo k o Si ua ion-Speci ic
So wa e T ans o ma ion Me hods.
MIML
MEFiSTo In e media e Modeling Language.
MoCo
Model-In eg a ing Componen .
MOF
Me a-Objec Facili y.
MOFM2T
MOF Model o Tex T ans o ma ion Language.
MVC
Model-View-Con olle .
OCL
Objec Cons ain Language.
OMG
Objec Managemen G oup.
PIM
Pla o m-Independen Model.
270 Ac onyms
PSM
Pla o m-Speci ic Model.
ReMiP
Re e ence Mig a ion P ocess.
RMC
Ra ional Me hod Compose .
RUP
Ra ional Uni ied P ocess.
SASTM
Specialized Abs ac Syn ax T ee Me amodel.
SME
Si ua ional Me hod Enginee ing.
SOA
Se ice O ien ed A chi ec u e.
SPEM
So wa e and Sys ems P ocess Enginee ing Me amodel.
T-PSM
T ans o med Pla o m-Speci ic Model.
UML
Uni ied Modeling Language.