Aspect-oriented programming is a programming paradigm that is often praised for the ability to create modular software and separate cross-cutting concerns. Recently aspects have been also considered in the context of coordination languages, offering similar advantages. However, introducing aspects makes analyzing such languages more difficult due to the fact that aspects can be recursive - advice from an aspect must itself be analyzed by aspects - as well as being simultaneously applicable in concurrent threads. Therefore the problem of reachability of various states of a system becomes much more challenging. This is important since ensuring that a system does not contain errors is often equivalent to proving that some states are not reachable. In this paper we show how to solve these challenges by applying a successful technique from the area of software model checking, namely communicating pushdown systems. Even though primarily used for analysis of recursive programs, we are able to adapt them to fit this new context.
|Title of host publication||Coordination Models and Languages : 14th International Conference, COORDINATION 2012 Stockholm, Sweden, June 14-15, 2012 Proceedings|
|Publication status||Published - 2012|
|Event||14th International Conference on Coordination Models and Languages - Stockholm, Sweden|
Duration: 14 Jun 2012 → 15 Jun 2012
|Conference||14th International Conference on Coordination Models and Languages|
|Period||14/06/2012 → 15/06/2012|
|Series||Lecture Notes in Computer Science|
Bibliographical noteThe research presented in this paper has been supported by MT-LAB, a VKR Centre
of Excellence for the Modelling of Information Technology.