autoCode4
Synthesizing embedded control software from formal specifications
autoCode4 is an engine that synthesizes controllers from formal specifications described under a subset of linear temporal logic (LTL).
Importantly, it synthesizes synchronous dataflow controllers (in Lustre or in Ptolemy II form) and maintains requirement-to-code traceability. Such feature is mandated in developing safety-critical systems and are considered essential for specification validation or integrating manual implementation such as legacy code.
The LTL specification captures the desired behavior of a controller where the environment takes the first move (i.e., sense/input then react/output), so the synthesized controller can be viewed as a Mealy machine.
A step-by-step tutorial is available within the software package.