<!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>Use of graph-based and algebraic models in lifecycle of real-time flight control software</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>A. Tyugashev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Samara State Transport University</institution>
          ,
          <addr-line>18 1</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <fpage>306</fpage>
      <lpage>311</lpage>
      <abstract>
        <p>Software faults are the causes for repeating catastrophes in modern space missions. There are various problems in lifecycle of flight control software including lack of adequate models of real-time control algorithms. Real-time control algorithms have the totally distinct nature in contrast to computational algorithms. The paper presents mathematical models suitable for analysis, design and formal verification phases of lifecycle of spacecraft's flight control software. Two kinds of models - graph-based and algebraic, are being described. These models were successfully introduced in computer aided software engineering toolset for design and verification of spacecraft's real-time onboard control software.</p>
      </abstract>
      <kwd-group>
        <kwd>real-time control algorithm</kwd>
        <kwd>real-time flight control software</kwd>
        <kwd>lifecycle of the flight control software</kwd>
        <kwd>computer aided software engineering</kwd>
        <kwd>graph based model</kwd>
        <kwd>algebraic model</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The modern spacecraft usually has various onboard systems such as Energy Supply System, Motion Control System,
Onboard Control System, Autonomous Navigation System, Telemetry System, Thermal Control System, etc. In turn, each
onboard system consists of a set of devices, aggregates, sensors. We can state that spacecraft is a system of systems or complex
of complexes. Functioning of all these devices should be coordinated both in time and logically. The real-time mode of
functioning is a very important issue entailing more complex nature of required models to be used for adequate reflecting of
features of onboard apparatuses. This aspect is also quite important when we deal with the problems connected with designing
and implementation of dependable control system for the spacecraft. In accordance with the Ashby’s Law of Requisite Variety,
variety of onboard equipment’s behavior requires variety of onboard control system. Today the control logic of onboard control
system is implemented in onboard Flight Control Software. Roughly speaking, there is a special control software module for
each onboard device or aggregate. There are also a lot of supplemental modules involved into organization of computational
process, etc. This is an illustration to a structural aspect of complexity of modern spacecraft’s onboard software. Another
essential aspect corresponds to behavioral aspect of complexity. We can compare the onboard apparatus of the spacecraft with
the orchestra with the string and wind instruments, drums, etc. But we need a conductor to get a symphony – violin should start
at the right moment, next cello should start with accurately fulfilled delay, and so on. So, we need also a special sort of real-time
software which will serve as an orchestra’s conductor.</p>
      <p>
        For example, there are about 500 software modules concurrently running at real-time mode onboard the modern spacecrafts
manufactured by Samara Rocket and Space Center ‘Progress’ [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1-4</xref>
        ]. These modules have a different nature and objective –
system, service, computational, support, etc. The very important part of the onboard flight control software is real -time control
algorithms (analog of orchestra’s conductor), or so named ‘programs for complex functioning’ (it means cooperative functioning
of various onboard spacecraft’s subsystems such as Motion Control System, Telemetry System, Energy Supply System, etc.).
The purpose of this part of onboard software is to run needed ‘functional’ program modules, and execution of the needed
commands by particular onboard equipment at ‘right’ moments of time with the proper considering of current situation. It is
clear, that the overall success of space missions has a straight dependence on the correct functioning of program for complex
functioning. This is an explicit example of mission-critical software. Herewith, the cost of the errors in such algorithms made at
analysis, design and development phases of lifecycle is too high. The usual way for providing of reliability and quality of flight
control software is many-staged testing and debugging with utilization of specially built test beds. This process is very labor and
time consuming, but unfortunately it cannot guarantee the absence of the errors [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Unfortunately, we face with repeating
catastrophes and faults in space missions caused by software errors. First well known incident happened in 1962 with Mariner-I
space probe. Probably, the most expensive one was the explosion of Ariane-5 European Space Agency rocket during its first
flight in 1996. The amount of loss was estimated more than 500 millions euros. We can also mention relatively recent widely
discussed failures of onboard software of Mars Polar Lander, Mars Climate Orbiter and mars rovers.
      </p>
      <p>What is a reason for it? Complexity of onboard equipment entails failures of devices (which can be parried by switching to
reserve equipment executed by special software module, but it requires more complex control logic). Complexity of the
spacecraft tasks entails more complex behavior (especially in abnormal situations). Complex behavior also requires complex
control logic. Complex Control Logic entails ‘broken phone effect’ between onboard devices’ specialists and programmers
during coding it in Onboard Flight Control Software. Nowadays, complex control logic requires complexity of Flight Control
Software. Complexity of Software means higher costs of software lifecycle. Moreover, complexity of software means more
errors in software itself. Is it a vicious circle?</p>
      <p>Summarizing, we can emphasize the following modern trends and problems in spacecraft control:
1. use of onboard computers as a main control system;</p>
      <p>
        Mathematical Modeling / A. Tyugashev
2. transfer of ‘decision-making point’ from Earth onboard;
3. growing of size and complexity of Flight Control Software (concurrent multi-tasking, hundreds of interacting modules,
millions of lines of code);
4. software-based support of spacecraft’s fault tolerance feature;
5. dozens of people including non-programmers, involved in lifecycle of Flight Control Software;
6. costs of Flight Control Software’s lifecycle became a very significant part of space mission’s total costs, moreover
design, development and testing of the Onboard Software often is a ‘critical path’ in network schedule of spacecraft ‘s
producing as a whole;
7. labor costs of control system software’s creation and testing is 10 times bigger than hardware related costs [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        The very promising way in this area is application of formal verification methods [
        <xref ref-type="bibr" rid="ref3 ref5">3,5</xref>
        ]. Unfortunately, the main efforts in
area in software formal verification is oriented to computational (data transforming) algorithms and software where adequate
mathematical models and methods considering semantics of the algorithms were developed and researched. We can state the
inadequacy of these models and methods to nature of real-time control algorithms consisted of not elementary computations but
actions related to actuators and other spacecraft’s hardware. Accordingly, the development of the adequate models for this kind
of software is very important. The developed models can be utilized in methods of analysis, design and verification which
reduce real-time lifecycle labor costs and provide needed level of dependability of real-time control algorithms. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], the
‘basic’ algebraic based mathematical model of real-time control algorithms was presented. This is a constructive model,
allowing step-by-step building of control algorithms on the basis of ‘elementary’ actions – so called ‘functional tasks’, time
intervals, and logical conditions. This paper presents some extended models which supplements and clarifies the basic model for
further use with various purposes.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Real-Time Control Algorithms</title>
      <p>The object of the study is real-time control algorithms. It should provide coordinated and well synchronized functioning of
onboard spacecraft’s systems containing various sensors, actuators, devices.</p>
      <p>The very important features distinguishing the control algorithms from the data transformation algorithms are the following.
First, we cannot correlate the function (in mathematical understanding), and the control algorithm. Moreover, the correctness of
the control algorithm cannot be defined by the contents of the computer memory at the moment of algorithm’s end. The
correctness of the control algorithm depends on its behavior in full time interval of functioning. Moreover, the values of
conditions during execution of data transforming program are totally defined by the input data while the values of the conditions
to be considered in control algorithm, are unpredictable because they are formed by the parameters of physical processes in
controlled object (for example, velocity of the spacecraft). Actions executed by the control algorithm also can change not only
the data in memory of the onboard computer, but influence on the state of the controlled object. When we need, for example,
land the spacecraft on the Mars, we need to implement the very complex sequence of the operations with the participation of
various onboard devices and mechanisms – but all of them are under control of onboard software.</p>
      <p>Unfortunately, the major efforts in the modeling of algorithms historically were focused on data transformers, since earliest
models like Turing and Post Machines, Church’s recursive functions and Markov’s ‘normal algoriphmes’. But if we want to
apply the promising modern methods like formal verification or automated synthesis of the control software with the guarantee
of its properness, we need the adequate semantic model for the control algorithm.</p>
      <p>
        We can describe the following features of ‘traditional’ computational programs. Their main goal is transformation of input
data to output data. The main components are the data transformers. The computational program correct if it successfully
finishes (if input data is right) meanwhile output data matches specification. Structure of the traditional step-by-step sequential
computational algorithm can adequately be represented by flowchart with begin and end(s) nodes. There are no time constraints
and timer(s). Semantics could be adequately formalized by
1. axiomatic semantics [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] (Hoare, Floyd): Pre {S} Post;
2. denotational semantics describing mapping between sets [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Many control algorithms are being used by ‘reactive’ systems. The main features of such systems could be described as
follows. The reactive system should right process the input event flow. The main components are actions (in contrast to
computational algorithms). The following semantic models are used for reactive systems:
1. Kripke structures [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ];
2. finite state machines - automata;
3. Petri Nets.
      </p>
      <p>Other important features of algorithms used in reactive systems distinguishing them both from the traditional programs and
real-time control systems:
1. there are no end of algorithms, use of infinite loop of event processing instead;
2. there are no time constraints and time scale (timers) - asynchronous nature;
3. correct, if algorithm implements required model and execute right actions as reaction on pre-defined events.</p>
      <p>We deal with Time-Driven Real-Time Control Algorithms (RTCA). This kind of algorithms has very important distinguishes
from the reactive systems. Time-Driven Real-Time Algorithm should implement required schedule(s) (the term ‘cyclogramme’
widely used in space industry). The main components of algorithm are actions.</p>
      <p>Other essential features can be described as follows. There are begin and ends in contrast to reactive systems. There are ‘hard’
time constraints. There is time scale (timers) for quantitative description of time parameters. In other words, RTCA has a</p>
      <p>Mathematical Modeling / A. Tyugashev
synchronous nature. This kind of algorithm correct if it execute right actions at right time (more precisely, right time mome nts
with right considering of the current situation). Thus, the adequate semantic models should consider the stated features.</p>
      <p>
        The known semantic models are
1. timed automata [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ];
2. timed Petri Nets [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>These models are based on the idea of ‘state’. Unfortunately, if we try to apply this approach to real world system, we suffer
because of ‘state explosion’ problem. This is why the author try to develop and use in CASE toolset another model based on idea
of process. In some vision, this model utilizes more high level of abstraction allowing avoiding undue detalization and using in
practice.</p>
      <p>
        As it presented in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], we can use the following set of tuples (‘quads’) for representation of semantics of real-time algorithm
built from actions executed at particular time if the values of specified logical conditions are equals to 1:
      </p>
      <p>Each i-th quad in the above set describes one action executed by the real-time control algorithm; N is a number of actions
executed. Here fi is an identifier of the action, ti – starting time of the action, i - duration. Starting time and duration defined as
integers, this is adequate time model in this case because the minimal time difference recognized by the control algorithm is a
‘tick’ of onboard clock generator. The set of elementary actions F should be previously defined, fi ϵ F. Logical vector li
specifies the combination of the conditions, allowing action fi to be executed in time interval [ti; ti + i]. For example, logical
vector can looks as follows ([1=1], [2=H],…[M=0]). The 1 and 0 values recognized as true and false, and the third value ‘H’
means that this condition does not have an impact to execution of the action at specified time. The number of conditions actual
for the control algorithm as well as the set L of the condition itself should be settled simultaneously with the set F of actions. We
can interpret the logical vector in the model as an analog of the well known ‘guard’ conditions.</p>
      <p>
        Described model have a very clear and intuitive visual representation looks like Gantt diagram. This was a reason because
this model and models inherited from it were intended to use and successfully applied during development of the
GRAFKONT/GEOZ [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] integrated development suite for automated design and verification of onboard flight control ‘complex
functioning’ software.
      </p>
      <p>But the ‘basic’ algebra of the control algorithms had the restricted descriptive power, for instance, there was no possibility to
specify arbitrary time intervals between the actions, so it was necessary to introduce ‘fictive’ actions to taking in account the
delays. And the time had the ‘relative’ nature only; we had no mechanism for binding the actions to the particular moment.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Methods</title>
      <sec id="sec-3-1">
        <title>3.1. Extended algebraic model of the real-time control algorithm</title>
        <p>
          There are some known models for parallel systems utilizing higher level of abstraction than state-based models. First of all,
we should mention the following approaches:
1. process Algebras (Milner’s CCS [
          <xref ref-type="bibr" rid="ref13">14</xref>
          ], Hoare’s CSP [
          <xref ref-type="bibr" rid="ref14">15</xref>
          ], Bergstra’s ACP [
          <xref ref-type="bibr" rid="ref15">16</xref>
          ], etc.);
2. temporal Logics (LTL, CTL, RTTL, etc.) [
          <xref ref-type="bibr" rid="ref16 ref17 ref18">17-19</xref>
          ];
3. Allen’s Interval Logic [
          <xref ref-type="bibr" rid="ref19">20</xref>
          ].
        </p>
        <p>Unfortunately, there are serious limitations for use of named models for Flight Control Software. If we talk about process
algebras, we should underline the following. They provide just ‘common’ means for description of parallel execution of
processes without opportunity to define coordination of processes’ begins and ends. Process algebras do not support logical
inference (reasoning about algorithms needed for verification purposes). And there are no any tools for description of various
situations (conditioning for different variants of situations – regular, abnormal, emergency, etc.) of system’s functioning. But in
space missions we definitely need such instruments.</p>
        <p>In contrast to process algebras, temporal logics natively have special means for description of concurrency of processes
extended in time. But initially, there are no means for quantitative aspects of synchronization in temporal logics. In addition, the
semantic models are not advanced enough for our practical purposes.</p>
        <p>Allen’s Interval Logic is a very interesting and promising approach providing means for description of all possible overlay of
processes extended in time. But there are no means in Allen’s logic for description of quantitative aspects of synchronization.
Moreover, this approach also has no means for description of ‘different branches’ of Real-Time Control Algorithms.</p>
        <p>The method we developed is free from the limitations described above. It was initially developed for description of complex
Real-Time Control Algorithms with considering internal logic, different variants (branches) and situations. There are advanced
means for description of synchronization of parallel processes. There are means for quantitative descriptions of synchronization
both for relative and absolute timing.</p>
        <p>The proposed model uses ‘constructive’ approach. We can construct new control algorithms using the existing ones by
application of the set of operations. The basic operations introduced by Anatoly Kalentyev had only four operations – CH, СК,
→, and . The extended algebraic model contains the following operations:</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Graph-based model</title>
        <p>Anyway, if we want to solve the synthesis problem of the program, we need the adequate model with the more deep detailing.</p>
        <p>The model in previous section specifies the control algorithm at the ‘semantic’ level. We can see parallel with the
denotational semantics of the data transformation algorithms when we nominate the function to be calculated by the program.
But the same semantics can be provided by different implementations. Moreover, it is well known fact that in case of software,
the quality and characteristics – including efficiency, of the programs with the same semantics, can be quite different.</p>
        <p>We need the models for the next degree of detalization. The very popular and effective in practice models in theoretical
computer science are graph-based. They are applicable also at the stages of design and analysis of efficiency of implementation
of flight control software as well. However, the known models require clarification and extension.</p>
        <p>For example, the control flow graph is a very useful and popular model. But initially it describes sequential imperative
program executed by the single CPU. Understandably, there are no any essences applicable for describing phenomena of time
interval.</p>
        <p>But the nature of the complex technical system likes modern spacecraft urgently requires concurrent (multi-tasking) model of
computation. It is unsurprising that the onboard software of the modern spacecraft is executed by the control of multi-tasking
operating system. Such systems have an application programming interface allowing one process to be started by another (fork).
In many cases, onboard real-time operating system allows starting the process with the specified time delay or at absolute time.</p>
        <p>This is the reason for defining the extended model – ‘timed logical scheme’ of the real-time control algorithm. First, we take
the well known program control flow graph. In case of control algorithms, nodes with the single outgoing arcs will be associated
with any actions executed by the algorithm. Nodes with the two outgoing arcs will be associated with the conditions formed not
by the CPU flags only, but related to parameters of spacecraft motion, state of the onboard systems, etc.</p>
        <p>Mathematical Modeling / A. Tyugashev</p>
        <p>We introduce also the special ‘weighted’ arcs. The weight specified by the integer, will denote the delay before the action
associated with the following node be executed. The very important issue is that any ‘action’ node can have arbitrary number of
outgoing ‘weighted’ arcs additionally to one ‘usual’ unweighted. The example of the timed logical scheme is presented in Figure
1 in alongside with the visual representation of the corresponding semantic model of control algorithm.</p>
        <p>The depicted UA is {&lt;f1,0,20,(1=1)&gt;, &lt;f2,0,100,(1=0)&gt;, &lt;f3,20,200,(1=1)&gt;, &lt;f4,180,50,(1=H)&gt;, &lt;f5,220,15,(1=Н)&gt;}.
Different qualification by the logical vectors can be shown by different texture or color on visual representation of the control
algorithm’s semantics. Timed logical scheme implements the semantic by the fixation of the ‘key’ time moments – 0, 20, 180,
200 when the algorithm must perform actions. This ‘activations’ are divided by relatively time delays: 20, 160, 40, 180
associated with the weighed arcs in the graph-based model. We can see the ‘qualified’ branches of the timed logical scheme with
the corresponding (1=1) and (1=0) conditions (in this case, there is only the single condition in the logical vector). Then, at
timestamp 180, these branches join again.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results and Discussion</title>
      <p>The presented models looks be much more adequate to the nature of the onboard spacecraft’s flight control software than
approaches oriented to computational sequential algorithms. Nature of the presented models is quite corresponds to the domain
of real-time control of technical complexes consisting of many subsystems, devices, aggregates, etc. The main components of
control programs are actions which can be executed both by software modules and equipment. The conditions which influences
the process of computation, also does not formed by the input data only, but permanently changing in accordance with the state
of controlled object. The semantic model presented in the paper, initially oriented to this particularities.</p>
      <p>
        These features provide possibility to potential application of these models in such area as SCADA systems, power plants,
transport, etc. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>If we compare presented timed logical scheme of the algorithm with the timed automaton, for example, we will discover that
despite there are possibility to describe time related issues, timed automata cannot be used to adequate and unambiguous
descriptions of control programs. Timed logical scheme, conversely, initially was developed with this purpose and good
corresponds to the factors of problem domain. Moreover, the features of real-time operating systems are taken into account.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>The paper presents two extended models for representation of real-time control algorithms implemented by spacecraft’s flight
control software. One model is algebraic and another is graph-based. Algebraic model can be applied for ‘high level’ semantic
modeling of the real-time control algorithms. This is important because known models were oriented to computational
algorithms and did not take in account the nature of real-time control systems. Semantic models can be used for the accurate and
unambiguous specification of flight control software and then applied for formal verification, which is reviewed nowadays as
very promising method around the world.</p>
      <p>Another presented model is graph-based. It allows analyze the efficiency issues and can be successfully used at the design
stage. Constructive nature of these models and their clear visual representations allow developing of GRAFKONT/GEOZ
software toolset for specifying and verification of real-time control software. The toolset was introduced at Samara Space Rocket
Center.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgements References</title>
      <p>Author should say many thanks and acknowledgements to President of the Samara University Victor Soifer who granted him
a possibility to research and develop the methods and tools for Russian space industry for many years.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Kozlov</surname>
            <given-names>DI</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anshakov</surname>
            <given-names>GP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mostovoy</surname>
            <given-names>YaA</given-names>
          </string-name>
          , Sollogub AV.
          <article-title>Control of Earth's Remote Sensoring Spacecrafts: Computer Technologies</article-title>
          . Moscow: Mashinostroenie,
          <year>1998</year>
          ; 368 p.
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Kirilin</surname>
            <given-names>AN</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anshakov</surname>
            <given-names>GP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akhmetov</surname>
            <given-names>RN</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Storozh</surname>
            <given-names>DA. Spacecrafts</given-names>
          </string-name>
          <string-name>
            <surname>Building</surname>
          </string-name>
          .
          <source>Samara: Agni Publishing House</source>
          ,
          <year>2011</year>
          ; 280 p.
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Tyugashev</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ermakov</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ilyin</surname>
            <given-names>I</given-names>
          </string-name>
          .
          <article-title>Ways to get more reliable and safe software in Aerospace Industry</article-title>
          .
          <source>Proc. Program Semantics, Specification and Verification: Theory and Applications</source>
          (PSSV),
          <source>Russia: Nizhni Novgorod</source>
          ,
          <year>2012</year>
          ;
          <fpage>121</fpage>
          -
          <lpage>129</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Filatov</surname>
            <given-names>AV</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tkachenko</surname>
            <given-names>IS</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tyugashev</surname>
            <given-names>AA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sopchenko</surname>
            <given-names>EV</given-names>
          </string-name>
          .
          <article-title>Structure and algorithms of motion control system's software of the small spacecraft</article-title>
          .
          <source>Proceedings of Information Technology and Nanotechnology (ITNT-2015). CEUR Workshop Proceedings</source>
          ,
          <year>2015</year>
          ;
          <volume>1490</volume>
          :
          <fpage>246</fpage>
          -
          <lpage>251</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Holzmann</surname>
            <given-names>GJ</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Havelund</surname>
            <given-names>K</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Joshi</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            <given-names>R-G</given-names>
          </string-name>
          ,
          <article-title>Groce A. Establishing flight software reliability: testing, model checking, constraint-solving, monitoring and learning</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <year>2014</year>
          ;
          <volume>70</volume>
          (
          <issue>4</issue>
          ):
          <fpage>315</fpage>
          -
          <lpage>349</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Tyugashev</given-names>
            <surname>АA</surname>
          </string-name>
          .
          <article-title>Integrated environment for designing real-time control algorithms</article-title>
          .
          <source>Journal of Computer and Systems Sciences International</source>
          <year>2006</year>
          ;
          <volume>45</volume>
          (
          <issue>2</issue>
          ):
          <fpage>287</fpage>
          -
          <lpage>300</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Tyugashev</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Language</surname>
          </string-name>
          and
          <article-title>Toolset for Visual Construction of Programs for Intelligent Autonomous Spacecraft Control</article-title>
          .
          <source>IFAC-PapersOnLine. 4th IFAC Conference on Intelligent Control and Automation Sciences. France: Reims</source>
          ,
          <year>2016</year>
          ;
          <volume>49</volume>
          (
          <issue>5</issue>
          ):
          <fpage>120</fpage>
          -
          <lpage>125</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Hoare</surname>
            <given-names>CAR.</given-names>
          </string-name>
          <article-title>An axiomatic basis for computer programming</article-title>
          .
          <source>Communications of the ACM CACM</source>
          <year>1969</year>
          ;
          <volume>12</volume>
          (
          <issue>10</issue>
          ):
          <fpage>576</fpage>
          -
          <lpage>580</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>de Bakker</surname>
            <given-names>JW</given-names>
          </string-name>
          .
          <source>Least Fixed Points Revisited. Theoretical Computer Science</source>
          <year>1976</year>
          ;
          <volume>2</volume>
          (
          <issue>2</issue>
          ):
          <fpage>155</fpage>
          -
          <lpage>181</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Schneider</surname>
            <given-names>K.</given-names>
          </string-name>
          <article-title>Verification of reactive systems: formal methods and algorithms</article-title>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Bengtsson</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang Yi</surname>
          </string-name>
          .
          <source>Timed Automata: Semantics, Algorithms and Tools. Lectures on Concurrency and Petri Nets. Lecture Notes in Computer Science</source>
          ;
          <volume>3098</volume>
          :
          <fpage>87</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Zuberek</surname>
            <given-names>WM</given-names>
          </string-name>
          .
          <article-title>Timed Petri nets definitions, properties, and applications</article-title>
          .
          <source>Microelectronics Reliability</source>
          <year>1991</year>
          ;
          <volume>31</volume>
          (
          <issue>4</issue>
          ):
          <fpage>627</fpage>
          -
          <lpage>644</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Milner</surname>
            <given-names>R.</given-names>
          </string-name>
          <article-title>A Calculus of Communicating Systems</article-title>
          . Springer Verlag,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Hoare</surname>
            <given-names>CAR</given-names>
          </string-name>
          .
          <article-title>Communicating sequential processes</article-title>
          .
          <source>Communications of the ACM</source>
          <year>1978</year>
          ;
          <volume>21</volume>
          (
          <issue>8</issue>
          ):
          <fpage>666</fpage>
          -
          <lpage>677</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Bergstra</surname>
            <given-names>JA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klop</surname>
            <given-names>JW</given-names>
          </string-name>
          .
          <article-title>ACPτ: A Universal Axiom System for Process Specification</article-title>
          .
          <source>CWI Quarterly</source>
          <year>1987</year>
          ;
          <volume>15</volume>
          :
          <fpage>3</fpage>
          -
          <lpage>23</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Pnueli</surname>
            <given-names>A.</given-names>
          </string-name>
          <article-title>The temporal logic of programs</article-title>
          .
          <source>Proc. 18th Annual Symposium on Foundations of Computer Science (FOCS)</source>
          <year>1977</year>
          ;
          <fpage>46</fpage>
          -
          <lpage>57</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Emerson</surname>
            <given-names>EA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halpern</surname>
            <given-names>JY</given-names>
          </string-name>
          .
          <article-title>Decision procedures and expressiveness in the temporal logic of branching time</article-title>
          .
          <source>Journal of Computer and System Sciences</source>
          <year>1985</year>
          ;
          <volume>30</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Ostroff</surname>
            <given-names>JS</given-names>
          </string-name>
          .
          <article-title>Temporal Logic of Real-Time Systems</article-title>
          .
          <source>Advanced Software Development Series</source>
          . Research Studies Press Ltd, England,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Allen</surname>
            <given-names>JF</given-names>
          </string-name>
          .
          <article-title>Maintaining knowledge about temporal intervals</article-title>
          .
          <source>Communications of the ACM</source>
          <year>1983</year>
          ;
          <volume>26</volume>
          :
          <fpage>832</fpage>
          -
          <lpage>843</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>