A Component Model Engineered with Components and Aspects

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


This paper presents AOKell, a framework for engineering component-based systems. This framework implements the Fractal model, a hierarchical and dynamic component model. The novelty of this paper lies in the presentation of AOKell, an implementation of the Fractal model with aspects. Two dimensions can be isolated with Fractal: the functional dimension, which is concerned with the definition of application components, and the control dimension, which is concerned with the technical services (e.g. lifecycle, binding, persistence, etc.) that manage components. The originality of AOKell is, first, to provide an aspect-oriented approach to integrate these two dimensions, and second, to apply a component-based approach for engineering the control dimension. Hence, AOKell is a reflective component framework where application components are managed by other, so-called, control components and where aspects glue together application components and control components.


Component Model Server Component Control Dimension Control Component Control Interface 
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.
    Bodoff, S., Armstrong, E., Ball, J., Carson, D.: The J2EE Tutorial, 2nd edn. Addison-Wesley, Reading (2004), Google Scholar
  2. 2.
    Siegel, J.: CORBA 3 Fundamentals and Programming, 2nd edn. Wiley, Chichester (2000)Google Scholar
  3. 3.
    OSGi Alliance: OSGi Technical Whitepaper, Revision 3.0 (2004),
  4. 4.
    Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting software architecture to implementation. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 187–197. ACM Press, New York (2002)CrossRefGoogle Scholar
  5. 5.
    Bruneton, E., Coupaye, T., Leclercq, M., Quema, V., Stefani, J.B.: An open component model and its support in Java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Suvée, D., Vanderperren, W., Jonckers, V.: FuseJ: An architectural description language for unifying aspects and components. In: Workshop Software-Engineering Properties of Languages and Aspect Technologies (SPLAT) at AOSD 2005 (2005),
  7. 7.
    Dowling, J., Cahill, V.: The K-Component architecture meta-model for self-adaptative software. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 81–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Clarke, M., Blair, G., Coulson, G., Parlavantzas, N.: An efficient component model for the construction of adaptive middleware. In: Proceedings of Middleware 2001 (2001)Google 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.
    Escoffier, C., Donsez, D.: FractNet: An implementation of the Fractal component model for .NET. In: 2ème Journée Francophone sur Développement de Logiciels par Aspects (JFDLPA 2005) (2005),
  11. 11.
    Baude, F., Caromel, D., Morel, M.: From distributed objects to hierarchical grid components. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 1226–1242. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Fassino, J.P., Stefani, J.B., Lawall, J., Muller, G.: Think: A software framework for component-based operating system kernels. In: Proceedings of the USENIX Annual Technical Conference, pp. 73–86 (2002)Google Scholar
  13. 13.
    Rouvoy, R., Merle, P.: Abstraction of transaction demarcation in component-oriented platforms. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, pp. 305–323. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    ObjectWeb: JORAM: Java open reliable asynchronous messaging (2002),
  15. 15.
    Sun Microsystems: Java Message Service Specification Final Release 1.1 (2002),
  16. 16.
    Alia, M., Chassande-Barrioz, S., Déchamboux, P., Hamon, C., Lefebvre, A.: A middleware framework for the persistence and querying of java objects. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 292–316. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Sun Microsystems: Java Data Objects (2002),
  18. 18.
    Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Component Model. ObjectWeb, Version 2.0.3 (2004),
  19. 19.
    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
  20. 20.
    Burke, B.: It’s the aspects. Java’s Developer’s Journal (2003),
  21. 21.
    Bonér, J., Dahlstedt, J., Vasseur, A.: AspectWerkz 2: An extensible aspect container. (2004),
  22. 22.
    Pawlak, R., Seinturier, L., Duchien, L., Florin, G., Legond-Aubry, F., Martelli, L.: JAC: An aspect-based distributed dynamic framework. Software Practice and Experiences (SPE) 34(12), 1119–1148 (2004)CrossRefGoogle Scholar
  23. 23.
    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
  24. 24.
    Sun Microsystems: Enterprise Java Beans (1997),
  25. 25.
    Fleury, M., Reverbel, F.: The JBoss extensible server. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, pp. 344–373. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  26. 26.
    Seinturier, L., Pessemier, N., Coupaye, T.: AOKell: An aspect-oriented implementation of the Fractal specifications. In: Objectweb Fractal Workshop, Grenoble, France (2005)Google Scholar
  27. 27.
    Szyperski, C.: Component Software - Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  28. 28.
    Leclercq, M., Quema, V., Stefani, J.B.: DREAM: a component framework for the construction of resource-aware, configurable middleware. IEEE Distributed Systems Online 6(9) (2005)Google Scholar
  29. 29.
    Gil, T., Evain, J.B.: AspectDNG. DotNetGuru (2005),
  30. 30.
    Bruneton, E., Lenglet, R., Coupaye, T.: ASM: A code manipulation tool to implement adaptable systems. In: Journées Composants 2002 (JC 2002) (2002),
  31. 31.
    Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Uyema, J.: A component model for building systems software. In: Proceedings of the IASTED Software Engineering and Applications (SEA 2004) (2004)Google Scholar
  32. 32.
    Mencl, V., Bures, T.: Microcomponent-based component controllers: A foundation for component aspects. In: Proceedings of the 12th Asia-Pacific Software Engineering Conference (APSEC 2005) (2005)Google Scholar
  33. 33.
    Pessemier, N., Seinturier, L., Duchien, L., Coupaye, T.: 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Lionel Seinturier
    • 1
  • Nicolas Pessemier
    • 1
  • Laurence Duchien
    • 1
  • Thierry Coupaye
    • 2
  1. 1.INRIA Futurs – LIFLProjet Jacquard/GOALVilleneuve d’AscqFrance
  2. 2.France Telecom R&DMeylanFrance

Personalised recommendations