Skip to content

coco-team/cocoSim2

Repository files navigation

CoCoSim

CoCoSim is an automated analysis and code generation framework for Simulink and Stateflow models. Specifically, CoCoSim can be used to verify automatically user-supplied safety requirements. Moreover, CoCoSim can be used to generate C and/or Rust code. CoCoSim uses Lustre as its intermediate language. CoCoSim is currently under development. We welcome any feedback and bug report.

Installation

Installation instructions can be found here.

CoCoSim Features

Example

  1. Launch cocosim start_cocosim
  2. Open one of the examples open('contract/DoorLockCompositional.slx')
  3. To verify the model, go to Tools menu and select Tools/CoCoSim/Verify

Tutorial Videos

The first video below explains the concept of contract specification using a simple Lustre model that simulates the evolution of a bacteria population. The second video shows how CoCoSim can be used to specify a contract for a CoCoSim version of the bacteria population model. Finally, the third video explains the concept of compositional analysis using a semi-realistic model of a door lock.

  1. Contracts in Lustre
  2. Contracts in CoCoSim
  3. Compositional analysis

People

  • Project leaders: Temesghen Kahsai, Cesare Tinelli, and Corina Pasareanu

  • Developers/Contributors: Hamza Bourbouh (SGT - USA), Pierre-Loic Garoche (Onera - France), Mudathir Mohamed (The University of Iowa - USA), Baoluo Meng (The University of Iowa - USA), Daniel Larraz (The University of Iowa - USA), Christelle Dambreville (ENSEEIHTENSEEIHT - France), Claire Pagetti (Onera - France), Eric Noulard (Onera - France), Thomas Loquen (Onera - France), Xavier Thirioux (ENSEEIHT - France), and Arnaud Dieumegard (IRIT - France)

Acknowledgments and Disclaimers

CoCoSim was partially funded by:

  • NASA NRA NNX14AI09G
  • NSF award 1136008

Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) do not necessarily reflect the views of NASA and NSF.