From MDE model driven engineering to CT and

  • Slides: 27
Download presentation
From MDE (model driven engineering) to CT and back Zinovy Diskin /25

From MDE (model driven engineering) to CT and back Zinovy Diskin /25

My experience • …. . Algebraic logic • 1993 -97 --- Database design for

My experience • …. . Algebraic logic • 1993 -97 --- Database design for a private company in Latvia • 98 -2004 –- Business analyst in US • 05 -present --- Several academia/industry projects on MDE in Canada (funded 50/50) 9/9/2020 Vancouver, CT'2011 2/25

CT for SE, why? • CT’s applications for Physics, Comp. Science, Linguistics… are well

CT for SE, why? • CT’s applications for Physics, Comp. Science, Linguistics… are well known, so what? • Size • Quality 9/9/2020 Vancouver, CT'2011 3/25

Modeling of modeling World Model reasonin interpretation 9/9/2020 Vancouver, CT'2011 4/25

Modeling of modeling World Model reasonin interpretation 9/9/2020 Vancouver, CT'2011 4/25

Modeling of modeling: Comp. Sci deep reasoning deep abstraction Model World interpretation 9/9/2020 Vancouver,

Modeling of modeling: Comp. Sci deep reasoning deep abstraction Model World interpretation 9/9/2020 Vancouver, CT'2011 5/25

Modeling of modeling: Engineering shallow abstraction World shallow reasoning Model interpretation 9/9/2020 Vancouver, CT'2011

Modeling of modeling: Engineering shallow abstraction World shallow reasoning Model interpretation 9/9/2020 Vancouver, CT'2011 6/25

7/25

7/25

Modeling in Science vs. in Engineering Ordinary math structures: few sorts, few relations, few

Modeling in Science vs. in Engineering Ordinary math structures: few sorts, few relations, few operations simple carrier structures but complex formulas Difficult theorems from simple axioms SE structures: hundreds of sorts, rels, operations complex carrier structures but simple formulas Simple theorems from difficult axioms 9/9/2020 Vancouver, CT'2011 8/25

Modeling of modeling: Engineering 1001 shallow abstractions abstraction 1001 shallow reasoning Model World interpretation

Modeling of modeling: Engineering 1001 shallow abstractions abstraction 1001 shallow reasoning Model World interpretation 9/9/2020 Vancouver, CT'2011 9/25

Content • • What MDE is Models as generalized sketches Towers of models: metamodeling

Content • • What MDE is Models as generalized sketches Towers of models: metamodeling vs. logic Three dimensions of the model universe: – typing, model matching, updates • Observations and speculations 9/9/2020 Vancouver, CT'2011 10/25

Building software with MDE Requirements --> Analysis --> Design --> Codin World 9/9/2020 Mode

Building software with MDE Requirements --> Analysis --> Design --> Codin World 9/9/2020 Mode Code ls Vancouver, CT'2011 11/25

UML offers 13 types of diagrams 9/9/2020 Vancouver, CT'2011 12/25

UML offers 13 types of diagrams 9/9/2020 Vancouver, CT'2011 12/25

Structural problems of MDE Code World 9/9/2020 Vancouver, CT'2011 13/25

Structural problems of MDE Code World 9/9/2020 Vancouver, CT'2011 13/25

MDE in Canada: the NECSIS project • Total budget is CAD…. . for 5

MDE in Canada: the NECSIS project • Total budget is CAD…. . for 5 years • 7 Universities across Canada (Mc. Master, Waterloo, Uof. T, UBC, Mc. Gill…) • 20 professors, • Funded by GM, IBM, NSERC 9/9/2020 Vancouver, CT'2011 14/25

A UML class diagram and its instance Model M driver 1. . 2 Person

A UML class diagram and its instance Model M driver 1. . 2 Person name: string drives Car num: string [1] tel: integer [1. . 3] Instance I of M P 1: Person 1: driver name = John tel = {11, 22} P 2: Person name = Mary 2: drives 4: drives 3: driver C 1: Car num=10 0 15/25

Models as generalized sketches Model M driver drives 1. . 2 name: Str [1]

Models as generalized sketches Model M driver drives 1. . 2 name: Str [1] Persons with names A* tel: Int [1. . 3] drive 2 cars Person drives A*-Person tel [1. . 3] name [1] [Str] [Int] 9/9/2020 [inverse] driver [1. . 2] [A*-Str] Car num: Str [1] 2 Car num [1] 16/25

Semantics of constraints A gen. sketch is given by the following data: • A

Semantics of constraints A gen. sketch is given by the following data: • A signature of diagram predicates ar: Pred --> Graph (= cat. of graphs) Given P in Pred, its semantics is [[P]] subset Graph(_, ar(P)) • An ar-sketch is S=(GS, CS) with GS the carrier graph and CS a set of constraints {(P, d): P in Pred, d: ar(P)--> GS } • Given an “instance” I, t. I: GI --> GS, and a constraint c=(P, d) in CS, we define I|= c iff PBd(t. I) in [[P]] 9/9/2020 Vancouver, CT'2011 17/25

Metamodeling sketches Metamod Mske P in Pred P-diagrams 2 12 1 ar(P) 13 Mgra

Metamodeling sketches Metamod Mske P in Pred P-diagrams 2 12 1 ar(P) 13 Mgra 2 3 12 t. S 23 13 Arrows Nodes 3 Mske 9/9/2020 1 23 …. GS+ sketch S G I+ |= ? GS GI t. I 18/25

Logics as a model tower Logic Grammar Metamodeling Metamod Object ref attribute Value 9/9/2020

Logics as a model tower Logic Grammar Metamodeling Metamod Object ref attribute Value 9/9/2020 Theory Model Instance Person: Obj drives: ref name : attr Car: Obj num: Str: Val attr Int: Val Vancouver, CT'2011 Inst. P 1: Obj 2: ref 1: attr C 1: Obj John: Val 3: num 001: Val 19/25

Inter-model relationships (O=E) R (Object) MM (Person) (Ana) I M (P=E) MN NR MR

Inter-model relationships (O=E) R (Object) MM (Person) (Ana) I M (P=E) MN NR MR IMN I (Entity) NN (A=A) IJ JMN // J (Emplo. N yee) J (Ann) 20/25

Typing Everything changes Src-Trg // MM NN Updates M I // I’ J //

Typing Everything changes Src-Trg // MM NN Updates M I // I’ J // M’ N N’ // // J’ 21/25

Observations/Speculations • “shallow modeling” needs special structuring mechanisms (SSMs): classification, nesting, AND-OR operations •

Observations/Speculations • “shallow modeling” needs special structuring mechanisms (SSMs): classification, nesting, AND-OR operations • Inter-model relationships are complex structures that needs SSMs too: comma cats, profunctors, … • It is easier to talk to a software engineer than to a computer scientist 9/9/2020 Vancouver, CT'2011 22/25

Typing Src-Trg r A t. A Updates 1: f u gr Pp M 2:

Typing Src-Trg r A t. A Updates 1: f u gr Pp M 2: S a A 3: f t. B gr M 2: B Pp r': r g r� A r: r B v B b g B /25

9/9/2020 Vancouver, CT'2011 24/25

9/9/2020 Vancouver, CT'2011 24/25

UML state machine diagrams 9/9/2020 Vancouver, CT'2011 25/25

UML state machine diagrams 9/9/2020 Vancouver, CT'2011 25/25

UML sequence diagrams 9/9/2020 Vancouver, CT'2011 26/25

UML sequence diagrams 9/9/2020 Vancouver, CT'2011 26/25

UML class diagram 9/9/2020 Vancouver, CT'2011 27/25

UML class diagram 9/9/2020 Vancouver, CT'2011 27/25