Skip to main content
Log in

From subsets of model elements to submodels

A characterization of submodels and their properties

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

Abstract

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.

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

Similar content being viewed by others

Notes

  1. To simplify, primitive data types are considered as classes, their typing function being approximated by the association between Feature and Class, under the types role. This has no consequence in this paper.

  2. For the sake of simplicity, these systematic reflective constraints will not be listed in the examples.

  3. An updated version of Fig. 14 with same \(m3^{\prime },\,m4^{\prime }\) and \(m4\) submodels but new \(m1,\,m2\) and \(m3\) submodels. Attributes were omitted to simplify the figure.

  4. Name matching of elements is an example used in the present application.

  5. For reasons of space, only the formulation of the UserCall Collaboration is detailed.

  6. In other words, all instances of unneeded meta-classes, meta-attributes or meta-associations are removed from the model fragment.

References

  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)

  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)

  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)

  4. Auxiliary Constructs Templates, UML 2.0 superstructure specification (2003). http://www.omg.org/spec/UML

  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)

  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)

  7. Barbero, M., Bézivin, J.: Structured libraries of models. In: Proceedings of 1st International Workshop on Towers of Models (TOWERS’07) (2007)

  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)

  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)

  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)

  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)

  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)

  13. Clark, T., Evans, A., Kent, S.: Aspect-oriented metamodelling. Comput. J. 46(5), 566–577 (2003)

    Article  MATH  Google Scholar 

  14. Clarke, S.: Extending standard UML with model composition semantics. In: Science of Computer Programming, volume 44, pp. 71–100. Elsevier Science, Amsterdam (2002)

  15. Dingel, J., Diskin, Z., Zito, A.: Understanding and improving UML package merge. Softw. Syst. Model. 7(4), 443–467 (2008)

    Article  Google Scholar 

  16. D’Souza, D., Wills, A.: Objects. The Catalysis Approach. Components and Frameworks With UML. Addison-Wesley, Reading (1999)

  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)

  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)

  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)

  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)

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

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

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

    Google Scholar 

  33. Levendovszky, T., Lengyel, L., Mészáros, T.: Supporting domain-specific model patterns with metamodeling. Softw. Syst. Model. 8, 501–520 (2009)

    Article  Google Scholar 

  34. Lucrédio, D., de Mattos, Pontin: Moogle: a metamodel-based model search engine. Softw. Syst. Model. 11(2), 183–208 (2012)

    Article  Google Scholar 

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

  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)

  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)

  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)

  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)

    Article  Google Scholar 

  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)

  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)

  42. Sen, S., Moha, N., Mahé, V., Barais, O., Baudry, B., Jézéquel, J.-M.: Reusable model transformations. Softw. Syst. Model. (2010)

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

    MATH  Google Scholar 

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

  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)

  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)

  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)

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

    Article  Google Scholar 

  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)

  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)

    Article  Google Scholar 

Download references

Acknowledgments

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bernard Carré.

Additional information

Communicated by Prof. Robert France.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Carré, B., Vanwormhoudt, G. & Caron, O. From subsets of model elements to submodels. Softw Syst Model 14, 861–887 (2015). https://doi.org/10.1007/s10270-013-0340-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0340-x

Keywords

Navigation