Section: New Results
Virtual prototyping of imperative programs
Participants : Loïc Besnard, Thierry Gautier, Jean-Pierre Talpin.
The Espresso project team has integrated a tool which allows to import C functions into Signal and SME. This work was partly funded by the project FotoVP  . We extending this virtual prototyping tool to include the specification and verification of C components using a deterministic thread library: FairThreads.
In C components using the Fairthreads library, one or more schedulers are defined to which threads can be connected. The threads associated with a scheduler are expected to be cooperative and are executed in a strict round-robin fashion. The operation and scheduling of threads connected to a scheduler are completely deterministic.
The importer translating C programs in an SSA representation to Signal specifications will be extended to include C programs using the API commands for the fairthreads. The scope of the project is to consider threaded programs with a bounded number of threads connected to one scheduler. Each thread is a C procedure and is translated using existing methods. A template for the scheduler has been handwritten, and can be algorithmically generated to accommodate any number of threads.