Bouchra El Asri, Mahmoud Nassar, Abdelaziz Kriouile, Bernard Coulette


To face the increasing complexity of software systems and to meet new needs in flexibility, adaptability and maintainability, classical object-oriented technology is not powerful enough. As pointed out by many authors, one must take into account the multiplicity of actors’ viewpoints in complex systems development. Views, subjects, roles and aspects are viewpoint-oriented concepts that permit a flexible adaptation of modelling and use of systems. This article aims to provide software developers with a comparison between view, subject, role and aspect approaches in respect to their principles and impacts on systems development as well as on systems use. After a brief presentation of these approaches, we discuss their similarities and differences by means of criteria positioning them along the software lifecycle.


  1. Abiteboul S., Bonner A., 1991. Objects and Views. Proc. of ACM SIGMOD, pp. 238-24.
  2. Aldawud O., Elrad T., Bader A., 2001. A UML Profile for Aspect Oriented Modeling. OOPSLA 2001 workshop on aspect Oriented Programming.
  3. Andersen E. P., Reenskaug, 1992. System Design by Composing Structures of Interacting Objects. Proc. of the 6th European Conference on Object-Oriented Programming (ECOOP'92), LNCS, Vol. 615. pp. 133- 152, Utrecht, The Netherlands. Springer-Verlag.
  4. Andersen E. P., 1997. Conceptual Modeling of Objects. A Role Modeling Approach. PhD thesis, Department of Informatics, University of Oslo.
  5. Bardou D., 1998. Roles, Subjects and Aspects: How do they relate? Position paper at the Aspect Oriented Programming Workshop. 12th European Conference on Object-Oriented Programming (ECOOP 7898), LNCS, vol. 1543, Springer.
  6. Bendelloul S., Mili H., Dargham J., Mcheick H., 2000. A comparison of view programming, aspect-oriented programming, subject-oriented programming from a reuse perspective. Proc. of 13th ICSSEA, Volume 4, Paris, France.
  7. Carré B., Geib J.M. , 1991. The Point of View Notion for Multiple Inheritance. Proc. of ECOOP/OOPSLA.
  8. Charrel P.J., 2002. The Viewpoint Paradigm: a semiotic based Approach for the Intelligibility of a Cooperative Designing Process. Australian Journal of Information Systems, Vol. 10, n° 1. pp. 3-19.
  9. Clarke S., Harrison W., Ossher H., Tarr P., 1999. Separating Concerns throughout the Development Lifecycle. Proc. Of ECOOP'99 Workshop on AspectOriented Programming, Lisbon, Portugal.
  10. Coulette B, Kriouile A., Marcaillou S., 1996. L'approche par points de vue dans le développement orienté objet des systèmes complexes. Revue l'Objet vol. 2, n°4, pp. 13-20.
  11. Coulondre S., Libourel T., 1999. Viewpoints Handling in an Object Model with Criterium-Based Classes. In DEXA'99, Florence. LNCS n°1677, pp. 573-582.
  12. Debrauwer L., 1998. Des vues aux contextes pour la structuration fonctionnelle de bases de données à objets en CROME. Thèse de Doctorat, LIFL, Lille.
  13. Finkelstein A., Kramer J., Goedicke M., 1990. Viewpoint Oriented Software Development. Proc. of Software Engineering and Applications Conference, pp. 337- 351, Toulouse.
  14. Gottlob G., Schrefl M., Roeck B., 1996. Extending objectoriented systems with roles. In ACM Transactions on Information Systems, vol. 14 n. 3, pp. 268-296.
  15. Harrison W., Ossher H., 1993. Subject-oriented programming : a critique of pure objects. Proc. of OOPSLA'93, Washington D.C., pp. 411-428.
  16. Kiczales G., Lampng J., Mendhekar A., Maeda C., Lopes C. V., 1997. Aspect-Oriented Programming. Proc. of the European Conference on Object-Oriented Programming (ECOOP). Finland. Springer-Verlag LNCS 1241.
  17. Kiczales G., Hilsdale E., Hugunin J., Kersten M., Palm J., Griswold W.G., 2001. An Overview of AspectJ. Proc. of ECOOP', Springer Verang LNCS2072.
  18. Kriouile A, 1995. VBOOM, une méthode orientée objet d'analyse et de conception par points de vue. Thèse d'Etat. Université Mohammed V de Rabat.
  19. Kristensen B. B., 1996. Object-oriented modeling with roles. In John Murphy and Brian Stone, editors, Proceedings of the 2nd International Conference on Object-Oriented Information Systems, pages 57-71. Springer-Verlag.
  20. Kristensen B. B., and Osterbye K., 1996. Roles : Conceptual Abstraction Theory & Practical Language Issues. Theory and Practice of Object Systems (TAPOS), 143-160, Special Issue on Subjectivity in Object-Oriented Systems.
  21. Marcaillou S., Coulette B., Kriouile A., 1994. Visibility : A new relationship for complex system modelling. In TOOLS USA'94. TOOLS13, Prentice Hall.
  22. Mili H., Dargham J., Mili A., 2000. Views: A Framework for Feature-Based Development and Distribution of OO Applications. Proc. of 33rd Hawaii Int. Conference on System Sciences. Honolulu, HI, January 4-9.
  23. Mili H., Mcheick H., and Sadou S., 2002. CorbaViews - Distributing Objects that Support Several Functional Aspects, in Journal of Object Technology, vol. 1, no. 3, Special issue : TOOLS USA 2002 proceedings, pp. 207-229.
  24. Motschnig-Pitrik R., 2000. The Viewpoint Abstraction in Object-Oriented Modeling and the UML. International Conference on Conceptual Modeling (ER 2000). Salt Lake City, Utah, USA.
  25. Nassar M., Coulette B., Kriouile A., 2002. Vers un langage de modélisation unifié supportant les vues. Rapport IRIT 02-29-R. Octobre 2002, Toulouse.
  26. Nassar M., 2003., VUML : a Viewpoint oriented UML Extension. Proc. of the 18th IEEE International Conference on Automated Software Engineering (ASE'2003), Doctoral symposium, Montreal, Canada.
  27. Nassar M., Coulette B., Crégut X., Ebsersold S.., Kriouile A., 2003. Towards a View based Unified Modeling Language. Proc. of 5th International Conference on Enterprise Information Systems (ICEIS'2003), Angers, France.
  28. OMG, 2001. Unified Modeling Language, version 1.4;
  29. Ossher H., M. Kaplan M., Harrison W., Katz A. and Kruskal V., 1995. Subject-oriented composition rules. In Proc. of OOPSLA'95, Austin, TX, pp. 235-250.
  30. Pernici B., 1990. Objects with roles. Proc. of the ACM-- IEEE Conference on Office Information Systems, Cambridge, MA, 1990.
  31. Reenskaug T., 1995. Working with Objects : The OORAM Software Engineering Method. Englewood Cliffs: Prentice Hall.
  32. Riehle D. and Gross T., 1998. Role Model Based Framework Design and Integration. Proc. of the Conference on Object-Oriented Programming Systems, Language, and Application (OOPSLA 7898). ACM press, pp. 117-133.
  33. Shilling J., Sweeny P., 1989. Three Steps to Views, Proc. of OOPSLA'89, New Orleans, LA, pp. 353-361.Suzuki J., Yamamoto Y., 1999. Extending UML with aspects : Aspect support in the design phase. In Proc. of the third ECOOP Aspect-Oriented Programming Workshop.
  34. VanHilst M. and Notkin D., 1996. Using Role Components to Implement Collaboration-Based Designs. in OOPSLA'96, San-Jose, CA, 6-10 Oct., pp. 359-369.
  35. Vanwormhoudt G., 1999. CROME : un cadre de programmation par objets structurés en contextes. Thèse de Doctorat en Informatique, LIFL, Université des Sciences et Technologies de Lille.

Paper Citation

in Harvard Style

El Asri B., Nassar M., Kriouile A. and Coulette B. (2004). VIEWS, SUBJECTS, ROLES AND ASPECTS : A COMPARISON ALONG SOFTWARE LIFECYCLE . In Proceedings of the Sixth International Conference on Enterprise Information Systems - Volume 3: ICEIS, ISBN 972-8865-00-7, pages 139-146. DOI: 10.5220/0002650201390146

in Bibtex Style

author={Bouchra El Asri and Mahmoud Nassar and Abdelaziz Kriouile and Bernard Coulette},
booktitle={Proceedings of the Sixth International Conference on Enterprise Information Systems - Volume 3: ICEIS,},

in EndNote Style

JO - Proceedings of the Sixth International Conference on Enterprise Information Systems - Volume 3: ICEIS,
SN - 972-8865-00-7
AU - El Asri B.
AU - Nassar M.
AU - Kriouile A.
AU - Coulette B.
PY - 2004
SP - 139
EP - 146
DO - 10.5220/0002650201390146