220 likes | 342 Views
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
E N D
Logical aspects of dynamic meta-models and user-model interaction Peter Krall 6th 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) SD ΣD TD:SDΣDSD Domain model SS =SDSI ΣS= ΣDΣI TS =TD TI Solution Partial model SI ΣI TI:SIΣISI Implementation
Semantic correspondence SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Solution ?? Partial model SI ΣI TI:SIΣISI Implementation
Correct Solution SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI TMTM : TM M Solution Partial model SI ΣI TI:SIΣISI Implementation
Dynamic integration SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Model Solution Partial model Model- editor Solution-model meta-model transformation-model Implementation SI ΣI TI:SIΣISI
Integration, grammar-based DModel Implementation DModel Implementation Document(LD) Document(LI) Document(LD) Document(LI) model meta- model Parser / generator Crawler / generator Template(LT) Template(LT) Clear separation between model and meta-model!
Grammar based integration, variant DModel Implementation DModel Implementation Document(LD) Document(LI) Document(LD) Document(LI) Template(LT) Template(LT) model meta- model Parser / generator Crawler / generator The model contains elements – the templates - with meta-level semantics.
Integration scheme / OO update update DModel Implementation DModel Implementation messages messages interpret interpret Rules(LR) model meta- model Rules(LR) Model and meta-model interwoven: model elements represent application types and implement functionality for model integration
Dynamic transformation model SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Model Solution Partial model Model- editor Solution-model meta-model Transformation- model Implementation SI ΣI TI:SIΣISI transformation-model
Model/user-interaction(DI) SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Model Solution Model- editor-Ifc Partial model Model- editor Solution-model meta-model transformation-model Implementation SI ΣI TI:SIΣISI
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ΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Model Solution Model- editor-Ifc Partial model Model- editor Solution-model meta-model Transformation- model Implementation SI ΣI TI:SIΣISI transformation-model
Structural integration (logic) SD=SM/D ΣD=ΣM/D TD=TM/D Domain model Model SM ΣM TM:SMΣMSM Solution Partial model Model- editor Solution-model meta-model SI=SM/I ΣI=ΣM/I TI=TM/I Implementation
Modifieable structural integration SD=SM/D ΣD=ΣM/D TD=TM/D Domain model Model SM ΣM TM:SMΣMSM Solution Partial model Model- editor Solution-model meta-model Ifc-element-editor SI=SM/I ΣI=ΣM/I TI=TM/I Implementation
Structural model integration schemes DModel transient Implementation transient Model-elementBase <<abstract>> LM/D Model-elementDomain <<abstract>> Model-elementImpl <<abstract>> LM/I Model- Document(LM) Model-element
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 Domain model Model SM ΣM TM:SMΣMSM Solution Model- editor-Ifc Partial model Model- editor Solution-model meta-model SI=SM/I ΣI=ΣM/I TI=TM/I Implementation
Final SD=SM/D ΣD=ΣM/D TD=TM/D Domain model Model SM ΣM TM:SMΣMSM Solution Model- editor-Ifc M Partial model Model- editor Model- editor Solution-model meta-model Ifc-element-editor SI=SM/I ΣI=ΣM/I TI=TM/I Implementation
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.