Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andersen, E.P.: Conceptual Modeling of Objects: A Role Modeling Approach, Ph.D Thesis, University of Oslo (1997)
Bäumer, D., Riehle, D., Siberski, W., Wulf, M.: The Role Object Pattern. In: Proceedings of 4th Conference on Pattern Languages of Programs (1997)
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)
Biddle, B.J., Thomas, E.J.: Role Theory: Concepts and Research. R. E. Krieger Publishing Co, New York (1979)
Cain, B.G., Coplien, J.O.: A Role-Based Empirical Process Modelling Environment. In: Proc. ICSP2, Berlin, pp. 125–133 (1993)
Coad, P.: Object-Oriented Patterns. Comm. ACM 35(9), 152–159 (1992)
Coplien, J.O.: Teaching OO: Putting the Object Back to OOD (2004), available at http://www.artima.com/weblogs/index.jsp?blogger=cope last accessed (July 1, 2004)
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)
Foster, T., Zhao, L.: Cascade. Journal of Object-Oriented Programming 11(9), 18–24 (1999)
Fowler, M.: UML Distilled. Addison-Wesley, Reading (1997)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)
Gottlob, G., Schrefl, M., Rock, B.: Extending Object-Oriented Systems with Roles. ACM Transactions on Information Systems 14(3), 268–296 (1996)
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)
Henderson-Seller, B.: A Book of Object-Oriented Knowledge. Prentice Hall, Englewood Cliffs (1992)
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)
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)
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)
Kendall, E.A., Zhao, L.: Role Models and Patterns for Agent Collaboration. In: Workshop on Behavioural Modelling, OOPSLA 1998, Addendum (October 1998)
Kiczales, G., et al.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
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)
Kristensen, B.B., Østerbye, K.: Roles: Conceptual Abstraction Theory & Practical Language Issues. Theory and Practice of Object System (TAPOS) 2(3), 143–160 (1996)
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)
Liskov, B.: Data Abstraction and Hierarchy. SIGPLAN Notices 23(5), 17–34 (1988)
Liskov, B., Zilles, S.: Programming with Abstract Data Types. SIGPLAN Notices 9(4), 50–59 (1974)
MDA Guide Version 1.0.1, Document Number: omg/2003-06-01 (June 12, 2003), Available at www.omg.com
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, NJ (1997)
Meyers, S.: Effective C++, 2nd edn. Addison-Wesley, Reading (1998)
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)
Nguyen, L.T., Taniar, D., Appelbe, B., Zhao, L.: Role Model Design and Implementation Using a Set Approach. ISCA Journal 11(2) (June 2004)
Park, H., Suh, W., Lee, H.: A Role-Driven Component-Oriented Methodology for Developing Collaborative Commerce Systems. Information and Software Technology (2004)
Reenskaug, T., Wold, P., Lehne, O.A.: Working with Objects, The OOram Software Engineering Method. Manning Publications Co, Greenwich (1996)
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)
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)
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F.: Object-Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs (1991)
Shams-Aliee, F., Warboys, B.: Roles Represent Patterns. In: Workshop on Pattern Languages of Object-Oriented Programs, ECOOP 1995 (1995)
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)
Snoeck, M., Dedene, G.: Generalisation/Specialisation and Role in Object Oriented Conceptual Modeling. Data and Knowledge Engineering 19(2) (1996)
Wirfs-Brock, R., Johnson, R.: A Survey of Current Research in Object-Oriented Design. Communication of ACM 33(9), 104–124 (1990)
Wirfs-Brock, R., McKean, A.: Object Design: Roles, Responsibilities and Collaborations. Addison-Wesley, Reading (2003)
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)
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)
Zhao, L., Foster, T.: Modelling Roles with Cascade. IEEE Software 16(5), 86–93 (1999)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhao, L. (2005). Designing Application Domain Models with Roles. In: Aßmann, U., Aksit, M., Rensink, A. (eds) Model Driven Architecture. MDAFA MDAFA 2004 2003. Lecture Notes in Computer Science, vol 3599. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11538097_1
Download citation
DOI: https://doi.org/10.1007/11538097_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28240-2
Online ISBN: 978-3-540-31819-4
eBook Packages: Computer ScienceComputer Science (R0)