Logical aspects of dynamic metamodels and usermodel interaction

  • Slides: 22
Download presentation
Logical aspects of dynamic meta-models and user-model interaction Peter Krall 6 th Workshop on

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? •

What if … • … the model‘s functionality serves to develop the model? • … it‘s difficult to isolate model and metamodel development?

Basic situation (non-mdd) Domain model SD ΣD TD: SD ΣD SD Solution SS =SD

Basic situation (non-mdd) Domain model SD ΣD TD: SD ΣD SD Solution SS =SD SI ΣS= ΣD ΣI TS =TD TI Partial model Implementation SI ΣI TI: SI ΣI SI

Semantic correspondence Domain model SD ΣD TD: SD ΣD SD Solution SM =SD SI

Semantic correspondence Domain model SD ΣD TD: SD ΣD SD Solution SM =SD SI ΣM= ΣD ΣI TM=TD TI M TM : TM M Partial model Implementation SI ΣI TI: SI ΣI SI ? ?

Correct Solution Domain model SD ΣD TD: SD ΣD SD Solution SM =SD SI

Correct Solution Domain model SD ΣD TD: SD ΣD SD Solution SM =SD SI ΣM= ΣD ΣI TM=TD TI T M TM : TM M Partial model Implementation SI ΣI TI: SI ΣI SI

Dynamic integration

Dynamic integration

Dynamic integration SD ΣD TD: SD ΣD SD Domain model Model SM =SD SI

Dynamic integration SD ΣD TD: SD ΣD SD Domain model Model SM =SD SI ΣM= ΣD ΣI TM=TD TI M TM : TM M Solution Partial model Modeleditor meta-model Implementation Solution-model transformation-model SI ΣI TI: SI ΣI SI

Integration, grammar-based DModel Implementation Document(LD) Document(LI) Parser / generator Template(LT) DModel Implementation Document(LD) Document(LI)

Integration, grammar-based DModel Implementation Document(LD) Document(LI) Parser / generator Template(LT) DModel Implementation Document(LD) Document(LI) Crawler / generator Template(LT) Clear separation between model and meta-model! model metamodel

Grammar based integration, variant DModel Document(LD) Implementation Document(LI) Template(LT) Parser / generator DModel Document(LD)

Grammar based integration, variant DModel Document(LD) Implementation Document(LI) Template(LT) Parser / generator DModel Document(LD) Implementation Document(LI) Template(LT) Crawler / generator model metamodel The model contains elements – the templates - with meta-level semantics.

Integration scheme / OO update DModel Implementation messages interpret Rules(LR) Model and meta-model interwoven:

Integration scheme / OO update DModel Implementation messages interpret Rules(LR) Model and meta-model interwoven: model elements represent application types and implement functionality for model integration model metamodel

Dynamic transformation model SD ΣD TD: SD ΣD SD Domain model Model SM =SD

Dynamic transformation model SD ΣD TD: SD ΣD SD Domain model Model SM =SD SI ΣM= ΣD ΣI TM=TD TI M TM : TM M Solution Partial model Modeleditor Solution-model Transformationmodel meta-model Implementation SI ΣI TI: SI ΣI SI transformation-model

Model/user-interaction(DI) SD ΣD TD: SD ΣD SD Domain model Model Partial model SM =SD

Model/user-interaction(DI) SD ΣD TD: SD ΣD SD Domain model Model Partial model SM =SD SI ΣM= ΣD ΣI TM=TD TI M TM : TM M Solution Modeleditor-Ifc Modeleditor meta-model Implementation Solution-model transformation-model SI ΣI TI: SI ΣI SI

Model-user interaction Model functionality is used at construction time of the model Model element

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

Model / Meta-model integration SD ΣD TD: SD ΣD SD Domain model Model Partial

Model / Meta-model integration SD ΣD TD: SD ΣD SD Domain model Model Partial model SM =SD SI ΣM= ΣD ΣI TM=TD TI M TM : TM M Solution Modeleditor-Ifc Modeleditor Solution-model Transformationmodel meta-model Implementation SI ΣI TI: SI ΣI SI transformation-model

Structural integration

Structural integration

Structural integration (logic) SD=SM / D ΣD=ΣM / D TD=TM / D Domain model

Structural integration (logic) SD=SM / D ΣD=ΣM / D TD=TM / D Domain model Model Solution Partial model Modeleditor Solution-model meta-model Implementation SI=SM / I ΣI=ΣM / I TI=TM / I SM ΣM TM: SM ΣM SM

Modifieable structural integration Domain model Model SD=SM / D ΣD=ΣM / D TD=TM /

Modifieable structural integration Domain model Model SD=SM / D ΣD=ΣM / D TD=TM / D Solution SM ΣM TM: SM ΣM SM Partial model Modeleditor Ifc-element-editor Implementation Solution-model meta-model SI=SM / I ΣI=ΣM / I TI=TM / I

Structural model integration schemes DModel transient LM/ D Implementation transient LM/ I Model. Document(LM)

Structural model integration schemes DModel transient LM/ D Implementation transient LM/ I Model. Document(LM) Model-element. Base <<abstract>> Model-element. Domain <<abstract>> Model-element. Impl <<abstract>> Model-element

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

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

Model / user interaction (SI) SD=SM / D ΣD=ΣM / D TD=TM / D

Model / user interaction (SI) SD=SM / D ΣD=ΣM / D TD=TM / D Domain model Model Partial model Solution Modeleditor-Ifc Modeleditor Solution-model meta-model Implementation SI=SM / I ΣI=ΣM / I TI=TM / I SM ΣM TM: SM ΣM SM

Final SD=SM / D ΣD=ΣM / D TD=TM / D Domain model Model Partial

Final SD=SM / D ΣD=ΣM / D TD=TM / D Domain model Model Partial model Solution Modeleditor-Ifc M Modeleditor Ifc-element-editor Implementation SM ΣM TM: SM ΣM SM Solution-model meta-model SI=SM / I ΣI=ΣM / I TI=TM / I

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

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 models are worth being considered for model integration.