Advertisement

On the Modular Representation of Architectural Aspects

  • Alessandro Garcia
  • Christina Chavez
  • Thais Batista
  • Claudio Sant’anna
  • Uirá Kulesza
  • Awais Rashid
  • Carlos Lucena
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4344)

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.

Keywords

Architecture Description Languages Aspect-Oriented Software Development Architectural Connection 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    Chavez, C.: A Model-Driven Approach for Aspect-Oriented Design. PhD thesis, Pontifícia Universidade Católica do Rio de Janeiro (April 2004)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Chitchyan, R., et al.: A Survey of Analysis and Design Approaches. AOSD-Europe Report D11 (May 2005)Google Scholar
  7. 7.
    Clarke, S., Walker, R.: Generic aspect-oriented design with Theme/UML. In: [8], pp. 425–458Google Scholar
  8. 8.
    Filman, R., Tzilla, E., Clarke, S., Aksit, M. (eds.): Aspect-Oriented Software Development. Addison-Wesley, Boston (2005)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    Garcia, A., Lucena, C.: Taming Heterogeneous Agent Architectures with Aspects. Communications of the ACM (accepted, March 2006)Google Scholar
  12. 12.
    Garcia, A., Lucena, C., Cowan, D.: Agents in Object-Oriented Software Engineering. Software: Practice & Experience 34(5), 489–521 (2004)CrossRefGoogle Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    Garlan, D., et al.: ACME: An Architecture Description Interchange Language. In: Proc. CASCON 1997 (November 1997)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Medvidovic, N., Taylor, R.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Trans. Soft. Eng. 26(1), 70–93 (2000)CrossRefGoogle Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    Navasa, A., et al.: Aspect Oriented Software Architecture: a Structural Perspective. In: Workshop on Early Aspects, AOSD 2002 (April 2002)Google Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)CrossRefGoogle Scholar
  22. 22.
    Pinto, M., Fuentes, L., Troya, J.: A Dynamic Component and Aspect Platform. The Computer Journal 48(4), 401–420 (2005)CrossRefGoogle Scholar
  23. 23.
    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)CrossRefGoogle Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    Rashid, A., Garcia, A., Moreira, A.: Aspect-Oriented Software Development Beyond Programming. In: Proc. of ICSE 2006, Tutorial Notes, Shanghai, China (May 2006)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    SPG – Software Productivity Group at UFPE (2006), http://twiki.cin.ufpe.br/twiki/bin/view/SPG
  28. 28.
    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)CrossRefGoogle Scholar
  29. 29.
    The AspectJ Team. The AspectJ Programming Guide, http://eclipse.org/aspectj/
  30. 30.
    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)Google Scholar
  31. 31.
    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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Alessandro Garcia
    • 1
  • Christina Chavez
    • 2
  • Thais Batista
    • 3
  • Claudio Sant’anna
    • 4
  • Uirá Kulesza
    • 4
  • Awais Rashid
    • 1
  • Carlos Lucena
    • 4
  1. 1.Computing DepartmentLancaster UniversityUnited Kingdom
  2. 2.Computer Science DepartmentFederal University of BahiaBrazil
  3. 3.Computer Science DepartmentFederal University of Rio Grande do NorteBrazil
  4. 4.Computer Science DepartmentPontifical Catholic University of Rio de JaneiroBrazil

Personalised recommendations