The Community for Technology Leaders
Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05) (2006)
Pune, India
Sept. 11, 2006 to Sept. 15, 2006
ISBN: 0-7695-2678-0
pp: 167-176
Dong Ha Nguyen , Ecole des Mines de Nantes, France
Mario Sudholt , Ecole des Mines de Nantes, France
Aspect-Oriented Programming is a promising approach to the construction of large-scale software systems. The declarativeness of aspect definitions and support for verification of AO programs crucially depends on the expressiveness of the aspect languages used. Currently, a large spectrum of pointcut languages, i.e., the languages that define where aspects may apply modifications to an application, have been proposed. Their expressiveness ranges from regular expression languages, which, e.g., provide support for static interaction analysis, to context-free or turing complete languages, the latter almost without any support for analysis or verification. In this paper we investigate the use of Visibly Pushdown Automata (VPA) [4] as a basis for an aspect language in order to enable more declarative aspect definitions (compared to regular approaches) for protocollike relationships and static verification of properties, in particular analysis of interactions among aspects. <p>Concretely, we present four contributions: (i) we provide a set of examples motivating the use of VPA-based aspect definitions in the context of P2P systems, (ii) formally define a core aspect language for protocols with a VPA-based pointcut language, (iii) show that this language supports the analysis of interaction properties among aspects, and (iv) briefly present a freely available library implementing basic VPA operations, which we have used to analyze some interaction examples.</p>
Dong Ha Nguyen, Mario Sudholt, "VPA-Based Aspects: Better Support for AOP over Protocols", Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05), vol. 00, no. , pp. 167-176, 2006, doi:10.1109/SEFM.2006.39
89 ms
(Ver 3.3 (11022016))