Abstract
Model-driven engineering (MDE) recognized software models as first-class objects with their own relationships and operations, up to constitute full structured model spaces. We focus on inclusion capacities through the concepts of submodel and submetamodel which contribute a lot to the structuring effort. Submodels and submetamodels underlie many MDE practices which require their precise characterization for plain control. A typical application is model management as offered by model repositories. On the basis of results on submodel inclusion we stated in a preceding paper, we concentrate on the special form of submodels which are submetamodels and their specific role in model space structuring. Pointing out that relating submodels and submetamodels is two ways, their respective inclusion hierarchies will be systematically characterized and symmetrically compared under the logical relationships of metamodel membership and model well-formedness. As a major result, it will be shown that submodel well-formedness w.r.t submetamodels closely relates to submodel invariance (a property which guarantees transitive structure preservation) applied at both levels. The uniform formalization offers algebraic grounding to better comprehension and control of model spaces which underlie MDE activities. At a much more practical level, reusable technology which takes advantage of established results will be offered.
Similar content being viewed by others
Notes
For sake of continuity, examples of the present paper will be directly inspired from those of [12].
\(\sqsubseteq _{m}\) being an order, it is reflective so that we systematically have: \(\forall x\in \widetilde{m}, x\sqsubseteq _{m}x\). For sake of simplicity, we will not list these reflective dependencies. In graph representation, this corresponds to “Hasse Diagram” simplification which ignores them but also systematic transitive links. It will be used in figures.
Remind that they were introduced as submodels which do not preserve structure to motivate the problem. Backwardly, due to the formalism, structure preserving submodels were formulated as invariant ones.
As far as possible, a figure will be associated with each property in order to pictorially schematize its content. Bold double arrows (which evoke implication) will be used to represent deduced relationships.
More theoretically, in that case function meta must be monotonic when applied to model elements of m with the structure that this model asserts. A monotonic function is a special case of the more general concept of (homo)morphism of set theory when used in the field of order (and also graph) theory. In the general case (set theory), morphisms are structure preserving functions between structured sets. Within the field of order theory, structuring is ordering. It is the case here, comparing structured sets (\(\widetilde{m},\sqsubseteq _{m})\) and \((\widetilde{M},\sqsubseteq _{M})\) under the meta function where \(\sqsubseteq _{m}\) and \(\sqsubseteq _{M}\) are ordering relationships.
A poset is a set of things equipped with a partial order, here (meta) models arranged by submodel inclusion partial ordering. Depending on the partial order properties, a poset may have bound elements: “greatest” one(s) and/or “smallest” one(s).
See quantitative evaluation of the results in Sect. 6.3.
See quantitative evaluation of the results in Sect. 6.3.
Thanks to the formalism, query model can be full well-formed models but also unspecified model fragments such as simple sets of model ingredients or partial models resulting from incremental or intermediate design.
Concerning proper metamodels, they are stored and indexed at the same time than their related model. An additional bidirectional mapping table is also maintained between model and their proper metamodel for accelerating checking required by several searches.
on Intel I7, 2.10 GHz \(\times \) 4 core.
More precisely, \(O(e_m + c_m)\) and \(O(c_{\widehat{m}} \times c_M)\), with \(e_x=\) number of model elements of x, \(c_x=\) number of constraints of x.
More precisely, \(O(e_m^2 \times c_M)\) for method 1 compared to \(O(e_m^2 \times c_{\widehat{m}})\) for method 2.
References
UML. Home Page. http://www.omg.org/technology/uml (2001)
Alanen, M., Porres, I.: Difference and union of models. In Proceedings of 6th International Conference on the Unified Modeling Language, Modeling Languages and Applications (UML’03), volume 2863 of LNCS, pp. 2–17. Springer, Berlin (2003)
Amálio, N., de Lara, J., Guerra, E.: Fragmenta: a theory of fragmentation for MDE. In: Proceedings of ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (2015)
Bae, J.H., Lee, K., Seok Chae, H.: Modularization of the UML metamodel using model slicing. In: Proceedings of 5th International Conference on Information Technology: New Generations (ITNG’08), pp. 1253–1254. IEEE Computer Society, Washington (2008)
Baniassad, E., Clarke, S.: Theme: an approach for aspect-oriented analysis and design. In: Proceedings of 26th International Conference on Software Engineering (ICSE ’04), pp. 158–167. IEEE Computer Society, Washington (2004)
Barbero, M., Bézivin, J.: Structured libraries of models. In: Proceedings of 1st International Workshop on Towers of Models (TOWERS’07) (2007)
Benelallam, A., Gómez, A., Sunyé, G., Tisi, M., Launay, D.: Neo4EMF, a scalable persistence layer for EMF Models. In: ECMFA- European Conference on Modeling Foundations and Applications, vol. 8569, pp. 230–241. Springer, Berlin (2014)
Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the large and modeling in the small. In: Model Driven Architecture, Volume 3599 of LNCS. Springer, Berlin (2005)
Bislimovska, B., Bozzon, A., Brambilla, M., Fraternali, P.: Graph-based search over web application model repositories. In: Proceedings of International Conference on Web Engineering, Volume LNCS 6757. Springer, Berlin (2011)
Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Modeling model slicers. In: Proceedings of 14th International Conference on Model Driven Engineering Languages and Systems (MoDELS’11), Volume 6981 of LNCS, pp. 62–76. Springer, Berlin (2011)
Burger, E., Henss, J., Küster, M., Kruse, S., Happe, L.: View-based model-driven software development with ModelJoin. Softw. Syst. Model. 15(2), 473–496 (2016)
Carré, B., Vanwormhoudt, G., Caron, O.: From subsets of model elements to submodels, a characterization of submodels and their properties. Softw. Syst. Model. 14, 861–887 (2015)
Chimiak-Opoka, J., Felderer, M., Lenz, C., Lange, C.: Querying UML models using OCL and prolog: a performance study. In: Proceedings of Software Testing Verification and Validation Workshop (2008)
Clark, T., Evans, A., Kent, S.: Aspect-oriented metamodelling. Comput. J. 46(5), 566–577 (2003)
Clarke, S.: Extending standard UML with model composition semantics. In: Science of Computer Programming, vol. 44, pp. 71–100. Elsevier, Amsterdam (2002)
Dingel, J., Diskin, Z., Zito, A.: Understanding and improving UML package merge. Softw. Syst. Model. 7(4), 443–467 (2008)
D’Souza, D., Wills, A.: Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1999)
Espinazo-Pagán, J., García Molina, J.: Querying large models efficiently. Inf. Softw. Technol. 56(6), 586–622 (2014)
Etien, A., Muller, A., Legrand, T., Paige, R.: Localized model transformations for building large-scale transformations. Softw. Syst. Model. 14(3), 1189–1213 (2015)
France, R.B., Bieman, J.M., Cheng, B.H.C.: Repository for Model Driven Development (ReMoDD). In: Proceedings of MoDELS’06 Workshops, Volume 4364 of LNCS, pp. 311–317. Springer, Berlin (2006)
France, R.B., Dae-Kyoo, K., Ghosh, S., Song, E.: A UML-based pattern specification technique. IEEE Trans. Softw. Eng. 30(3), 193–206 (2004)
France, R.B., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Proceedings of Future of Software Engineering at ICSE (2007)
Guy, C., Combemale, B., Derrien, S., Steel, J., Jézéquel, J.M. On model subtyping. In: Proceedings of 8th European Conference on Modelling Foundations and Applications (ECMFA 2012), Volume 7349 of LNCS, pp. 400–415. Springer, Berlin (2012)
Izsó, B., Szárnyas, G., Ráth, I., Varró, D.: Incquery-d: incremental graph search in the cloud. In: Proceedings of the Workshop on Scalability in Model Driven Engineering (2013)
Javed, F., Mernik, M., Gray, J., Bryant, B.R.: Mars: a metamodel recovery system using grammar inference. Inf. Softw. Technol. 50(910), 948–968 (2008)
Jeanneret, C., Glinz, M., Baudry, B.: Estimating footprints of model operations. In: Proceedings of 33rd International Conference on Software Engineering (ICSE’11), pp. 601–610. ACM, New York (2011)
Jézéquel, J.M.: Model driven design and aspect weaving. Softw. Syst. Model. 7(2), 209–218 (2008)
Kagdi, H.H., Maletic, J.I., Sutton, A.: Context-free slicing of UML class models. In: Proceedings of 21st IEEE International Conference on Software Maintenance (ICSM’05), pp. 635–638. IEEE Computer Society, Washington (2005)
Kelsen, P., Ma, Q., Glodt, C.: Models within models: taming model complexity using the sub-model lattice. In: Proceedings of 14th International Conference on Fundamental Approaches to Software Engineering, FASE’11, Volume 6603 of LNCS, pp. 171–185. Springer, Berlin (2011)
Kent, S.: Model driven engineering. In: Proceedings of the 3rd International Conference on Integrated Formal Methods (IFM’02), Volume 2335 of LNCS, pp. 286–298. Springer, Berlin (2002)
Kienzle, J., Al Abed, W., Fleurey, F., Jézéquel, J-M., Klein, J.: Aspect-oriented design with reusable aspect models. In: Transactions on Aspect-Oriented Software Development VII—A Common Case Study for Aspect-Oriented Modeling, Volume 6210 of LNCS, pp. 272–320. Springer, Berlin (2010)
Klein, J., Kienzle, J., Morin, B., Jézéquel, J.M.: Aspect model unweaving. In: Proceedings of 12th International Conference on Model Driven Engineering Languages and Systems, MODELS’09, Volume 5795 of LNCS, pp. 514–530. Springer, Berlin (2009)
Kolovos, D., Wei, R., Barmpis, K.: An approach for efficient querying of large relational datasets with OCL based languages. In: Proceedings of the Workshop on Extreme Modeling at MODELS’13 (2013)
Kolovos, D.S., Rose, L.M., Matragkas, N., Paige, R.F., Guerra, E., Cuadrado, J.S., De Lara, J., Rath, I., Varro, D., Tisi, M., Cabot, J.: A research roadmap towards achieving scalability in model driven engineering. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, Budapest, Hungary, pp. 2:1–2:10. ACM, New York (2013)
Korel, B., Singh, I., Tahat, L.H. and Vaysburg, B.: Slicing of state-based models. In: Proceedings of 19th International Conference on Software Maintenance (ICSM’03), pp. 34–43. IEEE Computer Society, Washington (2003)
Kuhne, T.: An observer-based notion of model inheritance. In: Proceedings of 13th International Conference on Model Driven Engineering Languages and Systems (MoDELS’10), Volume 6394 of LNCS, pp. 31–45. Springer, Berlin (2010)
Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jézéquel, J.-M.: Introducing variability into aspect-oriented modeling approaches. In: Proceedings of 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS’07), Volume 4735 of LNCS, pp. 498–513. Springer, Berlin (2007)
Lano, K., Kolahdouz-Rahimi, S.: Slicing techniques for UML models. J. Object Technol. 10(11), 1–49 (2011)
Lara, J., Guerra, E., Cobos, R., Moreno-Llorena, J.: Extending deep meta-modelling for practical model-driven engineering. Comput. J. 57(1), 36–58 (2014)
Levendovszky, T., Lengyel, L., Mészáros, T.: Supporting domain-specific model patterns with metamodeling. Softw. Syst. Model. 8, 501–520 (2009)
Lopez-Fernandez, J., Cuadrado, J., Guerra, E., de Lara, J.: Example-driven meta-model development. Softw. Syst. Model. 14(4), 1323–1347 (2015)
Lucrédio, D., de Mattos, Pontin, Fortes, R., Whittle, J.: Moogle: a metamodel-based model search engine. Softw. Syst. Model. 11(2), 183–208 (2012)
Melnik, S., Rahm, E., Bernstein, P.A.: Rondo: a programming platform for generic model management. In: Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, SIGMOD ’03, pp. 193–204. ACM, New York (2003)
Muller, A., Caron, O., Carré, B., Vanwormhoudt, G.: On some properties of parameterized model application. In: Proceedings of 1st European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA’05), Volume 3748 of LNCS, pp. 130–144. Springer, Berlin (2005)
Reddy, Y.R., Ghosh, S., France, R.B., Straw, G., Bieman, J.M., McEachen, N., Song, E., Georg, G.: Directives for composing aspect-oriented design class models. Trans. Asp. Orient. Softw. Dev. I(3380), 75–105 (2006)
Reiter, T., Kapsammer, E., Retschitzegger, W., Schwinger, W.: Model integration through mega operations. In: Proceedings of the International Workshop on Model-driven Web Engineering (MDWE’05) (2005)
Sen, S., Moha, N., Baudry, B., Jézéquel, J-M.: Meta-model pruning. In: Proceedings of 12th International Conference on Model Driven Engineering Languages and Systems (MoDELS’09), Volume 5795 of LNCS, pp. 32–46. Springer, Berlin (2009)
Sen, S., Moha, N., Mahé, V., Barais, O., Baudry, B., Jézéquel, J-M.: Reusable model transformations. Softw. Syst. Model. 11(1), 111–125 (2012)
Siikarla, M., Peltonen, J., Koskinen, J.: Towards unambiguous model fragments. Nordic J. Comput. 13, 180–195 (2006)
Solberg, A., France, R., Reddy, R.: Navigating the MetaMuddle. In: Proceedings of 4th Workshop in Software Model Engineering (2005)
Sriplakich, P., Blanc, X., Gervais, M.P.: Collaborative software engineering on large-scale models: requirements and experience in modelbus. In: Proceedings of the 2008 ACM Symposium on Applied Computing, pp. 674–681. ACM, New York (2008)
Steel, J., Jézéquel, J.-M.: On model typing. Softw. Syst. Model. 6(4), 401–413 (2007)
Störrle, H.: VMQL: a visual language for ad-hoc model querying. J. Vis. Lang. Comput. 22(1), 3–29 (2011)
Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: A fundamental approach to model versioning based on graph modifications: from theory to implementation. Softw. Syst. Model. 13(1), 239–272 (2014)
Thirioux, X., Combemale, B., Crégut, X., Garoche, P.L.: A framework to formalise the MDE foundations. In: International Workshop on Towers of Models (TOWERS 2007), Zurich, Switzerland, pp. 14–30. University of York, York (2007)
Vanwormhoudt, G., Caron, O., Carré, B.: Aspectual templates in UML. Softw. Syst. Model. 1–29 (2015). doi:10.1007/s10270-015-0463-3
Vignaga, A., Jouault, F., Bastarrica, M., Brunelire, H.: Typing artifacts in megamodeling. Softw. Syst. Model. 12(1), 105–119 (2013)
Whittle, J., Jayaraman, P.K., Elkhodary, A.M., Moreira, A., Araújo, J.: MATA: a unified approach for composing UML aspect models based on graph transformation. Trans. Asp. Orient. Softw. Dev. VI 6, 191–237 (2009)
Acknowledgments
The authors would like to thank Prof. J. Gray and the anonymous reviewers for their work and comments in order to improve the paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Kevin Lano.
Rights and permissions
About this article
Cite this article
Carré, B., Vanwormhoudt, G. & Caron, O. On submodels and submetamodels with their relation. Softw Syst Model 17, 1105–1137 (2018). https://doi.org/10.1007/s10270-016-0540-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-016-0540-2