Skip to main content

Generating Code for Associations Supporting Operations on Multiple Instances

  • Conference paper
  • 730 Accesses

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 230))

Abstract

Associations between objects are one of the most fundamental concepts in object-oriented design. The choices of how to implement associations determine how operations on the associated instances are performed: Sequentially or in parallel, with or without cached results, and with a transient or persistent effect. In this work, we propose a scheme that allows for generated code to support different methods of operating on associated instances, without requiring changes to the client code. These methods include using indices, traversing the association in parallel, or using a database. Instead of the sequential iterator interface, we propose to use an interface that include operations over multiple instances: Foreach, Filter, Map and Fold. This interface allows for realizing designs that involve sending messages to multiple associated instances, such as UML sequence and communication diagrams. The realization does not depend on the implementation details of the associations.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Rumbaugh, J., Jacobson, I., Booch, G.: Unified Modeling Language Reference Manual, 2nd edn. Pearson Higher Education, London (2004)

    Google Scholar 

  2. Object Management Group: OCL 2.0 Specification. Formal specification (2005)

    Google Scholar 

  3. Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)

    Google Scholar 

  4. Martin, J., Odell, J.J.: Object-oriented analysis and design. Prentice-Hall, Inc., Upper Saddle River (1992)

    Google Scholar 

  5. Larman, C.: Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development. Prentice Hall PTR, Upper Saddle River (2004)

    Google Scholar 

  6. Fowler, M.: UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)

    Google Scholar 

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

    Chapter  Google Scholar 

  8. Akehurst, D., Howells, G., McDonald-Maier, K.: Implementing associations: UML 2.0 to Java 5. Software and Systems Modeling 6(1), 3–35 (2007)

    Article  Google Scholar 

  9. Harrison, W., Barton, C., Raghavachari, M.: Mapping UML designs to Java. ACM SIGPLAN Notices 35(10), 178–187 (2000)

    Article  Google Scholar 

  10. Pigoski, T.M.: Practical Software Maintenance: Best Practices for Managing Your Software Investment. John Wiley & Sons, Inc., New York (1996)

    Google Scholar 

  11. Martin, J., McClure, C.: Software Maintenance: The Problems and Its Solutions. Prentice Hall Professional Technical Reference (1983)

    Google Scholar 

  12. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., Boston (1995)

    MATH  Google Scholar 

  13. Allen, J.: Anatomy of LISP. McGraw-Hill Book Company, New York (1978)

    MATH  Google Scholar 

  14. Iverson, K.E.: A Programming Language. John Wiley & Sons, Inc., Chichester (1962)

    Book  MATH  Google Scholar 

  15. Blaha, M., Premerlani, W.: Object-oriented modeling and design for database applications. Prentice-Hall, Inc., Upper Saddle River (1997)

    MATH  Google Scholar 

  16. Giacaman, N., Sinnen, O.: Parallel iterator for parallelising object-oriented applications. Technical Report 669, University of Auckland (November 2008)

    Google Scholar 

  17. Rogers, P., Janssen, R., Otto, A., Pleus, R., Salla, A., Sokal, V.: Storage management software and hardware. ABCs of z/OS System Programming, vol. 3. IBM Redbooks (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goldberg, M., Wiener, G. (2011). Generating Code for Associations Supporting Operations on Multiple Instances. In: Maciaszek, L.A., Loucopoulos, P. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2010. Communications in Computer and Information Science, vol 230. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23391-3_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23391-3_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23390-6

  • Online ISBN: 978-3-642-23391-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics