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