Designing Application Domain Models with Roles

  • Liping Zhao
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3599)


This article is motivated by two related observations. First, roles, responsibilities and collaborators are central to object interactions, and viewing of objects from these three dimensions can yield a more dynamic and flexible design than that from the class dimension. Yet the orthodox object modeling approaches, such as UML, still adopt the class view of objects. Second, models have become increasingly important in constructing application systems. For example, OMG’s Model Driven Architecture (MDA) uses models as building blocks to support application development. Based on the assumption that object-oriented approaches will still dominate the development of the MDA models, this article posits that the new models be oriented towards the roles, not towards the classes; it shows why roles are importance to MDA model design.


Unify Modeling Language Object Design Object Orient Program Travel Agent Model Drive Archi 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andersen, E.P.: Conceptual Modeling of Objects: A Role Modeling Approach, Ph.D Thesis, University of Oslo (1997)Google Scholar
  2. 2.
    Bäumer, D., Riehle, D., Siberski, W., Wulf, M.: The Role Object Pattern. In: Proceedings of 4th Conference on Pattern Languages of Programs (1997)Google Scholar
  3. 3.
    Beck, K., Cunningham, W.: A Laboratory for Teaching Object-Oriented Thinking. In: Proc the Conference on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA 1989), pp. 1–6. ACM Press, New York (1989)CrossRefGoogle Scholar
  4. 4.
    Biddle, B.J., Thomas, E.J.: Role Theory: Concepts and Research. R. E. Krieger Publishing Co, New York (1979)Google Scholar
  5. 5.
    Cain, B.G., Coplien, J.O.: A Role-Based Empirical Process Modelling Environment. In: Proc. ICSP2, Berlin, pp. 125–133 (1993)Google Scholar
  6. 6.
    Coad, P.: Object-Oriented Patterns. Comm. ACM 35(9), 152–159 (1992)CrossRefGoogle Scholar
  7. 7.
    Coplien, J.O.: Teaching OO: Putting the Object Back to OOD (2004), available at last accessed (July 1, 2004)
  8. 8.
    Cunningham, W.: A Diagram for Object-Oriented Programs. In: Proc the Conference on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA 1986), pp. 361–367. ACM Press, New York (1986)CrossRefGoogle Scholar
  9. 9.
    Foster, T., Zhao, L.: Cascade. Journal of Object-Oriented Programming 11(9), 18–24 (1999)Google Scholar
  10. 10.
    Fowler, M.: UML Distilled. Addison-Wesley, Reading (1997)Google Scholar
  11. 11.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)Google Scholar
  12. 12.
    Gottlob, G., Schrefl, M., Rock, B.: Extending Object-Oriented Systems with Roles. ACM Transactions on Information Systems 14(3), 268–296 (1996)CrossRefGoogle Scholar
  13. 13.
    Harrison, W., Osher, H.: Subject-Oriented Programming (a critique of pure objects). In: Proc the Conference on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA 1993), Washington D.C., pp. 411–428 (September 1993)Google Scholar
  14. 14.
    Henderson-Seller, B.: A Book of Object-Oriented Knowledge. Prentice Hall, Englewood Cliffs (1992)Google Scholar
  15. 15.
    Karageorgos, A., Mehandjiev, N., Thompson, S.: Designing Agent Organizations Using Role Models. Knowledge Engineering Review, Special issue on Co-ordination and Knowledge Engineering 17(4) (2003)Google Scholar
  16. 16.
    Kendall, E.A.: Agent Roles and Role Models: New Abstractions for Multiagent System Analysis and Design. In: International Workshop on Intelligent Agents in Information and Process Management, Germany (September 1998)Google Scholar
  17. 17.
    Kendall, E.A.: Role Model Designs and Implementations with Aspect-Oriented Programming. In: Proc the Conference on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA 1999). ACM Press, New York (1999)Google Scholar
  18. 18.
    Kendall, E.A., Zhao, L.: Role Models and Patterns for Agent Collaboration. In: Workshop on Behavioural Modelling, OOPSLA 1998, Addendum (October 1998)Google Scholar
  19. 19.
    Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  20. 20.
    Kristensen, B.B.: Object-Oriented Modeling with Roles. In: Proc. Second Int’l Conf. Object-Oriented Information Systems (OOIS 1995), pp. 57–71. Springer, London (1996)Google Scholar
  21. 21.
    Kristensen, B.B., Østerbye, K.: Roles: Conceptual Abstraction Theory & Practical Language Issues. Theory and Practice of Object System (TAPOS) 2(3), 143–160 (1996)CrossRefGoogle Scholar
  22. 22.
    Kristensen, B.B., Olsson, J.: Roles & Patterns in Analysis, Design and Implementation. In: Pro. 3rd International Conference on Object-Oriented Information Systems (OOIS 1996), London, England (1996)Google Scholar
  23. 23.
    Liskov, B.: Data Abstraction and Hierarchy. SIGPLAN Notices 23(5), 17–34 (1988)CrossRefGoogle Scholar
  24. 24.
    Liskov, B., Zilles, S.: Programming with Abstract Data Types. SIGPLAN Notices 9(4), 50–59 (1974)CrossRefGoogle Scholar
  25. 25.
    MDA Guide Version 1.0.1, Document Number: omg/2003-06-01 (June 12, 2003), Available at
  26. 26.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, NJ (1997)zbMATHGoogle Scholar
  27. 27.
    Meyers, S.: Effective C++, 2nd edn. Addison-Wesley, Reading (1998)Google Scholar
  28. 28.
    Nguyen, L.T., Zhao, L., Appelbe, B.: A Set Approach to Role Modeling. In: Proc. 37th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS-Pacific 2000), Sydney, Australia (November 20-23, 2000)Google Scholar
  29. 29.
    Nguyen, L.T., Taniar, D., Appelbe, B., Zhao, L.: Role Model Design and Implementation Using a Set Approach. ISCA Journal 11(2) (June 2004)Google Scholar
  30. 30.
    Park, H., Suh, W., Lee, H.: A Role-Driven Component-Oriented Methodology for Developing Collaborative Commerce Systems. Information and Software Technology (2004)Google Scholar
  31. 31.
    Reenskaug, T., Wold, P., Lehne, O.A.: Working with Objects, The OOram Software Engineering Method. Manning Publications Co, Greenwich (1996)Google Scholar
  32. 32.
    Riehle, D.: A Role-Based Design Pattern Catalog of Atomic and Composite Patterns Structured by Pattern Purpose. Ubilab Technical Report 97.1.1. Zurich, Swizerland, Union Bank of Swizerland (1997)Google Scholar
  33. 33.
    Riehle, D., Gross, T.: Role Model Based Framework Design and Integration. In: OOPSLA 1998, Proceedings of the 1998 Conference on Object Oriented Programming Systems, Languages and Applications. ACM Press, New York (1998)Google Scholar
  34. 34.
    Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F.: Object-Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  35. 35.
    Shams-Aliee, F., Warboys, B.: Roles Represent Patterns. In: Workshop on Pattern Languages of Object-Oriented Programs, ECOOP 1995 (1995)Google Scholar
  36. 36.
    Shams-Aliee, F., Warboys, B.: Applying Object-Oriented Modelling to Support Process Technology. In: Proc. the 1st World Conference on Integrated Design & Process Technology, University of Texas, Austin, USA (December 1995)Google Scholar
  37. 37.
    Snoeck, M., Dedene, G.: Generalisation/Specialisation and Role in Object Oriented Conceptual Modeling. Data and Knowledge Engineering 19(2) (1996)Google Scholar
  38. 38.
    Wirfs-Brock, R., Johnson, R.: A Survey of Current Research in Object-Oriented Design. Communication of ACM 33(9), 104–124 (1990)CrossRefGoogle Scholar
  39. 39.
    Wirfs-Brock, R., McKean, A.: Object Design: Roles, Responsibilities and Collaborations. Addison-Wesley, Reading (2003)Google Scholar
  40. 40.
    Wirfs-Brock, R., Wilkerson, B.: Object-Oriented Design: a Responsibility-Driven Approach. In: Proc the Conference on Object Oriented Programming: Systems, Languages, and Applications (OOPSLA 1989), pp. 71–76. ACM Press, New York (1989)CrossRefGoogle Scholar
  41. 41.
    Zhao, L., Coplien, J.O.: Symmetry in Class and Type Hierarchy. In: Noble, J., Potter, J. (eds.) Conferences in Research and Practice in Information Technology 10, Australian Computer Society, January 2002, pp. 181–190 (2002)Google Scholar
  42. 42.
    Zhao, L., Foster, T.: Modelling Roles with Cascade. IEEE Software 16(5), 86–93 (1999)CrossRefGoogle Scholar
  43. 43.
    Zhao, L., Kendall, E.A.: Role Modelling for Component Design. In: Proc. 33rd International Conference on Technology of Object-Oriented Languages and Systems (TOOLS Europe 2000), pp. 312–323. IEEE Computer Society, Los Alamitos (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Liping Zhao
    • 1
  1. 1.School of InformaticsUniversity of ManchesterManchesterUnited Kingdom

Personalised recommendations