<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Bridging the Gap Between Requirements and Simulink Model Analysis</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Dimitra Giannakopoulou NASA Ames</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Hamza Bourbouh KBR / NASA Ames</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Johann Schumann KBR / NASA Ames</institution>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Thomas Pressburger NASA Ames</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <abstract>
        <p>Formal veri cation and simulation are powerful tools for the veri cation of requirements against complex systems. Requirements are developed in early stages of the software lifecycle and are typically expressed in natural language. There is a gap between such requirements and their software implementation. We present a framework that bridges this gap by supporting a tight integration and feedback loop between highlevel requirements and their analysis against software artifacts. Our framework implements an analysis portal within the fret requirements elicitation tool, thus forming an end-to-end, open-source environment where requirements are written in an intuitive, structured natural language, and are veri ed automatically against Simulink models.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        in the target Simulink model. To this end, we have developed an end-to-end, open-source requirements analysis
framework that supports a tight integration and feedback loop between high level requirements and the V&amp;V of
models or code against these requirements. Our framework is available and open source; it currently connects
fret1 with the cocosim model veri er [
        <xref ref-type="bibr" rid="ref3 ref4 ref7">3, 4, 7</xref>
        ], with plans to extend it to support a variety of analysis tools.
      </p>
      <p>
        Our framework provides: 1) automatic extraction of Simulink model information and association of
requirements with target model signals and components; 2) translation of fret temporal logic formulas into synchronous
data ow cocospec [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] speci cations as well as Simulink monitors, to be used by veri cation tools; and 3)
interpretation of counterexamples produced by veri cation back at model and requirement levels.
      </p>
      <p>
        Similarly to [
        <xref ref-type="bibr" rid="ref16 ref2">2, 16</xref>
        ], our framework checks formal properties against Simulink models, but unlike [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], it does
not involve translation by hand, and unlike [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], property propositions do not need to match model variables.
Moreover, in our framework, analysis results can be traced back to requirements.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Our framework step-by-step</title>
      <p>NL: \Exceeding sensor limits shall latch an autopilot pullup when the pilot is not in control (not standby) and the system
is supported without failures (not apfail)"
FRETish: FSM shall always satisfy (sensorLimits &amp; autopilot) ) pullup
pmLTL: H((sensorLimits &amp; autopilot) =) pullup)
1https://github.com/NASA-SW-VnV/fret
2https://github.com/hbourbouh/lm_challenges
Step 0 : FRETISH to pmLTL
A fretish requirement contains up to six elds: scope, condition, component*, shall*, timing, and
response*. Mandatory elds are indicated by an asterisk. component speci es the component that the
requirement refers to. shall is used to express that the component's behavior must conform to the requirement.
response is a Boolean condition that the component's behavior must satisfy. scope speci es the period when
the requirement holds. The optional condition eld is a Boolean expression that further constrains when the
response shall occur. timing, e.g., always, after/for N time units, speci es when the response shall happen,
subject to condition and scope.</p>
      <p>
        The manually written fretish version of requirement [FSM-001], shown in Figure 2, uses the component,
shall, timing, and response elds. Since scope and condition elds are omitted, the requirement holds
universally. The autopilot proposition was used by the requirements engineer to simplify the requirement; it equals
(! standby &amp; ! apfail &amp; supported). For each requirement, fret generates a pmLTL formalization, e.g.,
see Figure 2 for the pmLTL of [FSM-001]. H refers to the Historically pmLTL operator [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <sec id="sec-2-1">
        <title>Step 1 : Architectural Mapping</title>
        <sec id="sec-2-1-1">
          <title>To generate monitors and automatically attach them at</title>
          <p>the appropriate hierarchical level of the model, we need
architectural data from the model. For instance, for
[FSM-001], we need information about the hierarchical
level, i.e., the path, of the model component that
corresponds to the FSM component mentioned in fretish.</p>
          <p>Additionally, we need information about the signals of
the component, e.g., name, type (e.g., input, output),
datatype (e.g., boolean, double, bus) that correspond
to the propositions mentioned in [FSM-001].Our
framework provides a mechanism to automatically extract the
required architectural data from a Simulink model.</p>
          <p>Once model data is imported, the architectural
mapping procedure starts, which includes mapping every
component and proposition mentioned in a requirement to a
model component and a signal, respectively. There are Figure 3: sensorLimits mapping
two ways to do the architectural mapping: in the ideal
case where the same names are used both in the requirements and in the model, our tool automatically
constructs the desired mapping. From our experience however, this is usually not the case. Di erent engineers
work on requirements and on models, and these two parts are hardly ever properly synchronized. For this
reason, we provide an easy-to-use user interface, through which the user can pick the path of the corresponding
model component or port from a drop-down menu and map it to a requirement component or proposition (see
Figure 3 for the mapping of the sensorLimits proposition of FSM, to the limits signal of the fsm 12B model
component). Then, our tool automatically identi es all the other required information (data types, dimensions,
etc) to generate correct-by-construction monitors and corresponding traceability data. Alternatively, a user may
provide the required information manually.</p>
          <p>Step 2 : COCOSPEC Monitors and Traceability Data
To translate pmLTL into cocospec, we created a library of pmLTL operators in cocospec, a speci cation
language for Lustre:
-- Once
node O(X: bool ) returns (Y: bool );
let</p>
          <p>Y = X or ( false -&gt; pre Y);
tel
--Y since X
node S(X ,Y: bool ) returns (Z: bool );
let
Z = X or (Y and ( false -&gt; pre Z));
tel
-- Historically
node H(X: bool ) returns (Y: bool );
let</p>
          <p>Y = X -&gt; (X and ( pre Y));
tel
--Y since inclusive X
node SI (X ,Y: bool ) returns (Z: bool );
let</p>
          <p>Z = Y and (X or ( false -&gt; pre Z));
tel
autopilot</p>
          <p>1
sensorLimits</p>
          <p>3
supported</p>
          <p>4
apfail</p>
          <p>5
standby</p>
          <p>A
B</p>
          <p>A ==&gt; B</p>
          <p>In1</p>
          <p>guarantee
(sensorLimits and autopilot) =&gt; (pullup)</p>
          <p>FSM001</p>
          <p>The semantics of the unary pre and the binary initialization -&gt; operators are de ned as follows, in the
synchronous data ow language Lustre. At time t = 0, pre p is unde ned for an expression p, while for each
later time step t &gt; 0, pre p returns the value of p at t 1. At time t = 0, p -&gt; q returns the value of p at t = 0,
while for t &gt; 0 it returns the value of q at t. Here is the monitor r [FSM001] in the cocospec language:
contract FSMSpec ( apfail : bool ; sensorLimits : bool ; standby : bool ; supported : bool ; ) returns (
pullup : bool ; );
let
var autopilot : bool = supported and not apfail and not standby ;
guarantee " FSM001 " H (( sensorLimits and autopilot ) =&gt; ( pullup ));
tel</p>
          <p>The generated traceability data, which include the mapping of fretish propositions to the absolute paths of
the Simulink signals, are provided in JSON format.</p>
          <p>
            2
pullup
cocosim attaches cocospec monitors to Simulink
subsystems. This process relies heavily on cocosim's Inputs T=0 T=1 T=2 T=3
Lustre-to-Simulink compiler. The rst compilation step standby F F F F
is performed by LustreC [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ], an open-source Lustre com- apfail F F F F
piler, which produces information necessary to extract supported T T T T
the model structure. The second step transforms the sensorLimits T F T F
produced structure into Simulink blocks through the Outputs
Simulink API. Each cocospec construct (e.g., assume, pullup F T F F
guarantee) is compiled and translated: their equivalent
Simulink blocks are provided by a dedicated cocosim Table 1: Counterexample for [FSM-001v2]
block library [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ]. Mathematical operators are translated
into equivalent Simulink blocks. The pre operator is implemented as a Simulink Unit delay block. Figure 4
shows the generated Simulink monitor for [FSM-001]. Once the monitor is generated, cocosim automatically
attaches it to the Simulink model based on the traceability data from Step 2. Once generated and attached at
the model, the monitors can be used as runtime V&amp;V components.
          </p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Step 4: Veri cation of the complete model</title>
        <p>
          At this step, veri cation can be performed either at the Simulink level using e.g., the Simulink Design Veri er
or, at the Lustre level, using e.g., Kind2 [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Since requirements are initially given to us in natural language,
their semantics is often ambiguous. For instance, our interpretation in fretish of the requirement [FSM001],
where all conditions must be satis ed at the same time for pullup to be activated, was shown to be invalid when
checked against the model. After revisiting the requirement, we thought that potentially there is a time step
di erence between limits = true and the activation of pullup. Thus we wrote the following second version,
which, however, was also shown to be invalid.
        </p>
        <p>
          FSM-001v2: if autopilot &amp; pre autopilot &amp; pre limits FSM shall immediately satisfy pullup
Step 5: Counterexample simulation
Simulation of counterexamples is helpful for identifying weaker properties and producing meaningful reasoning
scenarios. For instance, let us consider requirement [FSM-001v2], for which Kind2 returned the counterexample
shown in Table 1. It is clear that, even though pullup was activated the rst time sensorlLimits hold, it was
not activated at the second occurrence of sensorLimits. To better understand the behavior of the model, we
performed a simulation based on this counterexample. Figure 5 illustrates a scenario when sensorLimits occurs
multiple times during the autopilot operation, during which condition autopilot must be true. Based on this
simulation, we found that pullup is latched only when sensorLimits holds in the previous step and has not
been true for at least three steps before that [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>This additional information helped us to tailor the proper requirement by disambiguating and re ning the
original natural language requirement. This shows on one hand, the ambiguous nature of natural language and,
on the other hand, the elicitation capabilities of our framework.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Preliminary results</title>
      <p>
        Table 2 summarizes preliminary results from applying
our approach to the LMCPS challenge, which is
described in detail in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].Our framework is generic and
can use the strengths of several analysis tools. For
example, our case study uses Kind2 and SLDV. However,
since the MathWorks license prevents the publication
of empirical results comparing with SLDV, we only
provide the Kind2 results in Table 2.
      </p>
      <p>In general, the LMCPS models are highly numeric Figure 5: Simulation of [FSM-001v2]
and non-linear, which makes analysis very challenging
when using SMT-based model checkers such as Kind2 and SLDV. In the case of Kind2, to handle non-linearities,
we used abstractions of non-linear functions such as trigonometric functions and as a result, Kind2 was able
to return an answer (decided) in cases that were undecided before adding the abstractions. We found modular
veri cation particularly helpful in order to obtain meaningful results. Due to its architectural mapping, our
framework allows us to deploy cocospec speci cations at di erent levels of the model behavior. For instance,
for the FSM component, we generated three di erent contracts that we deployed at three di erent hierarchical
levels of the model. This is important for complex models where veri cation does not scale when applied at the
top level. We applied modular veri cation to 20 out of the 64 requirements.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <sec id="sec-4-1">
        <title>We described an end-to-end framework in which require</title>
        <p>ments written in a restricted natural language can be
equivalently transformed into monitors and be analyzed
against Simulink models by Simulink-based and
Lustrebased veri cation tools. Our framework ensures that
requirements and analysis activities are fully aligned:
Simulink monitors are derived directly from
requirements (and not handcrafted), and analysis results are
traced back to requirements. The features of our
framework are generic and can be used to integrate other
requirement elicitation and analysis tools. In the future,
we plan to provide additional ways of providing
feedback from analysis tools to requirement engineers, to
support them in correcting requirements. We also plan
to extend our framework with additional types of
analysis that can be performed at the level of requirements,
e.g., realizability checking.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Name</title>
        <p>Triplex Signal Monitor (TSM)
Finite State Machine (FSM)
Tustin Integrator (TUI)
Control Loop Regulators (REG)
Nonlinear Guidance (NLG)
Feedforward Neural Network (NN)
Control E ector Blender (EB)
6DoF Autopilot (AP)
System Safety Monitor (SWIM)
Euler Transformation (EUL)
Total
Acknowledgements. We thank Mohammad Hejase, Cesare Tinelli, and Daniel Larraz for fruitful discussions
and feedback. This work was funded by the NASA ARMD System-Wide Safety Project.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Baier</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katoen</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          :
          <article-title>Principles of model checking</article-title>
          . MIT press (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Balasubramanian</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pap</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nine</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karsai</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lowry</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pasareanu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pressburger</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Rapid property speci cation and checking for model-based formalisms</article-title>
          .
          <source>In: 2011 22nd IEEE International Symposium on Rapid System Prototyping</source>
          . pp.
          <volume>121</volume>
          {
          <issue>127</issue>
          (May
          <year>2011</year>
          ). https://doi.org/10.1109/RSP.
          <year>2011</year>
          .5929985
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Bourbouh</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garoche</surname>
            ,
            <given-names>P.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garion</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gur</surname>
            <given-names>nkel</given-names>
          </string-name>
          , A.,
          <string-name>
            <surname>Kahsai</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thirioux</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Automated analysis of State ow models</article-title>
          .
          <source>EPiC Series in Computing 46</source>
          ,
          <issue>144</issue>
          {
          <fpage>161</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Bourbouh</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garoche</surname>
            ,
            <given-names>P.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loquen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Noulard</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pagetti</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>CoCoSim, a code generation framework for control/command applications: An overview of CoCoSim for multi-periodic discrete Simulink models</article-title>
          .
          <source>In: 10th European Congress on Embedded Real Time Software and Systems (ERTS</source>
          <year>2020</year>
          )
          <article-title>(</article-title>
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Champion</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gur</surname>
            <given-names>nkel</given-names>
          </string-name>
          , A.,
          <string-name>
            <surname>Kahsai</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tinelli</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>CoCoSpec: A mode-aware contract language for reactive systems</article-title>
          .
          <source>In: Software Engineering and Formal Methods - 14th International Conference, SEFM</source>
          <year>2016</year>
          ,
          <article-title>Held as Part of STAF 2016</article-title>
          , Vienna, Austria,
          <source>July 4-8</source>
          ,
          <year>2016</year>
          , Proceedings. pp.
          <volume>347</volume>
          {
          <issue>366</issue>
          (
          <year>2016</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -41591-8 24
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Champion</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mebsout</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sticksel</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tinelli</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The Kind 2 model checker</article-title>
          . In: Computer Aided Verication - 28th
          <source>International Conference, CAV 2016</source>
          , Toronto, ON, Canada,
          <source>July 17-23</source>
          ,
          <year>2016</year>
          , Proceedings, Part II. pp.
          <volume>510</volume>
          {
          <issue>517</issue>
          (
          <year>2016</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -41540-6 29
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>[7] CoCo-team: CoCoSim { automated analysis framework for Simulink</article-title>
          . https://github.com/NASA-SW-VnV/ CoCoSim
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Elliott</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>An example set of cyber-physical V&amp;V challenges for S5, Lockheed Martin Skunk Works</article-title>
          . In: Laboratory,
          <string-name>
            <surname>A.F.R</surname>
          </string-name>
          . (ed.)
          <source>Safe &amp; Secure Systems and Software Symposium (S5)</source>
          ,
          <fpage>12</fpage>
          -
          <issue>14</issue>
          <year>July 2016</year>
          , Dayton, Ohio (
          <year>2016</year>
          ), http://mys5.org/Proceedings/2016/Day_2/2016-S5-Day2_0945_Elliott.pdf
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Garoche</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kahsai</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thirioux</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          : LustreC, https://github.com/coco-team/lustrec
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Garoche</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kahsai</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thirioux</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          : Zustre, https://github.com/coco-team/zustre
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Giannakopoulou</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mavridou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pressburger</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rhein</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          :
          <article-title>Formal requirements elicitation with FRET</article-title>
          .
          <source>In: 26th Intl Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ-2020</source>
          , Tool) (
          <year>2020</year>
          ), http://ceur-ws.org
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Giannakopoulou</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pressburger</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mavridou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumann</surname>
          </string-name>
          , J.:
          <article-title>Generation of formal requirements from structured natural language</article-title>
          .
          <source>In: 26th Intl Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ-2020)</source>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Halbwachs</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caspi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Raymond</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pilaud</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The synchronous data ow programming language LUSTRE</article-title>
          .
          <source>Proceedings of the IEEE</source>
          <volume>79</volume>
          (
          <issue>9</issue>
          ),
          <volume>1305</volume>
          {
          <fpage>1320</fpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Jeannet</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gaucher</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Debugging Embedded Systems Requirements with STIMULUS: an Automotive Case-Study</article-title>
          .
          <source>In: 8th European Congress on Embedded Real Time Software and Systems (ERTS</source>
          <year>2016</year>
          ). TOULOUSE, France (
          <year>Jan 2016</year>
          ), https://hal.archives-ouvertes.fr/hal-01292286
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Mavridou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bourbouh</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garoche</surname>
            ,
            <given-names>P.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hejase</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Evaluation of the FRET and CoCoSim tools on the ten Lockheed Martin cyber-physical challenge problems</article-title>
          .
          <source>Tech. Rep. TM-2019-220374</source>
          ,
          <string-name>
            <given-names>National</given-names>
            <surname>Aeronautics</surname>
          </string-name>
          and Space
          <string-name>
            <surname>Administration</surname>
          </string-name>
          (
          <year>February 2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Nejati</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gaaloul</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Menghi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Foster</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolfe</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Evaluating model testing and model checking for nding requirements violations in Simulink models</article-title>
          .
          <source>In: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering</source>
          . p.
          <volume>1015</volume>
          {
          <fpage>1025</fpage>
          . ESEC/FSE 2019,
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA (
          <year>2019</year>
          ). https://doi.org/10.1145/3338906.3340444
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>RTCA</surname>
            ,
            <given-names>S.C.</given-names>
          </string-name>
          :
          <article-title>DO-178C, Software Considerations in Airborne Systems and Equipment Cferti cation (</article-title>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>