Lutin is a language to program stochastic reactive systems. It has been designed to model environments and perform automated testing of reactive systems with Lurette.

It can be seen as a probabilistic extension of Lustre with an explicit control structure based on regular operators: sequence (fby, for "followed by"), Kleene star (loop), and choice (|). At each step, the Lutin interpreter

  • computes the set of reachable constraints, which depends on the current control-state;
  • removes from it unsatisfiable constraints, which depends on the current data-state (input and memories);
  • draws a constraint among the satisfiable ones (control-level non-determinism);
  • draws a point in the solution set of the constraint (data-level non-determinism).

This chosen point defines the output for the current reaction. The solver of the current Lutin interpreter uses Binary Decision Diagrams (BDD) and convex polyhedron libraries [1]. It is thus able to deal with any combination of logical operators and linear constraints.

More information can be found in The Lutin Tutorial (pdf version) and in The Lutin Manual.

 Argosim and Stimulus

Lutin is currently being transfered by the Argosim start-up compagny. Their Lutin is named Stimulus.


Lutin is availlable via opam

opam repo add verimag-sync-repo ""
opam update
opam install lutin

If you install opam for this purpose, by default its uses the "system" ocaml, i.e., the one installed by your package manager. For some reasons (right permission issues), the previous commands might not work. If it is the case, try to install your own version of ocaml as follows:

opam switch 4.04.0


— A paper describing the Lutin semantics [2]
— Two papers illustrating the use of Lutin [3],  [4]

[1Generating Random Values Using Binary Decision Diagrams and Convex Polyhedra. Erwan Jahier, Pascal Raymond - Trends in Constraint Programming [JR07]

[2P. Raymond, Y. Roux, E. Jahier - Lutin: A language for specifying and executing reactive scenarios - EURASIP Journal on Embedded Systems 2008 [RRJ08]

[3E. Jahier, N. Halbwachs, P. Raymond - Engineering Functional Requirements of Reactive Systems using Synchronous Languages - International Symposium on Industrial Embedded Systems, 2013. SIES’13. [JHR13]

[4E. Jahier, S. Djoko-Djoko, C. Maiza, and E. Lafont - Environment-Model Based Testing of Control Systems: Case Studies - International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2014) [JDM+14]

View online : Download lutin

Contact | Site Map | Site powered by SPIP 3.0.25 + AHUNTSIC [CC License]

info visites 791386