Coordination as an Architectural Aspect

Carlos E. Cuesta, M. Pilar Romay, Pablo de la Fuente, Manuel Barrio-Solórzano
2006 Electronical Notes in Theoretical Computer Science  
Modularization is a traditional consequence of the Principle of Separate of Concerns, which states that different abstractions should be dealt with in separate entities. Interactions between these entities define compositional structures, which are studied by Software Architecture. Recent research has revisited the original Principle, suggesting a different modularization strategy. Along with classic components, this approach explicitly considers additional concerns, defining modules which
more » ... cut traditional barriers. The best known example is Aspect Orientation. This strategy defines a novel kind of interactions and compositional structures, which are of particular interest to Software Architecture. Moreover, several of those crosscutting concerns are best described at the architecture level. Coordination is an obvious example of such an architectural aspect: a higher-order interaction abstraction which could extend its influence to the whole system. In this paper, we propose a way to integrate these concepts into an existing language, using the notion of superimposition as a foundation. The chosen target is PiLar, a reflective, process-algebraic Adl. The concept of architectural fragment or chevron is introduced as an architecture-level aspect. To show the applicability of these ideas, we describe a case study consisting on the weaving of a coordination architectural aspect, encapsulating the Paxos distributed consensus algorithm, and a simple pipeline-style architecture, and obtaining a coordinated version of the initial system.
doi:10.1016/j.entcs.2005.12.031 fatcat:qmn3pssg4fcbvk2fj7xfm4bfim