A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

0 %
100 %
Information about A Systematic Language Engineering Approach for Prototyping Domain...
Education

Published on February 19, 2014

Author: luismpedro

Source: slideshare.net

A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages Luis Pedro University of Geneva

Project Luis Pedro January 23, 2009 2

Model Luis Pedro January 23, 2009 3

Prototype Luis Pedro January 23, 2009 4

Build Luis Pedro January 23, 2009 5

Build Luis Pedro January 23, 2009 5

Analysis/ Requirements Luis Pedro January 23, 2009 6

Model Luis Pedro January 23, 2009 7

Prototype Luis Pedro January 23, 2009 8

Implementation Luis Pedro January 23, 2009 9

Luis Pedro January 23, 2009 10

Requirements Luis Pedro January 23, 2009 10

Requirements Luis Pedro Model January 23, 2009 10

Requirements Luis Pedro Model Prototype January 23, 2009 10

Requirements Luis Pedro Model Prototype Implementation January 23, 2009 10

Language Engineering? Luis Pedro January 23, 2009 11

A language that is used will be changed. - Meir M. Lehman Luis Pedro January 23, 2009 12

Requirements Luis Pedro Language Model Prototype Implementation January 23, 2009 13

What Language? Luis Pedro January 23, 2009 14

Luis Pedro January 23, 2009 14

Domain Specific Language Luis Pedro January 23, 2009 14

Luis Pedro January 23, 2009 15

Complexity Luis Pedro January 23, 2009 15

Complexity Diversity Luis Pedro January 23, 2009 15

Complexity Diversity Luis Pedro Evolution January 23, 2009 15

Abstraction through rich concepts helps to manage complexity Luis Pedro January 23, 2009 16

Integration of multiple languages helps to manage diversity Luis Pedro January 23, 2009

Flexible and modular languages help managing evolution Luis Pedro January 23, 2009 18

Goals and Motivation Luis Pedro January 23, 2009 19

Goals and Motivation Luis Pedro January 23, 2009 19

Goals and Motivation Re-use for Faster Language Development Luis Pedro January 23, 2009 19

Goals and Motivation Re-use for Faster Language Development Modularity Luis Pedro January 23, 2009 19

Goals and Motivation Re-use for Faster Language Development Manage Language Complexity Modularity Luis Pedro January 23, 2009 19

Goals and Motivation Re-use for Faster Language Development Manage Language Complexity Incremental DSML development Modularity Luis Pedro January 23, 2009 19

Goals and Motivation Re-use for Faster Language Development Modularity Luis Pedro Manage Language Complexity Incremental DSML development January 23, 2009 19

State of The Art Luis Pedro January 23, 2009 20

Luis Pedro January 23, 2009

State of The Art: Methodologies Luis Pedro January 23, 2009

Luis Pedro January 23, 2009

Metamodelling Luis Pedro January 23, 2009

MOF and ECore Luis Pedro Metamodelling January 23, 2009

MOF and ECore Metamodelling Model Transformation Luis Pedro January 23, 2009

MOF and ECore Metamodelling QVT Model Transformation Luis Pedro January 23, 2009

MOF and ECore Metamodelling QVT Model Transformation Metamodel Composition Luis Pedro January 23, 2009

MOF and ECore Metamodelling QVT Model Transformation Model Extension Metamodel Composition Luis Pedro January 23, 2009

MOF and ECore Metamodelling QVT Model Transformation Model Extension Metamodel Composition Semantics Enrichment Luis Pedro January 23, 2009

MOF and ECore Metamodelling QVT Model Transformation Model Extension Metamodel Composition Semantics Anchoring Semantics Enrichment Luis Pedro January 23, 2009

MOF and ECore Metamodelling QVT Model Transformation Model Extension Metamodel Composition Semantics Anchoring Semantics Enrichment Transformation Composition Luis Pedro January 23, 2009

Luis Pedro January 23, 2009

State of The Art: Tools Luis Pedro January 23, 2009

Luis Pedro January 23, 2009

Language evolution Luis Pedro January 23, 2009

Language evolution Luis Pedro January 23, 2009

Language evolution Verification Luis Pedro January 23, 2009

Language evolution Verification Luis Pedro January 23, 2009

Language evolution Verification Graphical Mapping Luis Pedro January 23, 2009

Language evolution Verification Graphical Mapping Luis Pedro January 23, 2009

Language evolution Verification Graphical Mapping Transformation Luis Pedro January 23, 2009

Language evolution Verification Graphical Mapping Transformation Luis Pedro January 23, 2009

Language evolution Verification Graphical Mapping Transformation Composition Luis Pedro January 23, 2009

Language evolution Verification Graphical Mapping Transformation Composition Luis Pedro January 23, 2009

Composition Luis Pedro January 23, 2009 23

Luis Pedro January 23, 2009 24

Disjoint Union Luis Pedro January 23, 2009 24

Disjoint Union Merge (Union) Luis Pedro January 23, 2009 24

Disjoint Union Merge (Union) Association Aggregation Inheritance Luis Pedro January 23, 2009 24

Disjoint Union Merge (Union) Association Aggregation Inheritance Parameterization Luis Pedro January 23, 2009 24

Domain Concept Luis Pedro January 23, 2009 25

Domain Concept Metamodel + Transformation Luis Pedro January 23, 2009 25

Domain Concept Metamodel + Transformation Luis Pedro A semantic block capturing domain knowledge January 23, 2009 25

Luis Pedro January 23, 2009 26

Domain Concepts Luis Pedro January 23, 2009 26

Domain Concepts uses Luis Pedro January 23, 2009 26

Domain Concepts uses Composition Luis Pedro January 23, 2009 26

Domain Concepts uses DSML Composition Luis Pedro January 23, 2009 26

Domain Concepts uses DSML Composition Semantic Mapping Transformed DSML Luis Pedro January 23, 2009 26

Semantics, Prototyping and Animation Luis Pedro January 23, 2009 27

Semantics, Prototyping and Animation Chosen Platform for Semantic Mapping: CO-OPN Builder Luis Pedro January 23, 2009 27

Semantics, Prototyping and Animation Chosen Platform for Semantic Mapping: CO-OPN Builder Validation Luis Pedro Animation Test Case Generation Java Prototype Generation January 23, 2009 27

fp formal parameter ep effective parameter Luis Pedro January 23, 2009 28

fp formal parameter Before Parameterization (Substitutes) fp ep metamodel mm ep effective parameter Luis Pedro January 23, 2009 28

fp formal parameter Before Parameterization (Substitutes) fp ep metamodel mm After Parameterization ep ep effective parameter Luis Pedro mm’ January 23, 2009 28

Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] Luis Pedro January 23, 2009 29

Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] fp is the formal parameter Luis Pedro January 23, 2009 29

Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] fp is the formal parameter ep is the effective parameter Luis Pedro January 23, 2009 29

Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] fp is the formal parameter ep is the effective parameter φ is a total function creating a map between elements of fp and ep Luis Pedro January 23, 2009 29

Moving Entity DSML Metamodel Luis Pedro January 23, 2009 30

Train Entity DSML Metamodel = {⇤M ovingEntity, T rainEntity⌅ ⇤JunctionP oint, RaiwayStation⌅} Luis Pedro January 23, 2009 31

Train Entity DSML Metamodel = {⇤M ovingEntity, T rainEntity⌅ ⇤JunctionP oint, RaiwayStation⌅} Luis Pedro January 23, 2009 31

Robot Entity DSML Metamodel Luis Pedro = {⇤M ovingEntity, RobotEntity⌅ ⇤JunctionP oint, Object⌅} January 23, 2009 32

Robot Entity DSML Metamodel Luis Pedro = {⇤M ovingEntity, RobotEntity⌅ ⇤JunctionP oint, Object⌅} January 23, 2009 32

Transformation Luis Pedro January 23, 2009 33

Transformation Semantics Mapping Luis Pedro January 23, 2009 33

Transformation Semantics Mapping Set of Rules Describing a Transformation Luis Pedro January 23, 2009 33

Transformation Semantics Mapping Set of Rules Describing a Transformation Model Transformation Language Luis Pedro January 23, 2009 33

Transformation Composition ⇥, T rmm = T rmm [T rf p ⇥ T rep ] Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] Luis Pedro January 23, 2009 34

Transformation Composition ⇥, T rmm = T rmm [T rf p ⇥ T rep ] Trfp template transformation for fp Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] Luis Pedro January 23, 2009 34

Transformation Composition ⇥, T rmm = T rmm [T rf p ⇥ T rep ] Trfp template transformation for fp Trep template transformation for ep Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] Luis Pedro January 23, 2009 34

Transformation Composition ⇥, T rmm = T rmm [T rf p ⇥ T rep ] Trfp template transformation for fp Trep template transformation for ep φ: Dom(Trfp) ! Dom(Trep) Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] Luis Pedro January 23, 2009 34

Transformation Composition ⇥, T rmm = T rmm [T rf p ⇥ T rep ] Trfp template transformation for fp Trep template transformation for ep φ: Dom(Trfp) ! Dom(Trep) ψ: Cod(Trfp) ! Cod(Trep) Metamodel Composition mm = mm[f p ⇥ ep, Ff p ] Luis Pedro January 23, 2009 34

What Happens to Transformations Luis Pedro January 23, 2009 35

Transformation Element is a Leaf Luis Pedro January 23, 2009 36

Transformation Element is a Leaf Luis Pedro January 23, 2009 36

Transformation Element is a Leaf Trmm Trfp1 Trep1 Trfp2 Trep2 ... ... Trfpn Luis Pedro Trep Trepn January 23, 2009 36

Transformation Element is a Leaf Trmm Trep Trfp1 Trep1 Trep2 ... Trfpn Luis Pedro ... Trepn January 23, 2009 36

Transformation Element is a Leaf Trmm Trep Trfp1 Trep1 Trep2 ... Trepn ... Trfpn Luis Pedro January 23, 2009 36

Transformation Element is a Leaf Trfp1 Trep1 Trep2 ... ⇥, T rf p ⇥ T rep (T rf p2 , T rep ) Trepn ... Trfpn Luis Pedro January 23, 2009 36

Transformation Element is a Leaf ep = T rT rainEntity T rf p rule ruleJunctionPoint { from jp : MovingEntity!JunctionPoint to cl : COOPNMetaModel!COOPNClass(...) } rule ruleMovingEntity { from me : MovingEntity!MovingEntity to cl : COOPNMetaModel!COOPNClass(...) } rule ruleRailWayStation { from rs : TrainEntity!RailWayStation to cl : COOPNMetaModel!COOPNClass, pl: COOPNMetaModel!"COOPNClass!Place" (. . .) } (. . .) = { T rf p , T rT rainEntity ⇥) Luis Pedro January 23, 2009 37

General Case Luis Pedro January 23, 2009 38

General Case Luis Pedro January 23, 2009 38

General Case Trmm Trfp1 Trep1 Trfp2 Trep2 ... ... Trfpn Luis Pedro Trep Trepn January 23, 2009 38

General Case Trmm Trfp1 Luis Pedro Trep1 Trfp2 Trep2 ... ... Trfpn T rf p |T F { Trep Trepn }T E } T rep January 23, 2009 TE 38

General Case Trmm Trep Trfp1 T rf p |T F { Trep2 ... ... Trfpn Luis Pedro Trfp2 Trepn } T rep January 23, 2009 TE 38

General Case Trfp1 T rf p |T F { Trfp2 ... Trfpn T rep } TE Luis Pedro ⇥, T rf p ⇥ T rep (⇤T rf p , (T rep T E) ⇥ (T rf p |T F )⌅ Trep2 ... Trepn January 23, 2009 38

General Case ep = T rT rainEntity T rf p { { 1 T rf p |T F T rf p rule ruleJunctionPoint { from jp : MovingEntity!JunctionPoint to cl : COOPNMetaModel!COOPNClass(...) } rule ruleTrainEntity { from tr : TrainEntity!TrainEntity to cl : COOPNMetaModel!COOPNClass(...) } rule ruleActionPlan { (. . .) } rule ruleGoToAction { (. . .) } (⇤T rf p , (T rep Luis Pedro T E) ⇥ (T rf p |T F )⌅) } } 1 T rep } } } TE 2 T rep T rep TE 3 T rep January 23, 2009 39

Luis Pedro January 23, 2009 40

CoPsy Luis Pedro January 23, 2009 40

CoPsy Compositional Platform for Domain Specific Modelling Languages Prototyping Luis Pedro January 23, 2009 40

Luis Pedro January 23, 2009 42

DSML Development Modular Incremental Re-use of Concepts Luis Pedro January 23, 2009 42

DSML Development Modular Incremental Re-use of Concepts DSML Validation Fast Prototyping Animation Luis Pedro January 23, 2009 42

DSML Development Modular Incremental Re-use of Concepts DSML Validation Fast Prototyping Animation DSML Semantics Luis Pedro January 23, 2009 42

Luis Pedro January 23, 2009 43

Luis Pedro January 23, 2009 43

Properties Check Luis Pedro January 23, 2009 43

Properties Check Semantics Preservation Luis Pedro January 23, 2009 43

Properties Check Semantics Preservation Versioning and Traceability Luis Pedro January 23, 2009 43

Properties Check Semantics Preservation Versioning and Traceability Graphical Extensions Luis Pedro January 23, 2009 43

Properties Check Semantics Preservation Versioning and Traceability Graphical Extensions Integration with other DSML environments Luis Pedro January 23, 2009 43

a b {true, f alse} : f (x) Bool ⇥ (S i , S i ) 1 i n ⇥ Luis Pedro v, si ⇥ 1 i n January 23, 2009 44

a b {true, f alse} : f (x) Bool ⇥ (S i , S i ) 1 i n ⇥ Luis Pedro v, si ⇥ 1 i n January 23, 2009 44

45

Articles (Pedro, Risoldi, Amaral, Barroca, & Buchs, 2009) Composing Visual Syntax for Domain Specific Languages Prototyping, Human-Computer Interaction 2009 (Pedro, Amaral, & Buchs, 2008) Foundations for a Domain Specific Modeling Language Prototyping Environment: A compositional approach, in Proceedings of the 8th OOPSLA ACM-SIGPLAN Workshop on Domain-Specific Modeling (DSM), October 2008; (Pedro, Lucio, & Buchs, 2007) System Prototype and Verification Using Metamodel-Based Transformations, in IEEE Distributed Systems Online, 2007; (Pedro, Buchs, & Lucio, 2007) Model and Metamodel Semantics Enrichment Using Transformations and Domain Composition, in Rapid Integration of Software Engineering techniques 2007 (to be published); (Pedro, Lucio, & Buchs, 2006a) Principles for System Prototype and Verification Using Metamodel Based Transformations, in Proceedings of IEEE International Workshop on Rapid System Prototyping, 2006; (A. Chen, Buchs, Lucio, Pedro, & Risoldi, 2006) Modeling Distributed Systems using Concurrent Object Oriented Petri Nets, in Proceedings of the Fourth International Workshop on Modelling of Objects, Components and Agents, 2006 (Pedro, Lucio, & Buchs, 2006b) Prototyping Domain Specific Languages With CO-OPN, in Proceedings of Springer-Verlag Rapid Integration of Software Engineering techniques, 2005; Technical Reports (Pedro, 2008) Metamodeling with Eclipse, Centre Universitaire D’Informatique, Universitè de Genève, 2008; (Pedro, 2006) UML2 to CO-OPN transformation: State Machines and Class Diagrams, Centre Universitaire D’Informatique, Universitè de Genève, 2006; 45

46

Add a comment

Related presentations

Related pages

A systematic language engineering approach for prototyping ...

... A systematic language engineering approach for prototyping domain specific modelling languages ... Domain Specific Modelling Language ...
Read more

Thesis - researchgate.net

Thesis Reference A systematic language engineering approach for prototyping domain specific modelling languages VENCESLAU PEDRO, Luis Miguel Abstract
Read more

A Systematic Language Engineering Approach for Prototyping ...

Buy A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages by ... for domain specific modeling languages.
Read more

A systematic language engineering approach for prototyping ...

Title A systematic language engineering approach for prototyping domain specific modelling languages: Author
Read more

Publications - Luis Pedro's Home Page - Google Sites

A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages ... Prototyping of Domain Specific Languages ...
Read more

A Systematic Language Engineering Approach for Prototyping ...

1.A Systematic Language Engineering Approach for Prototyping Domain ... Domain Specific Modelling Languages. ... A Domain Specific Language for ...
Read more

A Domain Specific Language Approach for Genetic ... - Springer

A Systematic Language Engineering Approach for Prototyping Domain Specific Languages. ... D., Chaouiya, C.: Logical Modelling of Regulatory Networks ...
Read more

An object-oriented approach to language compositions for ...

... A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling ... Globalized Domain Specific Language Engineering, ...
Read more

Prototyping Visual Interpreters and Debuggers for Domain ...

This paper is about visual and executable domain-specific modelling languages ... approach with a language for ... language engineering, ...
Read more