Software & Systems Modeling

, Volume 14, Issue 2, pp 861–887 | Cite as

From subsets of model elements to submodels

A characterization of submodels and their properties
  • Bernard Carré
  • Gilles Vanwormhoudt
  • Olivier Caron
Regular Paper


Model-driven engineering (MDE) generalized the status of models from documentation or model-driven architecture (MDA) modeling steps to full artifacts, members of a so-called structured “model space”. We concentrate here on the submodel relationship which contributes a lot to this structuring effort. Many works and MDE practices resort to this notion and call for its precise characterization, which is the intent of this paper. A typical situation is model management through repositories. We start from the definition of a model as a set of model elements plus a set of dependency constraints that it asserts over these elements. This allows to isolate the notions of closed, covariant and invariant submodels. As a major result, we show that submodel transitivity can be guaranteed thanks to submodel invariance. This formalization offers keys to analyze operations which manipulate submodels. For example, we deeply study the operator which consists in extracting a model from another one, when selecting some subset of its elements. The same can be applied to many other model operations and the last part of the paper is dedicated to a synthesis on related works which could profit from this characterization. More practically, we show how the results were exploited in our Eclipse modeling environment.


Submodel Set-theoretic formalization  Model extraction Model composition 



The authors would like to thank the anonymous reviewers and the editor for the comments on the paper, specifically for their contribution to its motivation.


  1. 1.
    Acher, M., Collet, P., Lahire, P., France, R.B.: Slicing feature models. In: Proceedings of 26th International Conference on Automated Software Engineering (ASE’11), pp. 424–427. IEEE/ACM (2011)Google Scholar
  2. 2.
    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, New York (2003)Google Scholar
  3. 3.
    Appukuttan, B.K., Clark, T., Evans, A., Maskeri, G., Sammut, P., Tratt, L., Willans, J.S.: A pattern based approach to defining the dynamic infrastructure of UML 2.0. Technical Report (2002)Google Scholar
  4. 4.
    Auxiliary Constructs Templates, UML 2.0 superstructure specification (2003).
  5. 5.
    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)Google Scholar
  6. 6.
    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 (2004)Google Scholar
  7. 7.
    Barbero, M., Bézivin, J.: Structured libraries of models. In: Proceedings of 1st International Workshop on Towers of Models (TOWERS’07) (2007)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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, New York (2011)Google Scholar
  10. 10.
    Caron, O., Carré, B., Muller, A., Vanwormhoudt, G.: A framework for supporting views in component oriented information systems. In: Proceedings of 9th International Conference on Object-Oriented Information Systems (OOIS’03), volume 2817 of LNCS, pp. 164–178. Springer, Berlin (2003)Google Scholar
  11. 11.
    Caron, O., Carré, B., Muller, A., Vanwormhoudt, G.: An OCL formulation of UML 2 template binding. In: Proceedings of 7th International Conference on The Unified Modeling Language, Model Languages and Applications (UML’04), volume 3273 of LNCS, pp. 27–40. Springer, New York (2004)Google Scholar
  12. 12.
    Caron, O., Carré, B., Muller, A., Vanwormhoudt, G.: A coding framework for functional adaptation of coarse-grained components in extensible EJB servers. In: Proceedings of Objects, Components, Models and Patterns, 47th International Conference (TOOLS EUROPE’09), volume 33 of LNBIP, pp. 215–230. Springer, New York (2009)Google Scholar
  13. 13.
    Clark, T., Evans, A., Kent, S.: Aspect-oriented metamodelling. Comput. J. 46(5), 566–577 (2003)CrossRefMATHGoogle Scholar
  14. 14.
    Clarke, S.: Extending standard UML with model composition semantics. In: Science of Computer Programming, volume 44, pp. 71–100. Elsevier Science, Amsterdam (2002)Google Scholar
  15. 15.
    Dingel, J., Diskin, Z., Zito, A.: Understanding and improving UML package merge. Softw. Syst. Model. 7(4), 443–467 (2008)CrossRefGoogle Scholar
  16. 16.
    D’Souza, D., Wills, A.: Objects. The Catalysis Approach. Components and Frameworks With UML. Addison-Wesley, Reading (1999)Google Scholar
  17. 17.
    Elrad, T., Aldawud, O., Bader, A.: Aspect-oriented modeling: bridging the gap between implementation and design. In: Proceedings of 1st conference on Generative Programming and Component Engineering (GPCE ’02), volume 2487, pp. 189–201. Springer, New York (2002)Google Scholar
  18. 18.
    Etien, A., Muller, A., Legrand, T., Blanc, X.: Combining independent model transformations. In: Proceedings of 2010 ACM Symposium on Applied Computing (SAC’10), pp. 2237–2243. ACM (2010)Google Scholar
  19. 19.
    France, R.B., Bieman, J.M., Cheng, B.H.C.: Repository for model driven development (ReMoDD). In: Proceeding of MoDELS’06 Workshops, volume 4364 of LNCS, pp. 311–317. Springer, New York (2006)Google Scholar
  20. 20.
    France, R.B., Georg, G., Ray, I.: Supporting multi-dimensional separation of design concerns. In: Proceedings of AOSD Workshop on AOM: Aspect-Oriented Modeling with UML (2003)Google Scholar
  21. 21.
    Object Management Group. Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT).
  22. 22.
    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, New York (2012)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. In: Science of Computer Programming, volume 72, pp. 31–39. Elsevier Science, Amsterdam (2008)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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, New York (2002)Google Scholar
  28. 28.
    Klein, J., Hélouët, L., Jézéquel, J.M.: Semantic-based weaving of scenarios. In: Proceedings of 5th International Conference on Aspect-Oriented Software Development (AOSD’06), pp. 27–38. ACM (2006)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    Lahire, Ph., 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)Google Scholar
  32. 32.
    Lano, K., Kolahdouz-Rahimi, S.: Slicing techniques for UML models. J. Object Technol. 10(11), 1–49 (2011)Google Scholar
  33. 33.
    Levendovszky, T., Lengyel, L., Mészáros, T.: Supporting domain-specific model patterns with metamodeling. Softw. Syst. Model. 8, 501–520 (2009)CrossRefGoogle Scholar
  34. 34.
    Lucrédio, D., de Mattos, Pontin: Moogle: a metamodel-based model search engine. Softw. Syst. Model. 11(2), 183–208 (2012)CrossRefGoogle Scholar
  35. 35.
    MDA. Home Page (1997).
  36. 36.
    Melnik, S., Rahm, E., Bernstein, Ph.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)Google Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: Proceedings of 29th International Conference on Software Engineering (ICSE’07), pp. 54–64. IEEE Computer Society (2007)Google Scholar
  39. 39.
    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. Aspect. Orient. Softw. Dev. I 3380, 75–105 (2006)CrossRefGoogle Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    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)Google Scholar
  42. 42.
    Sen, S., Moha, N., Mahé, V., Barais, O., Baudry, B., Jézéquel, J.-M.: Reusable model transformations. Softw. Syst. Model. (2010)Google Scholar
  43. 43.
    Siikarla, M., Peltonen, J., Koskinen, J.: Towards unambiguous model fragments. Nordic J. Comput. 13, 180–195 (2006)MATHGoogle Scholar
  44. 44.
    Solberg, A., France, R., Reddy, R.: Navigating the metamuddle. In: Proceedings of 4th Workshop in Software Model Engineering (2005)Google Scholar
  45. 45.
    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), volume 4199 of LNCS, pp. 631–645. Springer, Berlin (2006)Google Scholar
  46. 46.
    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)Google Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    Steel, J., Jézéquel, J.-M.: On model typing. Softw. Syst. Model. 6(4), 401–413 (2007)CrossRefGoogle Scholar
  49. 49.
    Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: A fundamental approach to model versioning based on graph modifications: from theory to implementation. In: Software and Systems Modeling, pp. 1–34 (2012)Google Scholar
  50. 50.
    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. Aspect Orient. Softw. Dev. VI 6, 191–237 (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Bernard Carré
    • 1
  • Gilles Vanwormhoudt
    • 1
    • 2
  • Olivier Caron
    • 1
  1. 1.LIFL, UMR CNRS 8022University of LilleVilleneuve d’Ascq CedexFrance
  2. 2.Institut TELECOMVilleneuve d’Ascq CedexFrance

Personalised recommendations