Generating Code for Mapping UML Associations Into C#

Iraky H. Khalifa, Ebada A. Sarhan, Magdy S. A. Mahmoud

Abstract

Object-oriented programming languages do not contain syntax or semantics to express associations directly. Therefore, UML associations have to be implemented by an adequate combination of classes, attributes and methods. This paper presents some principles for the implementation a UML binary associations in CSharp (C#), paying special attention to multiplicity and navigability. Our implementation has some specification for bidirectional associations. These principles have been used to write a series of code patterns that we use in combination with using tools which generating code for associations, such as Poseidon for UML and Enterprise Architect. These Tools are read from a UML model stored in XMI (XML Metadata Interchange) format.

References

  1. Object Management Group. XML Metadata Interchange (XMI) Specification, Version 1.2, January 2002. Available at http://www.omg.org/.
  2. James Rumbaugh. "A Search for Values: Attributes and Associations". Journal of Object Oriented Programming, 9(3):6-8, June 1996.
  3. Scott W. Ambler. “An Overview of Object Relationships”, “Unidirectional Object Relationships”, “Implementing One-to-Many Object Relationships”, “Implementing Many-toMany Object Relationships”. A series of tips to be found at IBM Developer Works, http://www-106.ibm.com/developerworks/.
  4. Hermann Kaindl. “Difficulties in the Transition from OO Analysis to Design”. IEEE Software, 16(5):94-102 (1999).
  5. The Poseidon UML tool, http://www.gentleware.com//
  6. James Rumbaugh. "Relations as Semantic Constructs in an Object- Oriented Language", In Proceedings of the ACM Conference on Object-Oriented Programming: Systems, Languages and Applications, pp. 466-481, Orlando, Florida, 1987.
  7. Object Management Group. Unified Modeling Language (UML) Specification, Version 1.4, September 2001 (Version 1.3, June 1999). Available at http://www.omg.org/.
  8. Gonzalo Génova. "Semantics of Navigability in UML Associations". Technical Report UC3M-TR-CS-2001-06, Computer Science Department, Carlos III University of Madrid, November 2001, pp. 233-251.
  9. Gonzalo Génova, Juan Llorens, Vicente Palacios. "Sending Messages in UML", Journal of Object Technology, vol.2, no.1, Jan-Feb 2003, pp. 99- 115, http://www.jot.fm/issues/issue_2003_01/article3.
  10. Il-Yeol Song, Mary Evans, E.K. Park. "A Comparative Analysis of Entity- Relationship Diagrams", Journal of Computer and Software Engineering, 3(4):427-459 (1995).
  11. William Harrison, Charles Barton, Mukund Raghavachari. "Mapping UML Designs to Java". The 15th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications-OOPSLA'2000, October 15-19 2000, Minneapolis, Minnesota, United States. ACM SIGPLAN Notices, 35(10): 178-187. ACM Press, New York, NY, USA.
  12. Guy Genilloud. "Informal UML 1.3 - Remarks, Questions, and some Answers". UML Semantics FAQ Workshop (held at ECOOP'99), Lisbon, Portugal, June 12th 1999.
  13. The Fujaba CASE Tool, University of Paderborn, http://www.fujaba.de/.
  14. Java Community Process. Java Metadata Interface (JMI) Specification, Version 1.0, June 2002. Available at http://www.jcp.org/.
Download


Paper Citation


in Harvard Style

H. Khalifa I., A. Sarhan E. and S. A. Mahmoud M. (2005). Generating Code for Mapping UML Associations Into C# . In Proceedings of the Joint Workshop on Web Services and Model-Driven Enterprise Information Systems - Volume 1: WSMDEIS, (ICEIS 2005) ISBN 972-8865-27-9, pages 39-53. DOI: 10.5220/0002557200390053


in Bibtex Style

@conference{wsmdeis05,
author={Iraky H. Khalifa and Ebada A. Sarhan and Magdy S. A. Mahmoud},
title={Generating Code for Mapping UML Associations Into C#},
booktitle={Proceedings of the Joint Workshop on Web Services and Model-Driven Enterprise Information Systems - Volume 1: WSMDEIS, (ICEIS 2005)},
year={2005},
pages={39-53},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0002557200390053},
isbn={972-8865-27-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the Joint Workshop on Web Services and Model-Driven Enterprise Information Systems - Volume 1: WSMDEIS, (ICEIS 2005)
TI - Generating Code for Mapping UML Associations Into C#
SN - 972-8865-27-9
AU - H. Khalifa I.
AU - A. Sarhan E.
AU - S. A. Mahmoud M.
PY - 2005
SP - 39
EP - 53
DO - 10.5220/0002557200390053