1 / 22

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

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

damian-lott
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. What if … • … the model‘s functionality serves to develop the model? • … it‘s difficult to isolate model and meta-model development?

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

  4. Semantic correspondence SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Solution ?? Partial model SI ΣI TI:SIΣISI Implementation

  5. Correct Solution SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI TMTM : TM M Solution Partial model SI ΣI TI:SIΣISI Implementation

  6. Dynamic integration

  7. Dynamic integration SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Model Solution Partial model Model- editor Solution-model meta-model transformation-model Implementation SI ΣI TI:SIΣISI

  8. 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!

  9. 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.

  10. 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

  11. Dynamic transformation model SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Model Solution Partial model Model- editor Solution-model meta-model Transformation- model Implementation SI ΣI TI:SIΣISI transformation-model

  12. Model/user-interaction(DI) SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Model Solution Model- editor-Ifc Partial model Model- editor Solution-model meta-model transformation-model Implementation SI ΣI TI:SIΣISI

  13. 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

  14. Model / Meta-model integration SD ΣD TD:SDΣDSD Domain model SM =SDSI ΣM= ΣDΣI TM=TD TI MTM : TM M Model Solution Model- editor-Ifc Partial model Model- editor Solution-model meta-model Transformation- model Implementation SI ΣI TI:SIΣISI transformation-model

  15. Structural integration

  16. Structural integration (logic) SD=SM/D ΣD=ΣM/D TD=TM/D Domain model Model SM ΣM TM:SMΣMSM Solution Partial model Model- editor Solution-model meta-model SI=SM/I ΣI=ΣM/I TI=TM/I Implementation

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

  18. 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

  19. 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

  20. Model / user interaction (SI) SD=SM/D ΣD=ΣM/D TD=TM/D Domain model Model SM ΣM TM:SMΣMSM Solution Model- editor-Ifc Partial model Model- editor Solution-model meta-model SI=SM/I ΣI=ΣM/I TI=TM/I Implementation

  21. Final SD=SM/D ΣD=ΣM/D TD=TM/D Domain model Model SM ΣM TM:SMΣMSM 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

  22. 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.

More Related