The Interplay between Relationships, Roles and Objects

  • Matteo Baldoni
  • Guido Boella
  • Leendert van der Torre
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5961)

Abstract

In this paper we study the interconnection between relationships and roles. We start from the patterns used to introduce relationships in object oriented languages, and we show how the role model proposed in powerJava can be used to define roles. In particular, we focus on how to implement roles in an abstract way in objects representing relationships, and to specify the interconnections between the roles. Abstract roles cannot be instantiated. To participate in a relationship, objects have to extend the abstract roles of the relationship. Only when roles are implemented in the objects offering them, they can be instantiated, thus allowing another object to play those roles.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Rumbaugh, J.: Relations as semantic constructs in an object-oriented language. In: Procs. of OOPSLA, pp. 466–481 (1987)Google Scholar
  2. 2.
    Noble, J.: Basic relationship patterns. Pattern Languages of Program Design, vol. 4. Addison-Wesley, Reading (2000)Google Scholar
  3. 3.
    Bierman, G., Wren, A.: First-class relationships in an object-oriented language. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 262–286. Springer, Heidelberg (2005)Google Scholar
  4. 4.
    Albano, A., Bergamini, R., Ghelli, G., Orsini, R.: An object data model with roles. In: Procs. of Very Large DataBases (VLDB 1993), pp. 39–51 (1993)Google Scholar
  5. 5.
    Noble, J., Grundy, J.: Explicit relationships in object-oriented development. In: Procs. of TOOLS 18 (1995)Google Scholar
  6. 6.
    Guarino, N., Welty, C.: Evaluating ontological decisions with ontoclean. Communications of ACM 45(2), 61–65 (2002)CrossRefGoogle Scholar
  7. 7.
    Baldoni, M., Boella, G., van der Torre, L.: Roles as a coordination construct: Introducing powerJava. Electronic Notes in Theoretical Computer Science 150, 9–29 (2006)CrossRefGoogle Scholar
  8. 8.
    Baldoni, M., Boella, G., van der Torre, L.W.N.: Modelling the interaction between objects: Roles as affordances. In: Lang, J., Lin, F., Wang, J. (eds.) KSEM 2006. LNCS (LNAI), vol. 4092, pp. 42–54. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Baldoni, M., Boella, G., van der Torre, L.: Interaction among objects via roles: sessions and affordances in powerjava. In: Procs. of PPPJ 2006, pp. 188–193. ACM, New York (2006)CrossRefGoogle Scholar
  10. 10.
    Baldoni, M., Boella, G., van der Torre, L.: Interaction between Objects in powerJava. Journal of Object Technology 6, 7–12 (2007)Google Scholar
  11. 11.
    Baldoni, M., Boella, G., van der Torre, L.: Relationships meet their roles in object oriented programming. In: Arbab, F., Sirjani, M. (eds.) FSEN 2007. LNCS, vol. 4767, pp. 440–448. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Pearce, D., Noble, J.: Relationship aspects. In: Procs. of AOSD, pp. 75–86 (2006)Google Scholar
  13. 13.
    OMG: OMG Unified Modeling Language Specification, Version 1.3 (1999)Google Scholar
  14. 14.
    Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999)Google Scholar
  15. 15.
    Steimann, F.: A radical revision of UML’s role concept. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 194–209. Springer, Heidelberg (2000)Google Scholar
  16. 16.
    Steimann, F.: On the representation of roles in object-oriented and conceptual modelling. Data and Knowledge Engineering 35, 83–848 (2000)MATHCrossRefGoogle Scholar
  17. 17.
    Smith, M., Drossopoulou, S.: Inner classes visit aliasing. In: ECOOP 2003 Workshop on Formal Techniques for Java-like Programming (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Matteo Baldoni
    • 1
  • Guido Boella
    • 1
  • Leendert van der Torre
    • 2
  1. 1.Dipartimento di InformaticaUniversità di TorinoItaly
  2. 2.University of Luxembourg 

Personalised recommendations