Abstract
UML classes involve three key elements: attributes, associations, and methods. Current object-oriented languages, like Java, do not provide a distinction between attributes and associations. Tools that generate code from associations currently provide little support for the rich semantics available to modellers such as enforcing multiplicity constraints or maintaining referential integrity. In this paper, we introduce a syntax for describing associations using a model-oriented language called Umple. We show source code from existing code-generation tools and highlight how the issues above are not adequately addressed. We outline code generation patterns currently available in Umple that resolve these difficulties and address the issues of multiplicity constraints and referential integrity.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Costal, D., Gómez, C.: On the use of association redefinition in UML class diagrams. In: Embley, D.W., Olivé, A., Ram, S. (eds.) ER 2006. LNCS, vol. 4215, pp. 513–527. Springer, Heidelberg (2006)
Object-Oriented Software Engineering: Practical Software Development using UML and Java. McGraw-Hill (2005)
Badreddin, O., Forward, A., Lethbridge, T.C.: Exploring a Model-Oriented and Executable Syntax for UML Attributes. Accepted in SERA 2013 (2013)
Object-Oriented Software Engineering: Practical Software Development using UML and Java. McGraw Hill (2001)
UmpleOnline, http://www.try.umple.org (accessed 2013)
Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley, Boston (2002)
Umple Language, http://cruise.site.uottawa.ca/umple/ (accessed 2013)
Forward, A., Lethbridge, T.C., Brestovansky, D.: Improving program comprehension by enhancing program constructs: An analysis of the umple language, pp. 311–312 (2009)
Umple language online, http://cruise.site.uottawa.ca/umpleonline/ (accessed 2013)
Norton, D.: Open-Source Modeling Tools Maturing, but Need Time to Reach Full Potential, Gartner, Inc., Tech. Rep. G00146580 (April 20, 2007)
Wikipedia Listing of UML modeling tools, http://en.wikipedia.org/wiki/List_of_UML_tools (accessed 2013)
Bourdeau, R.H., Cheng, B.H.C.: A formal semantics for object model diagrams. IEEE Trans. Software Eng. 21, 799–821 (1995)
Diskin, Z., Dingel, J.: Mappings, maps and tables: Towards formal semantics for associations in UML2. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 230–244. Springer, Heidelberg (2006)
France, R.: A problem-oriented analysis of basic UML static requirements modeling concepts. ACM SIGPLAN Notices 34, 57–69 (1999)
Overgaard, G.: A formal approach to relationships in the unified modeling language. In: Proceedings PSMT (1998)
Overgaard, G.: Formal specification of object-oriented ModellingConcepts. PhD Thesis, Dept. of Teleinformatics, Royal Inst. of Technology, Stockholm, Sweden (November 2000)
Stevens, P.: On the interpretation of binary associations in the Unified Modelling Language. Software and Systems Modeling 1, 68–79 (2002)
Genova, G., Llorens, J., Fuentes, J.M.: UML associations: A structural and contextual view. Journal of Object Technology 3, 83–100 (2004)
Miliev, D.: On the semantics of associations and association ends in UML. IEEE Trans. Software Eng., 231–258 (2007)
Wang, K., Shen, W.: Runtime checking of UML association-related constraints. In: Proceedings of the 5th International Workshop on Dynamic Analysis (2007)
Osterbye, K.: Design of a class library for association relationships. In: Proceedings of the 2007 Symposium on Library-Centric Software Design, pp. 67–75 (2007)
Badreddin, O.: Empirical Evaluation of Research Prototypes at Variable Stages of Maturity. In: ICSE Workshop on User Evaluation for Software Engineering Researchers, USER (to appear, 2013)
Badreddin, O., Lethbridge, T.C.: Combining experiments and grounded theory to evaluate a research prototype: Lessons from the umple model-oriented programming technology. In: User Evaluation for Software Engineering Researchers (USER). IEEE (2012)
Badreddin, O., Forward, A., Lethbridge, T.C.: Model oriented programming: an empirical study of comprehension. In: Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research. IBM Corp. (2012)
Badreddin, O., Lethbridge, T.C., Elassar, M.: Modeling Practices in Open Source Software. In: OSS 2013, 9th International Conference on Open Source Systems (to appear, 2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Badreddin, O., Forward, A., Lethbridge, T.C. (2014). Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity. In: Lee, R. (eds) Software Engineering Research, Management and Applications. Studies in Computational Intelligence, vol 496. Springer, Heidelberg. https://doi.org/10.1007/978-3-319-00948-3_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-00948-3_9
Publisher Name: Springer, Heidelberg
Print ISBN: 978-3-319-00947-6
Online ISBN: 978-3-319-00948-3
eBook Packages: EngineeringEngineering (R0)