A Symmetric and Unified Approach Towards Combining Aspect-Oriented and Component-Based Software Development

  • Davy Suvée
  • Bruno De Fraine
  • Wim Vanderperren
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4063)


In this paper, we propose a novel approach towards integrating the ideas behind Aspect-Oriented and Component-Based Software Development. Our approach aims at achieving a symmetric, unified component architecture that treats aspects and components as uniform entities. To this end, a novel component model is introduced that does not employ specialized aspect constructs for modularizing crosscutting concerns. Instead, an expressive configuration language is provided that allows to describe both regular and aspect-oriented interactions amongst components. This paper presents the ongoing FuseJ research, a first experiment for realizing this symmetric and unified aspect/component architecture.


Regular Component Architectural Description Language Remote Host TransferS Service Small Case Study 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akşit, M. (ed.): Proc. 2nd Int’. Conf. on Aspect-Oriented Software Development (AOSD 2003). ACM Press, New York (2003)Google Scholar
  2. 2.
    Aßmann, U.: Invasive Software Composition, 1st edn. Springer, Heidelberg (2003)MATHGoogle Scholar
  3. 3.
    Bonér, J., Vasseur, A.: AspectWerkz: simple, high-performant, dynamic, lightweight and powerful AOP for Java (2004), Home page at: http://aspectwerkz.codehaus.org/
  4. 4.
    Burke, B., et al.: JBoss Aspect-Oriented Programming (2004), Home page at: http://www.jboss.org/products/aop
  5. 5.
    Duclos, F., Estublier, J., Morat, P.: Describing and using non functional aspects in component based applications. In: Kiczales [9], pp. 65–75Google Scholar
  6. 6.
    Garlan, D., Shaw, M.: An introduction to software architecture. Advances in Software Engineering and Knowledge Engineering 1, 1–40 (1994)Google Scholar
  7. 7.
    Göbel, S., Pohl, C., Röttger, S., Zschaler, S.: The COMQUAD component model: enabling dynamic selection of implementations by weaving non-functional aspects. In: Lieberherr, K. (ed.) Proc. 3rd Int’. Conf. on Aspect-Oriented Software Development (AOSD 2004), pp. 74–82. ACM Press, New York (2004)CrossRefGoogle Scholar
  8. 8.
    Johnson, R., et al.: Spring Java/J2EE Application Framework, Reference Documentation (2004), available at: http://www.springframework.org/docs/spring-reference.pdf
  9. 9.
    Kiczales, G. (ed.): Proc. 1st Int’. Conf. on Aspect-Oriented Software Development (AOSD 2002). ACM Press, New York (2002)Google Scholar
  10. 10.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Lagaisse, B., Joosen, W.: Component-based open middleware supporting aspect- oriented software composition. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 139–254. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Ossher, H., Tarr, P.: Multi-dimensional separation of concerns and the hyperspace approach. In: Kluwer (ed.) Proceedings of the Symposium on Software Architectures and Component Technology: The State of the Art in Software Development (2000)Google Scholar
  14. 14.
    Ostermann, K., Mezini, M.: Conquering aspects with Caesar. In: Akşit [1], pp. 90–99Google Scholar
  15. 15.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Comm. ACM 15(12), 1053–1058 (1972)CrossRefGoogle Scholar
  16. 16.
    Pawlak, R., Seinturier, L., Duchien, L., Martelli, L., Legond-Aubry, F., Florin, G.: Aspect-oriented software development with Java Aspect Components. In: Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.) Aspect-Oriented Software Development, pp. 343–369. Addison-Wesley, Boston (2005)Google Scholar
  17. 17.
    Pessemier, N., Seinturier, L., Coupaye, T., Duchien, L.: A Model for developing component-based and aspect-oriented systems. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 259–274. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Pinto, M., Fuentes, L., Fayad, M., Troya, J.M.: Separation of coordination in a dynamic aspect oriented framework. In: Kiczales [9], pp. 134–140Google Scholar
  19. 19.
    Suvée, D., De Fraine, B., Vanderperren, W.: FuseJ: An architectural description language for unifying aspects and components. In: Bergmans, L., Gybels, K., Tarr, P., Erns, E. (eds.) Software Engineering Properties of Languages and Aspect Technologies (March 2005)Google Scholar
  20. 20.
    Suvée, D., Vanderperren, W.: JAsCo: An aspect-oriented approach tailored for component based software development. In: Akşit [1], pp. 21–29Google Scholar
  21. 21.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 1st edn. (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Davy Suvée
    • 1
  • Bruno De Fraine
    • 1
  • Wim Vanderperren
    • 1
  1. 1.System and Software Engineering Lab (SSEL)Vrije Universiteit BrusselBrusselsBelgium

Personalised recommendations