Abstract
An architectural aspect is a concern that cuts across architecture modularity units and cannot be effectively modularized using the given abstractions of conventional Architecture Description Languages (ADLs). Dealing with crosscutting concerns is not a trivial task since they affect each other and the base architectural decomposition in multiple heterogeneous ways. The lack of ADL support for modularly representing such aspectual heterogeneous influences leads to a number of architectural breakdowns, such as increased maintenance overhead, reduced reuse capability, and architectural erosion over the lifetime of a system. On the other hand, software architects should not be burdened with a plethora of new ADL abstractions directly derived from aspect-oriented implementation techniques. However, most aspect-oriented ADLs rely on a heavyweight approach that mirrors programming languages concepts at the architectural level. In addition, they do not naturally support heterogeneous architectural aspects and proper resolution of aspect interactions. This paper presents AspectualACME, a simple and seamless extension of the ACME ADL to support the modular representation of architectural aspects and their multiple composition forms. AspectualACME promotes a natural blending of aspects and architectural abstractions by employing a special kind of architectural connector, called Aspectual Connector, to encapsulate aspect-component connection details. We have evaluated the applicability and scalability of the AspectualACME features in the context of three case studies from different application domains.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
References
Batista, T., Chavez, C., Garcia, A., Sant’Anna, C., Kulesza, U., Rashid, A., Filho, F.: Reflections on Architectural Connection: Seven Issues on Aspects and ADLs. In: Workshop on Early Aspects ICSE 2006, Shanghai, China, pp. 3–9 (May 2006)
Bruneton, E., Coupaye, T., Leclercq, M., Quema, V., Stefani, J.-B.: An open component model and its support in Java. In: Proc. of the Intl Symposium on Component-based Software Engineering, Edinburgh, Scotland (May 2004)
Cacho, N., Sant’Anna, C., Figueiredo, E., Garcia, A., Batista, T., Lucena, C.: Composing Design Patterns: A Scalability Study of Aspect-Oriented Programming. In: Proc. 5th Intl. Conference on Aspect-Oriented Software Development (AOSD 2006), Bonn, Germany, March 20-24 (2006)
Chavez, C.: A Model-Driven Approach for Aspect-Oriented Design. PhD thesis, Pontifícia Universidade Católica do Rio de Janeiro (April 2004)
Chavez, C., Garcia, A., Kulesza, U., Sant’Anna, C., Lucena, C.: Taming Heterogeneous Aspects with Crosscutting Interfaces. Journal of the Brazilian Computer Society 12(1) (June 2006)
Chitchyan, R., et al.: A Survey of Analysis and Design Approaches. AOSD-Europe Report D11 (May 2005)
Clarke, S., Walker, R.: Generic aspect-oriented design with Theme/UML. In: [8], pp. 425–458
Filman, R., Tzilla, E., Clarke, S., Aksit, M. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Boston (2005)
Garcia, A., Batista, T., Rashid, A., Sant’Anna, C.: Driving and Managing Architectural Decisions with Aspects. In: Proc. SHARK 2006 Workshop at ICSR 2006, Turin (June 2006)
Garcia, A., Kulesza, U., Lucena, C.: Aspectizing Multi-Agent Systems: From Architecture to Implementation. In: Choren, R., Garcia, A., Lucena, C., Romanovsky, A. (eds.) SELMAS 2004. LNCS, vol. 3390, pp. 121–143. Springer, Heidelberg (2005)
Garcia, A., Lucena, C.: Taming Heterogeneous Agent Architectures with Aspects. Communications of the ACM (accepted, March 2006)
Garcia, A., Lucena, C., Cowan, D.: Agents in Object-Oriented Software Engineering. Software: Practice & Experience 34(5), 489–521 (2004)
Garcia, A., Sant’Anna, C., Figueiredo, E., Kulesza, U., Lucena, C., Staa, A.: Modularizing Design Patterns with Aspects: A Quantitative Study. In: Transactions on Aspect-Oriented Software Development. LNCS, vol. 1(1), pp. 36–74. Springer, Heidelberg (2006)
Garlan, D., et al.: ACME: An Architecture Description Interchange Language. In: Proc. CASCON 1997 (November 1997)
Krechetov, I., Tekinerdogan, B., Garcia, A., Chavez, C., Kulesza, U.: Towards an Integrated Aspect-Oriented Modeling Approach for Software Architecture Design. In: 8th Workshop on Aspect-Oriented Modelling (AOM 2006), AOSD 2006, Bonn, Germany (2006)
Medvidovic, N., Taylor, R.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Trans. Soft. Eng. 26(1), 70–93 (2000)
Mehta, N., Medvidovic, N., Phadke, S.: Towards a Taxonomy of Software Connectors. In: Proc. of the 22nd Intl Conf. on Software Engineering (ICSE), Limerick, Ireland, pp. 178–187 (2000)
Navasa, A., et al.: Aspect Oriented Software Architecture: a Structural Perspective. In: Workshop on Early Aspects, AOSD 2002 (April 2002)
Navasa, A., Pérez, M.A., Murillo, J.M.: Aspect Modelling at Architecture Design. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 41–58. Springer, Heidelberg (2005)
Pérez, J., et al.: E. PRISMA: Towards Quality, Aspect-Oriented and Dynamic Software Architectures. In: Proc. of 3rd IEEE Intl Conf. on Quality Software (QSIC 2003), Dallas, Texas, USA (November 2003)
Pessemier, N., Seinturier, L., Coupaye, T., Duchien, L.: 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)
Pinto, M., Fuentes, L., Troya, J.: A Dynamic Component and Aspect Platform. The Computer Journal 48(4), 401–420 (2005)
Quintero, C., et al.: Architectural Aspects of Architectural Aspects. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 247–262. Springer, Heidelberg (2005)
Rashid, A., Chitchyan, R.: Persistence as an Aspect. In: Proc. of the 2nd Intl. Conf. on Aspect-Oriented Software Development (AOSD 2003), USA (March 2003)
Rashid, A., Garcia, A., Moreira, A.: Aspect-Oriented Software Development Beyond Programming. In: Proc. of ICSE 2006, Tutorial Notes, Shanghai, China (May 2006)
Suvée, D., De Fraine, B., Vanderperren, W.: FuseJ: An architectural description language for unifying aspects and components. In: Software-engineering Properties of Languages and Aspect Technologies Workshop @ AOSD 2005 (2005)
SPG – Software Productivity Group at UFPE (2006), http://twiki.cin.ufpe.br/twiki/bin/view/SPG
Soares, S., Laureano, E., Borba, P.: Implementing Distribution and Persistence Aspects with AspectJ. In: Proc. of OOPSLA 2002, Seattle, WA, USA, pp. 174–190. ACM Press, New York (2002)
The AspectJ Team. The AspectJ Programming Guide, http://eclipse.org/aspectj/
Kulesza, U., et al.: Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study. In: Proc. of the Intl Conf. on Software Maintenance (ICSM 2006), Philadelphia, USA (September 2006)
Kulesza, U., Alves, V., Garcia, A., Lucena, C., Borba, P.: Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 231–245. 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
Garcia, A. et al. (2006). On the Modular Representation of Architectural Aspects. In: Gruhn, V., Oquendo, F. (eds) Software Architecture. EWSA 2006. Lecture Notes in Computer Science, vol 4344. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11966104_7
Download citation
DOI: https://doi.org/10.1007/11966104_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69271-3
Online ISBN: 978-3-540-69272-0
eBook Packages: Computer ScienceComputer Science (R0)