In proceedings of MoDELS/UML 2005, Steimann argues that domain models are aspect free. Steimann’s hypothesis is that the notion of aspect in aspect-oriented software development (AOSD) is a meta-level concept. He concludes that aspects are technical concepts, i.e., a property of programming and not a means to reason about domain concepts in a modular fashion. In this paper we argue otherwise. We highlight that, by ignoring the body of work on Early Aspects, Steimann in fact ignores the problem domain itself. Early Aspects techniques support improved modular and compositional reasoning about the problem domain. Using concrete examples we argue that domain models do indeed have aspects which need first-class support for such reasoning. Steimann’s argument is based on treating quantification and obliviousness as fundamental properties of AOSD. Using concrete application studies we challenge this basis and argue that abstraction, modularity and composability are much more fundamental.


Domain Model Problem Domain Domain Concept Architectural Choice Early Aspect 
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.
    AspectJ Project (2006), http://www.eclipse.org/aspectj/
  2. 2.
    Baniassad, E., et al.: Discovering Early Aspects. IEEE Software 23(1), 61–69 (2006)CrossRefGoogle Scholar
  3. 3.
    Batory, D., et al.: Scaling Stepwise-Refinement. IEEE Trans. on Soft. Engg. 30(6) (2004)Google Scholar
  4. 4.
    Bergmans, L., Aksit, M.: Composing Crosscutting Concerns using Composition Filters. CACM 44(10), 51–57 (2001)Google Scholar
  5. 5.
    Cacho, N., et al.: Composing Design Patterns: A Scalability Study of Aspect-Oriented Programming. In: Proc. AOSD Conf., pp. 109–121. ACM, New York (2006)CrossRefGoogle Scholar
  6. 6.
    Chitchyan, R., et al.: Initial Version of Aspect-Oriented Requirements Engineering Model, AOSD-Europe Report D36 (AOSD-Europe-ULANC-17) (2006), http://www.aosd-europe.net
  7. 7.
    Chung, L., et al.: Non-Functional Requirements in Software Engineering. Kluwer, Dordrecht (2000)MATHGoogle Scholar
  8. 8.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, Reading (2005)Google Scholar
  9. 9.
    Colyer, A., et al.: On the Separation of Concerns in Program Families, Lancaster University Tech. Report COMP-001-2004, http://www.comp.lancs.ac.uk/computing/aose
  10. 10.
    D’Hondt, M., Jonckers, V.: Hybrid Aspects for Weaving Object-Oriented Functionality and Rule-based Knowledge. In: Proc. AOSD Conf., pp. 132–140. ACM, New York (2004)CrossRefGoogle Scholar
  11. 11.
    Dardenne, A., et al.: Goal-directed Requirements Acquisition. Science of Computer Programming 20, 3–50 (1993)MATHCrossRefGoogle Scholar
  12. 12.
    Fabry, J.: Modularizing Advanced Transaction Management - Tackling Tangled Aspect Code: PhD Thesis, Vrije Universiteit Brussel, Belgium (2005)Google Scholar
  13. 13.
    Filman, R., et al. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)Google Scholar
  14. 14.
    Filman, R., Friedman, D.: Aspect-Oriented Programming is Quantification and Obliviousness. In: OOPSLA WS on Advanced Separation of Concerns (2000)Google Scholar
  15. 15.
    Garcia, A., et al.: Modularizing Design Patterns with Aspects: A Quantitative Study. In: Proc. AOSD Conf., pp. 3–14. ACM, New York (2005)Google Scholar
  16. 16.
    Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and AspectJ. In: Proc. OOPSLA, pp. 161–173. ACM, New York (2002)Google Scholar
  17. 17.
    Jacobson, I., Ng, P.-W.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2004)Google Scholar
  18. 18.
    JBoss Aspect Oriented Programming (2006), Webpage http://www.jboss.org/products/aop
  19. 19.
    Kande, M.: A Concern-Oriented Approach to Software Architecture: PhD, EPFL (2003)Google Scholar
  20. 20.
    Kendall, E.A.: Role Model Designs and Implementations with Aspect-Oriented Programming. In: Proc. OOPSLA, pp. 353–369. ACM, New York (1999)Google Scholar
  21. 21.
    Kersten, M.A., Murphy, G.C.: Atlas: A Case Study in Building a Web-based Learning Environment using Aspect-oriented Programming. In: Proc. OOPSLA, pp. 340–352. ACM, New York (1999)Google Scholar
  22. 22.
    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
  23. 23.
    Kiczales, G., Mezini, M.: Aspect-Oriented Programming and Modular Reasoning. In: Proc. ICSE, pp. 49–58. ACM, New York (2005)Google Scholar
  24. 24.
    Kienzle, J., Guerraoui, R.: AOP: Does It Make Sense? The Case of Concurrency and Failures. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 37–61. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  25. 25.
    Laddad, R.: AOP with Metadata: Principles and Patterns, Industry Talk at AOSD (2005) Google Scholar
  26. 26.
    Moreira, A., et al.: Modeling Volatile Concerns as Aspects. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 544–558. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  27. 27.
    Moreira, A., et al.: Multi-Dimensional Separation of Concerns in Requirements Engineering. In: Proc. Requirements Engineering Conf., pp. 285–296. IEEE CS, Los Alamitos (2005)Google Scholar
  28. 28.
    Ostermann, K.: CaesarJ (2006), http://caesarj.org/
  29. 29.
    Ostermann, K., et al.: Expressive Pointcuts for Increased Modularity. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 214–240. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  30. 30.
    Pinto, M., et al.: DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development. In: Proc. GPCE, pp. 118–137. Springer, Heidelberg (2003)Google Scholar
  31. 31.
    Rashid, A.: Aspect-Oriented Database Systems. Springer, Heidelberg (2003)Google Scholar
  32. 32.
    Rashid, A., Chitchyan, R.: Persistence as an Aspect. In: Proc. AOSD, pp. 120–129. ACM, New York (2003)Google Scholar
  33. 33.
    Rashid, A., Leidenfrost, N.: VEJAL: An Aspect Language for Versioned Type Evolution in Object Databases. In: AOSD 2006 Workshop on Linking Aspect Technology and Evolution (2006)Google Scholar
  34. 34.
    Rashid, A., et al.: Modularisation and Composition of Aspectual Requirements. In: Proc. AOSD Conf., pp. 11–20. ACM, New York (2003)Google Scholar
  35. 35.
    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
  36. 36.
    Stein, D., et al.: Expressing Different Conceptual Models of Join Point Selections in Aspect-Oriented Design. In: Proc. AOSD Conf., pp. 15–26. ACM, New York (2006)CrossRefGoogle Scholar
  37. 37.
    Sutton, S.M., Rouvellou, I.: Modeling of Software Concerns in Cosmos. In: Proc. AOSD Conf., pp. 127–133. ACM, New York (2002)CrossRefGoogle Scholar
  38. 38.
    Tarr, P.L., et al.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proc. ICSE, pp. 107–119. ACM, New York (1999)Google Scholar
  39. 39.
    Whittle, J., Araujo, J.: Scenario Modelling with Aspects. IEE Proceedings - Software 151(4), 157–172 (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Awais Rashid
    • 1
  • Ana Moreira
    • 2
  1. 1.Computing DepartmentLancaster UniversityLancasterUK
  2. 2.Departamento de InformáticaUniversidade Nova de LisboaLisboaPortugal

Personalised recommendations