Aspect-Oriented Modeling (AOM) has gained a lot of attention from researchers. It emerged as an appropriate paradigm to improve the modularization of crosscutting concerns at the software modeling phase. On the other hand, with the rise of Model-Driven Development, Executable UML (xUML) plays a central role since it allows modelers to specify detailed specifications that can be automatically transformed into code. In this paper, we provide a formal semantics for aspect matching and weaving on xUML models, particularly activity diagrams. The semantics is based on Continuation-Passing Style since it provides a concise and elegant description of aspect-oriented mechanisms. We first consider basic pointcuts. Then, we provide a semantics for the dataflow pointcut, which is useful from a security perspective.
I. MOTIVATIONAspect-Oriented Modeling (AOM) has gained a lot of attention from researchers. It emerged as an appropriate paradigm to improve the modularization of crosscutting concerns at the modeling phase. Indeed, handling those concerns at the modeling level would significantly help in alleviating the complexity of software models and facilitate adaptation and reuse of existing design models [1]. Moreover, research in AOM has the potential to help finding common aspect-oriented characteristics, which are programming language-independent. Advice, join points, and pointcuts are the main concepts of the aspect-oriented approach. Advice specifies the modification to be performed on a model. A join point is the location where advice should be applied. And lastly, a pointcut is an expression that designates a set of join points. The process of identifying join points is called matching and the process of composing aspects with the base models is called weaving.On the other hand, with the rise of Model-Driven Development (MDD), Executable UML (xUML) plays a central role since it allows modelers to specify detailed and precise specifications that can be automatically transformed into code. In this context, we aim at providing an aspect-oriented framework that handles xUML behaviors. Existing approaches that handle aspect-oriented xUML models [2], [3], [4] mainly focus on providing a framework for executing the woven model for the purposes of simulation and verification. Moreover, they are presented from a practical perspective. Accordingly, there is a desideratum to provide semantic foundations that are important to offer complete and rigorous definitions for better understandability and to facilitate mathematical reasoning.In this paper, we provide a formal semantics for aspect matching and weaving on xUML models, particularly activity diagrams. The target action language is Action Language for Foundational UML (Alf) [5] proposed by OMG. In addition of being a standard, Alf is highly expressive and provides precise semantics for specifying detailed behaviors at the modeling level. However, for the sake of illustration, we choose a small core syntax that captures the essence of Alf language as we believe that readabili...