A Model for Developing Component-Based and Aspect-Oriented Systems

  • Nicolas Pessemier
  • Lionel Seinturier
  • Thierry Coupaye
  • Laurence Duchien
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4089)


Aspect-Oriented Programming (AOP) and Component- Based Software Engineering (CBSE) offer solutions to improve the separation of concerns and to enhance a program structure. If the integration of AOP into CBSE has already been proposed, none of these solutions focus on the application of CBSE principles to AOP. In this paper we propose a twofold integration of AOP and CBSE. We introduce a general model for components and aspects, named Fractal Aspect Component (FAC). FAC decomposes a software system into regular components and aspect components (ACs), where an AC is a regular component that embodies a crosscutting concern. We reify the aspect domain of an AC and the relationship between an AC and a component, called an aspect binding, as first-class runtime entities. This clarifies the architecture of a system where components and aspects coexist. The system can evolve from the design to the execution by adding or removing components, aspects or bindings.


Server Interface Regular Component Architecture Description Language Outgoing Call Crosscutting Concern 
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.
    Aksit, M., Bergmans, L., Vural, S.: An object-oriented language-database integration model: The composition-filters approach. In: Lehrmann Madsen, O. (ed.) ECOOP 1992. LNCS, vol. 615, pp. 372–395. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  2. 2.
    Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting software architecture to implementation. In: ICSE 2002: Proc. of the International Conference on Software Engineering, Orlando, FL, USA (May 2002)Google Scholar
  3. 3.
    Bracha, G., Cook, W.: Mixin-based inheritance. In: Meyrowitz, N. (ed.) Proceedings of the Conference on Object-Oriented Programming: Systems, Languages, and Applications / Proceedings of the European Conference on Object-Oriented Programming, Ottawa, Canada, pp. 303–311. ACM Press, New York (1990)CrossRefGoogle Scholar
  4. 4.
    Bruneton, E., Coupaye, T., Leclercq, M., Quema, V., Stefani, J.-B.: An open component model and its support in Java. In: Proceedings of the International Symposium on Component-based Software Engineering, Edinburgh, Scotland (May 2004)Google Scholar
  5. 5.
  6. 6.
    Clarke, M., Blair, G., Coulson, G., Parlavantzas, N.: An efficient component model for the construction of adaptive middleware. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, p. 160. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  7. 7.
    Dowling, J., Cahill, V.: The k-component architecture meta-model for self-adaptive software. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 81–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Duclos, F., Estublier, J., Morat, P.: Describing and using non functional aspects in component based applications. In: AOSD 2002: Proceedings of the 1st international conference on Aspect-oriented software development, pp. 65–75. ACM Press, New York (2002)CrossRefGoogle Scholar
  9. 9.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: Getting started with AspectJ. Communications of the ACM 44(10), 59–65 (2001)CrossRefGoogle Scholar
  10. 10.
    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., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 139–154. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  11. 11.
    Lieberherr, K., Lorenz, D., Mezini, M.: Programming with Aspectual Components. Technical Report NU-CCS-99-01, College of Computer Science, Northeastern University, Boston, MA (March 1999)Google Scholar
  12. 12.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transaction on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  13. 13.
    Mezini, M., Ostermann, K.: Conquering Aspects with Caesar. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), pp. 90–100. ACM Press, New York (2003)CrossRefGoogle Scholar
  14. 14.
    OMG. CORBA Components, v3.0 (full specification), Document formal/02-06-65 (June 2002)Google Scholar
  15. 15.
    Pawlak, R., Seinturier, L., Duchien, L., Florin, G., Legond-Aubry, F., Martelli, L.: JAC: An aspect-based distributed dynamic framework. Software Practise and Experience (SPE) 34(12), 1119–1148 (2004)CrossRefGoogle Scholar
  16. 16.
    Pessemier, N., Barais, O., Seinturier, L., Coupaye, T., Duchien, L.: A three level framework for adapting component-based systems. In: Second International Workshop on Coordination and Adaptation Techniques for Software Entities (WCAT 2005), Glasgow, Scotland (July 2005)Google Scholar
  17. 17.
    Seinturier, L., Pessemier, N., Duchien, L., Coupaye, T.: A component model engineered with components and aspects. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 139–153. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Suvée, D.: FuseJ web site,
  19. 19.
    Suvée, D., Vanderperren, W., Jonckers, V.: JAsCo: an aspect-oriented approach tailored for component based software development. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), pp. 21–29. ACM Press, New York (2003)CrossRefGoogle Scholar
  20. 20.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Nicolas Pessemier
    • 1
  • Lionel Seinturier
    • 1
  • Thierry Coupaye
    • 2
  • Laurence Duchien
    • 1
  1. 1.INRIA Futurs, LIFL, Jacquard project/GOALVilleneuve dAscqFrance
  2. 2.France Telecom R&DMeylanFrance

Personalised recommendations