Title: Metamodel (driven) Reverse Engineering Stories of the Dagktis Stone and the Rosetta Stone
1Metamodel (driven) Reverse EngineeringStories
of the Dagktis Stone and the Rosetta Stone
Jean-Marie Favre Software Explorerand Language
ArcheologistADELE Team University of GRENOBLE
Dagsthul Seminar on Model Driven Language
Engineering - March 2004 AC
2Metamodel Driven Architecture Recovery
Jean-Marie Favre Software Explorerand Language
Archeologist ADELE Team University of GRENOBLE
Dagsthul Seminar on Software Architecture
Recovery and Modeling - March 2003 AC
3The true story ofLanguage Archeology in
Grenobleand in some other citiesaround the world
4OUTLINE
- The Dagktis Stone and the Pyramids
- From Babel to the Meta-Pyramid
- Journey Inside the Meta-Pyramid
- The Rosetta Stone
- 7 Years of Exploration in a Large Software
Country
5Chapter IThe Dagktis Stoneand The Pyramids
6In the ancient time, two priests Janis Bezivis
and Rikis Hickos decided to organize a seminar
in the temple of Dagktis. They wanted to think
about "language engineering". They invited very
influential people. Pharaohs were invited This
Dagktis Seminar was held in March 2004 BC
7Nobody remembers this event. Fortunately Janis
Bezivis and Rikis Hickos built a model to record
what happened there.The model took the form of a
carved granit stone.
basalt
basalt
8The Dagktis stone went across the ages .... It is
now kept in the basement of the Museum of
GRENOBLE.
basalt
basalt
museumOfGrenoble ModelRepository
9The Dagktis stone went across the ages .... It is
now kept in the basement of the Museum of
GRENOBLE.
basalt
MuseumOfGrenoble ModelRepository
10Very recently Archeologists from the Univ. of
GRENOBLEtried to recover the meaning of the
Dagktis stone using brand-newMDE concepts. They
drawn various schemas on a blackboard.
M2
Meta Model Hieroglyphs
Model Repository Museum of GRENOBLE
basalt
basalt
basalt
basalt
ConformsTo
M1
Model Dagktis stone
RepOf
System Dagktis seminar March 2004 BC
11Archeologists wanted to best understand the
concept of model transformation. So they used
the Dagktis stone as a case study.
M2
Meta Model Hieroglyphs
Meta Model EnglishOCL
ConformsTo
ConformsTo
M1
Model Dagktis text.
Model Dagktis stone
T
Proceedings of the First Dagktisseminar on
"language engineering". Organized by Janis
Bezivin and Rikis Hickos. Held in the temple of
Dagtkits in March 2004 BC. The first session was
held in the room E101 of the temple.
12The transformation was successfully applied
although nobody took care of providing a proof of
semantic preservation.
M2
Meta Model Hieroglyphs
Meta Model EnglishOCL
ConformsTo
ConformsTo
M1
Proceedings of the First Dagktisseminar on
"language engineering". Organized by Janis
Bezivin and Rikis Hickos. Held in the temple of
Dagtkits in March 2004 BC. The first session was
held in the room E101 of the temple.
T
RepOf
RepOf
?
13An annotated model was produced
Proceedings of the 1st Dagktis Seminar on
Language Engineering
14Janis Bezivis the priest
15Rikis Hickos the priest
16On the first day,everything was under control
17Bezivis and Hickospresented the results of their
long meditations in the temple.
18The day after, everything went wrong.
19The pharaohs were not paying attention.
20They were angry
21We do not want to heard more aboutlanguage
engineering.
22Language definitions would not be used outside
temples
23Real-life languages are not engineered! There
are just used !!!
24And real-life languagesjust evolve as they are
used!
25We do not needlanguage engineering for real-life
languages.
26So what ?
27?
?
?
?
28?
29If nobody cares about language engineering, what
about, let's say, pyramid engineering ?
30Priests, from now on you must concentrate on
pyramid engineering!
31(No Transcript)
3290
Breed
Collie
Fido
33(No Transcript)
34- The 1st Dagktis seminar on "language engineering"
was a failure. - The pharaohs didn't want to pay for language
engineering - There were just interested in pyramids
engineering. - But the pyramids revealed of absolutly no use.
- Pyramids didn't prevent pharaohs from dying
- Everybody died.
- Their own language died
- Nobody would ever know what pharaohs had to say.
- Nobody?
35Chapter IIFrom the Babel Tower to the Meta
Pyramid
36- 4004 years later, at the OMG.
Corba, the OO Esperanto language were dying
slowly
374004 years later, at the OMG.
Corba, the OO Esperanto language were dying
slowly
Sorry, the Museum of GRENOBLE doesn't have a
single model of OMG meetings
384004 years later, at the OMG.
Corba, the OO Esperanto language were dying
slowly
So what ?
39?
?
?
?
40?
41If the Babel Tower is not the solution we can
try, let's say, a Meta Pyramid ?
42 And what about "Model Driven Architecture" ?
M3
M2
M1
M0
Real world
43M3
M2
M1
M0
And a new logo!
Real world
44From now on, everybody in industry must use the
MOF meta-language
M3
M2
M1
M0
Real world
45Provisionary conclusion
Whatever the subject of the conversation is
about,all discussions seem to end up with a
pyramid. If you have a problem at hand, add a new
layer of abstraction
M3
M2
M1
M0
Real world
46Chapter IIIA Journey Inside the Meta Pyramid
47Prescriptive or Descriptive ?
Who was there before? The chicken or the egg?
Meta Model Hieroglyphs
isCorrect?
Specifies
ConformsTo
isValid?
Describes
Model Dagktis stone
ltSpecifies
RepOf
System Dagktis seminar March 2004 BC
ltDescribes
isValid?
isCorrect?
48Research question
The MDA provides is a prescriptive vision of the
pyramid.
- Can we consider that thesoftware world has
beenorganized in a linguistic pyramid - from the begining ?
Software pyramid
M3
M2
M1
M0
Real world
The meta-pyramid could help in describing
existing phenomena
49Actual pyramidal structures in software industry
Software/organisation pyramid
100
M3
101
M2
103
M1
M0
105
Real world
50Software Metaware Appliware
Software Pyramid
M3
M2
METAWARE
SOFTWARE
M1
APPLIWARE
M0
Real world
Metaware all the software at the M2 level
whatever the language it conforms to at the
M3 level
51Metaware M2-level software
Software pyramid
M3
M2
METAWARE
M1
M0
Real world
52Metaware M2-level software
Software pyramid
M3
M2
METAWARE
M1
M0
Real world
53Metaware M2-level software
Software pyramid
M3
M2
METAWARE
M1
M0
Real world
54Metaware M2-level software
Software pyramid
M3
M2
METAWARE
M1
M0
Real world
55Metaware M2-level software
Software pyramid
M3
M2
METAWARE
M1
M0
Real world
56Metaware M2-level software
Software pyramid
M3
M2
METAWARE
M1
M0
Real world
57Metaware M2-level software
Software pyramid
M3
M2
METAWARE
M1
M0
Real world
58Provisionary conclusion
Modeling software as a linguistic pyramid seems
to be correct. Almost all of the existing
metaware on the planet is legacy !
M3
M2
M1
M1
M0
M0
Real world
59Chapter IVThe Rosetta StoneSuccesses in
metaware-reverse engineering
60basalt
MuseumOfGrenoble ModelRepository
61The 1st Dagktis seminar on "language engineering"
was a failure. The pharaohs didn't want to pay
for language engineering There were just
interested in pyramids engineering. But the
pyramids revealed of absolutely no use. Pyramids
didn't prevent pharaohs from dying Everybody
died. Their own language died Nobody would
ever have known what pharaohs had to say.
Nobody?
62Nobody? Nobody except in a Small Village in
France
RepOf
RepOf
Model RepositoryBritish Museum
63Champollion was a precursor in MDE
64Champollion was a precursor in MDE
Infrastructure Refactoring
90
65Champollion was a precursor in MDE
Model decomposition
66Champollion was a precursor in MDE
Model correspondance
M1
RepOf
System
RepOf
RepOf
67Champollion was a precursor in MDE
M2
Hieroglyphs
L2
L3
ConformsTo
ConformsTo
ConformsTo
M1
RepOf
System
RepOf
RepOf
68Language Reverse Engineering, M1-gtM2
M2
M1
Egyptian-Grammar
Rosetta Stone
69(No Transcript)
70(No Transcript)
71Language Reverse Engineering, M1-gtM2
M2
M1
Egyptian-Grammar
Rosetta Stone
72Language Reverse Engineering, M2-gtM2
M2
M2
Cobol Grammar
M2
M2
Cobol Documentation
73Language Reverse Engineering, M2-gtM2
M2
OM Virtual Meta-model
M2M1
Software artefacts
74Chapter IV7 years of Exploration in a large
Software Country
757 years Of Exploration in Dassault Systèmes
Software Country
76DASSAULT SYSTEMES
7 years Of Exploration in Dassault Systèmes
Software Country
77ADELE TEAM
7 years Of Exploration in Dassault Systèmes
Software Country
787 years Of Exploration in Dassault Systèmes
Software Country
- Dassault Système (DS)
- World leader in CAD/CAM
- One of the largest software company in Europe
- CATIA software
- 1200 software engineers
- 70 000 classes
- 3 000 DLLs
- 8 000 "components"
- 5 000 "interfaces"
- 800 "frameworks"
- xxx "solutions"
- zzz "médias"
- ttt "products"
- uuu statements
79Observations
- In 7 years we never saw a single line of code
- We only saw Metaware
- We never saw meta-models expressed in UML or MOF
- So we had to recover them
CATIA Software pyramid
M3
M2
METAWARE
M1
M0
Real world
80Observations
- In 7 years we never saw a single line of code
- We only saw Metaware
- We never saw meta-models expressed in UML or MOF
- So we had to recover them
- CATIA software
- 1200 "software engineers"
- 70 000 "classes"
- 3 000 "DLLs"
- 8 000 "components"
- 5 000 "interfaces"
- 800 "frameworks"
- xxx "solutions"
- zzz "medias"
- ttt "products"
- uuu statements
CATIA Software pyramid
M3
M2
METAWARE
M1
APPLIWARE
M0
Real world
81 The architecture of all software built in our
kingdom is expressed using our own component
technology.
82This proprietary technology provides our country
with a great power.
83This technology really defines what software
architecture is about in our country.
84Nice! Did you define a new language for
that?Where is the definition of this
architectural language?
85What??? Do you believe that we had time to define
new languages??? This country has to produce
software! People in our country use C,available
compilers and tools! Working tools!
86Everybody in the country know how to implement
architectural concepts and components using C
and other mechanisms. People know much.
87Yes, but where is the definition of the
architectural concepts and their exact meaning ?
88What do you mean by exact meaning?People know
what they have to do and they just do it! Our
kingdom is the most powerful in the world!
89What can we do?
Priest Ledris
90?
ADL
Priest Ledris
91What about defining an brand-new Architectural
Definition Language for your country ?
92WE DON'T WANT AN NEW ADL !!!
93People already know how to express running
software architecture in C
94So what ?
95?
?
?
?
96?
?
?
?
?
97?
98What about architecture recovery ?
99I mean, the architecture is there, so why not
extracting it from appliware?
100And what about language reverse engineering ?
101I mean, though implicit the architectural
language is already there, so why not
extracting it from existing metaware ?
102What is needed is Meta-model Recovery
andMeta-model Driven Architecture Recovery !
103A Meta-model Driven Reverse Engineering Process
104A Meta-model Driven Reverse Engineering Process
An Meta-ltModel Driven Implementation of the "View
Set" Process Pattern for Architecture
Recovery (SEI) Based on the concepts of the IEEE
1471 Std
105(1.a) Metaware items Inventory
106(1.b) Meta-model Recovery
107(1.c) Meta-model (Conceptual) Integration
108(1.c) Meta-model Integration
(1.d) Meta-model Clustering and Packaging
109Examples of Recovered Meta-models from DS
Sanlaville' PhD
110(2.a) M2-level Actor Identification
111(2.a) Meta-model-level Actor Identification
(2.b) M2-level Use Cases Analysis
112(2.d) M2-level Use Cases Analysis
113(3.ab) Metaware implementation
GSEE A Meta-Model Driven
Exploration Tool
114(3.ab) Metaware implementation
115Chapter VConclusion
116Conclusion
- MDE is just about Egyptology
- Egyptology is just about MDE
- The Meta-pyramid seems to be a good descriptive
model of actual organisations - More research needed in language engineering /
reverse engineering
117 Migrating to Model Driven Engineering