Language, Models and Megamodels Tutorial on Megamodelling
Anya Helene Bagge
Bergen Language Design Laboratory University of Bergen
SATToSE’14 2014-07-10
Bagge (UiB / BLDL) Megamodelling 2014-07-10 1 / 18
Language, Models and Megamodels Tutorial on Megamodelling Anya - - PowerPoint PPT Presentation
Language, Models and Megamodels Tutorial on Megamodelling Anya Helene Bagge Bergen Language Design Laboratory University of Bergen SATToSE14 2014-07-10 Bagge (UiB / BLDL) Megamodelling 2014-07-10 1 / 18 Learning Outcomes What is a
Bergen Language Design Laboratory University of Bergen
Bagge (UiB / BLDL) Megamodelling 2014-07-10 1 / 18
Bagge (UiB / BLDL) Megamodelling 2014-07-10 2 / 18
∗
Bagge (UiB / BLDL) Megamodelling 2014-07-10 3 / 18
Formal
Can define arbitrary abstractions
Bagge (UiB / BLDL) Megamodelling 2014-07-10 4 / 18
* [Bézivin, Gerbé, Towards a Precise Definition of the OMG/MDA Framework]
Bagge (UiB / BLDL) Megamodelling 2014-07-10 5 / 18
Modelling Language Metamodel Model ←writtenIn ←conformsTo ←models
Bagge (UiB / BLDL) Megamodelling 2014-07-10 6 / 18
Bagge (UiB / BLDL) Megamodelling 2014-07-10 7 / 18
. . Bagge (UiB / BLDL) Megamodelling 2014-07-10 8 / 18
. . ← reprOf Bagge (UiB / BLDL) Megamodelling 2014-07-10 8 / 18
. . ← reprOf Bagge (UiB / BLDL) Megamodelling 2014-07-10 8 / 18
. . ← reprOf ← impacts → Bagge (UiB / BLDL) Megamodelling 2014-07-10 8 / 18
. . ← reprOf ← reprOf ← impacts → Bagge (UiB / BLDL) Megamodelling 2014-07-10 8 / 18
. .
← reprOf ← reprOf ← impacts → impacts? → impacts? → Bagge (UiB / BLDL) Megamodelling 2014-07-10 8 / 18
What technologies are in the environment? How does this model relate to other models? (e.g. models may show different views of same system)
Need a model to understand them!
Bagge (UiB / BLDL) Megamodelling 2014-07-10 9 / 18
E.g.: Program is ElementOf Language, Grammar is RepresentationOf Language, Program ConformsTo Grammar, System is DecomposedIn Component
Bagge (UiB / BLDL) Megamodelling 2014-07-10 10 / 18
[Favre, Lämmel, and Varanovich, Modeling the Linguistic Architecture of Software Products]
Bagge (UiB / BLDL) Megamodelling 2014-07-10 11 / 18
:Language subsetOf :Language :Artifact elementOf :Language :Language domainOf :Function :Function hasRange :Language :FunctionApplication elementOf :Function :Artifact inputOf :FunctionApplication :FunctionApplication hasOutput :Artifact :Artifact conformsTo :Artifact :Artifact partOf :Artifact :Artifact correspondsTo :Artifact :Artifact dependsOn :Artifact :Artifact dependsOn :Language :Artifact realizationOf :Function :Artifact definitionOf :Language :Program partOf :Technology :Library partOf :Technology [Favre, Lämmel, and Varanovich, Modeling the Linguistic Architecture of Software Products]
Bagge (UiB / BLDL) Megamodelling 2014-07-10 11 / 18
MM L M ... reprOf → elementOf → reprOf →
MM L M ... ← conformsTo reprOf → [Favre, Megamodelling and etymology. A story of words: from MED to MDE via MODEL in five millenniums]
Bagge (UiB / BLDL) Megamodelling 2014-07-10 12 / 18
Str Tkl Tok Ptr Cst Ast
text editing structural editing refactoring c
e t r a n s f
m a t i
Text Layout Layoutless Abstract Flat Structured tokenize concat strip format parse unparse parse unparse strip format implode explode
[Zaytsev & Bagge: Parsing in a Broad Sense]
Bagge (UiB / BLDL) Megamodelling 2014-07-10 13 / 18
Text Layout Layoutless Abstract Flat Structured ← reprOf ← reprOf ← structOf ← structOf ← reprOf ← reprOf [Zaytsev & Bagge: Parsing in a Broad Sense]
Bagge (UiB / BLDL) Megamodelling 2014-07-10 14 / 18
[Favre, Lämmel, and Varanovich, Modeling the Linguistic Architecture of Software Products]
Bagge (UiB / BLDL) Megamodelling 2014-07-10 15 / 18
[Favre, Megamodelling and etymology. A story of words: from MED to MDE via MODEL in five millenniums]
Bagge (UiB / BLDL) Megamodelling 2014-07-10 16 / 18
Aimed at understanding (for humans) Makes relationships explicit Identifies roles – and missing models
Bagge (UiB / BLDL) Megamodelling 2014-07-10 17 / 18
Image credits: 3/Vase: Guillaume Blanchard (CC-BY-SA-1.0) 3/Sun: Alan Murray Walsh / www.geograph.org.uk (CC-BY-SA-2.0) 3/Duck: J.M.Garg / Wikimedia (GNU-FDL) 3/Father and son: Onkelbo / Wikimedia (GNU-FDL) 3/Hatshepsut: Keith Schengili-Roberts / Wikimedia / Ägyptisches Museum Berlin (CC-BY-SA-3.0) 5/System model: Phil’s Astronomy Blog 6/Solar system model: Mrs. Studivan 8/Earth: NASA (public domain) 8/Climate model: NOAA (public domain) 8/People: James Cridland (CC-BY) 8/The Sims cover: EA 10/Jean-Marie Favre: Eelco Visser Bagge (UiB / BLDL) Megamodelling 2014-07-10 18 / 18