Due to the complexity of software systems of today, new monitoring approaches are needed in order to successfully observe the system in operation. These methods are required to be scalable for the smallest embedded systems as well as to complex multi-component architectures. Complex event processing-based monitoring is one of such monitoring solutions, and this thesis will demonstrate the capabilities of this method on a demonstrator application.
This work focuses on the source code generation of these monitors from automata, more paticularly for embedded environments, where the system resources are highly constrained compared to a personal computer. One of the challenges of generating scalable monitors are providing hard real-time properties in all platforms, because monitoring in small systems might takes critical amount of time from the monitored process. With such limitations, the code generator must be aware of the architecture and platform configuration while generating the code.
This thesis utilizes Eclipse-based technologies, such as the VIATRA framework for implementing the complex event processing logic and the corresponding automata, and the Xtend general purpose, template-based generation language for deriving source code.
With these features, the completed generator is tested on a Texas Intrument's BeagleBone Black single board computer, which has a special realtime unit embedded next to the processor core, opening up possibilities for coupled, real-time monitoring.