Parallel program design: a foundation
Parallel program design: a foundation
A compositional approach to superimposition
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Handbook of logic in computer science (vol. 2)
A superimposition control construct for distributed systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Categorical semantics of parallel program design
Science of Computer Programming - Special issue: on formal specifications: foundations, methods, tools and applications: selected papers from the FMTA '95 conference (29–31 May 1995, Konstancin n. Warsaw, Poland)
On the criteria to be used in decomposing systems into modules
Communications of the ACM
A calculus of superimpositions for distributed systems
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Architectural views of aspects
Proceedings of the 2nd international conference on Aspect-oriented software development
Introducing Reflection in Architecture Description Languages
WICSA 3 Proceedings of the IFIP 17th World Computer Congress - TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture: System Design, Development and Maintenance
Process-Algebraic Foundations of Aspect-Oriented Programming
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Essentials of Constraint Programming
Essentials of Constraint Programming
Aspect-oriented software development
Aspect-oriented software development
Generating CAM aspect-oriented architectures using Model-Driven Development
Information and Software Technology
Elements of self-adaptive systems: a decentralized architectural perspective
SOAR'09 Proceedings of the First international conference on Self-organizing architectures
Deriving detailed design models from an aspect-oriented ADL using MDD
Journal of Systems and Software
Hi-index | 0.00 |
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.