Skip to main content
Article thumbnail
Location of Repository

Implementing Associations: UML 2.0 to Java 5

By David H. Akehurst, Gareth Howells and Klaus D. McDonald-Maier


A significant current software engineering problem is the conceptual mismatch between the abstract concept of an association as found in modelling languages such as UML and the lower level expressive facilities available in object-oriented languages such as Java. This paper introduces some code generation patterns that aid the production of Java based implementations from UML models. The work is motivated by a project to construct model driven development tools in support of the construction of embedded systems. This involves the specification and implementation of a number of meta-models (or models of languages). Many current UML oriented tools provide code generation facilities, in particular the generation of object-oriented code from class diagrams. However, many of the more complex aspects of class diagrams, such as qualified associations are not supported. In addition, several concepts introduced in UML version 2.0 are also not supported. The aim of the work presented in this paper is to develop a number of code generation patterns that allow us to support the automatic generation of Java code from UML class diagrams that support these new and complex association concepts. These patterns significantly improve the code generation abilities of UML tools, providing a useful automation facility that bridges the gap between the concept of an association and lower level object-oriented programming languages

Topics: T, QA76
Publisher: Springer-Verlag
Year: 2006
OAI identifier:

Suggested articles


  1. (2003). A construct for effectively implementing semantic associations. doi
  2. (2001). Application of the UML associations and their adornments in design recovery. doi
  3. (1997). Applying UML and patterns:
  4. (1997). Basic relationship patterns. In: proceedings
  5. (2004). Codegenerierung für Assoziationen in MOF 2.0. In:
  6. (1995). Design Patterns: Elements ofReusableObject-Oriented Software.Addison-Wesley, doi
  7. (2003). G.:Interlacement of structural and dynamic aspects in UML associations (Spanish).
  8. (2004). Generics in the Java programming language. doi
  9. (2002)Implementing associations:
  10. (2003). IBM: Eclipse Modeling Framework.
  11. (2001). IBM: Eclipse universal tool platform. http:/
  12. (1993). Implementing associations with Ada.
  13. (2002). KMF-team: Kent modelling framework (KMF).
  14. (2000). Mapping UML doi
  15. (2003). Mapping UML associations into Java Code. doi
  16. (2000). Mapping UML designs to Java. In: doi
  17. ModEasy-Team: ModEasy project.
  18. (2003). NetBeans Metadata Repository.
  19. (2003). object facility (MOF) 2.0 core specification.
  20. (2003). OMG: UML 2.0 infrastructure specification. doi
  21. (2003). OMG: UML 2.0 superstructure specification.
  22. (2004). On generalization and overriding in UML 2.0. In: doi
  23. (2002). On the interpretation of binary associations in the Unified Modelling Language. doi
  24. (2002). Process: Java metadata interface (JMI) specification.
  25. (2004). Recovering binary class relationships: putting icing on the UML cake. In: doi
  26. (2002). The meaning of multiplicity of n-ary associations in UML. doi
  27. (1999). The normal object form: bridging the gap from models to code. doi
  28. (2003). The pragmatics of model-driven development. doi
  29. (1998). Transformation rules for UML class diagrams. doi
  30. (2004). UML 2 composition model. doi
  31. (2004). UML associations: a structural and contextual view. doi
  32. (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edn.
  33. (2004). Yet another association implementation. In:

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.