Skip to main content

Reflection-Based, Aspect-Oriented Software Architecture

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3047))

Abstract

The Software Architecture discipline is devoted to the study and description of structures, created by the composition of software modules. At the same time, the most important merit of Aspect Orientation is the fact that it introduces a new kind of modularization, deployed in a range of new dimensions, orthogonally to traditional models. These fields are able not only to combine, but also to complement and extend each other. They show also remarkable coincidences in some of their key concepts, such as multiple viewpoints and connectors. This paper explores their relationship, in particular from the point of view of the specification of “aspect-oriented architectures” in terms of existing Architecture Description Languages (Adls). Specifically, we consider the language \(\mathcal {PIL}\)ar: a reflective, process-algebraic Adl conceived for the description of dynamic architectures. It has three conceptual foundations which have also been proposed as a basis for aspect-orientation, namely reflection, superimposition and process algebras. We show how, due to the semantics of its reification relationship, \(\mathcal {PIL}\)ar is capable to directly describe “architectural aspects” with no need for syntactic extensions. At the same time, we suggest that the addition of these extensions could be very useful anyway. The discussion is supported by an example of a coordination aspect in \(\mathcal {PIL}\)ar, based on the classical Paxos Consensus algorithm.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andrews, J.H.: Process-Algebraic Foundations of Aspect-Oriented Programming. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, p. 187. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  2. Bosch, J.: Superimposition:A Component Adaptation Technique. Information and Software Technology 41(5), 257–273 (1999)

    Article  MathSciNet  Google Scholar 

  3. Constantinides, C.A., Elrad, T.: On the Requirements for Concurrent Software Architectures to SupportAdvanced Separation of Concerns. In: OOPSLA 2000 Advanced Separation of Concerns (October 2000)

    Google Scholar 

  4. Cuesta, C.E.: Reflection-based Dynamic Software Architecture. ProQuest Information & Learning (May 2003)

    Google Scholar 

  5. Cuesta, C.E., de la Fuente, P., Barrio-Solórzano, M., Beato, E.: Coordination in a ReflectiveArchitecture Description Language. In: Arbab, F., Talcott, C. (eds.) COORDINATION 2002. LNCS, vol. 2315, pp. 141–148. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  6. Cuesta, C.E., de la Fuente, P., Solórzano, M.B., Encarnación Beato, M.: Introducing Reflection in Architecture Description Languages. In: Bosch, J., Gentleman, M., Hofmeister, C., Kuusela, J. (eds.) Software Architecture: System Design, Development and Maintenance, pp. 143–156. Kluwer Academic Publishers, Dordrecht (2002)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. Filman, R.E., Friedman, D.P.: Aspect-Oriented Programming is Quantification and Obliviousness. In: OOPSLA 2000 Advanced Separation of Concerns (October 2000)

    Google Scholar 

  9. Forman, I.R.: Superimposition: A Form of Separation of Concerns for Distributed Systems. In: Proceedings of First OOPSLA 2000 Workshop on Advanced Separation of Concerns (ASoC1) (October 2000)

    Google Scholar 

  10. Kandé, M.M.: A Concern-Oriented Approach to Software Architecture. PhD thesis, École Polytechnique Fédérale de Lausanne (2003)

    Google Scholar 

  11. Kandé, M.M., Strohmeier, A.: On The Role of Multi-Dimensional Separation of Concerns in Software Architecture. In: OOPSLA 2000 Workshop on Advanced Separation of Concerns in Object-Oriented Systems (ASoC) (October 2000)

    Google Scholar 

  12. Katara, M., Katz, S.: Architectural Views of Aspects. In: Proceedings of the Second International Conference on Aspect-Oriented Software Development (AOSD 2003), March 2003, pp. 1–10. ACM Press, New York (2003)

    Chapter  Google Scholar 

  13. Katz, S.: A Superimposition Control Construct for Distributed Systems. ACM Transactions on Programming Languages and Systems 15(2), 337–356 (1993)

    Article  Google Scholar 

  14. Kellomäki, P.: A Formal Basis for Aspect-Oriented Specification with Superposition. In: Leavens, G.T., Cytron, R. (eds.) FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages, April 2002, pp. 27–32 (2002)

    Google Scholar 

  15. Kojarski, S., Lieberherr, K., Lorenz, D.H., Hirschfeld, R.: Aspectual Reflection. In: Sofware engineering Properties of Languages for Aspect Technologies (SPLAT 2003) (March 2003)

    Google Scholar 

  16. Lamport, L.: The Part-Time Parliament. ACM Transactions on Computer Systems 16(2), 133–169 (1998)

    Article  Google Scholar 

  17. Lamport, L.: Paxos Made Simple. ACM SIGACT News 32(4), 18–25 (2001)

    Google Scholar 

  18. Lopes, A., Fiadeiro, J.L.: Superposition: Composition vs. Refinement of Nondeterministic, Action-Based Systems. ENTCS 70(3) (2002)

    Google Scholar 

  19. Maes, P.: Concepts and Experiments in Computational Reflection. ACM SIGPLAN Notices 22(12), 147–155 (1987), OOPSLA 1987 Conference Proceedings

    Article  Google Scholar 

  20. Pawlak, R.: La Programmation par Aspects Interactionnelle pour la Construction d’applications Ó Preóccupations Multiples PhD thesis, CNAM, Paris (2002)

    Google Scholar 

  21. Radestock, M., Eisenbach, S.: Coordination in Evolving Systems. In: Spaniol, O., Linnhoff-Popien, C., Meyer, B. (eds.) TreDS 1996. LNCS, vol. 1161, pp. 162–176. Springer, Heidelberg (1996)

    Google Scholar 

  22. Sihman, M., Katz, S.: A Calculus of Superimpositions for Distributed Systems. In: Proceedings of the First International Conference on Aspect-Oriented Software Development (AOSD 2002), April 2002, pp. 28–40. ACM Press, New York (2002)

    Chapter  Google Scholar 

  23. Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.: N-Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proceedings of the 21st International Conference on Software Engineering (ICSE 1999) (May 1999)

    Google Scholar 

  24. Wand, M., Kiczales, G., Dutchyn, C.: A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming. In: Leavens, G.T., Cytron, R. (eds.) FOAL 2002: Foundations of Aspect-Oriented Languages, April 2002, pp. 1–8 (2002)

    Google Scholar 

  25. Wermelinger, M., Fiadeiro, J.L., Andrade, L.F., Koutsoukos, G., Gouveia, J.: Separation of Core Concerns: Computation, Coordination and Configuration. In: OOPSLA 2001 Advanced Separation of Concerns (October 2001)

    Google Scholar 

  26. Wermelinger, M., Fiadeiro, J.L.F.: Algebraic Software Architecture Reconfiguration. In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, pp. 393–409. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  27. Wermelinger, M., Lopes, A., Fiadeiro, J.L.: Superposing Connectors. In: Proceedings of 10th International Workshop on Software Specification and Design, pp. 87–94. IEEE Computer Society Press, Los Alamitos (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cuesta, C.E., Romay, M.P., de la Fuente, P., Barrio-Solórzano, M. (2004). Reflection-Based, Aspect-Oriented Software Architecture. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds) Software Architecture. EWSA 2004. Lecture Notes in Computer Science, vol 3047. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24769-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24769-2_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22000-8

  • Online ISBN: 978-3-540-24769-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics