adm workshop chicago 2004

Post on 12-Jan-2015

555 Views

Category:

Business

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

ADM workshop Chicago 2004

TRANSCRIPT

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 :

emmanuel.fuchs@thalesatm.com

top related