Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bodoff, S., Armstrong, E., Ball, J., Carson, D.: The J2EE Tutorial, 2nd edn. Addison-Wesley, Reading (2004), http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html
Siegel, J.: CORBA 3 Fundamentals and Programming, 2nd edn. Wiley, Chichester (2000)
OSGi Alliance: OSGi Technical Whitepaper, Revision 3.0 (2004), http://www.osgi.org
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)
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)
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), http://ssel.vub.ac.be/Members/dsuvee/papers/splatsuvee2.pdf
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)
Clarke, M., Blair, G., Coulson, G., Parlavantzas, N.: An efficient component model for the construction of adaptive middleware. In: Proceedings of Middleware 2001 (2001)
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)
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), www-adele.imag.fr/fractnet/
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)
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)
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)
ObjectWeb: JORAM: Java open reliable asynchronous messaging (2002), http://joram.objectweb.org
Sun Microsystems: Java Message Service Specification Final Release 1.1 (2002), http://java.sun.com/jms
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)
Sun Microsystems: Java Data Objects (2002), http://java.sun.com/products/jdo/
Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Component Model. ObjectWeb, Version 2.0.3 (2004), http://fractal.objectweb.org/specification/index.html
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)
Burke, B.: It’s the aspects. Java’s Developer’s Journal (2003), http://www.sys-con.com/story/?storyid=38104&DE=1
Bonér, J., Dahlstedt, J., Vasseur, A.: AspectWerkz 2: An extensible aspect container. TheServerSide.com (2004), http://www.theserverside.com/articles/article.tss?l=AspectWerkzP1
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)
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)
Sun Microsystems: Enterprise Java Beans (1997), http://www.javasoft.com/products/ejb
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)
Seinturier, L., Pessemier, N., Coupaye, T.: AOKell: An aspect-oriented implementation of the Fractal specifications. In: Objectweb Fractal Workshop, Grenoble, France (2005)
Szyperski, C.: Component Software - Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)
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)
Gil, T., Evain, J.B.: AspectDNG. DotNetGuru (2005), http://www.dotnetguru.biz/aspectdng/
Bruneton, E., Lenglet, R., Coupaye, T.: ASM: A code manipulation tool to implement adaptable systems. In: Journées Composants 2002 (JC 2002) (2002), http://asm.objectweb.org/current/asm-eng.pdf
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Seinturier, L., Pessemier, N., Duchien, L., Coupaye, T. (2006). A Component Model Engineered with Components and Aspects. In: Gorton, I., et al. Component-Based Software Engineering. CBSE 2006. Lecture Notes in Computer Science, vol 4063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11783565_10
Download citation
DOI: https://doi.org/10.1007/11783565_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35628-8
Online ISBN: 978-3-540-35629-5
eBook Packages: Computer ScienceComputer Science (R0)