Project M7: Support for Capturing and Inferring Model Roles
Every model is created for a purpose and plays a distinct role within a collection of models. This role is specified as a set of constraints (role constraints) on what information should be contained in the model and how the model should be related to other models [SME09,SM09,SM10]. Knowing the role of a model supports model comprehension by providing the correct context for interpreting the model; it supports model quality by clearly defining what information the model must contain. As the model evolves, there is an expectation that the role constraints be maintained and that violations to them be repaired.
Planned steps and methods
We propose to explore novel approaches for automatically inferring and capturing the role constraints in order to minimize the effort needed to record information about a model’s role. To do this, we will define theoretical characterizations of different types of role constraints and then explore suitable inference mechanisms for each type. For example, in the common scenario that a model is decomposed into a set of diagrams (e.g., UML diagrams decompose a UML model), the role constraint regarding the content of a diagram could be expressed as the query that extracts it from the whole model [SM09]. Thus, when a modeller creates a diagram, it may be possible to use machine-learning methods such as inductive logic programming [Mug10] to make an educated guess at the role constraints of a diagram by inferring the simplest query that would extract the diagram from the whole model. Another possibility is to automatically enumerate the compositions of a fixed set of such queries to find the one that best approximates the content of a diagram. These guesses could then be further refined with interaction from the modeller.
Advancement to the state of the art
The idea of characterizing the role of models within a particular modeling project has not received significant research attention in modeling. Current model management frameworks such as Epsilon [KPP08] and the Atlas Model Management Architecture (AMMA)[JVB+10], focus entirely on models and do not make the distinction with model roles. Process modeling approaches like the Software Process Engineering Metamodel (SPEM) [OMG10] allow model roles to be identified but provide no support for expressing role constraints. Furthermore, these approaches can only identify the roles that occur at the development method level whereas the roles that occur in particular project (i.e., an instance of a method) may be more fine-grained. Since models are often used to express a view of software, we can consider work that characterizes software views as related to our work. For example, Mens et. al. define intentional source-code views in a declarative way to help with software maintenance [MMW02]. We distinguish our work from this by the focus on models rather than source code and the fact that the software typically does not yet exist at the time that models are created.
[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.
[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.
[OMG10] Software Process Engineering Metamodel V2.0 specification. Object Management Group. July 2010.
[Mug10] Muggleton, S.H.: webpage on Inductive Logic Programming. http://www.doc.ic.ac.uk/~shm/ilp.html (2010).
[MMW02] Mens, K., Mens, T. and Wermelinger, M.: Maintaining software through intentional source-code views. In proc. of the 14th International Conference on Software engineering and knowledge engineering (2002)
[SME09] Salay, R., Mylopoulos, J., Easterbrook, S.M.: Using Macromodels to Manage Collections of Related Models. In Proc. CAiSE 2009, pp. 141--155 (2009).
[SM09] Salay, R., Mylopoulos, J.: Improving Model Quality Using Diagram Coverage Criteria. In Proc. CAiSE 2009, pp. 186--200 (2009).
[SM10] Salay, R., Mylopoulos, J.:The Model Role Level – A Vision. To appear in ER 2010 (2010).