Conceptual Modelling Patterns for Roles

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

Abstract

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 set of conceptual modelling patterns for the role concept that include both the static and dynamic aspects of roles. In particular, we propose the Role as Entity Types conceptual modelling pattern to deal with the full role semantics. A conceptual modelling pattern is aimed at representing a specific structure of knowledge that appears in different domains. The use of these patterns eases the definition of roles in conceptual schemas. In addition, we describe the design of schemas defined by using the patterns in order to implement them in any object-oriented language.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Albano, A., et al.: An Object Data Model with Roles. In: Proceedings of the 19th Very Large Data Bases (VLDB) Conference, pp. 39–51. Morgan Kaufmann, San Francisco (1993)Google Scholar
  2. 2.
    Baader, F., Nutt, W.: Basic Description Logics. In: Baader, F., et al. (eds.) The Description Logic Handbook: Theory, Implementation, and Applications, Cambridge University Press, New York (2003)Google Scholar
  3. 3.
    Bachman, C.W., Daya, M.: The Role Concept in Data Models. In: Proceedings of the 3rd Very Large Data Bases (VLDB) Conference, pp. 464–476 (1977)Google Scholar
  4. 4.
    Bäumer, D., Riehle, D., Wiberski, W., Wulf, M.: The Role Object Pattern, Proceedings of Pattern. In: Languages of Programming (PLoP) Conference, Technical Report WUCS-97-34. Washington University Dept. (1997)Google Scholar
  5. 5.
    Cabot, J., Raventos, R.: Roles as Entity Types: A Conceptual Modelling Pattern. In: Atzeni, P., Chu, W., Lu, H., Zhou, S., Ling, T.-W. (eds.) ER 2004. LNCS, vol. 3288, pp. 69–82. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Chen, P.P.: “The entity-relationship model: Towards a unified view of data. ACM Transactions on Database Systems 1(1), 9–36 (1976)CrossRefGoogle Scholar
  7. 7.
    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
  8. 8.
    Dahchour, M., Pirotte, A., Zimányi, E.: A role model and its metaclass implementation. Information Systems 29, 235–270 (2004)CrossRefGoogle Scholar
  9. 9.
    Depke, R., Engels, G., Küster, J.M.: On the Integration of Roles in the UML, Technical Report No. 214, University of Paderborn (August 2000)Google Scholar
  10. 10.
    Falkenberg, E.: Concepts for modelling information. In: Proceedings of the IFIP Conference on Modelling in Data Base Management Systems, pp. 95–109. North-Holland, Amsterdam (1976)Google Scholar
  11. 11.
    Fan, J., Barker, K., Porter, B.W., Clark, P.: Representing roles and purpose. In: Proceedings of the First International Conference on Knowledge Capture (K-CAP 2001), pp. 38–43 (2001)Google Scholar
  12. 12.
    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
  13. 13.
    Fowler, M.: Dealing with Roles, Pattern Languages of Programming (PLoP 1997) and EuroPLoP 1997 Conference, Technical Report #wucs-97-34, Dept. of Computer Science, Washington University (1997)Google Scholar
  14. 14.
    Fowler, M.: Analysis Patterns: Reusable Object Models. Addison-Wesley, Reading (1997)Google Scholar
  15. 15.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)Google Scholar
  16. 16.
    Geyer-Schulz, A., Hahsler, M.: Software Reuse with Analysis Patterns. In: Proceedings of the 8th Americas Conference on Information Systems (AMCIS 2002), pp. 1156–1165 (August 2002)Google Scholar
  17. 17.
    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
  18. 18.
    Guarino, N.: Concepts, Attributes and Arbitrary Relations. Data & Knowledge Engineering 8, 249–261 (1992)CrossRefGoogle Scholar
  19. 19.
    Halpin, T.: Conceptual Schema & Relational Database Design. Second Edn. Prentice-Hall of Australia Pty Ltd., Sydnes (1995)Google Scholar
  20. 20.
    Jodłowski, P., Habela, J., Płodzien, 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
  21. 21.
    Kendall, E.A.: Role Modeling for Agent System Analysis, Design, and Implementation. IEEE Concurrency 8(2), 34–41 (2000)CrossRefGoogle Scholar
  22. 22.
    Kristensen, B.B.: Object Oriented Modeling with Roles. In: Proceedings of the 2nd International Conference on Object-Oriented Information Systems, OOIS 1995 (1995)Google Scholar
  23. 23.
    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
  24. 24.
    Mossé, F.G.: Modeling Roles - A Practical Series of Analysis Patterns. Journal of Object Technology (JOT) 1(4), 27–37 (2002)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Nijssen, G.M., Halpin, T.A.: Conceptual Schema and Relational Database Design: a fact oriented approach. Prentice-Hall, Sydney (1989)Google Scholar
  26. 26.
    Olivé, À.: Integrity Constraints Definition in Object–Oriented Conceptual Modeling Languages. In: Song, I.-Y., et al. (eds.) ER 2003. LNCS, vol. 2813, pp. 349–362. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  27. 27.
    Olivé, A.: Representation of Generic Relationship Types in Conceptual Modeling. In: Pidduck, A.B., Mylopoulos, J., Woo, C.C., Ozsu, M.T. (eds.) CAiSE 2002. LNCS, vol. 2348, pp. 675–691. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  28. 28.
    OMG, UML 2.0 OCL Specification, Adopted Specification (ptc/03-10-14) (2003)Google Scholar
  29. 29.
    OMG, UML 2.0 Superstructure Specification, Adopted Specification (ptc/03-08- 02) (2003) Google Scholar
  30. 30.
    OMG, OMG XML Metadata Interchange Specification, v.1.2 (January 2002) Google Scholar
  31. 31.
    Papazoglou, M.P., Krämer, B.J.: A database model for object dynamics. The Very Large Databases (VLDB) Journal 6, 73–96 (1997)CrossRefGoogle Scholar
  32. 32.
    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
  33. 33.
    Pelechano, V., Albert, M., Campos, E., Pastor, O.: Automating the Code Generation of Role Classes in OO Conceptual Schemas. In: Proceedings of the 4st International Conference on Enterprise Information Systems (ICEIS 2002), pp. 656–686 (2002)Google Scholar
  34. 34.
    Pelechano, V., Pastor, O., Insfrán, E.: Automated code generation of dynamic specializations: an approach based on design patterns and formal techniques. Data & Knowledge Engineering 40, 315–353 (2002)MATHCrossRefGoogle Scholar
  35. 35.
    Pernici, B.: 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
  36. 36.
    Reenskaug, T., Wold, P., Lehne, O.A.: Working with Objects: The OOram Software Engineering Method. Prentice-Hall, Englewood Cliffs (1995)Google Scholar
  37. 37.
    Sowa, J.: Conceptual Structures: Information Processing in Mind and Machine. Addison-Wesley Publishing Company, New York (1984)MATHGoogle Scholar
  38. 38.
    Steimann, F.: On the Representation of Roles in Object-oriented and Conceptual Modelling. Data & Knowledge Engineering 35, 83–106 (2000)MATHCrossRefGoogle Scholar
  39. 39.
    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
  40. 40.
    F. Steimann, “Role=Interface”, Journal of Object-Oriented Programming, October/November 2001, Vol. 14, Num. 14, pp. 23-32. Google Scholar
  41. 41.
    Süß, J.G., Leicher, A., Chabarek, F.: Software Model Engineering and Reuse with the Evolution and Validation Environment. In: Guelfi, N., Astesiano, E., Reggio, G. (eds.) FIDJI 2003. LNCS, vol. 2952, pp. 96–105. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  42. 42.
    Thalheim, B.: Entity-Relationship Modeling: Foundations of Database Technology. Springer, Heidelberg (2000)MATHGoogle Scholar
  43. 43.
    Teniente, E.: Analysis Pattern Definition in the UML. In: Proceedings Information Resources Management Association (IRMA), pp. 774–777. Idea Group Pub., USA (2003)Google Scholar
  44. 44.
    Wieringa, R., de Jorge, 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
  45. 45.
    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 2006

Authors and Affiliations

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

Personalised recommendations