Skip to main content

Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity

  • Conference paper
Software Engineering Research, Management and Applications

Part of the book series: Studies in Computational Intelligence ((SCI,volume 496))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Chapter  Google Scholar 

  2. Object-Oriented Software Engineering: Practical Software Development using UML and Java. McGraw-Hill (2005)

    Google Scholar 

  3. Badreddin, O., Forward, A., Lethbridge, T.C.: Exploring a Model-Oriented and Executable Syntax for UML Attributes. Accepted in SERA 2013 (2013)

    Google Scholar 

  4. Object-Oriented Software Engineering: Practical Software Development using UML and Java. McGraw Hill (2001)

    Google Scholar 

  5. UmpleOnline, http://www.try.umple.org (accessed 2013)

  6. Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley, Boston (2002)

    Google Scholar 

  7. Umple Language, http://cruise.site.uottawa.ca/umple/ (accessed 2013)

  8. Forward, A., Lethbridge, T.C., Brestovansky, D.: Improving program comprehension by enhancing program constructs: An analysis of the umple language, pp. 311–312 (2009)

    Google Scholar 

  9. Umple language online, http://cruise.site.uottawa.ca/umpleonline/ (accessed 2013)

  10. Norton, D.: Open-Source Modeling Tools Maturing, but Need Time to Reach Full Potential, Gartner, Inc., Tech. Rep. G00146580 (April 20, 2007)

    Google Scholar 

  11. Wikipedia Listing of UML modeling tools, http://en.wikipedia.org/wiki/List_of_UML_tools (accessed 2013)

  12. Bourdeau, R.H., Cheng, B.H.C.: A formal semantics for object model diagrams. IEEE Trans. Software Eng. 21, 799–821 (1995)

    Article  Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. France, R.: A problem-oriented analysis of basic UML static requirements modeling concepts. ACM SIGPLAN Notices 34, 57–69 (1999)

    Article  Google Scholar 

  15. Overgaard, G.: A formal approach to relationships in the unified modeling language. In: Proceedings PSMT (1998)

    Google Scholar 

  16. Overgaard, G.: Formal specification of object-oriented ModellingConcepts. PhD Thesis, Dept. of Teleinformatics, Royal Inst. of Technology, Stockholm, Sweden (November 2000)

    Google Scholar 

  17. Stevens, P.: On the interpretation of binary associations in the Unified Modelling Language. Software and Systems Modeling 1, 68–79 (2002)

    Google Scholar 

  18. Genova, G., Llorens, J., Fuentes, J.M.: UML associations: A structural and contextual view. Journal of Object Technology 3, 83–100 (2004)

    Article  Google Scholar 

  19. Miliev, D.: On the semantics of associations and association ends in UML. IEEE Trans. Software Eng., 231–258 (2007)

    Google Scholar 

  20. Wang, K., Shen, W.: Runtime checking of UML association-related constraints. In: Proceedings of the 5th International Workshop on Dynamic Analysis (2007)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Omar Badreddin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics