Abstract
Model-based engineering (MBE) recognizes models as central in software construction with the possibility of their management in libraries and repositories with proper structuring of their spaces and operations. Due to this success, models (and metamodels) are becoming larger and larger and technics are needed in order to comprehend and exploit them, such as circumscribing sub(meta)models of interest, which is the subject of this paper. Following MBE, there are mainly two ways for circumscribing submodels: only at the model level (by selecting model elements of interest) or through the meta level (by selecting a submetamodeling dimension of interest). In a preceding paper, we deeply studied the first way. Here we concentrate on the second way. Model projection deeply relies on the concepts of submodels and submetamodels with their inclusion qualities for model space structuring and has to be systematically examined from this point of view. It is important to point out that model treatment has to deal with full models (as offered by “off the shelf” libraries) but also with not necessarily well-formed ones, such as unspecified model chunks, due, for example, to the storage in repositories of incomplete engineering choices or of intermediate results of operations. It is a difficulty to encompass all these forms of models, being well-formed or not, in a homogeneous manner through MBE operations. The operation for “Model projection relative to submetamodeling dimensions” presented here does take this difficulty into account.
Similar content being viewed by others
Notes
The restriction to impacted attributes is for simplification.
Such a projection could be useful to handle the mapping of the model into relational databases (ORM mapping).
For space reasons, we omit the dependency constraints between these metaclasses.
Difference and extraction operators are typical examples that may produce resulting models that are not well-formed.
Note that relationships between (meta)model elements (associations, generalization, collaboration links, etc.) are not edges (\(\sqsubseteq _{m}\)) but nodes in the formalism. In particular, in case of multiple relations between two (meta)model elements, they may be reified by specific nodes to identify and disambiguate them.
Software models being formalized here by the standard concept of “mathematical structure” (associating a set of models elements and a set of constraints), transitivity is not ensured contrary to their constitutive sets, considered separately.
where using the standard mathematical operation of closure of subsets under an ordering relation:\(closure_{\sqsubseteq _{m'}}(\widetilde{m})=\{x\in \widetilde{m'} \mid \exists y\in \widetilde{m},y\sqsubseteq _{m'}^*x\}\),that is the set of model elements of \(m'\) whose elements of \(\widetilde{m}\) transitively depend under the dependency constraints asserted by \(m'\).
In case of metamodels having a root meta element, say r, \(meta(r)=r\). Take, for example, UML, where its root metaclass Element is instance of itself.
It was shown (Property 1 of [15]) that the closure in a surrounding model m of subsets of model elements of a closed submodel of m is bound by this submodel.
Consider a model \(m=(\widetilde{m} \sqsubseteq _{m})\), for any subset s of its model elements (\(s \subseteq \widetilde{m}\)), the operator \(model_{m}(s)\) allows to extract the submodel \(m'=(s,\sqsubseteq _{m'})\) of m such as: \(\forall x,y\in s,x\sqsubseteq _{m}y\Rightarrow x\sqsubseteq _{m'}y\), that is \(Gr(model_{m}(s))=Gr(m)/s\)
submodel engine URL: http://cristal.univ-lille.fr/caramel/submodel/1.3.0.html.
References
MDA. Home Page (1997). http://www.omg.org/mda
Alanen, M., Porres, I.: Difference and union of models. In: UML 2003—The Unified Modeling Language. Modeling Languages and Applications, pp. 2–17. Springer, Berlin, Heidelberg (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)
Amrani, M.D., Heinrich, R., Rensink, A., Vangheluwe, H., Wortmann, A.: Multi-paradigm modelling for cyber-physical systems: a descriptive framework. Softw. Syst. Model. 20(3), 611–639 (2021)
Androutsopoulos, K., Binkley, D., Clark, D., Gold, N., Harman, M., Lano, K., Li, Z.: Model projection: simplifying models in response to restricting the environment. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 291–300. ACM (2011)
Atkinson, C., Gerbig, R., Kühne, T.: Comparing multi-level modeling approaches. In: Proceedings of the Workshop on Multi-Level Modelling Co-Located with ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2014), Volume 1286 of CEUR Workshop Proceedings, pp. 53–61 (2014)
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 (2008)
Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the large and modeling in the small. In: Model Driven Architecture, European MDA Workshops: Foundations and Applications, MDAFA 2003 and MDAFA 2004, vol. 3599 of LNCS, pp. 33–46. Springer (2004)
Blanc, X., Gervais, M.P. Sriplakich, P.: Model bus: Towards the interoperability of modelling tools. In Proceedings of Model Driven Architecture, European MDA Workshops: Foundations and Applications, MDAFA 2003, vol. 3599 of LNCS, pp. 17–32. Springer (2004)
Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Kompren: modeling and generating model slicers. Softw. Syst. Model. 14(1), 321–337 (2015)
Brunelière, H., Burger, E., Cabot, J., Wimmer, M.: A feature-based survey of model view approaches. Softw. Syst. Model. 18(3), 1931–1952 (2019)
Brunelière, H., García Perez, J., Wimmer, M., Cabot, J.: EMF views: a view mechanism for integrating heterogeneous models. In: Proceedings of 34th International Conference on Conceptual Modeling (ER 2015), Sweden, vol. 9381 of LNCS, pp. 317–325. Springer (2015)
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)
Caron, O., Carré, B., Debrauwer, L.: Contextualization of OODB Schemas in CROME. In: Proceedings of the DEXA Conference, vol. 1873. Springer (2000)
Carré, B., Vanwormhoudt, G., Caron, O.: From subsets of model elements to submodels, a characterization of submodels and their properties. Softw. Syst. Model. 14(2), 861–887 (2015)
Carré, B., Vanwormhoudt, G., Caron, O.: On submodels and submetamodels with their relation, a uniform formalization through inclusion properties. Softw. Syst. Model. 17(4), 1105–1137 (2018)
Carré, B., Dekker, L.: Multiple and dynamic representation of frames with points of view in frome. In: Actes de la Conférence sur les Représentations Par Objets, RPO’92 (1992)
Cicchetti, A., Ciccozzi, F., Leveque, T.: A hybrid approach for multi-view modeling. In: Electronic Communication of European Association for Software Science and Technology (2011)
de Lara, J., Guerra, E., Cuadrado, J.S.: When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. 24(2), 12:1-12:46 (2014)
Del Fabro, D., Bézivin, J.: Generic model management: from theory to practice. In: 1st International Workshop on Towers of Models—TOWERS (2007)
Diskin, Z., Kokaly, S., Maibaum, T.: Mapping-aware megamodeling: design patterns and laws. In: Proceeding of—6th International Conference on Software Language Engineering SLE, Volume 8225 of LNCS, pp. 322–343. Springer (2013)
Etien, A., Muller, A., Legrand, T., Paige, R.F.: Localized model transformations for building large-scale transformations. Softw. Syst. Model. 14(3), 1189–1213 (2015)
Favre, J.M., Nguyen, T.: Towards a megamodel to model software evolution through transformations. Electr. Notes Theor. Comput. Sci. 127(3), 59–74 (2005)
Fondement, F., Muller, P.A., Thiry, L., Wittmann, B., Forestier, G.: Big metamodels are evil—package unmerge—a technique for downsizing metamodels. In: Proceedings of 16th International Conference on Model-Driven Engineering Languages and Systems (MODELS 2013), USA, Vol. 8107 of LNCS, pp. 138–153. Springer (2013)
France, R.B., Bieman, J.M., Cheng, B.H.C.: Repository for model driven development (ReMoDD). In: Proceeding of MoDELS’06 Workshops, Vol. 4364 of LNCS, pp. 311–317. Springer (2006)
Object Management Group. Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT). http://www.omg.org/spec/QVT/
Harrison, W.H., Ossher, H.: Subject-oriented programming (a critique of pure objects). In: Babitsky, T., Salmons, J. (eds.) Proceedings of the 8th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 1993, USA, pp. 411–428. ACM (1993)
Hebig, R., Seibel, A., Giese, H.: On the unification of Megamodels. In: Proceedings of 4th International Workshop on Multi-Paradigm Modeling, Vol. 42 of Electronic Communications of the EASST (2011)
Hendrickson, S.A., Jett, B., van der Hoek, A.: Layered class diagrams: supporting the design process. In: Proceedings of 9th International Conference on Model Driven Engineering Languages and Systems (MODELS 06), Vol. 4199 of LNCS, pp. 722–736. Springer (2006)
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 (2011)
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. In: Science of Computer Programming, vol. 72, pp. 31–39. Elsevier Science (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 (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, Vol. 6603 of LNCS, pp. 171–185. Springer (2011)
Kent, S.: Model driven engineering. In: Proceedings of the 3rd International Conference on Integrated Formal Methods (IFM’02), Vol. 2335 of LNCS, pp. 286–298. Springer (2002)
Kienzle, J., Mussbacher, G., Combemale, B., Deantoni, J.: A unifying framework for homogeneous model composition. Softw. Syst. Model. 18(5), 3005–3023 (2019)
Korel, B., Singh, I., Tahat, L. H., Vaysburg, B.: Slicing of state-based models. In: Proceedings of 19th International Conference on Software Maintenance (ICSM’03), pp. 34–43. IEEE Computer Society (2003)
Lano, K., Kolahdouz-Rahimi, S.: Slicing techniques for UML models. J. Object Technol. 10(11), 1–49 (2011)
Lano, K., Kolahdouz Rahimi, S.: Slicing of UML models using model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) Proceeding of 13th International Conference Model Driven Engineering Languages and Systems (MODELS 2010), vol. 6395, pp. 228–242. Springer (2010)
López, J.A.H., Sánchez Cuadrado, J.: MAR: a structure-based search engine for models. In: Proceeding of 23rd International Conference on Model Driven Engineering Languages and Systems (MoDELS ’20), Canada, pp. 57–67. ACM (2020)
Lucrédio, D., Pontin de Mattos Fortes, R., Whittle, J.: Moogle: a metamodel-based model search engine. Softw. Syst. Model. 11(2), 183–208 (2012)
Ma, Q., Kelsen, P.: Decomposing models through dependency graphs. In: 2018 International Symposium on Theoretical Aspects of Software Engineering, TASE 2018, China, pp. 138–143. IEEE Computer Society (2018)
Maoz, S., Ringert, J.O., Rumpe, B.: A manifesto for semantic model differencing. In: Models in Software Engineering, pp. 194–203. Springer, Berlin, Heidelberg (2011)
Marvie, R., Merle, P., Geib, J.-M.: Separation of concerns in modeling distributed component-based architectures. In: 6th International Enterprise Distributed Object Computing Conference (EDOC 2002), 17–20 September 2002, Lausanne, Switzerland, Proceedings, pp. 144–154. IEEE Computer Society (2002)
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 (2003)
Renaux, E., Vanwormhoudt, G., Tombelle, C.: A multiview framework driven by use cases to support the design of service components. In: 7th IEEE International Symposium on Service-Oriented System Engineering, SOSE 2013, USA, pp. 268–273. IEEE Computer Society (2013)
Salay, R., Mylopoulos, J., Easterbrook, S.M.: Using Macromodels to manage collections of related models. In: Proceedings of 21st International Conference on Advanced Information Systems Engineering (CAiSE 2009), Vol. 5565 of LNCS, pp. 141–155. Springer (2009)
Scheidgen, M., Zubow, A., Fischer, J., Kolbe, T.H.: Automated and transparent model fragmentation for persisting large models. In: Proceedings of 15th International Conference on Model-Driven Engineering Languages and Systems (MODELS 2012), pp. 102–118. Springer (2012)
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), Vol. 5795 of LNCS, pp. 32–46. Springer (2009)
Sen, S., Moha, N., Mahé, V., et al.: Reusable model transformations. Softw. Syst. Model. 11: 111–125 (2012)
Shaikh, A., Clarisó, R., Wiil, U.K., Memon, N.: Verification-driven slicing of uml/ocl models. In: Proceedings of 25th IEEE/ACM International Conference on Automated Software Engineering (ASE’10), pp. 185–194. ACM (2010)
Siikarla, M., Peltonen, J., Koskinen, J.: Towards unambiguous model fragments. Nord. J. Comput. 13(3), 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.: Applying model fragment copy-restore to build an open and distributed MDA environment. In: Proceedings of 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS’06), Vol. 4199 of LNCS, pp. 631–645. Springer (2006)
Sriplakich, P., Blanc, X., Gervais, M.-P.: Supporting collaborative development in an open MDA environment. In: Proceedings of 22nd IEEE International Conference on Software Maintenance (ICSM’06), pp. 244–253. IEEE Computer Society (2006)
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 (2008)
Steel, J., Jézéquel, J.-M.: On model typing. Softw. Syst. Model. 6(4), 401–413 (2007)
Strüber, D., Rubin, J., Taentzer, G., Chechik, M.: Splitting models using information retrieval and model crawling techniques. In: Proceedings of 17th International Conference on Fundamental Approaches to Software Engineering (FASE 2014), France, Vol. 8411 of LNCS, pp. 47–62. Springer (2014)
Strüber, D., Selter, M., Taentzer, G.: Tool support for clustering large meta-models. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, Budapest, Hungary, June 17, 2013, pp. 7–12. ACM (2013)
Strüber, D., Taentzer, G., Jurack, S., Schäfer, T.: Towards a distributed modeling process based on composite models. In: Proceedings of 16th International Conference on Fundamental Approaches to Software Engineering (FASE 2013), Italy, Vol. 7793 of LNCS, pp. 6–20. Springer (2013)
Vignaga, A., Jouault, F., Bastarrica, M., Brunelière, H.: Typing artifacts in megamodeling. Softw. Syst. Model. 12(1), 105–119 (2013)
Acknowledgements
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 Esther Guerra.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Carré, B., Vanwormhoudt, G. & Caron, O. Model projection relative to submetamodeling dimensions. Softw Syst Model 23, 223–248 (2024). https://doi.org/10.1007/s10270-023-01116-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-023-01116-2