<!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>
      <journal-title-group>
        <journal-title>AvioSE</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Test Sequence Generation From Formally Verified SysML Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pierre de Saqui-Sannes</string-name>
          <email>Pierre.De-saqui-sannes@isae-supaero.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ludovic Apvrille</string-name>
          <email>ludovic.apvrille@telecom-paristech.fr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ISAE-Supaero</institution>
          ,
          <addr-line>10 Avenue Emile blouin, 31400 Toulouse</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LTCI</institution>
          ,
          <addr-line>Telecom ParisTech</addr-line>
          ,
          <institution>Universite ́ Paris Saclay</institution>
          ,
          <addr-line>46 rue Barrault, 75013 Paris</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <volume>1</volume>
      <fpage>67</fpage>
      <lpage>74</lpage>
      <abstract>
        <p>-Test generation has been acknowledged as a costprone activity reducing productivity and time to market. The expected benefits of Model Based Systems Engineering include automated generation of test sequences from models. The paper proposes verification solutions for the System Modeling Language (SysML). In particular, the paper shows how to link test generation to formal verification. The proposed algorithms are implemented by the free software TTool. Two case studies support discussion on conformance and interoperability testing, respectively.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        The widespread of Model Based System Engineering
approaches [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] has encouraged several communities to
develop their own modelling language. For instance, the
Object Management Group (OMG) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and the International
Council for Systems Engineering (INCOSE) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] have jointly
developed and standardized the Systems Modeling Language
(SysML) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The benefits and potential of using SysML
have been acknowledged in several application domains, in
particular avionics [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [27]. SysML is now supported by
proprietary [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and open-source tools like Papyrus1 or
TTool2 that help automating an important variety of activities
(e.g. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]) throughout the design trajectory of complex systems.
One of these activities is test sequence generation, an activity
that is cost-prone and time consuming, and therefore worth
being automated to reduce time to market of complex systems.
Automated test generation from SysML models has already
been discussed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The paper proposes another
SysML-approach based on earlier work with the Formal
Description Technique Estelle [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        In brief, the reachability graph of the SysML model is
computed directly from the block instance diagram that defines the
architecture of the system and from the state machine diagrams
that define the behaviors of the block instances. The transitions
of the graph are labelled using the messages exchanged by
pairs of block instances. This transforms the reachability
graph of the SysML model into a Labeled Transition System.
Theories developed for LTS [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] therefore apply, in particular
minimization that outputs a quotient automaton computed
with respect to an equivalence relation such as Milner’s
observational equivalence [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Taking a quotient automaton
as input, all the paths of maximal size leading to a termination
state are computed using the Dijkstra technique (22) to finally
      </p>
    </sec>
    <sec id="sec-2">
      <title>1Papyrus: https://www.eclipse.org/papyrus/</title>
      <p>
        2TTool: https://ttool.telecom-paristech.fr/
obtain a set a test sequences. Associated algorithms have been
implemented in the free and open-source tool named TTool
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>The paper is organized as follows. Section II introduces
SysML and more precisely the block instance and state
machine diagrams. Section III presents a verification by
abstraction approach for SysML models. Section IV uses the output
of the verification process to generate test sequences. Section
V applies the proposed approach to a client/server protocol
and discusses interoperability testing. Section VI uses a UAV
in charge of taking pictures to address conformance testing.
Section VII surveys related work. Section VIII concludes the
paper and outlines future work.</p>
      <p>
        The SysML standard [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] defines nine type of diagrams that
may be used inside one model to cover the requirement
capture, analysis and design phases in the trajectory of systems.
For the test generation approach discussed in the paper, only
the design phase is of interest.
      </p>
      <p>During the design phase, one defines the architecture of the
system and the behaviors of the blocks the architecture is
made up of. The SysML standard defines two architectural
design diagrams: the Block Definition Diagram (BDD) and
the Internal Block Diagrams (IBD) of the SysML standard. In
the paper, we use the version of SysML supported by TTool
where the BDD and IBD are merged into one diagram: the
Block Instance Diagram (BID). Each block instance has a
behavior expressed in the form of a SysML state machine
diagram.</p>
      <sec id="sec-2-1">
        <title>A. Block Instance Diagram</title>
        <p>A Block Instance Diagram is a tripartite graph with one
type of nodes, each one defining a block instance, and two
types of relations. First, the ”composition” relation of SysML
(black diamond) enables to say that one block instance is
made up of one or several block instances. Second, the
”connect” relation connects two ports used for exchanging
signals. For simplicity, the below definitions address the
”connect” relation, not the ”composition” one.</p>
        <p>Definition: block instance. A block instance is a 4-uple
(id; al; ml; pl; isl; osl) where:
id is a String that names the block instance.
al is an attribute list. The attribute types include Integer,
Boolean, Timer, and user-defined Records. An attribute
may be defined with an initial value.
ml is a method list.
pl is a port list.
isl is an input signal list.</p>
        <p>osl is an output signal list.</p>
        <p>Definition: Block Instance Diagram. A Block Instance
Diagram is a 3-uple (Blk; connect; assoc) where:</p>
        <p>Blk is a set of block instances.
connect is a function Port ! Port that connects pairs of
ports.
assoc is a function (BlkxSignal) ! (BlockxSignal) that
associates one signal of block B1 to one signal of block
B2, making it possible to compose the state machines
belonging to B1 and B2. Here, the term compose denotes
a composition in the usual sense of finite state machine
composition, not the composition relation supported
depicted by a black diamond in SysML.</p>
        <p>Finally, a Block Instance Diagram depicts the architecture of
a system as a graph of interconnected blocks.</p>
      </sec>
      <sec id="sec-2-2">
        <title>B. State Machine Diagram</title>
        <p>Each block instance contains one extended state finite state
machine that supports states, transitions, attribute settings,
inputs and outputs operations on signals, and time manipulation.
Definition: State Machine. An extended finite state machine
depicted by a SysML state machine diagram is bi-partite graph
(s0; S; T ) where</p>
        <p>S is a set of states (s0 is the initial state).</p>
        <p>T is a set of transitions.</p>
        <p>Definition: State Transition. A transition in a state machine
is a 5-uple (sstart ; a f ter; condition; Actions; send ) where:
sstart is the initial state of the transition.
a f ter(tmin; tmax) enables firing the transition after at
least between tmin and tmax units of time have elapsed.
condition is a Boolean expression that conditions the
execution of the transition. A condition may use attributes
of its corresponding block.</p>
        <p>Actions is a ordered set of action. These actions can be
executed only once the transition has been enabled i.e. the
a f ter clause has elapsed and the condition equals true.
send is the final state of the transition.</p>
        <p>A state machine cannot contain parallel states, historic state,
fork and join states. These behaviors can easily be replaced
by counterparts. e.g. using sub-blocks and synchronous signals
for each parallel activity.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. FORMAL VERIFICATION</title>
      <p>Adding a state machine to each block instance makes the
model an executable one. Interactive simulation enables early
checking of the state machines against design errors. It does
not necessarily explore the entire state space of the model.
Thus, it heavily depends on the experience of the user of
the simulator, or on the random generator of that simulator.
Conversely, formal verification relies on mathematics rather
than chance.</p>
      <sec id="sec-3-1">
        <title>A. Working Hypothesis</title>
        <p>The verification approach discussed in this section requires
exploring the state space of the SysML and more precisely
generating (a sub part of) the graph of states that may be
reached from the initial state of the system. Full generation
of the reachability graph of the SysML model explores all the
execution paths the system may go through starting from its
initial state. The graph enables checking the system against
reachability properties (using the model-checker we have
integrated into TTool). Also, when a property to investigate
is the reachability of a given state, then the graph generation
stops as soon as the property is satisfied (on-the-fly
modelchecking).</p>
        <p>As usually, reachability analysis faces the state space explosion
problem. Starting from now, the following hypothesis applies:
the reachability graph of the SysML model may be entirely
built within an acceptable amount of time and memory.</p>
      </sec>
      <sec id="sec-3-2">
        <title>B. Labeled Reachability Graph</title>
        <p>In this section, we assume the SysML model is composed
of one block instance diagram and one state machine diagram
per block instance. Other diagrams of the SysML model are
ignored since they do not play any role in the reachability
graph construction process.</p>
        <p>Definition: Labeled Reachability Graph. The Labeled
Reachability Graph (LRG) of a SysML model is a 5-uple LRG
= (S; S; Q; D; s0) where:</p>
        <p>S denotes the countable number of global states of the
SysML model
S is a countable set of observable events included in the
list of signals exchanged on ports. Thus we have S
”!”Ao(p) [ ”?”Ai(p) [ ”!”So(p) ”?”Si(p)) where:
– ”!” and ”?” respectively denote an emission and a
reception.
– Ao(p) is an output signal connected to an
asynchronous channel.
– Ai(p) is an input signal connected to an
asynchronous channel.
– So and S1 are output and input signals connected via
a synchronous channel.
– p denotes a list of attributes of the block to which
the signal sending/receiving corresponds.</p>
        <p>Q is a countable set of internal events, e.g. the assignation
of an attribute. Thus we have Q i(a =&lt; expr &gt;) _ i()
where a is an attribute.</p>
        <p>D Sx(S [ Q)xS denotes the set of labeled transitions in
the reachability graph. A label contains the name of the
signal exchanged by one pair of block instances or the
identification of the internal action, i.e. i(:::). An empty
i() transition is sometimes denoted t.
s0 denotes the initial state of the SysML model, i.e. the
global state obtained when all the block instances enter
their initial states.</p>
        <p>Generating the LRG consists in considering all possible
transitions from all not-yet-handled states —this
not-yethandled set contains s0 when starting the graph generation—.
For each not yet handled transition t fire-able from a given
state s1 2 not yet handled, we first create d 2 D with
d = (s1; s ; s2). We then have to compute whether 9s 2 S
with s s2. If this is the case, d = (s1; s ; s2). Otherwise, s2
is added to S and to the not-yet-handled set. This leads us
to define the notion of state and of state equivalence for a
SysML model.</p>
        <p>Definition: State. The state of a SysML model is defined
as S Sb; Sa where:</p>
        <p>Sb is the state of block b. The state of a block b is defined
by the value of its attributes al, by one state of its state
machine (it can be considered as a pointer to the current
state of the state machine of b), and by the value of its
clock. Indeed, if we assume a global clock applied to all
blocks, we need to use a local clock to remember how
much of after clauses has elapsed.</p>
        <p>Sa represents the state of the signal queue a. There is one
signal queue for each asynchronous communication. The
state of a signal queue is characterized by its ordered
list of n messages m1(p11 ; p12 ; :::); m2(p21 ; p22 ; :::); :::).</p>
        <p>Definition: State equivalence. Two states s1 and s2 are
said to be equivalent s1 s2 if and only if all their state
values are equal.</p>
        <p>In terms of tool implementation, the above approach is
implemented by the model-checker integrated to TTool. The
comparison between states is based on hashing techniques
taking into account all elements above listed: state machine
pointer, attributes values, local clock, message queues. Finally,
contrary to many contributions, we are able to generate LRG
directly from SysML model, without the need to use a pivot
language. This facilitates the back-tracing to models, and
avoids formally proving model transformations. This probably
has a performance cost when generating the reachability
graphs or more generally studying safety properties.</p>
      </sec>
      <sec id="sec-3-3">
        <title>C. LRG Minimization</title>
        <p>The labeled reachability graph of the SysML model may
have hundred, thousands and even more states and transitions.
Definitely, interpreting such a graph is impossible for Human.
Also, the purpose of verification is not to check the entire
behavior of the system in one operation. The question of
which subset of the system can be defined and checked is then
asked. The answer proposed by verification by abstraction is
as follows: verification will zoom on a subset of the signals
exchanged by pairs of blocks involved in the evolution of
the system. To refer to the theories developed for Labeled
Transitions Systems, these signals of interest play the role
of observable events. Other signals become de facto invisible
events. Transitions involving one signal exchange are labeled
by the name of the signal. Other transitions are labeled by
t. The objective of minimizing the Labeled Reachability
Graph is to get rid of the transitions labeled by t and to
keep the ones labeled by a signal name. Depending on the
equivalence relation, the quotient automaton resulting from the
minimization process may still contain t transitions.</p>
        <p>TTool implements a 3-step algorithm:
1) Replace each ignored actions with a t action.
2) Remove all t transitions i.e. merging states s1 and s2
when there is a t transition between the two.
3) Minimize the graph.</p>
        <p>
          The quotient automaton computation algorithm can be
sketched as follows. If the first two stages are quite
straightforward from an algorithmic point of view, the minimization
itself relies on the identification of coarse blocks, i.e. blocks
that are bisimulation-equivalent states. In order to identify
these blocks, we rely on the partitioning of the graphs —using
splitters— iterating on the different symbols in the graph, as
explained in [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. TEST SEQUENCE GENERATION</title>
      <p>The paper proposes a test sequence generation where the
test sequences are generated from the quotient automaton
output by the verification process. Since test sequences are
built directly from SysML actions and communication labels,
the labelling of test sequences directly refers to elements of
the SysML model.</p>
      <sec id="sec-4-1">
        <title>A. Refusal Graphs and Test Sequence Generation</title>
        <p>
          A refusal graph [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] is a deterministic Labeled Transition
System that emphasizes on the actions that are accepted from
a state (and thus on the ones that are refused).
        </p>
        <p>Definition: Refusal Graph. A Refusal Graph is a 5-uple
RG = (G; S; D; g0; Re f ) where Re f : G ! P(P(S)) is a
mapping which defines for each state, the sets of actions that
may be refused after the sequence leading to this state. To
avoid redundancy, refusal sets must be minimal w.r.t. their
inclusion set. Also, to avoid describing imaginary systems,
only refused parts of the output set are considered.</p>
        <p>The algorithm used to generate a Refusal Graph from a
Quotient Automaton can be sketched as follows. It follows
all possible paths in the input Quotient Automaton, but stops
each time an already met state is encountered (cycle). A
transition with a given label l is created in the RG each time
the outgoing transitions of the QA contains this label at least
once from the current state of QA.</p>
        <p>
          Using refusal graphs enables using an operational procedure
for implementing the concept of canonical tester [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. The
latter and the original model have the same traces. Further,
its synchronization with the Implementation Under Test must
not lead to a deadlock situation.
        </p>
        <p>Finally, generating Test Sequences TS from a Refusal Graph
basically consists in identifying all possible paths of maximal
size i.e. it consists in finding, from termination states, the
longest path from the origin state. To do this, we rely on the
Dijkstra algorithm that can compute the path length from one
state to another in a LTS. Therefore, test sequences correspond
to all longest paths from the initial state to a termination state.</p>
        <p>Definition: Test Case. A Test Case is a Labeled Transition
System TC = (S; S; D; s0; v) where v : S ! fpass; f ailg.
The algorithm deriving a refusal graph from one quotient
automaton is described below.</p>
        <p>1: QA: Quotient Automaton. RG: Refusal Graph.
2: We go though the graph, starting at state #1. Each time
we meet an already handled state, we stop handling this
path.
3: metStates = fg
4: toHandleStates = f QA.getState(0)g fWe have a list of
associations Assocfg between states in QA and RFg
5: State currentState = new State(0);
6: RG.add(currentState)
7: Assoc.add(QA.getState(0), currentState) fMain loopg
8: while toHandleStates is non empty do
9: currentQA = toHandleStates.get(0)
10: currentRefusal = Assoc.get(currentQA);
11: toHandleStates.remove(0)
12: metStates.add(currentQA) fFor each out transition of
currentQA, we create a transition in currentRefusal if
the transition does not yet exist with the same labelg
13: Loop on tr = currentQA out transitions
14: if not (tr.label exists in out transitions of currentRefusal)
then
15: QA.add(newState)
16: Assoc(destination state of tr, newState)
17: currentRefusal.addOutTransition(to newState, label
of tr)
18: if not (metStates contains destination state of tr) then
19: toHandleStates.add(destination state of tr)
20: end if
21: end if
22: Endloop
23: end while</p>
        <p>The following case studies demonstrate the usability of
our verification approach on a relevant system. The interest
of generating graphs and test sequences from SysML model
is shown by the clear relation between graph labels and the
SysML model.</p>
        <p>V. A CASE STUDY OF INTEROPERABILITY TESTING</p>
      </sec>
      <sec id="sec-4-2">
        <title>A. Testing architecture</title>
        <p>Layered design of communication protocol commonly uses
a 3-layer pattern where two protocol entities rely on one
preexisiting communication service to render in turn a
valueadded service. Similarly, the interoperatibility testing
architecture defines a 3-layer architecture where the tester is located on
top of one or several protocol entities (IUT1 and IUT2). The
Implementation Under Test UTA1 and UT2 are themselves
being on top of one pre-existing communication service.
Assuming the networked system is made up of two protocol
entities, Figure 1 (left part) defines a global testing architecture
where the global tester is connected to both protocol entities.
Figure 1 (right part) depicts a local testing architecture where
the tester is connected to one protocol entity (IUT1).</p>
      </sec>
      <sec id="sec-4-3">
        <title>B. Client/Server Protocol</title>
        <p>This section abstractly defines a client/server protocol where
the server may acknowledge or refuse the requests issued by
the client.</p>
        <p>The use-case diagram in Figure 2 delimits the boundary of
the communication system and links it to the client and server
applications, as well as to underlying, preexisting network.</p>
        <p>Figure 3 depicts a successful completion of an inquiry
procedure. The service primitive suffixes abbreviate request,
indication, response, and confirm. Two Protocol Data Units are
used: xREQ and xOK. For space reasons, the paper does not
show the sequence diagrams developed for the inconclusive
termination of the request. In brief, the sequence diagrams of
Figures 3 and 4 are merely modified to replace ”ok” by ”nok”
and ”OK” by ”NOK”.</p>
        <p>Figure 5 depicts the communication architecture that use
the client/server protocol.</p>
        <p>In terms of protocol machines, Figure 6 depicts the protocol
machine associated with the Requester. Figure 7 depicts the
protocol machine associated with the Responder.</p>
        <p>Figure 8 depicts the reachability graph generated from the
SysML model by TTool. Making the reachability graph a
Labeled Transition Systems, which enables reuse of
verification techniques originally developed for LTS, in particular
minimization with respect to an equivalence relation. The
transitions of the reachability graph are labeled by those events
the designer wants to focus verification on. These events are
typically exchanges of signals between pairs of blocks.
As far as communication architecture validation is concerned,
the events to be preserved by the minimization process are
the service primitives exchanged at the boundary between the
protocol entities (Requester and Responder on Figure 5) and
their respective users (Client and Server on Figure 5). We
selected service primitives as observable events to decorate
the reachability graph in Figure 8. The minimization process
with respect to observational equivalence outputs the quotient
automaton depicted by Figure 9.</p>
        <p>From the quotient automaton in Figure 9, we obtained the test
sequences depicted by Figure 10. If the system stops in an
intermediate state (e.g., a state different from 4 and 8), then
x_req()</p>
        <p>XREQ()
WAITING
XOK()</p>
        <p>XNOK()
x_cnf_ok() x_cnf_nok()</p>
        <p>IDLE
XREQ()
x_ind()</p>
        <p>WAITING
x_rsp_ok()</p>
        <p>x_rsp_nok()
XOK()</p>
        <p>XNOK()</p>
        <p>Fig. 8. Reachability Graph
Fig. 9. Quotient Automaton Preserving the Service Primitives
block
TransmissionDevices
- p : Point;
- p1 : Point;
- p2 : Point;
~ out flight()
~ out takePictureOrder(...</p>
        <p>block
GNSSDeviceDriver
- p : Point;
~ in setNewPosition(Poin...
~ out positionToPPM(Poi...
the test fails. Otherwise, it succeeds.</p>
        <p>VI. A CASE STUDY OF CONFORMANCE TESTING: A UAV</p>
      </sec>
      <sec id="sec-4-4">
        <title>A. Testing Architecture</title>
        <p>Conformance testing is the process of verifying the
correctness of an artifact in the development cycle of a system
against its model. For a black box testing approach one
may use a testing architecture where the tester accesses the
Implementation Under Test (IUT) via one or several Points
of Control and Observations (PCOs). Assuming the design is
a layered one, Figure 11 depicts such type of conformance
testing architecture with two PCOs that respectively test the
interfaces of the IUT with its upper and lower layers.</p>
      </sec>
      <sec id="sec-4-5">
        <title>B. Informal Specification of the UAV</title>
        <p>The UAV can autonomously take off, fly in a stabilized
way, and land at its destination or whenever a critical situation
is encountered. It takes pictures at given locations. Only
the software related to taking pictures is modeled in this
case study: the taking off, flying and landing actions are not
modeled.</p>
        <p>Pictures can be taken only when the drone is flying. A
remote system located in a ground station can send picture
order to the drone. A picture order contains the GPS position
of the picture to be taken. To know its current position, a
drone has an integrated GPS. When a picture GPS point
is reached, with regards to a given threshold, the picture is
taken, and then stored on a CompactFlash removable storage
system. The system needs 2 seconds to take a picture, and
between 4 and 5 seconds to store it in on the memory card.
Pictures may be remotely downloaded from the ground station
using a download order. Pictures can also be read from the
CompactFlash once the drone has come back from its mission.</p>
      </sec>
      <sec id="sec-4-6">
        <title>C. UAV Modeling and Test Sequence Generation</title>
        <p>Figure 12 depicts the architecture of the UAV in the form
of a block instance diagram.</p>
        <p>The reachability graph of the UAV depicted by Figure 12
has 674 states and 927 transitions. The reachability graph
is labeled to preserve a limited set of signal exchanges:
requesting for the flight to start, taking pictures, and
saving them. The minimization process outputs the quotient
automaton depicted by Figure 13. Complying with the
approach proposed by the paper, the quotient automaton
serves as starting point for generating test sequences.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>VII. RELATED WORK</title>
      <sec id="sec-5-1">
        <title>A. Model-Based Testing for Basic Models</title>
        <p>
          How to derive test sequences from fundamental models
such as Extended Finite State Machine or Labeled Transition
System has extensively been discussed in the literature, years
before the MBSE acronym was coined. In particular, the
increasing development of networked systems has stimulated
research work on protocol testing In [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. Most of the models
listed in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] are discrete event Model of Computation. The
advent of Cyber Physical Systems has stimulated research work
on hybrid models assembling discrete events and continuous
paradigms.
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>B. Model-Based Testing from SysML models</title>
        <p>
          In [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], Gauthier et al use discrete SysML/OCL modeling
artifact and add a Modelica support to address continuity.
The SysML model is annotated with Modelica and OCL. The
approach relies on simulation techniques.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], Lasalle et al. present MBT, a test sequence generation
tool developed for SysML in the framework of VETESSS, a
project connected with automotive industry. MBT generates
functional tests from UML or SysML diagrams edited with
the open-source and Eclipse-based tool Topcased. The SysML
model of the System Under Test is the input of a tool that
generates abstract test suites and transfers them to another tool
in charge of creating concrete tests in the form of test scripts.
In [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], Ouerdi et al. share an experience in vulnerability test
generation from SysML models of smart cards. The authors
Fig. 14. Test Sequences for the UAV Model
use state machine diagrams to model transactions. An
EventModel is derived from the SysML one to generate vulnerability
and robustness test cases.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], Gonzales et al. propose a SysML-based modeling
methodology for model testing of CPSs, and a SyML-Simulink
co-simulation framework.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ], Hilken and Peleska combine model-based test
generation and requirement tracing. It becomes possible to identify
test cases suitable for verifying a given requirement in an
automated way.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ], Yin et al. propose to derive test cases from activity
diagram, not from state machine diagrams (unlike other
authors). A SysML model edited with Enterprise Architect is
transformed into an intermediate representation form that is
in turn used to generate test cases automatically.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ], Abbors et al. present MATERA, a plug-in of
NoMagic’s MagicDraw. MATERA enables requirement modeling
in SysML and traces them to the UML model of the System
Under Test. MATERA transforms models into input for the
Conformiq Qtronic tool, used for automated test generation.
The test scripts generated by Qtronic are executed in the
NetHawks’s East execution environment. The results of
statistics analysis of the test run are displayed.
        </p>
        <p>VIII. CONCLUSIONS</p>
        <p>Test generation has been acknowledged as one of the
most cost-prone activity in the design trajectory of complex
systems. The expected benefits of using a model-based
approach includes the possibility to reduce that cost by
automating a test generation from a model of the system.</p>
        <p>The paper proposes a novel approach for generating test
sequences expressed in SysML and more precisely in the
dialect of SysML supported by the free and open-source tool
named TTool. The block instance diagram describing the
architecture of the system and the state machine diagrams
describing the behaviors of the block instances serve as input
to a process that links test generation to formal verification.
Indeed, assuming the reachability graph of the SysML model
can be computed, TTool generates the latter as a Labeled
Transition System whose transitions are labeled by events
appropriately selected by the user of TTool. The labeled
reachability graph is minimized using Milner’s observational
equivalence. The resulting quotient automaton serves as
starting point to build up a refusal graph, which serves in
turn as starting point for generating test sequences.</p>
        <p>
          Taking a UAV as case study, the paper illustrates the test
generation approach in the case of conformance testing. Other
types of testing, such as interoperability testing [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] also
deserve investigations. Whatever the type of testing, the test
sequences must be presented in a standardized form, e.g. using
the TTCN notation [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
2018.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Madni</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sievers</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <article-title>Model-based systems engineering: Motivation, current status</article-title>
          , and research opportunities, Systems Engineering, May
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          Group, https://www.omg.org/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>International</given-names>
            <surname>Council</surname>
          </string-name>
          for Systems Engineering, https://www.incose.org/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>[4] Systems Modeling Language, version 1</source>
          .5, https://www.omg.org/spec/SysML/, May
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Le Sergent</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.-X.</given-names>
            <surname>Dormoy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Le</given-names>
            <surname>Guennec</surname>
          </string-name>
          .
          <source>Benefits of Model Based System Engineering for Avionics Systems. 8th European Congress on Embedded Real Time Software and Systems (ERTS</source>
          <year>2016</year>
          ), Toulouse, France,
          <year>January 2016</year>
          ,.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Mehnni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-Y.</given-names>
            <surname>Choley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Frazza</surname>
          </string-name>
          ,
          <article-title>Flight Control System Modeling with SysML to Support Validation, Qualification and Certification</article-title>
          ,
          <source>IFAC-PapersOnLine 49-3</source>
          (
          <year>2016</year>
          ), pp.
          <fpage>453</fpage>
          -
          <lpage>458</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Cameo</given-names>
            <surname>Systems Modeler</surname>
          </string-name>
          , https://www.nomagic.com/products/cameosystems-modeler.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Rhapsody</surname>
          </string-name>
          , https://www.ibm.com/fr-fr/marketplace/architect-for-systemsengineers.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Saqui-Sannes</surname>
            , P. de, Vingerhoeds,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Apvrille</surname>
            ,
            <given-names>L</given-names>
          </string-name>
          , EarlyChecking of SysML Models applied to protocols, 12th International Conference on Modeling,
          <source>Optimisation and Simulation (Mosim</source>
          <year>2018</year>
          ),
          <year>June 2018</year>
          , Toulouse, France.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Gauthier</surname>
            ,
            <given-names>J.-M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouquet</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hammad</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Peureux</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <year>2015</year>
          ,
          <article-title>A SysML Formal Framework to Combine Discrete and Continuous Simulation for Testing</article-title>
          ,
          <source>17th International Conference on Formal Engineering Methods. (ICFEM15)</source>
          ,
          <source>LNCS 9407</source>
          , p.
          <fpage>134</fpage>
          -
          <lpage>152</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>J.M. Faria</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Mahomad</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Silva</surname>
          </string-name>
          ,
          <article-title>Practical Results from the Application of Model Checking and Test Generation from UML/SysML Models of On-Board Space Applications</article-title>
          ,
          <article-title>DASIA 2009 Data Systems in Aerospace</article-title>
          , by L. Ouwehan, May
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Lasalle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peureux</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fondement</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <source>Development of an Automated MBT Toolchain from UML/SysML models, Innovations in Systems and Software Engineering</source>
          ,
          <year>December 2011</year>
          , Vol.
          <volume>7</volume>
          , No.
          <issue>4</issue>
          , pp
          <fpage>247256</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Saqui-Sannes P. de</surname>
            , Courtiat
            <given-names>J-P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casadessus</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <year>1995</year>
          ,
          <article-title>Verification by abstraction as a preamble for interoperability test suite generation</article-title>
          .
          <source>Protocol Specification</source>
          , Testing and
          <string-name>
            <surname>Verification</surname>
            <given-names>XIV</given-names>
          </string-name>
          , Vancouver, BC, Canada.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Brinksma</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tretmans</surname>
            <given-names>J</given-names>
          </string-name>
          . (
          <year>2001</year>
          )
          <article-title>Testing Transition Systems: An Annotated Bibliography</article-title>
          . In: Cassez F.,
          <string-name>
            <surname>Jard</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rozoy</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ryan M.D.</surname>
          </string-name>
          (eds)
          <article-title>Modeling and Verification of Parallel Processes</article-title>
          .
          <source>MOVEP 2000. Lecture Notes in Computer Science</source>
          , vol
          <year>2067</year>
          . Springer, Berlin, Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Hennessy</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Milner</surname>
            <given-names>R.</given-names>
          </string-name>
          (
          <year>1980</year>
          )
          <article-title>On observing nondeterminism and concurrency</article-title>
          . In: de Bakker J., van Leeuwen J. (eds) Automata,
          <article-title>Languages and Programming</article-title>
          .
          <source>ICALP 1980. Lecture Notes in Computer Science</source>
          , vol
          <volume>85</volume>
          . Springer, Berlin, Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Konur</surname>
          </string-name>
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Yildirim</surname>
          </string-name>
          <string-name>
            <given-names>U.</given-names>
            ,
            <surname>Uddin</surname>
          </string-name>
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Campean</surname>
          </string-name>
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Gheorghe</surname>
          </string-name>
          <string-name>
            <surname>M.</surname>
          </string-name>
          ,
          <article-title>Towards an Integrated Approach to Verification and Model-Based Testing in System Engineering, 2017 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and</article-title>
          IEEE Cyber,
          <article-title>Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Dssouli</surname>
            ,
            <given-names>R</given-names>
          </string-name>
          , Khoumsi,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Elqortobi</surname>
          </string-name>
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Bentabar</surname>
          </string-name>
          . J.,
          <article-title>Chapter Three - Testing the Control-Flow, Data-Flow, and Time Aspects of Communication Systems: A Survey</article-title>
          .
          <source>Advances in Computers</source>
          <volume>106</volume>
          :
          <fpage>95</fpage>
          -
          <lpage>155</lpage>
          (
          <year>2017</year>
          ). Peleska,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Huang</surname>
          </string-name>
          <string-name>
            <surname>W.</surname>
          </string-name>
          ,
          <source>Industrial-Strength Model-Based Testing of Safety-Critical Systems</source>
          ,
          <year>2016</year>
          , International Symposium on Formal Methods, Limassol, Cyprus.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <article-title>TTCN standard, ESTI n</article-title>
          .
          <source>ES</source>
          <volume>201</volume>
          <fpage>873</fpage>
          -
          <lpage>1</lpage>
          , http://www.ttcn-3.org/
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Carlos</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Gonzlez</surname>
          </string-name>
          , Mojtaba Varmazyar, Shiva Nejati, Lionel C.
          <article-title>Briand and Yago Isasi, Enabling Model Testing of Cyber-Physical Systems</article-title>
          .
          <source>In Proceedings of ACM/IEEE 21th International Conference on Model Driven Engineering Languages and Systems (MODELS</source>
          <year>2018</year>
          ). ACM, New York, NY,USA,
          <volume>11</volume>
          pages.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Drira</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <article-title>The refusal Graph: a Tradeoff between Verification and Test</article-title>
          ,
          <source>6th International Workshop on Protocol Test Systems (IWPTS'93)</source>
          ,
          <fpage>0</fpage>
          . Rafiq (ed.), Pau (France),
          <year>September 1993</year>
          , pp.
          <fpage>301</fpage>
          -
          <lpage>316</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Eliyah</surname>
            <given-names>Kilada</given-names>
          </string-name>
          ,
          <source>Project Report Class: ECE/CS 5745/6745</source>
          , “A C+
          <article-title>+ Implementation of an Efficient Algorithm for Labeled Transition System Minimization Based on Bisimulation Equivalence”</article-title>
          ,
          <source>Project Report Class: ECE/CS 5745/6745</source>
          , Fall
          <year>2008</year>
          . http://www.ece.utah.edu/ kilada/ClassProjects/BisimulationMinimization.pdf
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Ouerdi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Azizi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>J.L.</given-names>
            <surname>Lanet</surname>
          </string-name>
          , Azizi,
          <string-name>
            <given-names>J.L.</given-names>
            ,
            <surname>Ziane</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>EMV</surname>
          </string-name>
          <article-title>Card: Generation of Test Cases based on SysML Models</article-title>
          , International Conference on Electronic Engineering and Computer Science,
          <year>2013</year>
          , IERI Procedia 4
          <article-title>(</article-title>
          <year>2013</year>
          ) 133
          <fpage>138</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Richards</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stuart</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hause</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Testing Solutions through SysML / UML, Incose, Singapore,
          <year>July 2019</year>
          , Vol.
          <volume>19</volume>
          , No.
          <issue>1</issue>
          , pp.
          <fpage>760</fpage>
          -
          <lpage>774</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Hilken</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peleska</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <article-title>Model-Based Testing Against Complex SysML Models</article-title>
          . In: Drechsler R.,
          <string-name>
            <surname>Khne</surname>
            <given-names>U</given-names>
          </string-name>
          . (eds)
          <article-title>Formal Modeling and Verification of Cyber-Physical Systems</article-title>
          . Springer Vieweg, Wiesbaden,
          <year>June 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Yin</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <source>An Automated Test Case Generation Approach based on Activity Diagrams of SysML</source>
          ,
          <source>International Journal on Performability Engineering</source>
          , Vol.
          <volume>13</volume>
          , No. 6,
          <year>October 2017</year>
          , pp.
          <fpage>922</fpage>
          -
          <lpage>936</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Abbors</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bcklund</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Truscan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MATERA -</surname>
          </string-name>
          <article-title>An Integrated Framework for Model-Based-</article-title>
          <string-name>
            <surname>Testing</surname>
          </string-name>
          ,
          <source>Proceedings of the 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems</source>
          <year>2010</year>
          , pp.
          <fpage>321</fpage>
          -
          <lpage>328</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>