(Domain-Specific) Modelling Language Engineering Hans Vangheluwe - - PowerPoint PPT Presentation

domain specific modelling language engineering
SMART_READER_LITE
LIVE PREVIEW

(Domain-Specific) Modelling Language Engineering Hans Vangheluwe - - PowerPoint PPT Presentation

(Domain-Specific) Modelling Language Engineering Hans Vangheluwe http://msdl.cs.mcgill.ca/ at the most appropriate level(s) of abstraction at the most appropriate level(s) of abstraction using the most appropriate formalism(s) using the most


slide-1
SLIDE 1

http://msdl.cs.mcgill.ca/

(Domain-Specific) Modelling Language Engineering

Hans Vangheluwe

slide-2
SLIDE 2

at the most appropriate level(s) of abstraction at the most appropriate level(s) of abstraction using the most appropriate formalism(s) using the most appropriate formalism(s) explicitly modelling processes explicitly modelling processes Enabler: (domain-specific) modelling language engineering Enabler: (domain-specific) modelling language engineering including model transformation including model transformation

slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5

WEST: modelling biological wastewater treatment. Henk Vanhooren, Jurgen Meirlaen, Youri Amerlinck, Filip Claeys, Hans Vangheluwe and Peter A.Vanrolleghem. Journal of Hydroinformatics 5 (2003) 27-50

slide-6
SLIDE 6

http://www.mikebydhi.com/products/west

slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15

Nagy, Danil, Damon Lau, John Locke, Jim Stoddart, Lorenzo Villaggi, Ray Wang, Dale Zhao and David Benjamin. “Project Discover : An Applicatjon of Generatjve Design for Architectural Space Planning.” (2017).

slide-16
SLIDE 16

“fjtness”

slide-17
SLIDE 17
slide-18
SLIDE 18

generated (evolutionary – e.g., Genetic Algorithms)

slide-19
SLIDE 19

“fitness” evaluation for each of the generated designs

slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24

Model Features

slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27

MPM

slide-28
SLIDE 28
slide-29
SLIDE 29

www.centuryspring.com

Model Validity Range

slide-30
SLIDE 30

Experimental (Validity) Frame

Joachim Denil, Stefan Klikovits, Pieter J. Mosterman, Antonio Vallecillo, and Hans Vangheluwe. The experiment model and validity frame in M&S. In Proceedings of the 2017 Symposium on Theory of Modeling and Simulation - DEVS , TMS/DEVS '17, part of the Spring Simulation Multi-Conference, pages 1085 – 1096. Society for Computer Simulation International, April 2017.

slide-31
SLIDE 31
slide-32
SLIDE 32
slide-33
SLIDE 33

T

  • ken Models
slide-34
SLIDE 34

Rôles a Model may Play

slide-35
SLIDE 35

Ontological vs. Linguistic Conformance/Instatiation

slide-36
SLIDE 36

Linguistic Conformance: morphism

slide-37
SLIDE 37

strict Model PetriNets@1 { abstract Node NamedElement{ name : String {id}; } Node Place : NamedElement { tokens : int = 0;

  • utTrans : Transition[*] {ordered,unique};

inTrans : Transition[*] {ordered,unique}; minTokens: $self.tokens>=0$ } Node Transition : NamedElement { inPlaces : Place[*] {ordered,unique};

  • utPlaces: Place[*] {ordered,unique};

} Edge ArcPT (Place.outTrans, Transition.inPlaces) { weight: int = 1; } Edge ArcTP (Transition.outPlaces, Place.inTrans) { weight: int = 1; } minWeight(ArcTP, ArcPT): $self.weight>0$ minPlaces:$Place.allInstances().size()>0$ } load "PetriNets" PetriNets Test{ Place p0{name="p0"; tokens=2;} Place p1{name="p1"; tokens=0;} Place p2{name="p2"; tokens=2;} Transition t1{name="t1";} ArcPT pt0(p0,t1){weight=1;} ArcPT pt1(p2,t1){weight=1;} ArcTP tp(t1,p1){weight=2;} }

MetaDepth model <--> meta-model

http://metadepth.org/

slide-38
SLIDE 38
  • peration main() {

'Simulating the Petri Net'.println(); while (Transition.allInstances()->exists(t|t.enabled() and t.fire()) ) {} }

  • peration Transition enabled() : Boolean {

('checking enabledness of '+self.name).println(); return self.ArcPT->forAll(arc| arc.inPlaces.tokens>=arc.weight); }

  • peration Transition fire() : Boolean {

('Firing '+self.name).println(); for (arc in self.ArcPT) arc.inPlaces.tokens := arc.inPlaces.tokens-arc.weight; for (arc in self.ArcTP) arc.outPlaces.tokens := arc.outPlaces.tokens+arc.weight; return true; }

MetaDepth operational semantics

slide-39
SLIDE 39

Meta-models as Language Definitions

slide-40
SLIDE 40

Language Definition Stack

slide-41
SLIDE 41

Meta-hierarchy – OMG’s 4 Layer Architecture

slide-42
SLIDE 42

Simon Van Mierlo, Bruno Barroca, Hans Vangheluwe, Eugene Syriani, and Thomas Kuehne. Multi-level modelling in the Modelverse. In The first Workshop on Multi-Level Modelling (MULTI), co-located with the 17th International Conference on Model Driven Engineering Languages and Systems (MoDELS), Valencia, Spain, volume 1286 of CEUR Workshop Proceedings , pages 83 - 92, 2014. Yentl Van T endeloo, Bruno Barroca, Simon Van Mierlo, Hans Vangheluwe. Modelverse specification. 2016. http://msdl.cs.mcgill.ca/people/yentl/files/Modelverse.pdf

slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47

Causal Block Diagrams Transformational Semantics

slide-48
SLIDE 48

“lin inguis istic” c” vie iew on Modell llin ing Languages/Formalis lisms: Syntax and Sema mantics cs

slide-49
SLIDE 49

Ex Expli licit cit “lin linguis istic” ic” Modell llin ing of Modellin ing Languages/Forma rmalis lisms ms

slide-50
SLIDE 50

Causal Block Diagrams Transformational Semantics

slide-51
SLIDE 51

Causal Block Diagrams (syntax)

slide-52
SLIDE 52

Causal Block Diagrams (semantics)

slide-53
SLIDE 53

Causal Block Diagrams Operational Semantics

slide-54
SLIDE 54

Causal Block Diagrams (semantics)

slide-55
SLIDE 55

Formalism Transformation Graph (FTG)

slide-56
SLIDE 56

Formalism Transformation Graph (FTG)

Bran Selic: “fragmentation problem”

slide-57
SLIDE 57

Formalism Transformation Graph (FTG)

Hans Vangheluwe and Ghislain C. Vansteenkiste. A multi-paradigm modeling and simulation methodology: Formalisms and languages. In European Simulation Symposium (ESS) , pages 168 – 172. Society for Computer Simulation International (SCS), October 1996. Genoa, Italy.

slide-58
SLIDE 58

Formalism Transformation Graph (FTG) co-simulation

Cláudio Gomes, Casper Thule, David Broman, Peter Gorm Larsen, Hans Vangheluwe. Co-simulation: State of the art. ArXiv 1702.00686. 2017.

slide-59
SLIDE 59

https://www.youtube.com/watch?v=RYtea2BiQ98

slide-60
SLIDE 60

(domain-specific) “linguistic” Modelling Language Engineering

Raphael Mannadiar. A Multi-Paradigm Modelling Approach to the Foundations of Domain-Specific Modelling. PhD thesis, McGill Univ., 2012. Eugene Syriani, Hans Vangheluwe, Raphael Mannadiar, Conner Hansen, Simon Van Mierlo, and Huseyin Ergin. AT

  • MPM: A web-based

modeling environment. In Proceedings of MODELS'13 Demonstration Session co-located with the 16th International Conference on Model Driven Engineering Languages and Systems (MODELS 2013), Miami, USA, pages 21- 25, 2013. https://www.youtube.com/watch?feature=player_detailpage&v=RYtea2BiQ98

slide-61
SLIDE 61
slide-62
SLIDE 62

at the most appropriate level(s) of abstraction at the most appropriate level(s) of abstraction using the most appropriate formalism(s) using the most appropriate formalism(s) explicitly modelling workflows explicitly modelling workflows Enabler: (domain-specific) modelling language engineering, Enabler: (domain-specific) modelling language engineering, including model transformation including model transformation

Pieter J. Mosterman and Hans Vangheluwe. Computer Automated Multi-Paradigm Modeling: An Introduction. Simulation: Transactions of the Society for Modeling and Simulation International , 80(9):433- 450, September 2004. Special Issue: Grand Challenges for Modeling and Simulation.