Logical aspects of dynamic meta-models and user-model interaction

22
Logical aspects of dynamic meta-models and user-model interaction Peter Krall 6 th Workshop on Domain Specific Modelling

description

Logical aspects of dynamic meta-models and user-model interaction. Peter Krall 6 th Workshop on Domain Specific Modelling. What if …. … the model‘s functionality serves to develop the model? … it‘s difficult to isolate model and meta-model development?. Basic situation (non-mdd). S D - PowerPoint PPT Presentation

Transcript of Logical aspects of dynamic meta-models and user-model interaction

Page 1: Logical aspects  of dynamic meta-models  and user-model interaction

Logical aspects of dynamic meta-models

and user-model interaction Peter Krall

6th Workshop on Domain Specific Modelling

Page 2: Logical aspects  of dynamic meta-models  and user-model interaction

What if …

• … the model‘s functionality serves to develop the model?

• … it‘s difficult to isolate model and meta-model development?

Page 3: Logical aspects  of dynamic meta-models  and user-model interaction

Basic situation (non-mdd)

Domain model

Implementation

Partial model

SolutionSS =SD SI

ΣS= ΣD ΣI

TS =TD TI

SD ΣD

TD:SDΣDSD

SI ΣI

TI:SIΣISI

Page 4: Logical aspects  of dynamic meta-models  and user-model interaction

Semantic correspondence

Domain model

Implementation

Partial model

Solution

SD ΣD

TD:SDΣDSD

SI ΣI

TI:SIΣISI

SM =SD SI

ΣM= ΣD ΣI

TM=TD TI

MTM

: TM M ??

Page 5: Logical aspects  of dynamic meta-models  and user-model interaction

Correct Solution

Domain model

Implementation

Partial model

Solution

SD ΣD

TD:SDΣDSD

SI ΣI

TI:SIΣISI

SM =SD SI

ΣM= ΣD ΣI

TM=TD TI

T MTM

: TM M

Page 6: Logical aspects  of dynamic meta-models  and user-model interaction

Dynamic integration

Page 7: Logical aspects  of dynamic meta-models  and user-model interaction

Dynamic integration

Domain model

Implementation

Partial model

ModelSM =SD SI

ΣM= ΣD ΣI

TM=TD TI

MTM

: TM M

Solution

Solution-model

meta-model transformation-model

Model-editor

SD ΣD

TD:SDΣDSD

SI ΣI

TI:SIΣISI

Page 8: Logical aspects  of dynamic meta-models  and user-model interaction

Integration, grammar-based

DModel Implementation

Document(LD) Document(LI)

Clear separation between model and meta-model!

Parser / generator

Template(LT)

model

meta-model

DModel Implementation

Document(LD) Document(LI)

Crawler / generator

Template(LT)

Page 9: Logical aspects  of dynamic meta-models  and user-model interaction

Grammar based integration, variant

DModel Implementation

Document(LD) Document(LI)

The model contains elements – the templates - with meta-level semantics.

Parser / generator

Template(LT)modelmeta-model

DModel Implementation

Document(LD) Document(LI)

Crawler / generator

Template(LT)

Page 10: Logical aspects  of dynamic meta-models  and user-model interaction

Integration scheme / OO

DModel Implementation

Model and meta-model interwoven: model elements represent application types and implement functionality for model integration

Rules(LR)

model

meta-model

messages

interpret

update

DModel Implementation

Rules(LR)

messages

interpret

update

Page 11: Logical aspects  of dynamic meta-models  and user-model interaction

Dynamic transformation model

Domain model

Implementation

Partial model

ModelSM =SD SI

ΣM= ΣD ΣI

TM=TD TI

MTM

: TM M

Solution

Solution-model

meta-model

transformation-model

Model-editor

SD ΣD

TD:SDΣDSD

SI ΣI

TI:SIΣISI

Transformation-model

Page 12: Logical aspects  of dynamic meta-models  and user-model interaction

Model/user-interaction(DI)

Domain model

Implementation

Partial model

ModelSM =SD SI

ΣM= ΣD ΣI

TM=TD TI

MTM

: TM M

Solution

Solution-model

meta-model transformation-model

Model-editor

SD ΣD

TD:SDΣDSD

SI ΣI

TI:SIΣISI

Model-editor-Ifc

Page 13: Logical aspects  of dynamic meta-models  and user-model interaction

Model-user interaction

Model functionality is used at construction time of the model

Model element instances:

• are hosted by the development environment

• implement an interface for user interaction within the meta-model

Page 14: Logical aspects  of dynamic meta-models  and user-model interaction

Model / Meta-model integration

Domain model

Implementation

Partial model

ModelSM =SD SI

ΣM= ΣD ΣI

TM=TD TI

MTM

: TM M

Solution

Solution-model

meta-model

transformation-model

Model-editor

SD ΣD

TD:SDΣDSD

SI ΣI

TI:SIΣISI

Transformation-model

Model-editor-Ifc

Page 15: Logical aspects  of dynamic meta-models  and user-model interaction

Structural integration

Page 16: Logical aspects  of dynamic meta-models  and user-model interaction

Structural integration (logic)

Domain model

Implementation

Partial model

Model SM

ΣM

TM:SMΣMSM

Solution

Solution-model

meta-model

Model-editor

SD=SM /D ΣD=ΣM /D TD=TM /D

SI=SM /I ΣI=ΣM /I TI=TM /I

Page 17: Logical aspects  of dynamic meta-models  and user-model interaction

Modifieable structural integration

Domain model

Implementation

Partial model

Model SM

ΣM

TM:SMΣMSM

Solution

Solution-model

meta-model

Model-editor

SD=SM /D ΣD=ΣM /D TD=TM /D

SI=SM /I ΣI=ΣM /I TI=TM /I

Ifc-element-editor

Page 18: Logical aspects  of dynamic meta-models  and user-model interaction

Structural model integration schemes

DModeltransient

Implementationtransient

Model-Document(LM)

LM/I

LM/D

Model-elementBase

<<abstract>>

Model-elementDomain

<<abstract>>Model-elementImpl

<<abstract>>

Model-element

Page 19: Logical aspects  of dynamic meta-models  and user-model interaction

Structural integration

A single model is splitted into part models providing views in different abstraction

Relation between part models is integrated in the meta-model‘s class structure (or relation between grammars)

Modification of meta-model requires access to the meta-model‘s class system

Page 20: Logical aspects  of dynamic meta-models  and user-model interaction

Model / user interaction (SI)

Domain model

Implementation

Partial model

Model SM

ΣM

TM:SMΣMSM

Solution

Solution-model

meta-model

Model-editor

SD=SM /D ΣD=ΣM /D TD=TM /D

SI=SM /I ΣI=ΣM /I TI=TM /I

Model-editor-Ifc

Page 21: Logical aspects  of dynamic meta-models  and user-model interaction

Final

Domain model

Implementation

Partial model

Model SM

ΣM

TM:SMΣMSM

Solution

Solution-model

meta-model

Model-editor

SD=SM /D ΣD=ΣM /D TD=TM /D

SI=SM /I ΣI=ΣM /I TI=TM /I

Ifc-element-editor

Model-editor

Model-editor-Ifc

M

Page 22: Logical aspects  of dynamic meta-models  and user-model interaction

If …

• … the model‘s functionality serves to develop the model?

• … it‘s difficult to isolate model and meta-model development?

…the meta-model will declare functions for modelling that are implemented as interfaces by model elements. These model elements are hosted in the IDE (or so). Object oriented meta-meta models are worth being considered for model integration.