Home
Scholarly Works
A graph transformation approach to introducing...
Conference

A graph transformation approach to introducing aspects into software architectures

Abstract

While aspect-oriented programming (AOP) addresses introduction of “aspects” at the code level, we argue that addressing this at the level of software architecture is conceptually more adequate, since many aspects, that is, “crosscutting concerns”, are formulated already in the requirements, and therefore can be dealt with in a more controlled manner in the “earlier” phase of software architecture design. We use Fiadeiro and Maibaum’s [11] precise concept of software architectures organized as diagrams over a category of component specifications, where architecture semantics is defined as the colimit specification of the diagram. The diagram structure suggests aspect introduction via an appropriate variant of graph transformation. Single-pushout rewriting in categories of total homomorphisms has previously already been used for different kinds of “enrichment” transformations; we identify “zigzag-path homomorphisms” as underlying a category where many practically useful aspect introductions turn out to be such single-pushout transformations, and present the relevant theorems concerning pushout existence and pushout construction. Practical aspect introduction (e.g., privacy) always breaks some properties (e.g., “message can be read in transit”); therefore, aspect introduction transformations cannot be designed to be semantics preserving. Our special categorical setting enables selective reasoning about property preservation in the transformed specifications, and property introduction from the introduced aspects. This method enables us to detect and resolve both conflicts and undesirable emergent behaviors that arise from aspect introduction or interaction.

Authors

Hossain MN; Kahl W; Maibaum T

Volume

2019

Pagination

pp. 54-63

Publication Date

January 1, 2017

Conference proceedings

Ceur Workshop Proceedings

ISSN

1613-0073

Labels

Fields of Research (FoR)

Contact the Experts team