RCRS (the Refinement Calculus of Reactive Systems)
is a compositional reasoning framework:
RCRS can model open (input-output), non-deterministic, and non-input-receptive systems.
Non-deterministic means for a given input, many outputs may be possible. Non-input-receptive means some inputs may be declared as illegal.
Components can be specified as symbolic transition systems
or as temporal logic (LTL) formulas.
Components can be composed using three primitive operators:
serial, parallel, and feedback composition.
RCRS supports checking compatibility of components during composition.
RCRS supports refinement, which allows to reason about component substitutability.
RCRS supports both safety and liveness properties.
RCRS has been fully formalized in the Isabelle theorem prover. This formalization is included in the publicly
available RCRS Toolset (see below).
The RCRS Toolset comes with a Translator of Hierarchical Block Diagrams
(Simulink).
The RCRS Toolset has been used on non-trivial examples, including
a Fuel Control System benchmark provided by Toyota.
The RCRS Toolset: Implementation and Download
Our group is developing and distributing (under the MIT license)
the RCRS Toolset.
The distribution currently includes:
A Formal Analyzer, implemented on top of Isabelle, which
allows to perform compatibility checks on a model, to flatten and
simplify a hierarchical model into a single monolithic
symbolic transition system without internal variables ("wires"),
and to generate simulation code.
The simulink2isabelle Translator, which translates
Simulink models
into RCRS Isabelle theories that can be processed by the Formal Analyzer.
We support a decent subset of Simulink's basic blocks, including
continuous-time blocks like Integrators.
I. Dragomir, V. Preoteasa, S.Tripakis. The Refinement Calculus of Reactive Systems Toolset. arXiv 2017. To appear also in TACAS 2018. [technical report]
V. Preoteasa, I. Dragomir, S.Tripakis. The Refinement Calculus of Reactive Systems. arXiv 2017 [technical report]
V. Preoteasa, I. Dragomir, S.Tripakis. Type Inference of Simulink Hierarchical Block Diagrams in Isabelle. FORTE 2017 [paper][technical report][slides]
V. Preoteasa, I. Dragomir, S.Tripakis. A Nondeterministic and Abstract Algorithm for Translating Hierarchical Block Diagrams. arXiv 2016 [technical report]
V. Preoteasa, S.Tripakis. Towards Compositional Feedback in Non-Deterministic and Non-Input-Receptive Systems. LICS 2016 [paper][technical report]
S.Tripakis. Compositionality in the Science of System Design. Proceedings of the IEEE 2016 [paper]
I. Dragomir, V. Preoteasa, S.Tripakis. Compositional Semantics and Analysis of Hierarchical Block Diagrams. SPIN 2016 [paper][technical report][slides]
V. Preoteasa, S.Tripakis. Refinement Calculus of Reactive Systems. EMSOFT 2014 [paper][technical report]
V. Preoteasa. Formalization of Refinement Calculus for Reactive Systems. Archive of Formal Proofs 2014 [paper][source]
S. Tripakis, C. Stergiou, M. Broy, E. A. Lee. Error-Completion in Interface Theories. SPIN 2013 [paper]
S. Tripakis, B. Lickly, T. A. Henzinger, E. A. Lee. A Theory of Synchronous Relational Interfaces. ACM TOPLAS 2011 [paper]
S. Tripakis, B. Lickly, T. A. Henzinger, E. A. Lee. On Relational Interfaces. EMSOFT 2009 [paper]