Skip to main content
Log in

Model projection relative to submetamodeling dimensions

A form of submodel circumscribing

  • Regular Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Notes

  1. The restriction to impacted attributes is for simplification.

  2. See Marvie et al. [43] and Renaux et al. [45] for examples with similar motivation when modeling distributed component-based architectures and modeling services according to several dimensions.

  3. Such a projection could be useful to handle the mapping of the model into relational databases (ORM mapping).

  4. For space reasons, we omit the dependency constraints between these metaclasses.

  5. Difference and extraction operators are typical examples that may produce resulting models that are not well-formed.

  6. 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.

  7. 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.

  8. 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'\).

  9. 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.

  10. 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.

  11. 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\)

  12. submodel engine URL: http://cristal.univ-lille.fr/caramel/submodel/1.3.0.html.

References

  1. MDA. Home Page (1997). http://www.omg.org/mda

  2. 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)

  3. 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)

  4. 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)

    Article  Google Scholar 

  5. 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)

  6. 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)

  7. 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)

  8. 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)

  9. 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)

  10. Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Kompren: modeling and generating model slicers. Softw. Syst. Model. 14(1), 321–337 (2015)

    Article  Google Scholar 

  11. 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)

    Article  Google Scholar 

  12. 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)

  13. 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)

    Article  Google Scholar 

  14. Caron, O., Carré, B., Debrauwer, L.: Contextualization of OODB Schemas in CROME. In: Proceedings of the DEXA Conference, vol. 1873. Springer (2000)

  15. 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)

    Article  Google Scholar 

  16. 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)

    Article  Google Scholar 

  17. 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)

  18. 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)

  19. 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)

    Article  Google Scholar 

  20. Del Fabro, D., Bézivin, J.: Generic model management: from theory to practice. In: 1st International Workshop on Towers of Models—TOWERS (2007)

  21. 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)

  22. 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)

    Article  Google Scholar 

  23. Favre, J.M., Nguyen, T.: Towards a megamodel to model software evolution through transformations. Electr. Notes Theor. Comput. Sci. 127(3), 59–74 (2005)

    Article  Google Scholar 

  24. 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)

  25. 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)

  26. Object Management Group. Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT). http://www.omg.org/spec/QVT/

  27. 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)

  28. 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)

  29. 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)

  30. 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)

  31. 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)

  32. 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)

  33. 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)

  34. 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)

  35. Kienzle, J., Mussbacher, G., Combemale, B., Deantoni, J.: A unifying framework for homogeneous model composition. Softw. Syst. Model. 18(5), 3005–3023 (2019)

    Article  Google Scholar 

  36. 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)

  37. Lano, K., Kolahdouz-Rahimi, S.: Slicing techniques for UML models. J. Object Technol. 10(11), 1–49 (2011)

    Google Scholar 

  38. 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)

  39. 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)

  40. 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)

    Article  Google Scholar 

  41. 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)

  42. 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)

  43. 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)

  44. 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)

  45. 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)

  46. 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)

  47. 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)

  48. 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)

  49. Sen, S., Moha, N., Mahé, V., et al.: Reusable model transformations. Softw. Syst. Model. 11: 111–125 (2012)

  50. 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)

  51. Siikarla, M., Peltonen, J., Koskinen, J.: Towards unambiguous model fragments. Nord. J. Comput. 13(3), 180–195 (2006)

    Google Scholar 

  52. Solberg, A., France, R., Reddy, R.: Navigating the MetaMuddle. In: Proceedings of 4th Workshop in Software Model Engineering (2005)

  53. 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)

  54. 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)

  55. 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)

  56. Steel, J., Jézéquel, J.-M.: On model typing. Softw. Syst. Model. 6(4), 401–413 (2007)

    Article  Google Scholar 

  57. 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)

  58. 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)

  59. 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)

  60. Vignaga, A., Jouault, F., Bastarrica, M., Brunelière, H.: Typing artifacts in megamodeling. Softw. Syst. Model. 12(1), 105–119 (2013)

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Bernard Carré.

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-023-01116-2

Keywords

Navigation