Software & Systems Modeling

, Volume 18, Issue 5, pp 3005–3023 | Cite as

A unifying framework for homogeneous model composition

  • Jörg Kienzle
  • Gunter Mussbacher
  • Benoit CombemaleEmail author
  • Julien Deantoni
Regular Paper


The growing use of models for separating concerns in complex systems has lead to a proliferation of model composition operators. These composition operators have traditionally been defined from scratch following various approaches differing in formality, level of detail, chosen paradigm, and styles. Due to the lack of proper foundations for defining model composition (concepts, abstractions, or frameworks), it is difficult to compare or reuse composition operators. In this paper, we stipulate the existence of a unifying framework that reduces all structural composition operators to structural merging, and all composition operators acting on discrete behaviors to event scheduling. We provide convincing evidence of this hypothesis by discussing how structural and behavioral homogeneous model composition operators (i.e., weavers) can be mapped onto this framework. Based on this discussion, we propose a conceptual model of the framework and identify a set of research challenges, which, if addressed, lead to the realization of this framework to support rigorous and efficient engineering of model composition operators for homogeneous and eventually heterogeneous modeling languages.


Model composition Symmetric merge Event scheduling Event structures Separation of concerns 



  1. 1.
    Aspect-Oriented Modeling Workshop Series.
  2. 2.
    Al Abed, W., Schöttle, M., Ayed, A., Kienzle, J.: Concern-oriented behaviour modelling with sequence diagrams and protocol models. In: Behavior Modeling—Foundations and Applications, vol. 6368 of LNCS. Springer, Berlin (2015)Google Scholar
  3. 3.
    André, C., Mallet, F., De Simone, R.: Modeling time(s). In: Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems, MODELS’07, pp. 559–573, Springer, Berlin (2007)Google Scholar
  4. 4.
    Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Kompren: modeling and generating model slicers. Softw. Syst. Model. 14(1), 321–337 (2015)CrossRefGoogle Scholar
  5. 5.
    Bockisch, C., Malakuti, S., Akşit, M., Katz, S.: Making aspects natural: events and composition. In: 10th International Conference on Aspect-Oriented Software Development (AOSD ’11). ACM (2011)Google Scholar
  6. 6.
    Bull, C., Whittle, J.: Supporting reflective practice in software engineering education through a studio-based approach. IEEE Softw. 31(4), 44–50 (2014)CrossRefGoogle Scholar
  7. 7.
    Clarke, S., Walker, R.J.: Generic aspect-oriented design with Theme/UML. In: Filman, R.E., Elrad, T., Clarke, S., Aksit, A. (eds.) Aspect-Oriented Software Development, pp. 425–458. Addison-Wesley, Boston (2005)Google Scholar
  8. 8.
    Clavreul, M., Barais, O., Jézéquel, J.-M.: Integrating legacy systems with MDE. In: 32nd ACM/IEEE International Conference on Software Engineering (ICSE’10), pp. 69–78. ACM (2010)Google Scholar
  9. 9.
    Combemale, B., Deantoni, J., Larsen, M.V., Mallet, F., Barais, O., Baudry, B., France, R.: Reifying concurrency for executable metamodeling. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds) SLE–6th International Conference on Software Language Engineering, vol. 8225, pp. 365–384, Indianapolis. Springer (2013)Google Scholar
  10. 10.
    Deantoni, J., Diallo, P.I., Teodorov, C., Champeau, J., Combemale, B.: Towards a meta-language for the concurrency concern in DSLs. In: Design, Automation and Test in Europe Conference and Exhibition (DATE), Grenoble, France (2015)Google Scholar
  11. 11.
    Deantoni, J., Mallet, F.: TimeSquare: treat your models with logical time. In Furia, S.N.C.A. (ed.) TOOLS—50th International Conference on Objects, Models, Components, Patterns—2012, vol. 7304, pp. 34–41, Prague, Czech Republic. Czech Technical University in Prague, in co-operation with ETH Zurich, Springer (2012)Google Scholar
  12. 12.
    Deantoni, J., Mallet, F., Thomas, F., Reydet, G., Babau, J.-P., Mraidha, C., Gauthier, L., Rioux, L., Sordon, N.: RT-simex: retro-analysis of execution traces. In: Sullivan, K.J., Roman, G.-C. (eds.) SIGSOFT FSE, vol. ISBN 978-1-60558-791-2 of Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 377–378, Santa Fe, United States (2010)Google Scholar
  13. 13.
    Dijkstra, E.W.: A Discipline of Programming, vol. 1. Prentice-Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  14. 14.
    France, R., Fleurey, F., Reddy, R., Baudry, B., Ghosh, S.: Providing support for model composition in metamodels. In EDOC, pp. 253–264 (2007)Google Scholar
  15. 15.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)zbMATHGoogle Scholar
  16. 16.
    Garcés, K., Deantoni, J., Mallet, F.: A model-based approach for reconciliation of polychronous execution traces. In: SEAA 2011—37th EUROMICRO Conference on Software Engineering and Advanced Applications, Oulu, Finland, IEEE (2011)Google Scholar
  17. 17.
    Glitia, C., Deantoni, J., Mallet, F.: Logical Time @ Work: capturing data dependencies and platform constraints. In: Kaźmierski, T.J.J., Morawiec, A. (eds) System Specification and Design Languages, vol. 106 of Lecture Notes in Electrical Engineering, pp. 223–238. Springer, New York (2012)Google Scholar
  18. 18.
    Goknil, A., Deantoni, J., Peraldi-Frati, M.-A., Mallet, F.: Tool support for the analysis of TADL2 timing constraints using TimeSquare. In: ICECCS’2013—18th International Conference on Engineering of Complex Computer Systems, Singapore, Singapore, (2013)Google Scholar
  19. 19.
    Hölzl, M., Knapp, A., Zhang, G.: Modeling the Car Crash Crisis Management System Using HiLA, pp. 234–271. Springer, Berlin (2010)Google Scholar
  20. 20.
    Jézéquel, J.-M., Combemale, B., Barais, O., Monperrus, M., Fouquet, F.: Mashup of metalanguages and its implementation in the Kermeta language workbench. Softw. Syst. Model. 14, 905–920 (2013)CrossRefGoogle Scholar
  21. 21.
    Kienzle, J., Al Abed, W., Klein, J.: Aspect-oriented multi-view modeling. In: 8th International Conference on Aspect-Oriented Software Development (AOSD’09), pp. 87–98. ACM Press (2009)Google Scholar
  22. 22.
    Klein, J., Hélouet, L., Jézéquel, J.-M.: Semantic-based weaving of scenarios. In: AOSD, pp. 27–38. ACM Press (2006)Google Scholar
  23. 23.
    Kramer, M.E., Klein, J., Steel, J.R.H., Morin. B., Kienzle, J., Barais, O., Jézéquel,J.-M.: Achieving practical genericity in model weaving through extensibility. In: 6th International Conference on Model Transformation (ICMT’13), vol. 7909 of LNCS, pp. 108–124. Springer, Berlin (2013)Google Scholar
  24. 24.
    Larsen, M.V., Goknil, A.: Railroad crossing heterogeneous model. In: GEMOC workshop 2013—International Workshop on The Globalization of Modeling Languages, Miami, Florida, USA (2013)Google Scholar
  25. 25.
    Larsen, M.E.V., Deantoni, J., Combemale, B., Mallet, F.: A behavioral coordination operator language (BCOoL). In: Lethbridge, T., Cabot, J., Egyed, A. (eds.) International Conference on Model Driven Engineering Languages and Systems (MODELS), vol. 18, pp. 462, Ottawa, Canada, September 2015. ACM (to be published in the Proceedings of the Models 2015 Conference)Google Scholar
  26. 26.
    Latombe, F., Crégut. X., Combemale, B., Deantoni, J., Pantel, M.: Weaving concurrency in executable domain-specific modeling languages. In: 8th ACM SIGPLAN International Conference on Software Language Engineering (SLE), Pittsburg. ACM (2015)Google Scholar
  27. 27.
    Lee, E.A., Sangiovanni-Vincentelli, A.: The tagged signal model-a preliminary version of a denotational framework for comparing models of computation. Memo. UCB/ERL M 96, 71 (1996)Google Scholar
  28. 28.
    Mallet, F., Deantoni, J., André, C., De Simone, R.: The clock constraint specification language for building timed causality models. Innov. Syst. Softw. Eng. 6(1–2), 99–106 (2010)CrossRefGoogle Scholar
  29. 29.
    Marchand. J., Combemale, B., Baudry, B.: A categorical model of model merging and weaving. In: 4th International Workshop on Modelling in Software Engineering (MiSE 2012). IEEE (2012)Google Scholar
  30. 30.
    McNeile, A., Simons, N.: Protocol modelling: a modelling approach that supports reusable behavioural abstractions. SoSyM 5(1), 91–107 (2006)Google Scholar
  31. 31.
    Mosser. S., Blay-Fornarino. M., France. R.: Workflow design using fragment composition. In: TAOSD VII, vol. 6210, pp. 200–233 (2010)Google Scholar
  32. 32.
    Mussbacher. G.: Aspect-Oriented User Requirements Notation. Ph.D. thesis, University of Ottawa, Canada (2010)Google Scholar
  33. 33.
    Mussbacher, G., Alam, O., Alhaj, M., Ali, S., Amálio, N., Barn. B., Bræk, R., Clark, T., Combemale. B., Cysneiros, L.M., Fatima, U., France, R., Georg, G., Horkoff, J., Kienzle, J., Leite, J.C., Lethbridge, T.C., Luckey, M., Moreira, A., Mutz, F., Padua, A., Oliveira, A., Petriu, D.C., Schöttle, M., Troup, L., Werneck, V.M.B.: Assessing composition in modeling approaches. In: Workshop CMA’12. ACM (2012)Google Scholar
  34. 34.
    Mussbacher. G., Amyot. D., Whittle, J.: Composing goal and scenario models with the aspect-oriented user requirements notation based on syntax and semantics. In: Aspect-Oriented Requirements Engineering. Springer, Berlin (2013)Google Scholar
  35. 35.
    Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: ICSE (2007)Google Scholar
  36. 36.
    Nielsen, M., Plotkin, G., Winskel, G.: Petri nets, event structures and domains. In: Semantics of concurrent computation, vol. 70 of LNCS. Springer, Berlin (1979)Google Scholar
  37. 37.
    Object Management Group.: Unified Modeling Language (v2.5.0) (2015)Google Scholar
  38. 38.
    OMG.: Uml infrastructure specification v2.4 (2010)Google Scholar
  39. 39.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. Assoc. Comput. Mach. 15(12), 1053–1058 (1972)Google Scholar
  40. 40.
    Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39, 41–47 (2006)CrossRefGoogle Scholar
  41. 41.
    Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Araújo, J.: MATA: a unified approach for composing UML aspect models based on graph transformation. In: Transactions on Aspect-Oriented Software Development VI, vol. 5560 of LNCS, pp. 191–237. Springer, Berlin (2009)Google Scholar
  42. 42.
    Winskel, G.: Event structures. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) Advances in Petri Nets 1986, Part II on Petri Nets: Applications and Relationships to Other Models of Concurrency. Springer, New York (1987)Google Scholar
  43. 43.
    Zhang, G., Hölzl, M.M.: HiLA: high-level aspects for UML state machines. In: MoDELS Workshops, vol. 6002 of LNCS, pp. 104–118. Springer (2009)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  • Jörg Kienzle
    • 1
  • Gunter Mussbacher
    • 1
  • Benoit Combemale
    • 2
    Email author
  • Julien Deantoni
    • 3
  1. 1.McGill UniversityMontrealCanada
  2. 2.University of ToulouseToulouseFrance
  3. 3.Universite Cote d’Azur, I3S/INRIANiceFrance

Personalised recommendations