Abstract
The well-known Separation of Concerns Principle has been revisited by recent research, suggesting to go beyond the limits of traditional modularization. This has led to the definition of an orthogonal, invasive composition relationship, which can be used all along the software development process, taking several different forms. The object-like entity known as aspect is the best known among them, but in the most general case it can be defined as a new kind of structure. Software Architecture must be able to describe such a structure. Moreover, as most Adls have a formal foundation, this can be used to provide an adequate formalization for the aspectual composition relationship, which is still under discussion. In this paper, we propose to base this architecture-level definition in the concept of superimposition, integrating the resulting framework into the process-algebraic, dynamic Adl named \({\mathcal{P}i\mathcal{L}ar}\). This language has a reflective design, which allows us to define that extension without redefining the semantics; in addition, the extended syntax can be used to avoid the use of reflective notions. Nevertheless, the language must provide the means to define general patterns to guide the weaving. Such patterns must not only identify locations in the architecture, but also the adequate states of the corresponding process structure. Therefore, we suggest to use temporal logic, specifically the μ-calculus, as the quantification mechanism. To illustrate this approach, we expose a case study in which all these ideas are used, and conclude by discussing how the combination of temporal logic and aspect superimposition, in this context, provides also an alternative way to describe architectural dynamism.
The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-3-540-34895-5_20
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Andrews, J.H.: Process-Algebraic Foundations of Aspect-Oriented Programming. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, Springer, Heidelberg (2001)
Aßmann, U.: Invasive Software Composition. Springer, Heidelberg (2003)
Bougé, L., Francez, N.: A Compositional Approach to Superimposition. In: 15th Annual ACM Symposium on Principles of Programming Languages, POPL 1988, San Diego, pp. 240–249. ACM Press, New York (1988)
Bradfield, J.C., Stirling, C.P.: Modal Logics and mu-Calculi: An Introduction. In: Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.) Handbook of Process Algebra, ch. 4, pp. 293–330. Elsevier Science B.V, Amsterdam (2001)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)
Chandy, K.M., Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley, Reading (1988)
Cuesta, C.E.: Reflection-based Dynamic Software Architecture. ProQuest Information & Learning, Madrid (May 2003)
Carlos, E., de la Fuente, P., Barrio-Solórzano, M., Beato, E.: An “Abstract Process” Approach to Algebraic Dynamic Architecture Description. Journal of Logic and Algebraic Programming 63(2), 177–214 (2005)
Cuesta, C.E., de la Fuente, P., Solórzano, M.B., Beato, M.E.: Introducing Reflection in Architecture Description Languages. In: Bosch, J., Gentleman, M., Hofmeister, C., Kuusela, J. (eds.) Software Architecture: System Design, Development and Maintenance, ch. 9, pp. 143–156. Kluwer, Dordrecht (2002)
Cuesta, C.E., Romay, M.P., de la Fuente, P., Barrio-Solórzano, M.: Reflection-based, Aspect-oriented Software Architecture. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 43–56. Springer, Heidelberg (2004)
Fiadeiro, J.L., Maibaum, T.S.E.: Categorical Semantics of Parallel Program Design. Science of Computer Programming 28(2–3), 111–138 (1997)
Filman, R.E., Elrad, T., Clarke, S., Aksit, M. (eds.): Aspect-Oriented Software Development. The Object Technology Series. Addison-Wesley, Reading (2004)
Filman, R.E., Friedman, D.P.: Aspect-Oriented Programming is Quantification and Obliviousness. In: OOPSLA 2000 Workshop on Advanced Separation of Concerns (ASoC 2000) (October 2000)
Katara, M.: Superposing UML class diagrams. In: AOSD 2002 First Workshop on Aspect-Oriented Modeling with UML (AOM1), Enschede, The Netherlands (April 2002)
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)
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) ISU-TR02-06
Kojarski, S., Lieberherr, K., Lorenz, D.H., Hirschfeld, R.: Aspectual Reflection. In: Proceedings of SPLAT 2003 (March 2003)
Lieberherr, K., Lorenz, D.H., Ovlinger, J.: Aspectual Collaborations: Combining Modules and Aspects. The Computer Journal 46(5), 542–565 (2003)
Parnas, D.L.: On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)
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)
Sihman, M., Katz, S.: Superimpositions and Aspect-Oriented Programming. The Computer Journal 46(5), 529–541 (2003)
Stirling, C.: Modal and Temporal Logics. In: Abramsky, S., Gabbay, D., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. 2, pp. 477–563. Oxford University Press, Oxford (1991)
Woods, E.: Experiences Using Viewpoints for Information Systems Architecture: an Industrial Experience Report. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 182–193. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 IFIP International Federation for Information Processing
About this paper
Cite this paper
Cuesta, C.E., del Pilar Romay, M., de la Fuente, P., Barrio-Solórzano, M. (2006). Temporal Superimposition of Aspects for Dynamic Software Architecture. In: Gorrieri, R., Wehrheim, H. (eds) Formal Methods for Open Object-Based Distributed Systems. FMOODS 2006. Lecture Notes in Computer Science, vol 4037. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11768869_9
Download citation
DOI: https://doi.org/10.1007/11768869_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34893-1
Online ISBN: 978-3-540-34895-5
eBook Packages: Computer ScienceComputer Science (R0)