model-driven engineering for software migration in a large ... · model-driven engineering for...
TRANSCRIPT
Model-Driven Engineering for Software Migration
in a Large Industrial Context
Franck Fleurey, Erwan Breton, Benoit Baudry, Alain Nicolas,
Jean-Marc Jézéquel
MoDELS 2007
2
Context and motivations
● Migration of legacy applications– No change in the requirements
– Migration to new technology platforms
– Refactoring in the design
– e.g. banking, assurance, ...
● Two competing approaches– Full re-development (outsourcing)
– Semi-automated migration
SOFTMAINT uses MDE for automating migration
Con
text
an
d m
oti
vati
on
s
3
Outline
● Model-based software migration● Migration projects phases● Case Study● Comparison with re-development● Conclusion and limitations
Ou
tlin
e
4
Model-based software migration
Mod
el-
base
d m
igra
tion
Legacyapplication
code
Newapplication
code
Model ofthe code
Pivot Model(PIM)
ANT
Model of theapplication
UML
Source platform specific tools
Target platform specific tools
L
parsing
reverseengineering
modeltransformation
codegeneration
5
1. Parsing the legacy code
Legacyapplication
code
Newapplication
code
Model ofthe code
Pivot Model(PIM)
ANT
Model of theapplication
UML
Source platform specific tools
Target platform specific tools
L
parsing
reverseengineering
modeltransformation
codegeneration
● Specific parsers● Static analysis tools
– ESSOR for COBOL
● Compete model of the code
– Not just ASTs
Mod
el-
base
d m
igra
tion
6
2. Reverse engineering
Legacyapplication
code
Newapplication
code
Model ofthe code
Pivot Model(PIM)
ANT
Model of theapplication
UML
Source platform specific tools
Target platform specific tools
L
parsing
reverseengineering
modeltransformation
codegeneration
● Model transformation● Model-In-Action tools
– MIA Transformation
● Project specific– requires a deep analysis
of the legacy application
Mod
el-
base
d m
igra
tion
7
The pivot model
Legacyapplication
code
Newapplication
code
Model ofthe code
Pivot Model(PIM)
ANT
Model of theapplication
UML
Source platform specific tools
Target platform specific tools
L
parsing
reverseengineering
modeltransformation
codegeneration
● Reusable pivot model● Capture all the information
– Static structures (Class diagrams)
– Graphical User Interface
– Application navigation (work flow)
– Actions and algorithms
Mod
el-
base
d m
igra
tion
8
3. Model transformation
Legacyapplication
code
Newapplication
code
Model ofthe code
Pivot Model(PIM)
ANT
Model of theapplication
UML
Source platform specific tools
Target platform specific tools
L
parsing
reverseengineering
modeltransformation
codegeneration
● Model transformation● Design refactoring● Target UML models
– uses customer's profile
● Semi-automated
Mod
el-
base
d m
igra
tion
9
4. Code Generation
Legacyapplication
code
Newapplication
code
Model ofthe code
Pivot Model(PIM)
ANT
Model of theapplication
UML
Source platform specific tools
Target platform specific tools
L
parsing
reverseengineering
modeltransformation
codegeneration
● Code Generation● Tools
– Case tool code generator
– MIA Generation
● Semi-automated
Mod
el-
base
d m
igra
tion
10
Implementing the migration process
● Requires generic tools– legacy language specific tools
– model transformation tools
– code generation tools
● Requires project specific tools– reverse-engineering transformations
– design transformations
– code generators
● Significant preliminary work
Mig
rati
on
pro
ject
ph
ase
s
11
Preliminary phases of migration projects
Mig
rati
on
pro
ject
ph
ase
s
12
Case study
● Banking system– 1 million lines of COOLGEN code
– 42 applications (800 forms, 7500 events)
– 99 Crystal Report exports
– 990 server services
– 20 batch processes
● Requirements– Servers in COBOL
– Applications in J2EE
– Round-trip custom UML models
Case
Stu
dy
13
Specific migration processC
ase
Stu
dy
14
Migration project scheduleC
ase
Stu
dy
● 32 months total● 9315 person-days● 10 month preliminary work
15
Preliminary tasksC
ase
Stu
dy
● Small developer team (3 to 8 persons)● 10 months● 1000 person-days● 12% of the project cost
16
Industrial migrationC
ase
Stu
dy
● 3 parallel teams of 15 developers● 19 months● 6800 person-days● 2 deliveries per month in average
17
Case study results
● Cheaper than re-development– About half the cost
● High level of automation– 70% of the final code is generated
● Validation is expensive– about 50% of the overall cost
Case
Stu
dy
18
Discussion (1)Profitability vs. project size
Dis
cuss
ion
project size
cost Redevelopment of the application
Modeldriven migration
MDE profitability threshold
Preliminary tasks(study, tools, pilot)
Manual migrationtasks
Test and validation
19
Discussion (2)Migration time-schedule
Dis
cuss
ion
% code migrated
Modeldriven migration
11
2 3 4 5 6 7 82 3 4 5 6 7 8
Manual migration or redevelopment of the application
time
deliveries
100%
~70%
(1)
(2)
(3)
20
Summary and conclusion
● Allows for automation● Allows reuse of tools / transformation● Profitable over re-development● Long preliminary phase required
– Commercial limitation
● Test represents 50% of the manual work– Regression testing
Con
clu
sion
21
Questions ?