Aspectual Connectors: Supporting the Seamless Integration of Aspects and ADLs
Abstract
With the emergence of Aspect-Oriented Software Development (AOSD), there is a need to understand the adequacy of Architecture Description Languages (ADLs) connection abstractions for capturing the crosscutting nature of some architectural concerns. In this paper, we present the Aspectual Connector (AC), a special kind of architectural connector, as the only necessary enhancement to an ADL in order to support a seamless integration of AOSD and Software Architecture. We also present AspectualACME, an extension to ACME that incorporates ACs and additional facilities to modularize architectural crosscutting concerns. We use a Web-based information system as the main case study.
References
Araújo, J. et al. (2005) “Early Aspects: The Current Landscape”. Technical Notes, CMU/SEI and Lancaster University.
AspectJ Team (2006). “The AspectJ Programming Guide”. http://eclipse.org/aspectj/.
AspectualACME (2006) “AspectualACME”. http://www.teccomm.les.inf.pucrio.br/aspectualacme.
Baniassad, E. et al. (2006) “Discovering Early Aspects”. IEEE Software, 23(1): 61-70, January.
Batista, T. et al. (2006) “Reflections on Architectural Connection: Seven Issues on Aspects and ADLs”. In: Workshop on Early Aspects, ICSE'06, pp. 3-9, May, Shanghai, China.
van den Berg, K., Conejero, J., Chitchyan, R. (2005), “AOSD Ontology 1.0 – Public Ontology of Aspect-Orientation”. AOSD-Europe Report, Deliverable D9, 27 May.
Chavez, C., Garcia, A., Kulesza, U., Sant’Anna, C., Lucena, C. (2006). “Crosscutting Interfaces for Aspect-Oriented Modeling”. Journal of the Brazilian Computer Society, 12(1), June.
Chitchyan, R. et al. (2005) “Survey of Analysis and Design Approaches”. AOSD-Europe Report, Deliverable D11, 18 May.
Cuesta, C. et al. (2005) “Architectural Aspects of Architectural Aspects”. In: 2nd European Workshop on Software Architecture (EWSA), LNCS 3527, pp. 247-262.
Filman, R. et al. (2005). “Aspect-Oriented Software Development”. Addison-Wesley.
Garcia, A., Kulesza, U., Lucena, C. (2004). “Aspectizing Multi-Agent Systems: From Architecture to Implementation”. In: Software Engineering for Multi-Agent Systems III, Springer-Verlag, LNCS 3390, pp. 121-143, December.
Garcia, A., Batista, T., Rashid, A., Sant’Anna, C. (2006) “Driving and Managing Architectural Decisions with Aspects”. Workshop on Sharing and Reusing architectural Knowledge (SHARK'2006), Torino, Italy.
Garlan, D., Monroe, R., Wile, D (1997) “ACME: An Architecture Description Interchange Language”. In: Proc. of CASCON '97, Electronic Edition, November.
Garlan, D., Monroe, R., Wile, D. (2000) “ACME: Architectural descriptions of component-based systems”. In: Foundations of Component-based Systems. Gary T. Leavens and Murali Sitaraman (eds), Cambridge University Press, pp. 47-68.
Kiczales, G. et al. (1997) “Aspect-Oriented Programming”. European Conference on Object-Oriented Programming (ECOOP), LNCS 1241, pp. 220-242, Springer, June, Finland.
Krechetov, I., Tekinerdogan, B., Garcia, A., Chavez, C., Kulesza, U. (2006) “Towards an Integrated Aspect-Oriented Modeling Approach for Software Architecture Design”. 8th Workshop on Aspect-Oriented Modeling (AOM’06), AOSD’06, March, Bonn, Germany.
Kulesza, U., Garcia, A., Lucena, C. (2004), “Towards a Method for the Development of Aspect-Oriented Generative Approaches.” Workshop on Early Aspects, OOPSLA'04, November, Vancouver, Canada.
Kulesza, U., Garcia, A., Bleasby, F., Lucena, C. (2005) “Instantiating and Customizing AspectOriented Architectures using Crosscutting Feature Models”. Workshop on Early Aspects, OOPSLA'05, November, San Diego, USA.
Kulesza, U. et al. (2006) “Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study”. In: 22nd IEEE Intl. Conf. on Software Maintenance (ICSM’06), Sept.
Kulesza, U. et al. (2006b) “Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming”. In: Proc. 9th Intl. Conf. on Software Reuse, June, Torino, Italy.
Medvidovic, N., Taylor, R. (2000). “A Classification and Comparison Framework for Software Architecture Description Languages”. IEEE Trans. Soft. Eng., 26(1), pp.70-93, January.
Mehta N., Medvidovic, N., Phadke, S. (2000) “Towards a Taxonomy of Software Connectors”. In: Proc. 22nd Intl Conf. on Software Engineering (ICSE’00), pp. 178-187, Limerick, Ireland.
Navasa, A. et al. (2002) “Aspect Oriented Software Architecture: a Structural Perspective”. In: Workshop on Early Aspects, AOSD’2002, April, The Netherlands.
Pérez, J., Ramos, I., Jaén, J., Letelier, P., Navarro, E. (2003) “PRISMA: Towards Quality, Aspect-Oriented and Dynamic Software Architectures”. In: Proc. of 3rd IEEE Intl Conf. on Quality Software (QSIC 2003), November, Dallas, Texas, USA.
Pessemier, N., Seinturier, L., Duchien, L. (2004) “Components, ADL and AOP: Towards a Common Approach”. In: ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE04), June.
Pinto, M., Fuentes, L., Troya, J., (2005) “A Dynamic Component and Aspect Platform”. The Computer Journal, 48(4), pp. 401-420.
Shaw, M. and Garlan, D. (1996): “Software Architecture: Perspectives on an Emerging Discipline”. Prentice Hall.
Soares, S. et al. (2002). “Implementing Distribution and Persistence Aspects with AspectJ”. In: Proc. of the 17th Annual ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA’02), pp. 174-190, November, Seattle, USA.
Suvée, D., De Fraine, B. and Vanderperren, W. (2005) “FuseJ: An Architectural Description Language for Unifying Aspects and Components”. Software Engineering Properties of Languages and Aspect Technologies Workshop @ AOSD2005, March, Bonn, Germany.
