Interaction-oriented programming with Djnn and Smala

Smala is a language that has been designed to effectively support the development of reactive applications. Smala is built on the top of a set of C++ libraries named Djnn. Djnn provides a core library that implements the execution engine allowing to run a tree of components.
Djnn libraries provide various components for arithmetic, logic, graphics and various control structures such as finite state machine.
It is possible to build a tree of components by directly using these libraries and the C++ language. However the task is akin to those of writing an abstract syntax tree. Thus, we designed Smala so as to provide a dedicated syntax with specific symbols that helps to visualize the interaction between components. Smala comes with a compiler that transforms the Smala program into a program written in the C++ language.
The Djnn libraries and the Smala compiler are freely available on github:

https://github.com/lii-enac/djnn-cpp
https://github.com/lii-enac/smala