The programming framework

The A4WSN programming framework is tailored to support the development of code generation and analysis engines against WSN application models conforming to the A4WSN modeling languages. Our programming framework provides a generic workbench and a set of extension points for supporting the development and integration of third-party code generation and analysis engines. More specifically, through its components, it enables the storage of WSN models, supports the merging of linked models, validates A4WSN models, provides error/warning/information messages to the user, defines a UI manager to make plugins interacting, provides facilities for managing code generation and analysis engines.

Third-party engines are realized as plugins extending the A4WSN generic workbench. It knows at run-time which plugins are available and automatically provides to the user the available target implementation languages and analysis techniques.

The figure shows an overview of the A4WSN programming framework. All the boxes within the programming framework represent the various components of the generic programming workbench, whereas the C1::Cn and A1::An boxes represent third-party code generation and analysis plugins, respectively. Third-party plugins extend the Code Generation Manager and Analysis Manager components, which provide the needed extension points, they communicate with all the other components of the programming framework.

The details about the various components of the A4WSN programming framework are described in our 2013 paper titled A4WSN: An Architecture-driven Modelling Platform for Analysing and Developing WSNs .