Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
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)
Burke, B., et al.: JBoss-AOP, http://www.jboss.org/developers/projects/jboss/aop
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)
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)
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)
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)
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)
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)
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)
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)
OMG. CORBA Components, v3.0 (full specification), Document formal/02-06-65 (June 2002)
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)
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)
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)
Suvée, D.: FuseJ web site, http://ssel.vub.ac.be/fusej/
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)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2002)
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
Pessemier, N., Seinturier, L., Coupaye, T., Duchien, L. (2006). A Model for Developing Component-Based and Aspect-Oriented Systems. In: Löwe, W., Südholt, M. (eds) Software Composition. SC 2006. Lecture Notes in Computer Science, vol 4089. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11821946_17
Download citation
DOI: https://doi.org/10.1007/11821946_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37657-6
Online ISBN: 978-3-540-37659-0
eBook Packages: Computer ScienceComputer Science (R0)