
# Synergy with Reactis for Simulink

```{epigraph}

Combining Reactis for C with Reactis for Simulink in a model-based
development process produces synergistic benefits.

```

Engineers performing model-based design using
Simulink&reg;/Stateflow&reg;[^mwtm] as a design tool and C as an
implementation language can benefit significantly from using Reactis for C
in combination with its sibling product, Reactis for Simulink.

```{figure} images/back-to-back-testing.png
---
width: 75%
name: back-to-back-testing-fig
---
Checking for conformance of a C program to a Simulink model, often called
back-to-back testing.
```

Synergistic benefits occur when test suites are shared between both
versions of Reactis. There are two basic use-case scenarios. The first case
is shown in {numref}`Figure {number}<back-to-back-testing-fig>`, which
depicts the workflow in a typical model-based development environment. In
this scenario, the conformance of an implementation to a model can be
checked by generating a test suite using Reactis for Simulink, and then
testing the implementation against the test suite with Reactis for C.

```{figure} images/reverse-engineering.png
---
width: 75%
name: reverse-engineering-fig
---
Checking for conformance of a model to the C code from which the model was reverse engineered.
```

{numref}`Figure {number}<reverse-engineering-fig>` shows the workflow when
using both Reactis products to support the reverse engineering of models
from legacy C code. In this scenario, the conformance of the model to the
legacy implementation can be checked by generating a test suite from the
implementation using Reactis for C, and then testing the model against the
test suite using Reactis for Simulink.


[^mwtm]: Simulink and Stateflow are registered trademarks of MathWorks, Inc.