A tool for the convergence of multilevel modelling approaches - - PowerPoint PPT Presentation

a tool for the convergence of multilevel modelling
SMART_READER_LITE
LIVE PREVIEW

A tool for the convergence of multilevel modelling approaches - - PowerPoint PPT Presentation

A tool for the convergence of multilevel modelling approaches Fernando Mac as Adrian Rutle Volker Stolz fernandomacias.es Copenhagen, Denmark October 16, 2018 This work [0..1] potency [1..1] potency Root [0..*] models [0..*]


slide-1
SLIDE 1

A tool for the convergence of multilevel modelling approaches

Fernando Mac´ ıas Adrian Rutle Volker Stolz fernandomacias.es Copenhagen, Denmark — October 16, 2018

slide-2
SLIDE 2

This work

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Tool-agnostic metamodel

slide-3
SLIDE 3

This work

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Tool-agnostic metamodel

Flat metamodel Annotator Smell detection Heuristics Annotated flat metamodel Transformer Annotation-based transformation Transformations Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Recommender Feature- and support-based recommendation Tool support MLM concepts Importer Tool-dependent transformation Registered tools

Tooling

slide-4
SLIDE 4

This work

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Tool-agnostic metamodel

Flat metamodel Annotator Smell detection Heuristics Annotated flat metamodel Transformer Annotation-based transformation Transformations Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Recommender Feature- and support-based recommendation Tool support MLM concepts Importer Tool-dependent transformation Registered tools

Tooling

configuration bicycle racing_bike

EClass 1-1-2 EClass 1-1-2 EClass 1-1-2 subc@1-1-2 EReference Component 1-1-1 BasicPart 1-1-1 frame@1-1-1 subc Frame 0-0-0 Bicycle 0-0-0 rframe@0-0-0 frame

Experiments and results

slide-5
SLIDE 5

Tool-agnostic metamodel

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Fernando Mac´ ıas, Esther Guerra, and Juan de Lara. “Towards rearchitecting meta-models into multi-level models”. In: International Conference on Conceptual Modeling. Springer. 2017, pp. 59–68

slide-6
SLIDE 6

Tooling

Flat metamodel Annotator Smell detection Annotated flat metamodel

slide-7
SLIDE 7

Tooling

Flat metamodel Annotator Smell detection Heuristics Annotated flat metamodel

slide-8
SLIDE 8

Tooling

Annotated flat metamodel Transformer Annotation-based transformation Multilevel hierarchy (tool-independent)

slide-9
SLIDE 9

Tooling

Annotated flat metamodel Transformer Annotation-based transformation Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to

slide-10
SLIDE 10

Tooling

Annotated flat metamodel Transformer Annotation-based transformation Transformations Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to

slide-11
SLIDE 11

Tooling

Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation

slide-12
SLIDE 12

Tooling

Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools

slide-13
SLIDE 13

Tooling

Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Recommender Feature- and support-based recommendation

slide-14
SLIDE 14

Tooling

Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Recommender Feature- and support-based recommendation Tool support

slide-15
SLIDE 15

Tooling

Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Recommender Feature- and support-based recommendation Tool support MLM concepts

slide-16
SLIDE 16

Tooling

Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Importer Tool-dependent transformation

slide-17
SLIDE 17

Tooling

Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Importer Tool-dependent transformation Registered tools

slide-18
SLIDE 18

Tooling

Flat metamodel Annotator Smell detection Heuristics Annotated flat metamodel Transformer Annotation-based transformation Transformations Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Recommender Feature- and support-based recommendation Tool support MLM concepts Importer Tool-dependent transformation Registered tools

slide-19
SLIDE 19

Tooling

Flat metamodel Annotator Smell detection Heuristics Annotated flat metamodel Transformer Annotation-based transformation Transformations Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Recommender Feature- and support-based recommendation Tool support MLM concepts Importer Tool-dependent transformation Registered tools

Extensible by Java interfaces

slide-20
SLIDE 20

Experiment 1: Recommender score

Size (Multilevel) Melanee MetaDepth MultEcore #M #C #R #A 1 4 5 4 31 29 10 1 64 118 81 398 518 279 1 15 17 26 111 120 64 1 21 40 44 188 214 112 1 41 15 72 256 284 156

slide-21
SLIDE 21

Experiment 1: Recommender score

Size (Multilevel) Melanee MetaDepth MultEcore #M #C #R #A 1 4 5 4 31 29 10 32 1 64 118 81 398 518 279 518 1 15 17 26 111 120 64 120 1 21 40 44 188 214 112 214 1 41 15 72 256 284 156 284

slide-22
SLIDE 22

Experiment 2: Case study validation

Size (Multilevel) Melanee MetaDepth MultEcore #M #C #R #A 6 32 17 17 125 119 140 3 21 27 96 96 96 5 59 35 4 196 196 196 4 20 21 3 85 82 94 5 32 25 105 105 114 7 69 78 1 215 214 296

slide-23
SLIDE 23

Experiment 3: MultEcore ⇒ MetaDepth

configuration bicycle racing_bike

EClass

1-1-2

EClass

1-1-2

EClass

1-1-2 subc@1-1-2 EReference

Component

1-1-1

BasicPart

1-1-1 frame@1-1-1 subc

Frame

0-0-0

Bicycle

0-0-0 rframe@0-0-0 frame

MultEcore Tool-agnostic

ext Model configuration@2 { ext abstract Node Composite@2 {} ext Node BasicPart@2 : Composite {color@2:String [0..1];} ext Node Component@2 : Composite {subc@2:Composite [*]; weight@2:double [0..1];} } ext configuration bicycle{ ext BasicPart Frame {} ext Component Bicycle { purchasePrice@1 :double [0..1]; frame@1:Frame {subc };} } ext bicycle racing_bike { ext Frame RacingFrame {} ext Bicycle RacingBike {frame= RacingFrame ;} }

MetaDepth

slide-24
SLIDE 24

Experiment 4: MultEcore ⇒ MultEcore

configuration bicycle racing_bike

EClass

1-1-2

EClass

1-1-2

EClass

1-1-2 subc@1-1-2 EReference

Component

1-1-1

BasicPart

1-1-1 frame@1-1-1 subc

Frame

0-0-0

Bicycle

0-0-0 rframe@0-0-0 frame

MultEcore Tool-agnostic

configuration bicycle racing_bike

EClass

1-1-2

EClass

1-1-2

EClass

1-1-2 subc@1-1-2 EReference

Component

1-1-1

BasicPart

1-1-1 frame@1-1-1 subc

Frame

0-0-0

Bicycle

0-0-0 rframe@0-0-0 frame

MultEcore

slide-25
SLIDE 25

Conclusions and future (community?) work

Tool-supported common representation → Exchange format

Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Importer Tool-dependent transformation Registered tools

slide-26
SLIDE 26

Conclusions and future (community?) work

Tool-supported common representation → Exchange format Foster discussion towards the convergence of MLM principles

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

slide-27
SLIDE 27

Conclusions and future (community?) work

Tool-supported common representation → Exchange format Foster discussion towards the convergence of MLM principles Formal definition of the semantics for the tool-agnostic metamodel

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

slide-28
SLIDE 28

Conclusions and future (community?) work

Tool-supported common representation → Exchange format Foster discussion towards the convergence of MLM principles Formal definition of the semantics for the tool-agnostic metamodel Identify key features and improve MLM tools

configuration bicycle racing_bike

EClass

1-1-2

EClass

1-1-2

EClass

1-1-2 subc@1-1-2 EReference

Component

1-1-1

BasicPart

1-1-1 frame@1-1-1 subc

Frame

0-0-0

Bicycle

0-0-0 rframe@0-0-0 frame

slide-29
SLIDE 29

Conclusions and future (community?) work

Tool-supported common representation → Exchange format Foster discussion towards the convergence of MLM principles Formal definition of the semantics for the tool-agnostic metamodel Identify key features and improve MLM tools Invite contributions to the tool and the metamodel

slide-30
SLIDE 30

Thank you for your attention!

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Flat metamodel Annotator Smell detection Heuristics Annotated flat metamodel Transformer Annotation-based transformation Transformations Multilevel hierarchy (tool-independent)

Root [0..*] models [0..*] elements [0..1] level [1..1] target [0..1] potency [0..*] features [0..*] subTypes [0..*] superTypes [0..*] instances [0..*] types [0..*] children [0..1] parent [1..1] potency [0..*] cardinality

Multilevel hierarchy metamodel conforms to Multilevel hierarchy (tool-dependent) Exporter Tool-dependent transformation Registered tools Recommender Feature- and support-based recommendation Tool support MLM concepts Importer Tool-dependent transformation Registered tools configuration bicycle racing_bike

EClass 1-1-2 EClass 1-1-2 EClass 1-1-2 subc@1-1-2 EReference Component 1-1-1 BasicPart 1-1-1 frame@1-1-1 subc Frame 0-0-0 Bicycle 0-0-0 rframe@0-0-0 frame

Contribute at: github.com/MLM-Rearchitect-Exchange/mlm-rearchitecter-tool