a systematic language engineering approach for prototyping domain specific modelling languages

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

Upload: luis-pedro

Post on 09-May-2015

112 views

Category:

Education


0 download

TRANSCRIPT

Page 1: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis PedroUniversity of Geneva

A Systematic Language Engineering Approach for Prototyping Domain

Specific Modelling Languages

Page 2: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Project

2

Page 3: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Model

3

Page 4: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Prototype

4

Page 5: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Build

5

Page 6: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Build

5

Page 7: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 6

Analysis/Requirements

Page 8: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 7

Model

Page 9: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 8

Prototype

Page 10: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 9

Implementation

Page 11: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 10

Page 12: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Requirements

10

Page 13: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

ModelRequirements

10

Page 14: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

ModelRequirements Prototype

10

Page 15: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

ModelRequirements Prototype Implementation

10

Page 16: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language Engineering?

11

Page 17: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

A language that is used will be changed. - Meir M. Lehman

12

Page 18: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

LanguageModel

ImplementationRequirements Prototype

13

Page 19: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

What Language?

14

Page 20: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 14

Page 21: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Domain Specific Language14

Page 22: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 15

Page 23: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Complexity

15

Page 24: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Diversity

Complexity

15

Page 25: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Diversity

Complexity

Evolution

15

Page 26: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Abstraction through rich concepts helps to manage complexity 16

Page 27: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Integration of multiple languageshelps to manage diversity

Page 28: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Flexible and modular languageshelp managing evolution 18

Page 29: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Goals and Motivation

19

Page 30: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Goals and Motivation

19

Page 31: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Goals and Motivation

Re-use for Faster Language Development

19

Page 32: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Goals and MotivationRe-use for Faster Language Development

Modularity

19

Page 33: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Goals and MotivationRe-use for Faster Language Development

Modularity

Manage Language Complexity

19

Page 34: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Goals and MotivationRe-use for Faster Language Development

Modularity

Manage Language Complexity

Incremental DSML development

19

Page 35: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Goals and MotivationRe-use for Faster Language Development

Modularity

Manage Language Complexity

Incremental DSML development

19

Page 36: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

State of The Art

20

Page 37: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Page 38: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

State of The Art: Methodologies

Page 39: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Page 40: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodelling

Page 41: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

MetamodellingMOF and ECore

Page 42: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodelling

Model Transformation

MOF and ECore

Page 43: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodelling

Model Transformation

MOF and ECore

QVT

Page 44: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodelling

Model Transformation

Metamodel Composition

MOF and ECore

QVT

Page 45: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodelling

Model Transformation

Metamodel Composition

MOF and ECore

QVT

Model Extension

Page 46: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodelling

Model Transformation

Metamodel Composition

Semantics Enrichment

MOF and ECore

QVT

Model Extension

Page 47: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodelling

Model Transformation

Metamodel Composition

Semantics Enrichment

MOF and ECore

QVT

Model Extension

Semantics Anchoring

Page 48: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodelling

Model Transformation

Metamodel Composition

Semantics Enrichment

MOF and ECore

QVT

Model Extension

Transformation Composition

Semantics Anchoring

Page 49: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Page 50: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

State of The Art: Tools

Page 51: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Page 52: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Page 53: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Page 54: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Verification

Page 55: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Verification

Page 56: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Verification

Graphical Mapping

Page 57: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Verification

Graphical Mapping

Page 58: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Verification

Graphical Mapping

Transformation

Page 59: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Verification

Graphical Mapping

Transformation

Page 60: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Verification

Graphical Mapping

Transformation

Composition

Page 61: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Language evolution

Verification

Graphical Mapping

Transformation

Composition

Page 62: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Composition23

Page 63: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 24

Page 64: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Disjoint Union

24

Page 65: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Disjoint UnionMerge (Union)

24

Page 66: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Disjoint UnionMerge (Union)

AssociationAggregation

Inheritance

24

Page 67: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Disjoint UnionMerge (Union)

AssociationAggregation

Inheritance

Parameterization

24

Page 68: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Domain Concept

25

Page 69: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Domain Concept

+Metamodel

25

Transformation

Page 70: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Domain Concept

A semantic block capturingdomain knowledge

+Metamodel

25

Transformation

Page 71: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 26

Page 72: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 26

Domain Concepts

Page 73: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 26

uses

Domain Concepts

Page 74: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 26

Composition

uses

Domain Concepts

Page 75: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 26

DSM

L

Composition

uses

Domain Concepts

Page 76: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 26

Transformed DSML

Semantic

Mapping

DSM

L

Composition

uses

Domain Concepts

Page 77: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Semantics, Prototyping and Animation

27

Page 78: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Chosen Platform for Semantic Mapping:CO-OPN Builder

Semantics, Prototyping and Animation

27

Page 79: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Chosen Platform for Semantic Mapping:CO-OPN Builder

Semantics, Prototyping and Animation

Validation Animation Test Case Generation

Java Prototype Generation

27

Page 80: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 28

fp formal parameter

ep effective parameter

Page 81: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 28

fp formal parameter

ep effective parameter

(Substitutes)

fpep

metamodel

Before Parameterization

mm

Page 82: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 28

fp formal parameter

ep effective parameter

(Substitutes)

fpep

metamodel

ep

Before Parameterization

After Parameterization

mm

mm’

Page 83: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodel Compositionmm� = mm[fp

�⇥� ep, Ffp]

29

Page 84: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodel Compositionmm� = mm[fp

�⇥� ep, Ffp]

fp is the formal parameter

29

Page 85: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodel Compositionmm� = mm[fp

�⇥� ep, Ffp]

fp is the formal parameter

ep is the effective parameter

29

Page 86: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Metamodel Compositionmm� = mm[fp

�⇥� ep, Ffp]

fp is the formal parameter

ep is the effective parameter

φ is a total function creating a map between elements of fp and ep

29

Page 87: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 30

Moving Entity DSML Metamodel

Page 88: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 31

Train Entity DSML Metamodel

� = {⇤MovingEntity, T rainEntity⌅⇤JunctionPoint, RaiwayStation⌅}

Page 89: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 31

Train Entity DSML Metamodel

� = {⇤MovingEntity, T rainEntity⌅⇤JunctionPoint, RaiwayStation⌅}

Page 90: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 32

Robot Entity DSML Metamodel

� = {⇤MovingEntity, RobotEntity⌅⇤JunctionPoint, Object⌅}

Page 91: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 32

Robot Entity DSML Metamodel

� = {⇤MovingEntity, RobotEntity⌅⇤JunctionPoint, Object⌅}

Page 92: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation

33

Page 93: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation

Semantics Mapping

33

Page 94: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation

Semantics Mapping

Set of Rules Describing a Transformation

33

Page 95: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation

Semantics Mapping

Set of Rules Describing a Transformation

Model Transformation Language

33

Page 96: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trmm� = Trmm[Trfp⇥,�⇥�� Trep]

Transformation Composition

Metamodel Composition

mm� = mm[fp�⇥� ep, Ffp]

34

Page 97: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trmm� = Trmm[Trfp⇥,�⇥�� Trep]

Transformation Composition

Trfp template transformation for fp

Metamodel Composition

mm� = mm[fp�⇥� ep, Ffp]

34

Page 98: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trmm� = Trmm[Trfp⇥,�⇥�� Trep]

Transformation Composition

Trfp template transformation for fpTrep template transformation for ep

Metamodel Composition

mm� = mm[fp�⇥� ep, Ffp]

34

Page 99: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trmm� = Trmm[Trfp⇥,�⇥�� Trep]

Transformation Composition

Trfp template transformation for fpTrep template transformation for ep

φ: Dom(Trfp) ! Dom(Trep)

Metamodel Composition

mm� = mm[fp�⇥� ep, Ffp]

34

Page 100: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trmm� = Trmm[Trfp⇥,�⇥�� Trep]

Transformation Composition

Trfp template transformation for fpTrep template transformation for ep

φ: Dom(Trfp) ! Dom(Trep)

ψ: Cod(Trfp) ! Cod(Trep)

Metamodel Composition

mm� = mm[fp�⇥� ep, Ffp]

34

Page 101: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

What Happens to Transformations

35

Page 102: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation Element is a Leaf

36

Page 103: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation Element is a Leaf

36

Page 104: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation Element is a Leaf

Trfp1

Trfp2

...

Trfpn

Trep1

Trep2

...

Trepn

Trmm Trep

36

Page 105: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation Element is a Leaf

Trfp1

...

Trfpn

Trep1

Trep2

...

Trepn

...

Trfpn

Trmm Trep

36

Page 106: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation Element is a Leaf

Trfp1 Trep1

Trep2

...

Trepn

...

Trfpn

Trmm Trep

36

Page 107: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Transformation Element is a Leaf

Trfp1

Trep1

Trep2

...

Trepn

...

Trfpn

Trfp⇥,�⇥�� Trep

�(Trfp2, T rep)

36

Page 108: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 37

Transformation Element is a Leaf

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" (. . .)}

(. . .)

� = {�Trfp, T rTrainEntity⇥)

ep = TrTrainEntityTrfp

Page 109: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

General Case

38

Page 110: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

General Case

38

Page 111: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trfp1

Trfp2

...

Trfpn

Trep1

Trep2

...

Trepn

Trmm Trep

General Case

38

Page 112: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trfp1

Trfp2

...

Trfpn

Trep1

Trep2

...

Trepn

Trmm Trep

General Case

Trfp|TF {}TE

}Trep � TE

38

Page 113: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trfp1

Trfp2 Trep2

...

Trepn

...

Trfpn

Trmm Trep

General Case

Trfp|TF { }Trep � TE

38

Page 114: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Trfp1

Trfp2

Trep2

...

Trepn

...

Trfpn

General Case

Trfp⇥,�⇥�� Trep

�(⇤Trfp, (Trep � TE) ⇥ (Trfp|TF )⌅)

Trfp|TF {

Trep � TE }38

Page 115: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 39

General Case

rule ruleJunctionPoint { from jp : MovingEntity!JunctionPoint to cl : COOPNMetaModel!COOPNClass(...)}

rule ruleTrainEntity { from tr : TrainEntity!TrainEntity to cl : COOPNMetaModel!COOPNClass(...)}

rule ruleActionPlan { (. . .)

}

rule ruleGoToAction { (. . .)

}

�(⇤Trfp, (Trep � TE) ⇥ (Trfp|TF )⌅)

Tr1fp Tr1

ep

Tr2ep

Tr3ep

{ }}}

{ } TETrfp|TF

} Trep � TE

ep = TrTrainEntityTrfp

Page 116: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 40

Page 117: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

CoPsy

40

Page 118: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

CoPsy

Compositional Platform for Domain Specific Modelling Languages Prototyping

40

Page 119: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages
Page 120: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages
Page 121: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages
Page 122: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages
Page 123: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 42

Page 124: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

ModularIncremental

Re-use of Concepts

DSML Development

42

Page 125: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

ModularIncremental

Re-use of Concepts

Fast Prototyping

DSML Development

DSML Validation

Animation

42

Page 126: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

ModularIncremental

DSML Semantics

Re-use of Concepts

Fast Prototyping

DSML Development

DSML Validation

Animation

42

Page 127: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 43

Page 128: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009 43

Page 129: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Properties Check

43

Page 130: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Properties Check

Semantics Preservation

43

Page 131: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Versioning and Traceability

Properties Check

Semantics Preservation

43

Page 132: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Versioning and Traceability

Properties Check

Semantics Preservation

Graphical Extensions

43

Page 133: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

Versioning and Traceability

Properties Check

Semantics Preservation

Graphical Extensions

Integration with other DSML environments

43

Page 134: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

f(x)

�a� b

���

1�i�n

(S�i , S�i)

⇥�

1�i�n

�{true, false} :� Bool

�v, si⇥

44

Page 135: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

Luis Pedro January 23, 2009

f(x)

�a� b

���

1�i�n

(S�i , S�i)

⇥�

1�i�n

�{true, false} :� Bool

�v, si⇥

44

Page 136: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

45

Page 137: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

45

(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;

(Pedro, 2008) Metamodeling with Eclipse, Centre Universitaire D’Informatique, Universitè de Genève, 2008;

Technical Reports

Articles

(Pedro, 2006) UML2 to CO-OPN transformation: State Machines and Class Diagrams, Centre Universitaire D’Informatique, Universitè de Genève, 2006;

Page 138: A Systematic Language Engineering Approach for Prototyping Domain Specific Modelling Languages

46