110 likes | 124 Views
Explore the key issues in formal specification of modeling languages, emphasizing semantic anchoring and the use of canonical computational models. Uncover the art of metamodeling, benefits of metamodel libraries, and metamodel merging techniques. Delve into metamodel interfacing for interaction between different domains, class refinement, and template instantiation. Discover how composition with merge, template instantiation tools, and vision for unified tools can enhance modeling practices. Embrace the benefits of composition, semantic mappings, and property-preserving model transformations.
E N D
Future Work • Formal specification of modeling language semantic is key issue • Reliance on well-established formal models of computation (i.e. finite state machines, data flow, discrete event systems) • Such an approach: Semantic Anchoring • Usage of canonical, executable models of computation (MoC) • Usage of graph transformation algorithms for mapping
Metamodel Composition Matthew Emerson and Janos Sztipanovits Presented by: Zoltán Molnár
State of the art • Metamodeling more of an art than science • Built from scratch • No public collection of reusable metamodels • Few best-practices for metamodeling (not understood or documented) • Benefits of metamodel libraries: • Avoidance of duplication • Emergence of high quality metamodel fragments • Recognition of key patterns and best-practices • Reduction in time-to-market for new DSMLs
Metamodel Merge • MOF: Package Merge • Recursive unioning of model elements • No relation with the originating packages • MetaGME: Class Equivalence and Inheritance • Implementation and interface inheritance
Metamodel Interfacing • Conceptually different but related domains • Explore interactions between two domains • Delineation of an interface • consists of new modeling elements • relations
Class Refinement • A concept captured by: • DSMLA in detail • DSMLB as black-box • Relation between the constructs is hierarchical +
Template Instantiation • Intended for reuse of common patterns • Common patterns recorded as abstract templates • Instantiate (replicate & concretize) • Templates: • Composition hierarchies • Modular interconnections • StateCharts-style • Data Flow graphs • Proxy metamodeling pattern
New relations Composition with merge (inheritance) New elements
Template Instantiation Tool • User initiates a template inclusion • Selected abstract metamodel fragment looked up • Existing objects in the metamodel are selected for roles in the chosen template (some roles might be left unbound) • Metamodel updated with the template • New relations established • New objects created for unbound roles
Composition with template applied twice New relations New elements
Vision • Unified Tool • Template Instantiation integrated with MIC toolset • GReAT • Benefits of composition • Semantics • Semantic mappings • Property preserving model transformations