Advertisement

Architectural Aspects of Architectural Aspects

  • Carlos E. Cuesta
  • María del Pilar Romay
  • Pablo de la Fuente
  • Manuel Barrio-Solórzano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3527)

Abstract

This document studies in some detail the recently developed concept of aspect at the architecture level. This concept introduces a novel kind of modularization and composition in software, and therefore it defines new structures which must be studied by Software Architecture, determining the architectural features of aspects. However the opposite strategy can also be considered; namely, a new conceptual model can be defined, including an architecture-level notion of aspect. This would provide a new abstraction to describe software structures, thus effectively providing an additional dimension in architecture description, and would enable the study of the specific compositional problems in this dimension. The document starts by addressing the relevance of this kind of study, and continues by discussing why the new notions are necessary. Then it continues by including a brief enumeration of the more relevant notions derived from this aspectual framework, with particular emphasis on their relationship with software components. Next the document explores the different forms in which these notions could be incorporated into the context of Software Architecture, revealing a rather extensive variety of approaches, and also the relationships and partial equivalences between them.The paper concludes by noting a number or open questions and futures areas of research within this context.

Keywords

Reference Model Software Architecture Regular Component Architectural Level Aspect Orientation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The Merriam-Webster Online Dictionary (2005), http://www.m-w.com
  2. 2.
    Akşit, M., Tekinerdoğan, B.: Solving the Modeling Problems of Object-oriented Languages by Composing Multiple Aspects using Composition Filters. In: ICSE 1998 Workshop on Aspect Oriented Programming (ICSE-AOP 1998), Kyoto (April 1998)Google Scholar
  3. 3.
    Aldawud, O., Elrad, T., Bader, A.: UML Profile for Aspect-Oriented Software Development. In: Aldawud, O. (ed.) Third Workshop on Aspect-Oriented Modeling (AOM/AOSD 2003), Boston (March 2003)Google Scholar
  4. 4.
    Aldrich, J.: Open Modules: A Proposal for Modular Reasoning in Aspect-Oriented Programming. In: Clifton, C., Lämmel, R., Leavens, G.T. (eds.) Proc. Foundations of Aspect-Oriented Languages (FOAL 2004), March 2004, pp. 7–18 (2004)Google Scholar
  5. 5.
    Andrews, J.H.: Process-Algebraic Foundations of Aspect-Oriented Programming. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 187–209. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Baniassad, E.L.A., Clarke, S.: Theme: An Approach for Aspect-Oriented Analysis and Design. In: 26th Intl. Conf. on Software Engineering (ICSE 2004), Edinburgh, Scotland, pp. 158–167. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  7. 7.
    Black, A.P.: Object-Oriented Programming: Regaining the Excitement. Speech at 12th European Conf. on Object-Oriented Programming (ECOOP 1998) (July 1998)Google Scholar
  8. 8.
  9. 9.
    Clarke, S.: Extending Standard UML with Model Composition Semantics. Science of Computer Programming 44(1), 71–100 (2002)zbMATHCrossRefGoogle Scholar
  10. 10.
    Clifton, C., Leavens, G.T.: Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning. In: Leavens, G.T., Cytron, R. (eds.) Proc. Foundations of Aspect-Oriented Languages (FOAL 2002), April 2002, pp. 33–44 (2002), ISU-TR #02-06 Google Scholar
  11. 11.
    Cuesta, C.E., Romay, M.P., de la Fuente, P., Barrio-Solórzano, M., Younessi, H.: Coordination in Architectural Connection: Reflective and Aspectual Introduction. L’Objet (2005) (to be published)Google Scholar
  12. 12.
    Cuesta, C.E., del Pilar Romay, M., de la Fuente, P., Solórzano, M.B.: Aspectos como Conectores en Arquitectura de Software. In: II Jornadas de Trabajo Dynamica, Dynamic and Aspect-Oreinted Modeling for Integrated Component-based Architectures, November 2004, pp. 63–72 (2004)Google Scholar
  13. 13.
    Dantas, D.S., Walker, D.: Harmless Advice. In: 12th Intl. Workshop on Foundations of Object- Oriented Languages (FOOL 2005), Long Beach, ACM, New York (2005)Google Scholar
  14. 14.
    Douence, R., Motelet, O., Südholt, M.: A Formal Definition of Crosscuts. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 170–186. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Hammouda, I., Hakala, M., Pussinen, M., Katara, M., Mikkonen, T.: Concern-Based Development of Pattern Systems. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 113–129. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Harrison, W., Ossher, H.: Subject-Oriented Programming – A Critique of Pure Objects. In: Proceedings of 1993 ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 1993). ACM Press, New York (1993)Google Scholar
  17. 17.
    Harrison, W.H., Ossher, H.L., Tarr, P.L.: Asymetrically vs. Symmetrically Organized Paradigms for Software Composition. IBM Research Report RC22685 (W0212-147), Thomas J. Watson Research Center, IBM (December 2002)Google Scholar
  18. 18.
    Hözle, U.: Integrating Independently-Developed Components in Object-Oriented Languages. In: Nierstrasz, O. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 36–56. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  19. 19.
    Kandé, M.M., Strohmeier, A.: Modeling Crosscutting Concerns using Software Connectors. In: OOPSLA 2001 Workshop on Advanced Separation of Concerns in Object-Oriented Systems (ASoC3) (October 2001)Google Scholar
  20. 20.
    Katara, M., Katz, S.: Architectural Views of Aspects. In: Proceedings of the Second International Conference on Aspect-Oriented Software Development (AOSD 2003), pp. 1–10. ACM Press, New York (2003)CrossRefGoogle Scholar
  21. 21.
    Katz, S.: A Superimposition Control Construct for Distributed Systems. ACM Trans. on Programming Languages and Systems 15(2), 337–356 (1993)CrossRefGoogle Scholar
  22. 22.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  23. 23.
    Kiczales, G., Lamping, J., Lopes, C.V., Hugunin, J., Hilsdale, E., Boyapati, C.: Aspect-Oriented Programming. U.S. Patent # 6.467.086 (October 2002)Google Scholar
  24. 24.
    Kienzle, J., Guerraoui, R.: AOP: Does it Make Sense? The Case of Concurrency and Failures. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 37–54. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  25. 25.
    Kienzle, J., Yu, Y., Xiong, J.: On Composition and Reuse of Aspects. In: Leavens, G.T., Clifton, C. (eds.) Foundations of Aspect-Oriented Languages (FOAL 2003) (March 2003)Google Scholar
  26. 26.
    Lieberherr, K., Lorenz, D., Mezini, M.: Programming with Aspectual Components. Technical Report NU-CCS-99-01, Northeastern University, Boston (March 1999)Google Scholar
  27. 27.
    Lieberherr, K., Lorenz, D.H., Ovlinger, J.: Aspectual Collaborations: Combining Modules and Aspects. The Computer Journal 46(5), 542–565 (2003)zbMATHCrossRefGoogle Scholar
  28. 28.
    Lopes, C.V.: AOP: A Historical Perspective (What’s in a Name?) In: Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.) Aspect-Oriented Software Development, pp. 97–122. Addison-Wesley, Reading (2005)Google Scholar
  29. 29.
    McDirmid, S., Hsieh, W.C.: Aspect-oriented programming with Jiazzi. In: Griswold, W.G., Akşit, M., Lieberherr, K.J. (eds.) 2nd Intl. Conf. on Aspect-Oriented Software Development (AOSD 2003), Boston, March 2003, pp. 70–79 (2003)Google Scholar
  30. 30.
    Mezini, M., Ostermann, K.: Conquering Aspects with Caesar. In: Griswold, W.G., Akşit, M., Lieberherr, K.J. (eds.) Proc. 2nd Intl. Conf. on Aspect-Oriented Software Development (AOSD 2003), Boston, pp. 90–100. ACM Press, New York (2003)CrossRefGoogle Scholar
  31. 31.
    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
  32. 32.
    Nuseibeh, B., Kramer, J., Finkelstein, A.C.W.: Framework for Expressing the Relationships Between Multiple Views in Requirements Specifications. IEEE Transactions on Software Engineering 20(10), 760–773 (1994)CrossRefGoogle Scholar
  33. 33.
    Ossher, H., Tarr, P.: Multi-Dimensional Separation of Concerns and The Hyperspace Approach. In: Proceedings of the Symposium on Software Architectures and Component Technology: The State of the Art in Software Development. Kluwer, Dordrecht (2000)Google Scholar
  34. 34.
    Pawlak, R., Retaillé, J.-P., Seinturier, L.: Programmation Orientée Aspect pour Java/J2EE. Eyrolles (2004)Google Scholar
  35. 35.
    Pawlak, R., Seinturier, L., Duchien, L., Florin, G., Legond-Aubry, F., Martelli, L.: JAC: an Aspect-based Distributed Dynamic Framework. Software – Practice and Experience 34, 1119–1148 (2004)CrossRefGoogle Scholar
  36. 36.
    Pawlak, R., Seinturier, L., Duchien, L., Martelli, L., Legond-Aubry, F., Florin, G.: Aspect-Oriented Software Development with Java Aspect Components. In: Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.) Aspect-Oriented Software Development, pp. 343–369. Addison-Wesley, Reading (2005)Google Scholar
  37. 37.
    Benedí, J.P., Ali, N., Carsí, J.A., Ramos, I.: Dynamic Evolution in Aspect-Oriented Architectural Models. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 59–76. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  38. 38.
    Rinard, M., Salcianu, A., Bugrara, S.: A Classification System and Analysis for Aspect-Oriented Programs. In: Proceedings 12th Conf. Foundations of Software Engineering (SIGSOFT 2004/FSE-12). ACM Press, New York (2004)Google Scholar
  39. 39.
    Sihman, M., Katz, S.: Superimpositions and Aspect-Oriented Programming. The Computer Journal 46(5), 529–541 (2003)zbMATHCrossRefGoogle Scholar
  40. 40.
    Smaragdakis, Y., Batory, D.: Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM Transactions on Software Engineering and Methodology 11(2), 215–255 (2002)CrossRefzbMATHGoogle Scholar
  41. 41.
    Suvée, D., Vanderperren, W., Jonckers, V.: JasCo: an Aspect-Oriented Approach Tailored for Component-Based Software Development. In: Proc. 2nd Intl. Conf. on Aspect-Oriented Software Development (AOSD 2003), Boston, pp. 21–29. ACM Press, New York (2003)CrossRefGoogle Scholar
  42. 42.
    Suvée, D., Vanderperren, W., Wagelaar, D., Jonckers, V.: There Are No Aspects. Electronical Notes in Theoretical Computer Science 114, 153–174 (2005); Special Issue on Sofware Composition (SC 2004)CrossRefGoogle Scholar
  43. 43.
    Tanter, É., Noyé, J., Caromel, D., Cointe, P.: Partial Behavioral Reflection: Spatial and Temporal Selection of Reification. In: Crocker, R., Steele Jr., G.L. (eds.) 18th ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2003) (December 2003); ACM SIGPLAN Notices 38, 27–46 (2003)Google Scholar
  44. 44.
    Tarr, P., Ossher, H., Sutton Jr., S.M., Harrison, W.: N-Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.) Aspect-Oriented Software Development, pp. 37–61. Addison-Wesley, Boston (2005)Google Scholar
  45. 45.
    Van Hilst, M., Notkin, D.: Using Role Components to implement Collaboration-based Designs. In: Proceedings 11th Intl. Conf. on Object-Oriented Programming Systems, Languages and Aplications (OOPSLA 1996), pp. 350–369. ACM, New York (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Carlos E. Cuesta
    • 1
  • María del Pilar Romay
    • 2
  • Pablo de la Fuente
    • 1
  • Manuel Barrio-Solórzano
    • 1
  1. 1.Departamento de Informática, Arquitectura, C. Computación y Lenguajes, Escuela Técnica Superior de Ingeniería InformáticaUniversidad de ValladolidValladolidSpain
  2. 2.Departamento de Sistemas Informáticos, Escuela Politécnica SuperiorUniversidad Europea de MadridMadridSpain

Personalised recommendations