1 / 21

A novel approach to modeling

A novel approach to modeling. Zvezdan Protić , Tom Verhoeff, Mark van den Brand. Preliminaries. MDSE Models A model is an abstraction of System Under Study (SUS) that can be used for reasoning about that SUS Metamodels Syntactic carrier of models Metametamodels.

brac
Download Presentation

A novel approach to modeling

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. A novel approach to modeling ZvezdanProtić, Tom Verhoeff, Mark van den Brand

  2. Preliminaries • MDSE • Models • A model is an abstraction of System Under Study (SUS) that can be used for reasoning about that SUS • Metamodels • Syntactic carrier of models • Metametamodels

  3. PopularMetametamodels having “layered” architecture • MOF (UML) • Ecore (Eclipse) • GME (Generic Modeling Environment) metametamodel

  4. Some reasons for a new approach • In traditional modeling approaches a metametamodel is an instance of itself • Thus, conceptually, an <<instance-of>> relation can have two interpretations • But those interpretations are not clearly stated for traditional metametamodels • “A metamodel is simply the model of a model, and if that model is itself a metamodel, then the metamodel is in fact a meta-metamodel.[4] Got it? If not, don't worry about it, as it's really just an academic issue anyway.” • EMF Eclipse Modeling Framework (2nd Edition) • The relationship instantiation problem • E.g. in MOF the instance of an <<association>> is a <<link>> • But link does not contain attributes of association, e.g. cardinalities, unless it inherits from <<association>>, thus an instance of a link cannot be used as a link again

  5. <<instance-of>> problem of the layered architecture

  6. Our MetaMetaModel

  7. Example Metamodel 0..1 From Transition State Label:String 0..1 To

  8. Example model(withrelations to its metamodel) SM1 A B

  9. Similarities to UML 2.4

  10. Implementing a layered architecture in our approach MetaMetaModel instance-of instance-of MetaModel Model conforms-to instance-of instance-of Transform (interpret) instance-of instance-of Model2 MetaModel2 conforms-to Transform (interpret) MetaModel3 Model3 conforms-to

  11. Why is our approach a plausible approach? • Ethan K. Jackson, and Janos Sztipanovits: Formalizing the Structural Semantics of Domain-specific Modeling Languages, Journal of Software and System Modeling, 2009 • An algebraic approach to defining the syntax and structural semantics of domain specific modeling languages (DSML) • A DSLM is a pair of a domain and interpretations. • A domain is specified similar to a language as a tuple of: concepts that can be used to build models (Y), a set of all realizations of models (RY), and a set of constraints over RY • Concepts, are described by using term algebras • Constraints are described by using formulas of a logic • Terms can be transformed into formulas • The validity of a model is checked by making a deductive closure of an union of constraint formulas and term formulas • An interpretation is a transformation from a domain to a domain • Formally, an interpretation is a triple of source domain signature, a target domain signature, and the set of formulas in the same logic as the one used to specify constraints • A metametamodel is just another domain, that has, as concepts, all the concepts that can be used in other domains • This means it is very easy to change the metametamodel • A metamodel is a model of a metametamodel, such that there is an interpretation that can generate a domain based on that metamodel • A metametamodel is meta-circular if it has a realization that when interpreted into a domain, can be interpreted back into the metametamodel domain

  12. Applications • Model comparison • Metamodel and Model co-evolution

  13. Metamodel-independent model comparison • A model comparison is the process of determining differences between two models • Model differences are represented by a another (differences) model that conforms to a differences metamodel • The model repositories are bound to have large number of metamodels that models conform to • Metamodel-dependent model comparison may not suffice

  14. Our approach to model comparison:metamodel of model differences

  15. Metamodel independent metamodel and model co-evolution MM1_v1 MM1_v2 evolution conforms-to conforms-to M1 M1_v2 co-evolution

  16. A common approach to co-evolution

  17. Why we propose SOT-s • An example operation: Make Reference Composite • What are some possible solutions: • Copy all referenced entities into the new containers? • Move all referenced entities into the new containers? • Assign all entities of the referenced type to containers of the referees? • Or let the user decide which entities should stay in old containers, and which entities should move ?

  18. Metamodel for metamodels

  19. An example metamodel in “natural” and “transformed” representation

  20. Advantages of our approach • All the atomic differences between metamodels are known • Thus, we can create one transformation that co-evolves models • By using SOT, the users that are co-evolving models can easily adapt the transformation to a particular situation

  21. Comments, Questions, Suggestions ?

More Related