<!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>Verification of Non-Functional Requirements Using Formal Semantics</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Danielle Gaither Department of Computer Science and Engineering University of North Texas Denton</institution>
          ,
          <addr-line>Texas</addr-line>
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Studies have shown that finding defects in a software system is much cheaper in terms of both money and time spent when done during requirements analysis, as opposed to development or testing. To this end, significant advances have been made in the early detection of system defects. However, research on exposing unexpected system behaviors is relatively scant, especially regarding to non-functional requirements (NFRs). We propose a model-driven approach grounded in formal semantics to expose unexpected behaviors in a set of NFRs and propose future work for evaluating the effectiveness of such an approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Boehm and Basili [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] claim that remedying software defects
can be 100 times more expensive during testing than
during requirements gathering. Requirements engineering (RE)
involves eliciting natural language requirements from system
stakeholders and trying to impose a structure on that
information [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Most approaches to the RE process rely on using the
requirements to derive one or more models of some aspect of
the system, such as data or behavior.
      </p>
      <p>
        One such requirements analysis solution is the Causal
Component Model (CCM) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which attempts to expose
unexpected behaviors in a system. Although Foyle and Hooey [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
raised concerns about the lack of accounting for unexpected
behaviors in RE tools in 2003, very little work has been done
in this area since then. We believe that a requirements analysis
tool in this domain should be able to analyze non-functional
requirements such as timing and security properties. Many
requirements analysis methods either focus solely on functional
requirements, or on later stages of system implementation [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The remainder of this paper will be structured as follows:
first will be discussions of CCM and a survey of related work
in the area, including an explanation of how our proposed
work improves upon existing approaches. The next section
includes a discussion of the approaches and goals intended
for the proposed work, including the research questions to be
answered. An overview of preliminary and remaining work
will follow, as well as a discussion of the merit and impact of
the proposed work. The paper will end with a brief conclusion.</p>
      <sec id="sec-1-1">
        <title>A. The Causal Component Model</title>
        <p>
          The purpose of CCM is to analyze a given set of
requirements for the purpose of detecting potential unexpected system
behaviors [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Further details about the CCM method are
described in Section III.
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>B. Related Work</title>
        <p>
          Many approaches to the RE process are model-based in
some form, such as goal-oriented and scenario-based
approaches. Goal-oriented approaches consider a system from
the perspective of the goals intended to be satisfied by that
system [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The goals are often expressed in terms of an
ontology specific to the domain of the problem at hand
[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. A scenario-based approach considers the system as an
aggregation of potential use-cases [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Both approaches can be
and have been used at varying levels of abstraction to construct
system models. However, Carrillo de Gea et al. [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] note that
requirements modeling is one of the least supported features
among current RE tools. Combining a model-based approach
with the detection of unexpected behaviors and the addition
of NFRs can therefore contributing to advancing the state of
RE as a whole.
        </p>
        <p>
          Bryant et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] discussed some of the benefits and
challenges of formalizing the semantics of domain-specific
modeling languages. One benefit is amenability to formal verification
methods, which is well-suited to safety- and security-critical
systems. Hessel et al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] used timed automata via the
UPPAAL model checker [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] to generate test cases for a
realtime system. Lee and Bryant [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] implemented a two-level
grammar using VDM++, the Vienna Development Method
meta-language [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>III. APPROACHES AND GOALS</title>
      <p>This section will outline the goals of the intended work
and the approaches to be studied. The goals of our work
are: creating a formal semantics for quantifiable NFRs, and
applying the created semantics to a requirements analysis tool.
Our approach is explained in Figure 1.</p>
    </sec>
    <sec id="sec-3">
      <title>II. BACKGROUND AND RELATED WORK</title>
      <sec id="sec-3-1">
        <title>A. Establishing a Formal Semantics for Quantifiable NFRs</title>
        <p>
          In this section we provide background on the causal
component model (CCM), first proposed by Aceituna and Do [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ],
and provide a survey of related work in the field.
        </p>
        <p>The approach for creating the formal semantics will be
based on a timed denotational semantics, and the requirements
analysis process will use the CCM tool as an example. These
are represented by the external inputs in the diagram in Figure
1.</p>
        <p>The process begins with requirements elicitation (Step 1
in Figure 1). The elicited requirements will then be used to
create a CCM instance (Step 2 in Figure 1). This information
will serve as an input to create specific semantics for that
CCM instance based on the larger semantic specification (Step
3 in Figure 1). Step 3a is optional, involving Coq’s code
generation capabilities, which can be combined with other
code for analysis purposes.</p>
        <p>The analysis will attempt to detect unexpected behaviors in
NFRs for real-time embedded systems. If unexpected
behaviors are found, the process returns to the elicitation phase for
clarification. The whole process is repeated until all parties
are satisfied with the quality of the CCM instance (Step 4 in
Figure 1).</p>
        <p>
          There is some precedent in the literature for creating and
using a formal semantics for timed operations. Li [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] used
duration calculus to extend the RAISE specification language
to support timed operations. Duration calculus is an extension
of interval logic [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>B. Applying Formal Semantics to the Requirements Analysis</title>
      </sec>
      <sec id="sec-3-3">
        <title>Process</title>
        <p>Since the idea of the CCM approach is to find system defects
in the requirements-analysis phase, the lack of an actual
system presents particular difficulties with regard to NFRs.
An alternative approach is to verify such properties logically
by creating a formal semantic specification and analyzing said
specification with currently existing tools.</p>
        <p>
          The proposed changes to the CCM involve expanding the
rule application and analysis phases. A formal semantics will
be created for quantifiable NFRs, and the semantics will be
used to check the validity of the NFRs. Note that the basic
CCM approach does not change. The proposed updates merely
broaden its scope. While the change might appear cosmetic,
the implementation will require structural change in the CCM
tool, as representing timed operations adds some complexity
to the implementation [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>C. Research Questions</title>
        <p>The intent is to establish a formal denotational semantics
for CCM for the purpose of supporting non-functional
requirements, including timing information. The research should
answer the following questions:</p>
        <p>RQ1. How can we add formal semantics to a requirements
analysis system, such as CCM, to incorporate NFRs?
RQ2. How does adding formal semantics and timed
operations increase the expressiveness of a requirements
analysis system?
RQ3. What properties can be proven about NFRs once a
formal semantics is established?
D. Evaluation Methods and Metrics</p>
        <p>
          For a tool or approach to be useful, it generally has to satisfy
two main criteria. First, it needs to perform the tasks it claims
to perform, and second, it needs to do so in a way that offers
some sort of advantage over competing methods. To satisfy the
first criterion, we intend to implement the formal semantics we
create in a theorem-proving tool such as Coq [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. This will
allow the correctness and completeness of the semantics to
be established. To satisfy the second criterion, we expect the
main advantage our approach will offer will be time savings
compared to similar analysis methods. A human study will
be necessary to evaluate the truth of this claim. One possible
experiment could involve groups being given the same set of
requirements and constructing analysis models using various
methods. It is important to have a large enough sample size
to control for variations in individual ability.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. COMPLETED AND REMAINING WORK</title>
      <p>This section will describe preliminary work that has already
been performed, to include: formalizing the semantics of
a domain-specific modeling language, establishing the link
between domain-specific modeling and requirements analysis,
and domain analysis with respect to requirements engineering.</p>
      <sec id="sec-4-1">
        <title>A. Establishing a Formal Semantics for a Domain-Specific</title>
      </sec>
      <sec id="sec-4-2">
        <title>Modeling Language</title>
        <p>
          Preliminary work has been done in the area of creating
and implementing semantics for a domain-specific modeling
language. As a proof-of-concept, the MicroRPG modeling
language was created to model a simple game. The abstract
syntax of MicroRPG was established using a metamodel.
A denotational semantics was created for the MicroRPG
metamodel and implemented in Haskell [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. Current work
is focused on establishing a denotational semantics based on
statecharts that can then be applied to analysis frameworks
such as CCM.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>B. Summary of Preliminary and Remaining Work</title>
        <p>Our preliminary work in this area has shown the potential
benefits of providing a formal denotational semantics for a
domain-specific model. We have taken the following steps:
created a modeling language for a sample domain, created
and implemented a denotational semantics for a modeling
language, and analyzed appropriate domains for a formal
semantics-based requirements analysis tool.</p>
        <p>
          We have recently completed a pilot study that uses
statecharts as the basis for a formal semantics. The results of this
pilot study have been accepted for publication [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
        </p>
        <p>The following work remains to be done: establish a
largerscale denotational semantics for NFRs for real-time
embedded systems, implement the denotational semantics in
a manner consistent with a CCM implementation, use the
newly-enhanced CCM to verify timing properties and other
quantifiable NFRs for a sample real-time embedded system,
and perform empirical studies to evaluate the effectiveness of
proposed CCM improvements.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>V. MERIT AND IMPACT</title>
      <p>Since many real-world operations are time-sensitive in some
fashion, a robust requirements analysis system needs to be
able to support such operations. Adding support for timed
operations to CCM will make it more expressive and allow
it to be used for more applications than is currently possible.
Since functional requirements and nonfunctional requirements
cannot be completely separated, it makes sense for a
comprehensive requirements analysis solution to handle both. Another
benefit is that formal analysis tools can be especially useful
for mission-critical applications. Finally, a particular benefit
of the denotational semantics-based approach is independence
from a particular implementation.</p>
    </sec>
    <sec id="sec-6">
      <title>VI. CONCLUSIONS AND FUTURE WORK</title>
      <p>We proposed a model-based approach for detecting
unexpected behaviors of requirements, particularly non-functional
requirements, which have not received the same attention in
research as functional requirements have to date.</p>
      <p>This work is in its early stages, so there is significant
potential for future work. While timing and security requirements
are important, there are also things like safety requirements
to be considered. Also, we would like to build on our current
work to analyze more complex sets of non-functional
requirements. Integration with existing requirements analysis tools is
also another priority for future work.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Boehm</surname>
          </string-name>
          and
          <string-name>
            <given-names>V. R.</given-names>
            <surname>Basili</surname>
          </string-name>
          , “
          <article-title>Software defect reduction top 10 list</article-title>
          ,” Computer, vol.
          <volume>34</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>135</fpage>
          -
          <lpage>137</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Do</surname>
          </string-name>
          ¨mges, S. Jacobs,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. W.</given-names>
            <surname>Nissen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Maiden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sutcliffe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Taylor</surname>
          </string-name>
          , D. Till,
          <string-name>
            <given-names>P.</given-names>
            <surname>Constantopoulos</surname>
          </string-name>
          , G. Spanoudakis,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Vassiliou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Grosz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Plihon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rolland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Schmitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schwer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Si-Said</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Souveyet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bubenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gustas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Holm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Johannesson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ljungberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Wangler</surname>
          </string-name>
          , “
          <article-title>Defining visions in context: Models, processes and tools for requirements engineering</article-title>
          ,
          <source>” Information Systems</source>
          , vol.
          <volume>21</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>515</fpage>
          -
          <lpage>547</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Aceituna</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Do</surname>
          </string-name>
          , “
          <article-title>Exposing the Susceptibility of Off-Nominal Behaviors in Reactive System Requirements,”</article-title>
          <source>in Proceedings of the IEEE International Requirements Engineering Conference</source>
          , vol.
          <volume>23</volume>
          . IEEE,
          <year>2015</year>
          , pp.
          <fpage>136</fpage>
          -
          <lpage>145</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Foyle</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Hooey</surname>
          </string-name>
          , “
          <article-title>Improving Evaluation and System Design Through the Use of Off-Nominal Testing: A Methodology for Scenario Development,”</article-title>
          <source>in of the Twelfth International Symposium on Aviation Psychology</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>A. van Lamsweerde</surname>
          </string-name>
          ,
          <article-title>“Goal-oriented requirements engineering: a guided tour</article-title>
          ,
          <source>” Proceedings Fifth IEEE International Symposium on Requirements Engineering</source>
          , pp.
          <fpage>249</fpage>
          -
          <lpage>262</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          , “
          <string-name>
            <surname>Why</surname>
          </string-name>
          Goal-Oriented Requirements Engineering,”
          <source>in Proceedings of the 4th International Workshop on Requirements Engineering</source>
          ,
          <year>1998</year>
          , pp.
          <fpage>15</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Sutcliffe</surname>
          </string-name>
          , “
          <article-title>Supporting scenario-based requirements engineering</article-title>
          ,
          <source>” IEEE Transactions on Software Engineering</source>
          , vol.
          <volume>24</volume>
          , no.
          <issue>12</issue>
          , pp.
          <fpage>1072</fpage>
          -
          <lpage>1088</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>J. M. Carrillo De Gea</surname>
            , J. Nicola´s,
            <given-names>J. L.</given-names>
          </string-name>
          <string-name>
            <surname>Ferna</surname>
          </string-name>
          <article-title>´ndez Alema´n, A</article-title>
          . Toval,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ebert</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Vizca´ıno, “
          <article-title>Requirements engineering tools: Capabilities, survey</article-title>
          and assessment,
          <source>” Information and Software Technology</source>
          , vol.
          <volume>54</volume>
          , no.
          <issue>10</issue>
          , pp.
          <fpage>1142</fpage>
          -
          <lpage>1157</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>B. R.</given-names>
            <surname>Bryant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mernik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Clarke</surname>
          </string-name>
          , R. B. France, and G. Karsai, “
          <article-title>Challenges and directions in formalizing the semantics of modeling languages</article-title>
          ,
          <source>” Computer Science and Information Systems</source>
          , vol.
          <volume>8</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>225</fpage>
          -
          <lpage>253</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hessel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. G.</given-names>
            <surname>Larsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mikucionis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nielsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pettersson</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Skou</surname>
          </string-name>
          , “
          <article-title>Testing real-time systems using UPPAAL,”</article-title>
          <source>in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)</source>
          , vol.
          <volume>4949</volume>
          LNCS,
          <year>2008</year>
          , pp.
          <fpage>77</fpage>
          -
          <lpage>117</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>G.</given-names>
            <surname>Behrmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>David</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Larsen</surname>
          </string-name>
          , A Tutorial on Uppaal. SpringerVerlag Berlin Heidelberg,
          <year>2004</year>
          , vol.
          <volume>3185</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>B.-s.</given-names>
            <surname>Lee</surname>
          </string-name>
          and
          <string-name>
            <given-names>B. R.</given-names>
            <surname>Bryant</surname>
          </string-name>
          , “
          <article-title>Automated conversion from requirements documentation to an object-oriented formal specification language”</article-title>
          ,
          <source>” Proceedings of the 2002 ACM symposium on Applied computing</source>
          , pp.
          <fpage>932</fpage>
          -
          <lpage>936</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>E.</given-names>
            <surname>Du</surname>
          </string-name>
          <article-title>¨rr and</article-title>
          <string-name>
            <surname>J. van Katwijk</surname>
          </string-name>
          ,
          <article-title>“VDM++, a formal specification language for object-oriented designs,” in Computer Systems</article-title>
          and Software Engineering. The Hague, Netherlands: IEEE,
          <year>1992</year>
          , pp.
          <fpage>214</fpage>
          -
          <lpage>219</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          , “
          <article-title>Towards a denotational semantics of timed RSL using Duration Calculus,”</article-title>
          <source>Journal of Computer Science and Technology</source>
          , vol.
          <volume>16</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>64</fpage>
          -
          <lpage>76</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Hansen</surname>
          </string-name>
          and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Chaochen</surname>
          </string-name>
          , “Duration Calculus : Logical Foundations,” Formal Aspects of Computing - Springer, vol.
          <volume>9</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>283</fpage>
          -
          <lpage>330</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Dill</surname>
          </string-name>
          , “
          <article-title>A theory of timed automata,” Theoretical Computer Science</article-title>
          , vol.
          <volume>126</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>235</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bengtsson</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Yi</surname>
          </string-name>
          , “
          <article-title>Timed automata: Semantics, algorithms</article-title>
          and tools,
          <source>” Lecture Notes in Computer Science</source>
          , vol.
          <volume>3098</volume>
          , no.
          <issue>316</issue>
          , pp.
          <fpage>87</fpage>
          -
          <lpage>124</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Ø. Haugen</surname>
            ,
            <given-names>K. E.</given-names>
          </string-name>
          <string-name>
            <surname>Husa</surname>
            ,
            <given-names>R. K.</given-names>
          </string-name>
          <string-name>
            <surname>Runde</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Stølen</surname>
          </string-name>
          , “
          <article-title>Why timed sequence diagrams require three-event semantics</article-title>
          ,” in International Workshop on Scenarios: Models,
          <source>Transformations and Tools</source>
          , vol.
          <volume>3466</volume>
          ,
          <year>2005</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19] INRIA, “
          <article-title>The Coq proof assistant</article-title>
          ,”
          <year>2016</year>
          . [Online]. Available: https://coq.inria.fr
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D.</given-names>
            <surname>Gaither</surname>
          </string-name>
          and
          <string-name>
            <given-names>B. R.</given-names>
            <surname>Bryant</surname>
          </string-name>
          , “
          <source>Toward Denotational Semantics of Domain-Specific Modeling Languages for Automated Code Generation,” in Presented at the International Workshop on the Globalization of Modeling Languages, Miami</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>D.</given-names>
            <surname>Gaither</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Do</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B. R.</given-names>
            <surname>Bryant</surname>
          </string-name>
          , “
          <article-title>Toward detection of abnormal behaviors in timing and security requirements,” in 24th Asia-Pacific Software Engineering Conference</article-title>
          (to be published),
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>