Associations in MDE: A Concern-Oriented, Reusable Solution

  • Céline BensoussanEmail author
  • Matthias Schöttle
  • Jörg Kienzle
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9764)


Associations play an important role in model-driven software development. This paper describes a framework that uses Concern-Oriented Reuse (CORE) to capture many different kinds of associations, their properties, behaviour, and various implementation solutions within a reusable artifact: the Association concern. The concern exploits aspect-oriented modelling techniques to modularize the structure and behaviour required for enforcing uniqueness, multiplicity constraints and referential integrity for bidirectional associations. Furthermore, it packages different collection implementation classes that can be used to realize associations. For each implementation class, the impact of its use on non-functional qualities, e.g., memory consumption and performance, has been determined experimentally and formalized. We show how the class diagram notation, i.e., its metamodel and visual representation, can be extended to support reusing the Association concern, and present enhancements to automate feature selection and customization mappings to maximally streamline the reuse process in modelling tools.


Class Diagram Software Product Line Bidirectional Association Abstract Data Type Usage Interface 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Ahuja, K.V.: Technical Whitepaper: Performance Evaluation | Java Collections Framework (2008).
  2. 2.
    Akehurst, D., Howells, G., McDonald-Maier, K.: Implementing associations: UML 2.0 to Java 5. Softw. Syst. Model. 6(1), 3–35 (2006)CrossRefGoogle Scholar
  3. 3.
    Alam, O., Kienzle, J., Mussbacher, G.: Concern-oriented software design. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 604–621. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  4. 4.
    Badreddin, O., Forward, A., Lethbridge, T.C.: Improving code generation for associations: enforcing multiplicity constraints and ensuring referential integrity. In: Lee, R. (ed.) SERA 2013. SCI, vol. 496, pp. 129–149. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  5. 5.
    Bensoussan, C.: Associations in MDE: A Concern-Oriented, Reusable Solution. M.Sc. Thesis, School of Computer Science, McGill University, March 2016Google Scholar
  6. 6.
    Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39, 41–47 (2006)CrossRefGoogle Scholar
  7. 7.
  8. 8.
    France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Future of Software Engineering, pp. 37–54. IEEE (2007)Google Scholar
  9. 9.
    Génova, G., del Castillo, C.R., Llorens, J.: Mapping UML associations into Java code. J. Object Technol. 2(5), 135–162 (2003)CrossRefGoogle Scholar
  10. 10.
    Georges, A., Buytaert, D., Eeckhout, L.: Statistically rigorous java performance evaluation. SIGPLAN Not. 42(10), 57–76 (2007)CrossRefGoogle Scholar
  11. 11.
    Gessenharter, D.: Mapping the UML2 Semantics of associations to a java code generation model. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 813–827. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Harrison, W., Barton, C.: Mapping UML designs to Java. In: OOPSLA, pp. 178–188. ACM Press (2000)Google Scholar
  13. 13.
    International Telecommunication Union (ITU-T): Recommendation Z.151: User Requirements Notation (URN) - Language Definition, October 2012Google Scholar
  14. 14.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report. CMU/SEI-90-TR-21, SEI, CMU, November 1990Google Scholar
  15. 15.
    Kienzle, J. (ed.): Transactions on Aspect-Oriented Development VII, Special Issue on a Common Case Study for Aspect-Oriented Modeling. Springer, Heidelberg (2010)zbMATHGoogle Scholar
  16. 16.
    Object Management Group: Unified Modeling Language (UML) Superstructure, v. 2.5, pp. 32–35, March 2015Google Scholar
  17. 17.
    Object Management Group (OMG): UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, June 2011Google Scholar
  18. 18.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)CrossRefzbMATHGoogle Scholar
  19. 19.
    Filman, R., Elrad, T., Clarke, S., Akşit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)Google Scholar
  20. 20.
    Schöttle, M., Alam, O., Kienzle, J., Mussbacher, G.: On the modularization provided by concern-oriented reuse. In: Modularity in Modelling Workshop - MOMO 2016, MODULARITY Companion 2016, pp. 184–189. ACM (2016)Google Scholar
  21. 21.
    Schöttle, M., Thimmegowda, N., Alam, O., Kienzle, J., Mussbacher, G.: Feature modelling and traceability for concern-driven software development with TouchCORE. In: Companion Proceedings of MODULARITY, pp. 11–14. ACM (2015)Google Scholar
  22. 22.
    Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.M.: N Degrees of separation: multi-dimensional separation of concerns. In: International Conference on Software Engineering - ICSE, pp. 107–119. IEEE (1999)Google Scholar
  23. 23.
    Weigert, T., Weil, F., van den Berg, A., Dietz, P., Marth, K.: Automated code generation for industrial-strength systems. In: COMPSAC 2008, pp. 464–472 (2008)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Céline Bensoussan
    • 1
    Email author
  • Matthias Schöttle
    • 1
  • Jörg Kienzle
    • 1
  1. 1.School of Computer ScienceMcGill UniversityMontrealCanada

Personalised recommendations