adm workshop chicago 2004
DESCRIPTION
ADM workshop Chicago 2004TRANSCRIPT
I T & S A e r o s p a c e D e f e n c e
ADM for Large Distributed Safety Critical SystemsWhy do we need ADM ?
ADM to fill the gap between tomorrow and yesterday technologies
Emmanuel FUCHS
Dat
e an
d re
fere
nces
31/0
3/03
2
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
3
Safety Critical Command and Control System
� ATC� Power� Medical� Industrial � (Trading)
Dat
e an
d re
fere
nces
31/0
3/03
4
Air Traffic Control
Dat
e an
d re
fere
nces
31/0
3/03
5
Air Traffic Control process
Flight Data Processing
Radar Data Processing
transmitterReceiver
RADAR
+
-
Filled Fligth Plan
Dat
e an
d re
fere
nces
31/0
3/03
6
Air Traffic Control process
Flight Data Processing
Radar Data Processing
transmitterReceiver
RADAR
+
-
������
���
Dat
e an
d re
fere
nces
31/0
3/03
7
ATC center
Flight PlanProcessingFlight Plan
Processing
SupervisoryControlSupervisory
Control
SimulatorSimulator
RecordingReplayRecording
Replay
controllerWorkingPosition
controllerWorkingPosition
Radar Data ProcessingRadar Data
Processing
Radar FrontProcessingRadar Front
Processing
LAN
AFTN/CIDINATFM
ADJACENTFIR'S/TWR'S
MET Centres
Voice control and
communicationsVoice control
and communications
• Intercom• Priority• Public• RADIO A/G
controllerWorkingPosition
controllerWorkingPosition
� � �
Dat
e an
d re
fere
nces
31/0
3/03
8
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
9
MDA And reverse MDA : ADM
Class
Class
Client
Class
MDA
..
.. .
.
..
ADM
..
.. .
.
..
Model
Code
Class
Class
Client
Class
Dat
e an
d re
fere
nces
31/0
3/03
10
MDA And reverse MDA : ADM
Class
Class
Client
Class
MDA
..
.. .
.
..
Model
Code
Dat
e an
d re
fere
nces
31/0
3/03
11
MDA transformation flow
PIMPlatform Independent Model
PSMPlatform Specific Model
..
.. ..
..
Transformation
Transformation
Code
Model
Model
Dat
e an
d re
fere
nces
31/0
3/03
12
MDA transformation flow
PIMPlatform Independent Model
PSMPlatform Specific Model
..
.. ..
..
Transformation
Transformation
DomainModel
MiddlewareModel
Dat
e an
d re
fere
nces
31/0
3/03
13
MDA transformation flow
PIMPlatform Independent Model
PSMPlatform Specific Model
..
.. ..
..
Transformation
Transformation
Class
Class
Client
Class
Class
Class
Client
Class
..
.. ..
..
Dat
e an
d re
fere
nces
31/0
3/03
14
MDA And reverse MDA : ADM
ADM
..
.. .
.
..
Model
Code
Class
Class
Client
Class
Dat
e an
d re
fere
nces
31/0
3/03
15
ADM transformation flow
PIMPlatform Independent Model
PSMPlatform Specific Model
..
.. ..
..
Transformation
Transformation
Code
Model
Model
Dat
e an
d re
fere
nces
31/0
3/03
16
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
17
MDA transformation flow
PIMPlatform Independent Model
PSMPlatform Specific Model
..
.. ..
..
Transformation
Transformation
Code
Model
Model
Dat
e an
d re
fere
nces
31/0
3/03
18
MDA Model Weaver
Dat
e an
d re
fere
nces
31/0
3/03
19
MDA model Weaving
PPLLAATTFFOORRMM
DDOOMMAAIINN
Dat
e an
d re
fere
nces
31/0
3/03
20
MDA model Weaving
�����
���
��
PPLLAATTFFOORRMM
DDOOMMAAIINN
Dat
e an
d re
fere
nces
31/0
3/03
21
MDA model weaving
TTEECCHHNNIICCAALL
DDOOMMAAIINN
� �������
����
�����
Dat
e an
d re
fere
nces
31/0
3/03
22
MDA Modelling
� Domain Modelling� Very expensive and heavy work
� Require domain experts� Busy in finalising and validating current developments.
� So not 100% available.
� Not trained to object techniques.
� …
� Technical Modelling� Middleware
� Platform
� COTS
Dat
e an
d re
fere
nces
31/0
3/03
23
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
24
Current Situation
� Complex Large distributed safety critical system reused and reused.
� What may happen :
� Architecture Erosion
Dat
e an
d re
fere
nces
31/0
3/03
25
What We May Have :
First Instance:Sound Architecture
Dat
e an
d re
fere
nces
31/0
3/03
26
What We May Have :
First Reuse
Dat
e an
d re
fere
nces
31/0
3/03
27
What We May Have :
Second Reuse
Dat
e an
d re
fere
nces
31/0
3/03
28
What We May Have :
Third Reuse
Dat
e an
d re
fere
nces
31/0
3/03
29
What We May Have :
Fourth Reuse
Dat
e an
d re
fere
nces
31/0
3/03
30
What We May Have :
N Reuse
Dat
e an
d re
fere
nces
31/0
3/03
31
What We May Have :
N+1 Reuse
Dat
e an
d re
fere
nces
31/0
3/03
32
What We May Have :
N+n Reuse
Dat
e an
d re
fere
nces
31/0
3/03
33
What We May Have :
N+N Reuse
Dat
e an
d re
fere
nces
31/0
3/03
34
What We May Have :
N+N+1 Reuse
Dat
e an
d re
fere
nces
31/0
3/03
35
What We May Have :
N*m Reuse
Dat
e an
d re
fere
nces
31/0
3/03
36
What We May Have :
��������������
N*N Reuse
Dat
e an
d re
fere
nces
31/0
3/03
37
What We May Have :
��������������
����� �� ��������
Dat
e an
d re
fere
nces
31/0
3/03
38
What We May Have :
��������������
����� ����������
Dat
e an
d re
fere
nces
31/0
3/03
39
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
40
MDA Implies Models !!!
� Applying MDA to Large Scale Distributed Systems implies having Domain Object Model !!!
� Where are they ?� In the code of operational and well proved existing systems.
� And in the minds of domain experts.
� We need a way to fill the gap between Legacy experts and MDA expert.
Dat
e an
d re
fere
nces
31/0
3/03
41
Large Scale Distributed Systems
Ada
Dat
e an
d re
fere
nces
31/0
3/03
42
Large Scale Distributed Systems
OODAda
Dat
e an
d re
fere
nces
31/0
3/03
43
Large Scale Distributed Systems
CORBAAda
Technology Breakthrough
Today Future
Dat
e an
d re
fere
nces
31/0
3/03
44
Large Scale Distributed Systems
UMLAda
Technology Gap
Today Future
Dat
e an
d re
fere
nces
31/0
3/03
45
Large Scale Distributed Systems
CCMAda
Technology Chasm
Today FuturePast
Dat
e an
d re
fere
nces
31/0
3/03
46
Large Scale Distributed Systems
MDAAda
Technology abyss
Today FuturePast
Dat
e an
d re
fere
nces
31/0
3/03
47
Large Scale Distributed Systems
Today
Past Future
Dat
e an
d re
fere
nces
31/0
3/03
48
Large Scale Distributed Systems
Today
Past Future
No models
ErodedArchitecture
ObsoleteTechnologies
MDD
Models Driven Development
Last efficient technologies
Dat
e an
d re
fere
nces
31/0
3/03
49
Large Scale Distributed Systems
Today
PastFuture
No models
ErodedArchitecture
ObsoleteTechnologies
MDD
Models Driven Development
Last efficient technologies
ADM
Dat
e an
d re
fere
nces
31/0
3/03
50
Domain Experts Training to MDA
� Domain experts learn quickly and efficiently brand new technology when they can reused them in short term to solve their current problems.
� ADM : Applies MDA to leverage legacy reuse.� MOF, UML and meta modelling can be used to managed
code.� It is easier for old technology users to start MDA at the code
level.� Then they can raise the level of abstraction by using MDA
Meta Modelling and Transformation.
Dat
e an
d re
fere
nces
31/0
3/03
51
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
52
ADM: Change Management For
� Improvement: Short Term� Modifications
� Refactoring
� Restructuring � Migration: Mid Term
� Reuse
� Interoperability
� Porting
� Translation into another language� Excavation: Long Term
� Componentization
� Domain modelling
Dat
e an
d re
fere
nces
31/0
3/03
53
Legacy to asset transformation
Legacy
. ... ..
..
Asset
. ... ..
..ADM MDA
Class
Class
Client
Class
Dat
e an
d re
fere
nces
31/0
3/03
54
ADM process
..
.. ..
.. ..
.. ..
..
MDA
Domain Expert
ADM
ADM with MDA MDA Expert
ADM Expert
ADM Expert
MDA Expert
Class
Class
Client
Class
Dat
e an
d re
fere
nces
31/0
3/03
55
ADM process: Code Model And Meta Model
..
.. ..
..
ADM
ADM Expert
Class
Class
Client
Class
Code ModelAnd Code Meta Model
Ada
Code
Dat
e an
d re
fere
nces
31/0
3/03
56
ADM process: Code Automatic Refactoring
..
.. ..
..
MDA
ADM Expert
Class
Class
Client
Class
Code ModelAnd Code Meta Model
ADM with MDA
Ada
Code
Dat
e an
d re
fere
nces
31/0
3/03
57
ADM process: Language Migration
..
.. ..
.. ..
.. ..
..
MDA
Domain Expert
ADM
ADM with MDA MDA Expert
ADM Expert
ADM Expert
MDA Expert
Class
Class
Client
ClassAda
Dat
e an
d re
fere
nces
31/0
3/03
58
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
59
Babel Tower Syndrome
� Current Tools:
Dat
e an
d re
fere
nces
31/0
3/03
60
Heteroclites Tools VS standard Tools
� Future Tools: OMG ADM� ADM task force� ADM RFP.
Dat
e an
d re
fere
nces
31/0
3/03
61
MDA standard ADM
� Meta Model: MOF.� Legacy MOF meta model� Transformation rules : QVT, …� …
Dat
e an
d re
fere
nces
31/0
3/03
62
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
63
Code Washing Machine
Dat
e an
d re
fere
nces
31/0
3/03
64
Ada Code Cleaner
. ... ..
..
. . . .. . . . . .
.
Dirty
Ada
Dat
e an
d re
fere
nces
31/0
3/03
65
Ada Code Cleaner
. ... ..
..
. . . .. . . . . .
. ..
.. ..
...
... .
.
...
... .
.
..
Dirty
AdaClean
Ada
Dat
e an
d re
fere
nces
31/0
3/03
66
Ada Code Cleaner
..
.. ..
.. ..
.. ..
..
MDA ADM
ADM with MDA
Class
Class
Client
ClassCode Code
Dat
e an
d re
fere
nces
31/0
3/03
67
ADM Code cleaner process
..
.. ..
.. ..
.. ..
..
MDA
Domain Expert
ADM
ADM with MDA MDA Expert
ADM Expert
ADM Expert
MDA Expert
Class
Class
Client
ClassAda Ada
Dat
e an
d re
fere
nces
31/0
3/03
68
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
69
Language movers
Dat
e an
d re
fere
nces
31/0
3/03
70
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
71
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
72
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
73
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
74
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
75
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
76
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
77
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
78
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
79
Language movers
Today
Past
Future
AdaC++Java
ADM
Dat
e an
d re
fere
nces
31/0
3/03
80
ADM Code movers process
..
.. ..
.. ..
.. ..
..
MDA ADM
ADM with MDA
Class
Class
Client
ClassAda
Dat
e an
d re
fere
nces
31/0
3/03
81
ADM Code movers process
..
.. ..
.. ..
.. ..
..
MDA
Domain Expert
ADM
ADM with MDA MDA Expert
ADM Expert
ADM Expert
MDA Expert
Class
Class
Client
ClassAda
Dat
e an
d re
fere
nces
31/0
3/03
82
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
83
Architecture Erosion
N*N Reuse
Dat
e an
d re
fere
nces
31/0
3/03
84
ADM: Architecture Excavator
Dat
e an
d re
fere
nces
31/0
3/03
85
Back to initial architecture
First Instance:Sound Architecture
Dat
e an
d re
fere
nces
31/0
3/03
86
ADM excavator VS MDA weaver
ADM Excavator MDA weaver
Dat
e an
d re
fere
nces
31/0
3/03
87
MDA model Weaving
PPLLAATTFFOORRMM
DDOOMMAAIINN
Dat
e an
d re
fere
nces
31/0
3/03
88
MDA model Weaving
�����
���
��
PPLLAATTFFOORRMM
DDOOMMAAIINN
Dat
e an
d re
fere
nces
31/0
3/03
89
MDA model weaving
TTEECCHHNNIICCAALL
DDOOMMAAIINN
� �������
����
�����
Dat
e an
d re
fere
nces
31/0
3/03
90
ADM reverse weaving
� ��
Dat
e an
d re
fere
nces
31/0
3/03
91
Code Model
TTEECCHHNNIICCAALL
DDOOMMAAIINN
ADM reverse weaving
� ��
Dat
e an
d re
fere
nces
31/0
3/03
92
Code Model
ADM reverse weaving
�����
���
��
PPLLAATTFFOORRMM
DDOOMMAAIINN
� ��
Dat
e an
d re
fere
nces
31/0
3/03
93
ADM reverse weaving
�����
���
��
PPLLAATTFFOORRMM
DDOOMMAAIINN
� ��
Dat
e an
d re
fere
nces
31/0
3/03
94
ADM reverse weaving
�����
���
��
PPLLAATTFFOORRMM
DDOOMMAAIINN
� ��
Dat
e an
d re
fere
nces
31/0
3/03
95
ADM reverse weaving
� ��Class
Class
Client
Class
Class
Class
Client
Class
DomainModel
TechnicalModel
Dat
e an
d re
fere
nces
31/0
3/03
96
ADM architecture excavator process
..
.. ..
..
ADM
ADM with MDA
Class
Class
Client
Class
Class
Class
Client
Class
Class
Class
Client
Class
Domain Model Technical ModelADM
Dat
e an
d re
fere
nces
31/0
3/03
97
Dat
e an
d re
fere
n ces
3 1/0
3/03
1
ADM: Architecture Driven Modernization
� Big Picture: ADM vs MDA for ATC
� Safety critical domain : ATC
� MDA vs ADM� What we want ?
� Future: MDA for safety critical systems
� Today : Closed to Software Chaos
� ADM To fill the gap between future and today� ADM process� ADM standards� ADM Tools
� Short term: code optimization
� Medium term: language translation
� Long term: architecture excavation
Dat
e an
d re
fere
nces
31/0
3/03
98
Future of ADM: automatic maintenance
� Evolutionary systems
Dat
e an
d re
fere
nces
31/0
3/03
99
Questions
Thank You For Your Attention
Questions are welcomeContacts :