Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Bidirectional associations are supported as well by using two unidirectional associations between the same elements in opposite direction.
- 3.
The results for the other operations, i.e., access performance, iteration, and removal, are not shown for space reasons. They are available in [5], which also describes additional experiments that we ran to compare performance on different Java execution platforms.
References
Ahuja, K.V.: Technical Whitepaper: Performance Evaluation | Java Collections Framework (2008). http://scrtchpad.files.wordpress.com/2008/10/java-collections-performance-evaluation.pdf
Akehurst, D., Howells, G., McDonald-Maier, K.: Implementing associations: UML 2.0 to Java 5. Softw. Syst. Model. 6(1), 3–35 (2006)
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)
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)
Bensoussan, C.: Associations in MDE: A Concern-Oriented, Reusable Solution. M.Sc. Thesis, School of Computer Science, McGill University, March 2016
Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39, 41–47 (2006)
EJ Technologies: JProfiler. https://www.ej-technologies.com/products/jprofiler/overview.html
France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Future of Software Engineering, pp. 37–54. IEEE (2007)
Génova, G., del Castillo, C.R., Llorens, J.: Mapping UML associations into Java code. J. Object Technol. 2(5), 135–162 (2003)
Georges, A., Buytaert, D., Eeckhout, L.: Statistically rigorous java performance evaluation. SIGPLAN Not. 42(10), 57–76 (2007)
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)
Harrison, W., Barton, C.: Mapping UML designs to Java. In: OOPSLA, pp. 178–188. ACM Press (2000)
International Telecommunication Union (ITU-T): Recommendation Z.151: User Requirements Notation (URN) - Language Definition, October 2012
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 1990
Kienzle, J. (ed.): Transactions on Aspect-Oriented Development VII, Special Issue on a Common Case Study for Aspect-Oriented Modeling. Springer, Heidelberg (2010)
Object Management Group: Unified Modeling Language (UML) Superstructure, v. 2.5, pp. 32–35, March 2015
Object Management Group (OMG): UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, June 2011
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)
Filman, R., Elrad, T., Clarke, S., Akşit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)
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)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Bensoussan, C., Schöttle, M., Kienzle, J. (2016). Associations in MDE: A Concern-Oriented, Reusable Solution. In: Wąsowski, A., Lönn, H. (eds) Modelling Foundations and Applications. ECMFA 2016. Lecture Notes in Computer Science(), vol 9764. Springer, Cham. https://doi.org/10.1007/978-3-319-42061-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-42061-5_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-42060-8
Online ISBN: 978-3-319-42061-5
eBook Packages: Computer ScienceComputer Science (R0)