Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Content over container: object-oriented programming with multiplicities
Steimann F.  Onward! 2013 (Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, Indianapolis, IN, Oct 29-31, 2013)173-186.2013.Type:Proceedings
Date Reviewed: Mar 28 2014

This paper addresses an important conceptual gap that exists between object-oriented modeling and object-oriented programming (OOP), as practiced by users of various OOP languages. Collections are normally used in OOP to represent one-to-many object relationships, and the paper proposes the concept of “multiplicities” (usage is independent of any specific object-oriented approach) to deal with certain technical restrictions in using collections. It illustrates users’ cognitive gaps that lead to certain maintenance problems (with some associated costs in terms of effort) when the multiplicity of relationships changes.

These problems are illustrated with an example to showcase errors, including maintenance/error-proneness, subtyping constraints and problems, call semantics problems, unwrapping to access individual objects, aliasing problems, and so on. The author argues that collections give fine-grained control to the programmers, and these may be better addressed if left to multiplicities to express them at a higher abstraction, while still using collections in the background to implement them, thereby not changing the programmer’s perspective of the usage.

Using multiplicities, the author showcases letting expressions evaluate to any number of objects (instead of 0 or 1). Other multiplicity options ([0, 1] and [0, *]) are introduced to move collections from primary implementation of relationships, thereby showing how all the initially identified problems could be solved.

The costs of this approach with respect to performance (one more level of abstraction), effort (for the programmers), and performance tuning for any real-time problems (with respect to taking away more fine-grained control) remain to be seen.

Reviewer:  Srini Ramaswamy Review #: CR142121 (1406-0441)
Bookmark and Share
  Featured Reviewer  
 
Multiparadigm Languages (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Multiparadigm Languages": Date
A declarative debugger of incorrect answers for constraint functional-logic programs
Caballero R.  Curry and functional logic programming (Proceedings of the 2005 ACM SIGPLAN Workshop on Curry and Functional Logic Programming, Tallinn, Estonia, Sep 29, 2005)8-13, 2005. Type: Proceedings
Dec 22 2005
Learn to Tango with D
Bell K., Igesund L., Kelly S., Parker M., Apress, 2007.  208, Type: Book
Aug 20 2008
Programming Scala: scalability = functional programming + objects
Wampler D., Payne A., O’Reilly Media, Inc., Sebastopol, CA, 2009.  448, Type: Book (978-0-596155-95-7), Reviews: (1 of 2)
Jun 11 2010
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy