Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | damian-lott |
View: | 33 times |
Download: | 1 times |
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)
Domain model
Implementation
Partial model
SolutionSS =SD SI
ΣS= ΣD ΣI
TS =TD TI
SD ΣD
TD:SDΣDSD
SI ΣI
TI:SIΣISI
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 ??
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
Dynamic integration
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
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)
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)
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
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
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
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
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
Structural integration
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
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
Structural model integration schemes
DModeltransient
Implementationtransient
Model-Document(LM)
LM/I
LM/D
Model-elementBase
<<abstract>>
Model-elementDomain
<<abstract>>Model-elementImpl
<<abstract>>
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)
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
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
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.