Roles as Entity Types: A Conceptual Modelling Pattern

  • Jordi Cabot
  • Ruth Raventós
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3288)


Roles are meant to capture dynamic and temporal aspects of real-world objects. The role concept has been used with many semantic meanings: dynamic class, aspect, perspective, interface or mode. This paper identifies common semantics of different role models found in the literature. Moreover, it presents a conceptual modelling pattern for the role concept that includes both the static and dynamic aspects of roles. A conceptual modelling pattern is aimed at representing a specific structure of knowledge that appears in different domains. In particular, we adapt the pattern to UML. The use of this pattern eases the definition of roles in conceptual schemas. In addition, we describe the design of schemas defined using our pattern in order to implement them in any object-oriented language. We also discuss the advantages of our approach over previous ones.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Albano, Bergamini, R., Ghelli, G., Orsini, R.: An Object Data Model with Roles. In: Proceedings of the 19th VLDB Conference, pp. 39–51. Morgan Kaufmann, San Francisco (1993)Google Scholar
  2. 2.
    Bachman, C.W., Daya, M.: The Role Concept in Data Models. In: Proceedings of the Third International Conference on Very Large Databases, pp. 464–476 (1977)Google Scholar
  3. 3.
    Bäumer, D., Riehle, D., Wiberski, W., Wulf, M.: The Role Object Pattern. In: Proceedings of PLoP, Technical Report WUCS-97-34. Washington University Dept. (1997)Google Scholar
  4. 4.
    Cabot, J., Raventos, R.: Roles as Entity Types: A Conceptual Modelling Pattern. Technical Report No. LSI-03-55-R, UPC (December 2003)Google Scholar
  5. 5.
    Chu, W.W., Zhang, G.: Associations and Roles in Object-oriented Modeling. In: Embley, D.W. (ed.) ER 1997. LNCS, vol. 1331, pp. 257–270. Springer, Heidelberg (1997)Google Scholar
  6. 6.
    Dahchour, M., Pirotte, A., Zimányi, E.: A role model and its metaclass implementation. Information Systems 29, 235–270 (2004)CrossRefGoogle Scholar
  7. 7.
    Depke, R., Engels, G., Küster, J.M.: On the Integration of Roles in the UML. Technical Report No. 214, Universityof Paderborn (August 2000)Google Scholar
  8. 8.
    Fernandez, E.B., Yuan, X.: Semantic Analisis Patterns. In: Laender, A.H.F., Liddle, S.W., Storey, V.C. (eds.) ER 2000. LNCS, vol. 1920, pp. 183–195. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  9. 9.
    Fowler, M.: Dealing with Roles. PLoP 1997 and EuroPLoP 1997 Conference, Technical Report #wucs-97-34, Dept. of Computer Science, Washington University (1997)Google Scholar
  10. 10.
    Fowler, M.: Analysis Patterns: Reusable Object Models. Addison-Wesley, Reading (1997)Google Scholar
  11. 11.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)Google Scholar
  12. 12.
    Geyer-Schulz, A., Hahsler, M.: Software Reuse with Analysis Patterns. In: Proceedings of AMCIS 2002 (August 2002)Google Scholar
  13. 13.
    Gottlob, G., Schrefl, M., Röck, B.: Extending Object-oriented Systems with Roles. ACM Transactions on Information Systems 14(3), 268–296 (1996)CrossRefGoogle Scholar
  14. 14.
    Guarino, N.: Concepts, Attributes and Arbitrary Relations. Data & Knowledge Engineering 8, 249–261 (1992)CrossRefGoogle Scholar
  15. 15.
    Jodłowski, A., Habela, P., Płodzien, J., Subieta, C.: Extending OO Metamodels towards Dynamic Object Roles. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 1032–1047. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Kristensen, B.B.: Object Oriented Modeling with Roles. In: Proceedings of the 2nd Int. Conf. on Object-Oriented Information Systems, OOIS 1995 (1995)Google Scholar
  17. 17.
    Lea, D., Marlowe, J.: Interface-Based Protocol Specification of Open Systems using PSL. In: Olthoff, W. (ed.) ECOOP 1995. LNCS, vol. 952, pp. 374–398. Springer, Heidelberg (1995)Google Scholar
  18. 18.
    Olivé, A.: Integrity Constraints Definition in Object–Oriented Conceptual Modeling Languages. In: Song, I.-Y., Liddle, S.W., Ling, T.-W., Scheuermann, P. (eds.) ER 2003. LNCS, vol. 2813, pp. 349–362. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    Object Management Group, OMG Adopted Specification, “UML 2.0 OCL” (October 2003)Google Scholar
  20. 20.
    Object Management Group, OMG Adopted Specification. “UML 2.0 Superstructure Specification” (August 2002)Google Scholar
  21. 21.
    Object Management Group, “OMG XML Metadata Interchange Specification”, v.1.2 (January 2002)Google Scholar
  22. 22.
    Papazoglou, M.P., Krämer, B.J.: A database model for object dynamics. The VLDB Journal (6), 73–96 (1997)Google Scholar
  23. 23.
    Papazoglou, M.P.: Modeling Object Dynamics. In: Papazoglou, M.P., Spaccapietra, S., Tari, Z. (eds.) Advances in Object-Oriented Data Modeling, pp. 195–217. MIT Press, Cambridge (2000)Google Scholar
  24. 24.
    Pelechano, V., Albert, M., Campos, E., Pastor, O.: Automating the Code Generation of Role Classes in OO Conceptual Schemas. In: Proceedings of the 4st Int. Conf. on Enterprise Information Systems (ICEIS 2002), pp. 656–686 (2002)Google Scholar
  25. 25.
    Pernici: Objects with Roles. In: Proceedings of the Conference on Office Information Systems, SIGOIS Bulletin, vol. 11(2/3), pp. 205–215. ACM Press, New York (1990)CrossRefGoogle Scholar
  26. 26.
    Sowa, J.: Conceptual Structures: Information Processing in Mind and Machine. Addison-Wesley Publishing Company, New York (1984)MATHGoogle Scholar
  27. 27.
    Steimann, F.: On the Representation of Roles in Object-oriented and Conceptual Modelling. Data & Knowledge Engineering 35, 83–106 (2000)MATHCrossRefGoogle Scholar
  28. 28.
    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
  29. 29.
    Steimann, F.: Role=Interface. Journal of Object-Oriented Programming 14(14), 23–32 (2001)Google Scholar
  30. 30.
    Teniente, E.: Analysis Pattern Definition in the UML. In: Proceedings IRMA 2003, pp. 774–777. Idea Group Pub. (2003)Google Scholar
  31. 31.
    Wieringa, R., de Jonge, W., Spruit, P.: Using Dynamic Classes and Role Classes to Model Object Migration. Theory and Practice of Object Systems 1(1), 61–83 (1995)Google Scholar
  32. 32.
    Wong, R.K., Chau, H.L., Lochovsky, F.H.: A Data Model and Semantics of Objects with Dynamic Roles. In: 13th International Conference on Data Engineering, pp. 402–411. IEEE Computer Society, Los AlamitosGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Jordi Cabot
    • 1
    • 2
  • Ruth Raventós
    • 2
  1. 1.Estudis d’Informàtica i MultimèdiaUniversitat Oberta de Catalunya 
  2. 2.Dept. Llenguatges i Sistemas InformàticsUniversitat Politècnica de Catalunya 

Personalised recommendations