Concerned About Separation

  • Hafedh Mili
  • Houari Sahraoui
  • Hakim Lounis
  • Hamid Mcheick
  • Amel Elkharraz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3922)


The separation of concerns, as a conceptual tool, enables us to manage the complexity of the software systems that we develop. There have been a number of approaches aimed at modularizing software around the natural boundaries of the various concerns, including subject-oriented programming, composition filters, aspect-oriented programming, and our own view-oriented programming. The growing body of experiences in using these approaches has identified a number of fundamental issues such as what is a concern, what is an aspect, which concerns are inherently separable, and which aspects are composable. To address these issues, we need to focus on the semantics of separation of concerns, as opposed to the mechanics (and semantics) of aspect-oriented software development methods. We propose a conceptual framework based on a transformational view of software development. Our framework affords us a unified view of the different aspect-oriented development techniques which enables us a simple expression for the separability issue.


Virtual Machine Software Development Composition Operator Functional Requirement Java Virtual Machine 
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.


  1. 1.
    Bardou, D., Dony, C.: Split objects: a disciplined use of delegation within objects. In: Proc. OOPSLA (1996)Google Scholar
  2. 2.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice (1998)Google Scholar
  3. 3.
    Baxter, I.: Design Maintenance Systems. CACM 35(4), 73–89 (1992)CrossRefGoogle Scholar
  4. 4.
    Dasgupta, S.: The Nature of Design Problems. In: Design Theory and Computer Science, pp. 13–35. Cambridge University Press, Cambridge (1991)CrossRefGoogle Scholar
  5. 5.
    Filman, R.E., Friedman, D.P.: Aspect-oriented programming is quantification and obliviousness. In: proc. of OOPSLA workshop on Advanced Separation of Concerns (2000)Google Scholar
  6. 6.
    Harrison, W., Ossher, H.: Subject-oriented programming: a critique of pure objects. In: Proc. OOPSLA 1993 (1993)Google Scholar
  7. 7.
    Herrmann, S., Mezini, M.: On the Need for a Unified MDSOC Model: Experiences from Constructing a Modular Software Engineering Environment. In: MSDOC workshop, OOPSLA (2000)Google Scholar
  8. 8.
    Kendall, E.A.: Role Model Designs and Implementations with Aspect Oriented Programming. In: Proc. OOPSLA 1999 (1999)Google Scholar
  9. 9.
    Kersten, M., Murphy, G.: Atlas: a case study in building a Web-based learning environment using aspect-oriented programming. In: proc. OOPSLA 1999 (1999)Google Scholar
  10. 10.
    Kiczales, G., Lamping, J., Lopez, C.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)Google Scholar
  11. 11.
    Mili, H.: On behavioral descriptions in oject-oriented modeling. Journal of Systems and Software (1996)Google Scholar
  12. 12.
    Mili, H., Mili, A., Dargham, J., Cherkaoui, O., Godin, R.: View Programming: Towards a Framework for Decentralized Development and Execution of OO Programs. In: Proceedings of TOOLS USA 1999 (1999)Google Scholar
  13. 13.
    Mili, H., Mcheick, H., Dargham, J.: CorbaViews: Distribting objects with several functional aspects. Journal of Object Technology (August 2002)Google Scholar
  14. 14.
    Ossher, H., Kaplan, M., Harrison, W., Katz, A., Kruskal, V.: Specifying subject-oriented composition. In: TAPOS, vol. 2(3) (1996)Google Scholar
  15. 15.
    Robillard, M., Murphy, G.: Analyzing Concerns Using Class Member Dependencies. In: Position paper for the ICSE Workshop on Advanced Separation of Concerns in SE (2001)Google Scholar
  16. 16.
    Simon, H.A.: Models of bounded rationality, vol. 2. MIT Press, Cambridge (1982)Google Scholar
  17. 17.
    Soued, T., Yahiaoui, N., Seinturier, L., Traverson, B.: Techniques d’aspect pour la gestion de la mémoire répartie dans un environnement CORBA/C++. In: Proc. of NOTERE 2005 (2005)Google Scholar
  18. 18.
    Reenskaugh, T.: Working with Objects. Prentice-Hall, Englewood Cliffs (1995)Google Scholar
  19. 19.
    Steimann, F.: Domain Models Are Aspect Free. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 171–185. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Tip, F., Choi, J.-D., Field, J., Ramalingam, G.: Slicing class hierarchies in C++. In: Proc. of OOPSLA 1996 (1966)Google Scholar
  21. 21.
    Zave, P., Jackson, M.: Conjunction as Composition. ACM Trans. on Softw. Eng. Methodol 2(4), 379–411 (1993)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Hafedh Mili
    • 1
  • Houari Sahraoui
    • 2
  • Hakim Lounis
    • 1
  • Hamid Mcheick
    • 1
  • Amel Elkharraz
    • 1
    • 2
  1. 1.LATECEUniversité du Québec à MontréalMontréalCanada
  2. 2.GEODESUniversité de MontréalMontréalCanada

Personalised recommendations