Extension and adaptation of an aspect oriented programming language for real-time systems
Abstract
Aspect oriented programming (AOP) supports the separation of concerns cutting across the implementation of a software application to avoid scattering and tangling. We focus on the integration of this paradigm in the development of real-time systems. AOP is based on the weaving process to automatically integrate separately created segments of code, into the application. In the context of real-time systems, this can compromise determinism by including constructs that may violate real-time constraints. In this paper, we both study and test the AspectAda language, an existing aspect extension for Ada, in order to adapt its implementation to respect real-time constraints. We study this language's grammar, runtime and especially weaving operations. Then, we extract its limits and provide solutions to adapt it to support real-time constraints. Finally, we propose a new architecture of the compiler/weaver to overcome the problems of the existing one and we detail its different parts.