Project M2: Model Management Toolkit and Relationships Formalization
Effective model management includes having tool support for performing basic operations on inter-related models. Such tools should provide facilities for comparing similar models, identifying dependencies, inconsistency checking, propagating change, tracing design decisions, and merging partial models. These primitive operations form the basis of more complex model transformations. An MDE development process typically results in a collection of inter-related models of different types and at levels of abstraction to express different phases, views and aspects of the software. In order to extend analysis and transformation techniques so that they apply to collections of inter-related models, it is essential to formally characterize the variety of relationship types that can exist between models. For example, the relationships may describe overlaps (e.g., when the models are different views originating from different sources), shared interfaces for interaction (e.g., when the models are autonomous executable components), or ways in which models alter one another's behaviour or structure (e.g., a cross-cutting model applied to other models). Further, we need to understand how these different types of relationships interact with different model management operations. For example, overlap relationships are used with merge operations, interfaces are used with parallel composition, and cross-cutting relationships are used with aspect model weaving. The goal of this project is to build tooling and foundations cross-cutting the different projects within model management.
Planned steps and method
Over the past three years, we have been creating a prototype model management tool framework (MMTF). The framework can be instantiated with different types of models, different relationships between them, and different operators that can be applied to collections of models. An early version of this prototype has been reported in [SC07]. Currently, the framework is instantiated to 7 UML diagrams and several behavioural formalisms such as Labelled Transition Systems. The framework also includes preliminary implementations of the match (a.k.a. align) operator for understanding ontological and semantic relationships between model elements, several merge operators for combining partial information contained in individual models, and sequential and parallel composition of mappings between models. We expect MMTF to be the underlying framework for implementing and evaluating other model management operators (the list and relationships between these operators was first discussed in [BCE+06]), including those proposed in Project M1, as well as the slice operator for computing relevant portions of a model based on an identified criterion – see Project M3. However, a larger goal of this project is to create a model management toolkit that is well suited to the automotive domain. An ideal toolset might include automotive domain-specific operations for abstracting and refining a collection of models. As a first step we will assess the requirements of such a toolkit by analysing various automotive modeling exemplars. Then we will assess the gap between our current toolkit and the desired one. As a result of this assessment, we may either choose to enhance our current toolkit or to implement the required functionality using another generic model management framework.
On the foundational side, we plan to elaborate our vision for the algebraic framework that incorporates both relationships and model operations [BCE+06] by defining a formal representation scheme for relationships between models. We will devise and study notations for documenting relationships between models to enable composition, allow partiality, and be compatible with the model/meta-model distinction that is prevalent in MDE. A comprehensive treatment of model relationships must address their syntax and semantics, and their manifestation at the instance level (i.e., between models) and the type level (i.e., between meta-models), taking into account how information about model relationship is to be used in processing the models. This information must be represented in sufficient detail to enable several types of operations on model collections (e.g., merge, transformation, consistency checking and change propagation). Our goal is to determine the methodology for application of model management operations for various model collections related via different types of relationships, including expected guarantees on the outcome of the application of the operator.
Advancement of the state of the art
Other model management frameworks such as Epsilon [KPP08], the Atlas Model Management Architecture (AMMA)[JVB+10] and the emerging Eclipse Modeling Platform (EMP) [EMP10] (currently only at its vision stage) are strictly domain independent. Furthermore, they focus on the operational rather than theoretical aspect of model management. For example, Epsilon provides a set of specialized domain specific languages for model management operations while AMMA provides a set of loosely coupled tools for model transformation, relationships and metadata management. The main objective of EMP is to integrate a variety of “industrial strength” model management technologies on the Eclipse platform to address scalability and usability. We are not aware of other researchers who manipulate models as sets of related operations with have algebraic properties [BCE+06] or that have a special focus on the automotive domain. The problem of how to express relationships between models has been studied in a number of different contexts including ontology integration [KS03], requirements engineering [NKF94, SE05] and model management [Ber03, DBV06, SME09]. [DBV06] and [SME09] are the only approaches that use meta-models but they only address the syntactic aspects of relationships. [NFK94] is similarly restricted to syntax and furthermore does not have the concept of mapping. The approaches in [KS03] and [Ber03] address relationship semantics but are limited to database schemas rather than software models in general. [SE05] studies a restricted class of relationships useful in model merging. Our objective in this project is to define a formalism that does not suffer from these weaknesses and addresses all the aspects of relationships discussed above.
[Ber03] Bernstein, P.: Applying Model Management to Classical Meta Data Problems. In Proc. Conf. on Innovative Database Research, pp. 209-220, 2003.
[BCE+06] G. Brunet, M. Chechik, S. Easterbrook, S. Nejati, N. Niu, M. Sabetzadeh. A Manifesto for Model Merging. In Proceedings of ICSE’06 International Workshop on Global Integrated Model Management (GAMMA'06), May 2006.
[DBV06] Del Fabro, M., Bezivin, J. and Valduriez, P.:Weaving models with the Eclipse AMW plugin. In Proc. of Eclipse Modeling Symposium, Eclipse Summit Europe (2006).
[EMP10] The Eclipse Modeling Platform whitepaper. http://wiki.eclipse.org/images/7/7e/Modeling_Platform_v1_-_Feb_17.pdf, 2010.
[JVB+10] Jouault, F., Vanhooff, B., Brunelière, H., Doux, G., Berbers, Y., and Bezivin, J.: Inter- DSL Traceability and Navigability Support by Combining Megamodeling and Model Weaving. Special Track on the Coordination Models, Languages and Applications at SAC 2010, March 2010.
[KPP08] Kolovos, D.S. and Paige, R.F. and Polack, F.A.C.: Novel features in languages of the epsilon model management platform. In Proceedings of the 2008 international workshop on Models in software engineering, pp. 69—73, 2008.
[KS03] Kalfoglou, Y. and Schorlemmer, M.: Ontology mapping: the state of the art. The Knowledge Engineering Review 18(1) pp. 1-31. 2003
[NKF94] Nuseibeh, B., Kramer J. and Finkelstein, A. : A Framework for Expressing the Relationships Between Multiple Views in Requirements Specifications. IEEE Transactions on Software Engineering, vol. 20, no. 10, pp. 760--773 (1994)
[SE05] Sabetzadeh, M. and Easterbrook, S.: An Algebraic Framework for Merging Incomplete and Inconsistent Views. 13th IEEE RE Conference, Paris, France, 2005.
[SC07] R. Salay, M. Chechik, S. Easterbrook, Z. Diskin, S. Nejati, M. Sabetzadeh, P. McCormick, P. Viriyakattiyaporn. An Eclipse-Based Model Management Framework. In Proceedings of OOPSLA'07 Workshop on Eclipse Technology, November 2007.
[SME09] Salay, R., Mylopoulos, J., Easterbrook, S.M.: Using Macromodels to Manage Collections of Related Models. In Proc. CAiSE 2009, pp. 141--155 (2009).