<!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>An Extensible Use Case Modeling Approach for Cyber- Physical Systems (CPSs)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gong Zhang</string-name>
          <email>zhanggong@sei.buaa.edu.cn</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tao Yue</string-name>
          <email>tao@simula.no</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Shaukat Ali</string-name>
          <email>shaukat@simula.no</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ji Wu</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Certus Software V&amp;V Center, Simula Research Laboratory</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>School of Computer Science and Engineering, Beihang University</institution>
          ,
          <addr-line>Beijing</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The transition from requirements expressed in natural language (NL) to a structured, formalized specification is an important issue to support requirements analysis and to generate an (initial) analysis model. Use case diagrams are commonly used to capture system requirements as use cases, relationships among them and interactions with actors. Using template and restriction rules is a common feature of NL analysis for reducing imprecision and incompleteness in use case specifications. Use case diagrams, together with template and restriction rules, form a use case modeling approach, which helps achieve better understandability of use cases and improved quality of derived analysis models. In this paper, we extend a general use case approach (RUCM) for Cyber-Physical Systems (CPSs) with specific characteristics of being network-based, distributed and real-time embedded (NDRTE), which usually contains redundant/crosscutting properties. Two RUCM extensions are proposed to achieve this objective: RUCM-NDRTE and AO-RUCM (for modeling crosscutting behaviors).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Use case models are a widely used means for specifying functional requirements of
systems. Use case models have been effectively used as a communication means
between stakeholders. Use cases are generally textual-based and therefore ambiguity
exists. To decrease such ambiguity, we proposed a Restricted Use Case Modeling
approach, named as RUCM [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. RUCM contains a use case template and a set of
restriction rules for textual use case specifications, which is based on a systematic
literature review [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] on transformations of textual requirements into analysis models. Using
template and restriction rules is a common feature of natural language analysis
approaches for reducing imprecision and incompleteness in use case specifications. The
main factor to consider is that the restricted natural language should be expressive and
convenient enough for use by developers. We have conducted two controlled
experiment to evaluate RUCM and the results demonstrate that RUCM has enough
expressive power, is easy to apply, and helps achieve better understandability of use cases
and improved quality of derived UML analysis models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        An overview of the RUCM-based use case model framework is presented in Fig. 1.
A use case model specified using RUCM is composed of one or more use case
diagrams and a set of use case specifications for each use case in the use case diagrams,
which are specified using the RUCM use case template and conformed to the RUCM
natural language restriction rules. RUCM is a general approach and therefore it is
meant to be extensible to specify use case specifications of any application domain.
UML use case diagram is applied as it is and no extension is done on it. Use case
models specified with RUCM can then be formalized using Use Case Metamodel (UCMeta)
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. UCMeta can be considered as a formalization language of textual RUCM models,
and also an intermediate model bridging the gap between the textual RUCM models
and UML-based system analysis and design which typically include UML analysis
models (e.g., UML class and sequence diagrams). The formalized textual RUCM
models (i.e., instances of UCMeta) can then be transformed into UML analysis models
such as UML class and sequence diagrams [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], activity diagrams [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and state
machine diagrams [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Based on our experience of working with industry in the domain of Cyber-Physical
Systems (CPSs) and more specifically in the fields of communication systems and
maritime and energy sectors, we observed a need to extend RUCM to address the
special needs of capturing important domain characteristics such as specifying
communication links and also their properties that connect different communication endpoints in
use case diagrams. In addition, one of our industrial applications is to specify
requirements in use case models to facilitate robustness testing of communication and control
systems [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Therefore, it is obviously required to capture sufficient information in the
use case model so that this kind of analysis/testing can be facilitated. With a use case
model specified using our approach, can later on be (either manually or automatically)
transformed into other software artifacts (e.g., UML analysis models) to support
different purposes such as providing an initial design of a system or generating test cases. As
shown in Fig. 1, RUCM-NDRTE is an extension of RUCM to support use case
modeling in the domain of CPSs with the specific characteristics of being Distributed,
Network-based, Real-Time and Embedded (NDRTE).
      </p>
      <p>Use case modeling of CPSs with communication and control poses special
requirements such as specifying communication medium and its various properties. Such
properties are often redundant across use cases and if modeled directly with them can
result in cluttered use case diagrams and redundant use case specification fragments,
thus making them difficult to read and comprehend. However, such properties are
essential for specifying use cases for robustness testing (the need of one of our
industrial partners). Inspired from the Aspect-Oriented Requirements Engineering (AORE)
community to deal with specifying redundant/crosscutting behaviors, we extend our
approach RUCM to support modeling crosscutting use cases (AO-RUCM (Fig. 1)).
Notice that both RUCM-NDRTE and AO-RUCM extend RUCM, but they are
independent of each other. In other words, AO-RUCM can be applied to model
crosscutting behaviors of systems from other domains while RUCM-NDRTE can be applied
alone.</p>
      <p>
        In this paper, we present RUCM-NDRTE (Section 2.1) and AO-RUCM (Section
2.2), two extensions of RUCM to support use case modeling of CPSs. Our work is
evaluated with two industrial case studies and results demonstrate that RUCM-NDRTE
and AO-RUCM are applicable for real, industrial case studies. Please consult [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ] for
details due to space limitation.
2
      </p>
      <p>
        Extensions of RUCM for NDRTE Systems
An overview of NDRTE-RUCM and its relation to RUCM is shown in Fig. 2. A
method and a tool (aToucan) to automatically generate a UML model from RUCM
models, and to automatically establish traceability links between requirements
constructs and the model elements, has been proposed in previous works [
        <xref ref-type="bibr" rid="ref4 ref5 ref9">4, 5, 9</xref>
        ].
However, RUCM is a generic framework and has not been tailored for use in any particular
domain. Specifically, the RUCM use case template captures only the generic aspects of
use cases and is not specific to a particular concern or application domain. We believe,
and as strongly suggested by our previous studies [
        <xref ref-type="bibr" rid="ref1 ref4 ref5 ref9">1, 4, 5, 9</xref>
        ], that RUCM has
substantial room for improvement by making use of domain-specific abstractions. Introducing
these abstractions is expected to bring several major benefits, including more succinct
use case descriptions, less ambiguity, and more precision in automated analysis.
Therefore, we take the first step to extend RUCM for the CPSs domain with the focus on
NDRTE, which is presented in Section 2.1 followed by an aspect-oriented extension of
RUCM in Section 2.2. Section 2.3 discusses how to use these two extensions of
RUCM together for modeling for NDRTE systems.
2.1
      </p>
    </sec>
    <sec id="sec-2">
      <title>RUCM-NDRTE</title>
      <p>
        As shown in Fig. 2, we propose two UML profiles named as ActorUseCaseProfile and
NetworkCommunicationProfile to extend UML use case diagrams. The
ActorUseCaseProfile specifies a set of stereotypes corresponding to a taxonomy of actors and a
taxonomy of use cases for the CPS domain, which extend UML Actor and UseCase
metaclasses, respectively. In terms of use case specifications, NDRTE use case
modeling approach extends RUCM use case template and restriction rules by proposing the
NDRTE use case template and NDRTE restrictions. Details of RUCM-NDRTE along
with case studies and results can be consulted in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
2.2
      </p>
    </sec>
    <sec id="sec-3">
      <title>Aspect-Oriented RUCM (AO-RUCM)</title>
      <p>
        RUCM does not provide solutions for commonly arising requirement specification
concerns such as specifying crosscutting concerns. For example, the use case modeling
of CPS—which are typically network-based, distributed, real-time and embedded—
entails special requirements such as specifying communication medium and its various
properties, e.g., robustness to outages in the network. Such properties are often
redundant across use cases and, if modeled directly, can result in cluttered use case diagrams
and redundant use case specification fragments, thus making them difficult to read and
maintain. However, such properties are essential for specifying use cases for
robustness testing. Surveys indicate that certain types of requirements, such as robustness,
privacy, and security, which crosscut multiple aspects of the system, should be
described in isolation from other requirements in order to achieve separation of concerns
[
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ].
      </p>
      <p>
        Aspect-Oriented Requirements Engineering (AORE) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] aims to provide
systematic ways to handle crosscutting concerns in requirements. In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], a set of AORE
approaches are evaluated from different dimensions such as improved trade-off analysis
and demonstrable reduction of development, maintenance and evolution costs. In this
paper, we extend RUCM to support modeling crosscutting concerns. As shown in Fig.
2, we propose the Aspect Use Case Modeling approach, which is composed of
AspectUseCaseModelingProfile (extending UML use case diagrams). More details can be
found in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
The two extensions of RUCM can be applied separately. For example, if a CPS system
does not require capturing crosscutting behaviors in its requirements specifications,
then it is not necessary to apply the Aspect Use Case Modeling approach. For non-CPS
but with crosscutting concerns, the Aspect Use Case Modeling approach can be
applied by itself. Most of CPSs have crosscutting concerns and therefore these two use
case modeling approaches are often used together. The NDRTE use case modeling
approach is applied to specify the base use case model which captures the main
functionalities of a CPS, while the Aspect Use Case Modeling approach is used to specify
crosscutting behaviors. A weaver is designed to automatically weave the base use case
modeling and the aspect use case model(s) and produces a woven use case model. In
addition, the base use case model and the aspect use case models are formalized using
extended UCMeta metamodels: NDRTE_Meta and Aspect_Meta, respectively. More
details can be found in [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labiche</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>A Use Case Modeling Approach to Facilitate the Transition Towards Analysis Models: Concepts and Empirical Evaluation</article-title>
          .
          <source>In: MODELS2009</source>
          , pp.
          <fpage>484</fpage>
          -
          <lpage>498</lpage>
          . Springer Berlin / Heidelberg (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labiche</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>A systematic review of transformation approaches between user requirements and analysis models</article-title>
          .
          <source>Requir. Eng</source>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labiche</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Facilitating the Transition from Use Case Models to Analysis Models: Approach and Experiments, Transactions on Software Engineering and Methodology (TOSEM) 22(1) (</article-title>
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labiche</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Automatically Deriving a UML Analysis Model from a Use Case Model</article-title>
          . Simula Research Laboratory,
          <source>Technical Report</source>
          <year>2010</year>
          -
          <volume>15</volume>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labiche</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>An Automated Approach to Transform Use Cases into Activity Diagrams</article-title>
          .
          <source>In: 6th ECMFA</source>
          , pp.
          <fpage>337</fpage>
          -
          <lpage>353</lpage>
          . Springer Heidelberg (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Automated Transition from Use Cases to UML State Machines to Support State-based Testing</article-title>
          .
          <source>In 7th ECMFA</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A Use Case Modeling Approach for Large-scale, Industrial, Networkbased, Distributed, Real-Time Embedded Systems</article-title>
          . Simula Research Laboratory (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A Practical and Scalable Use Case Modeling Approach to Specify Crosscutting Concerns: Industrial Applications</article-title>
          . Simula Research Laboratory (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Yue</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briand</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Automated Transition from Use Cases to UML State Machines to Support State-based Testing</article-title>
          .
          <source>In: 7th ECMFA</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Chitchyan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rashid</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sawyer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alarcon</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bakker</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tekinerdogan</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Survey of aspect-oriented analysis and design approaches. AOSDEurope-ULANC-9, AOSD-EUROPE network of excellence (</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Rashid</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chitchyan</surname>
          </string-name>
          , R.:
          <article-title>Aspect-oriented requirements engineering: a roadmap</article-title>
          .
          <source>In: Proceedings of the 13th international workshop on Early Aspects</source>
          , pp.
          <fpage>35</fpage>
          -
          <lpage>41</lpage>
          . ACM (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Sampaio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greenwood</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rashid</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A comparative study of aspectoriented requirements engineering approaches</article-title>
          .
          <source>In: First International Symposium on Empirical Software Engineering and Measurement (ESEM</source>
          <year>2007</year>
          )
          <article-title>(</article-title>
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>