Making Aspect-Oriented System Evolution Safer

M.A. Pérez Toledano, A. Navasa, J.M. Murillo, C. Canal

ECOOP'2006 Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE'06)

Nantes (France), July 2006


The information systems of enterprises change rapidly and it is necessary for the existing software to evolve without the comprehension, modularity or quality of the built systems being affected. In this context, Aspect Oriented Programming reveals as an adequate way of working because it makes the encapsulation of methods easier and reduces development times. The inclusion of aspects (woven code) inside an existing software code  could, nevertheless, cause the resulting system behaviour not to be that expected by the developer. In this paper, we propose to evolve system specifications at the same time as the software itself. In this way, we can start from these specifications in order to obtain state machines or algebraic descriptions of the components of the system. These can be used to perform verification, simulation or testing operations of the systems built. We also propose the use of extended state machines that allow us to describe the evolution of the system in a more detailed wa, facilitating more complete Model Checking operations. (Paper)