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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Bosch, J.: Superimposition:A Component Adaptation Technique. Information and Software Technology 41(5), 257–273 (1999)
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)
Cuesta, C.E.: Reflection-based Dynamic Software Architecture. ProQuest Information & Learning (May 2003)
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)
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)
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)
Filman, R.E., Friedman, D.P.: Aspect-Oriented Programming is Quantification and Obliviousness. In: OOPSLA 2000 Advanced Separation of Concerns (October 2000)
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)
Kandé, M.M.: A Concern-Oriented Approach to Software Architecture. PhD thesis, École Polytechnique Fédérale de Lausanne (2003)
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)
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)
Katz, S.: A Superimposition Control Construct for Distributed Systems. ACM Transactions on Programming Languages and Systems 15(2), 337–356 (1993)
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)
Kojarski, S., Lieberherr, K., Lorenz, D.H., Hirschfeld, R.: Aspectual Reflection. In: Sofware engineering Properties of Languages for Aspect Technologies (SPLAT 2003) (March 2003)
Lamport, L.: The Part-Time Parliament. ACM Transactions on Computer Systems 16(2), 133–169 (1998)
Lamport, L.: Paxos Made Simple. ACM SIGACT News 32(4), 18–25 (2001)
Lopes, A., Fiadeiro, J.L.: Superposition: Composition vs. Refinement of Nondeterministic, Action-Based Systems. ENTCS 70(3) (2002)
Maes, P.: Concepts and Experiments in Computational Reflection. ACM SIGPLAN Notices 22(12), 147–155 (1987), OOPSLA 1987 Conference Proceedings
Pawlak, R.: La Programmation par Aspects Interactionnelle pour la Construction d’applications Ó Preóccupations Multiples PhD thesis, CNAM, Paris (2002)
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)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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