=Paper= {{Paper |id=Vol-1115/poster2 |storemode=property |title=An Extensible Use Case Modeling Approach for Cyber-Physical Systems (CPSs) |pdfUrl=https://ceur-ws.org/Vol-1115/poster2.pdf |volume=Vol-1115 |dblpUrl=https://dblp.org/rec/conf/models/ZhangYAW13 }} ==An Extensible Use Case Modeling Approach for Cyber-Physical Systems (CPSs)== https://ceur-ws.org/Vol-1115/poster2.pdf
    An Extensible Use Case Modeling Approach for Cyber-
                   Physical Systems (CPSs)

                      Gong Zhang1, Tao Yue2, Shaukat Ali2 and Ji Wu1
      1
          School of Computer Science and Engineering, Beihang University, Beijing, China
                  zhanggong@sei.buaa.edu.cn, wuji@buaa.edu.cn
              2
                Certus Software V&V Center, Simula Research Laboratory, Norway
                               {tao, shaukat}@simula.no



          Abstract. The transition from requirements expressed in natural language (NL)
          to a structured, formalized specification is an important issue to support re-
          quirements analysis and to generate an (initial) analysis model. Use case dia-
          grams are commonly used to capture system requirements as use cases, rela-
          tionships among them and interactions with actors. Using template and re-
          striction 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 net-
          work-based, distributed and real-time embedded (NDRTE), which usually con-
          tains redundant/crosscutting properties. Two RUCM extensions are proposed to
          achieve this objective: RUCM-NDRTE and AO-RUCM (for modeling crosscut-
          ting behaviors).


1         Introduction
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 be-
tween stakeholders. Use cases are generally textual-based and therefore ambiguity
exists. To decrease such ambiguity, we proposed a Restricted Use Case Modeling ap-
proach, named as RUCM [1]. RUCM contains a use case template and a set of re-
striction rules for textual use case specifications, which is based on a systematic litera-
ture review [2] on transformations of textual requirements into analysis models. Using
template and restriction rules is a common feature of natural language analysis ap-
proaches 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 experi-
ment to evaluate RUCM and the results demonstrate that RUCM has enough expres-
sive power, is easy to apply, and helps achieve better understandability of use cases
and improved quality of derived UML analysis models [3].
    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 dia-
grams 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 mod-
els specified with RUCM can then be formalized using Use Case Metamodel (UCMeta)
[4]. 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 mod-
els (i.e., instances of UCMeta) can then be transformed into UML analysis models
such as UML class and sequence diagrams [4], activity diagrams [5], and state ma-
chine diagrams [6].
    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 spe-
cial needs of capturing important domain characteristics such as specifying communi-
cation links and also their properties that connect different communication endpoints in
use case diagrams. In addition, one of our industrial applications is to specify require-
ments in use case models to facilitate robustness testing of communication and control
systems [6]. 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 differ-
ent 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 mod-
eling in the domain of CPSs with the specific characteristics of being Distributed,
Network-based, Real-Time and Embedded (NDRTE).




                           Fig. 1. Overview of the framework

    Use case modeling of CPSs with communication and control poses special re-
quirements 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 indus-
trial 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 inde-
pendent of each other. In other words, AO-RUCM can be applied to model crosscut-
ting behaviors of systems from other domains while RUCM-NDRTE can be applied
alone.
    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 [7, 8] for
details due to space limitation.


2      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 con-
structs and the model elements, has been proposed in previous works [4, 5, 9]. Howev-
er, 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 [1, 4, 5, 9], that RUCM has substan-
tial 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. There-
fore, 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    RUCM-NDRTE
As shown in Fig. 2, we propose two UML profiles named as ActorUseCaseProfile and
NetworkCommunicationProfile to extend UML use case diagrams. The ActorUse-
CaseProfile 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 model-
ing 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 [7].


2.2    Aspect-Oriented RUCM (AO-RUCM)
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 redun-
dant 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 robust-
ness testing. Surveys indicate that certain types of requirements, such as robustness,
privacy, and security, which crosscut multiple aspects of the system, should be de-
scribed in isolation from other requirements in order to achieve separation of concerns
[10, 11].
    Aspect-Oriented Requirements Engineering (AORE) [12] aims to provide system-
atic ways to handle crosscutting concerns in requirements. In [11], a set of AORE ap-
proaches 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 Aspec-
tUseCaseModelingProfile (extending UML use case diagrams). More details can be
found in [8].




                             Fig. 2. CPS-RUCM Framework


2.3    Using RUCM-NDRTE and AO-RUCM Together
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 ap-
plied 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 func-
tionalities 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 [7, 8].


References

1. Yue, T., Briand, L.C., Labiche, Y.: A Use Case Modeling Approach to Facilitate the
Transition Towards Analysis Models: Concepts and Empirical Evaluation. In: MODELS2009,
pp. 484-498. Springer Berlin / Heidelberg (2009)
2. Yue, T., Briand, L.C., Labiche, Y.: A systematic review of transformation approaches
between user requirements and analysis models. Requir. Eng. (2010)
3. Yue, T., Briand, L., Labiche, Y.: Facilitating the Transition from Use Case Models to
Analysis Models: Approach and Experiments, Transactions on Software Engineering and
Methodology (TOSEM) 22(1) (2013)
4. Yue, T., Briand, L.C., Labiche, Y.: Automatically Deriving a UML Analysis Model from a
Use Case Model. Simula Research Laboratory, Technical Report 2010-15 (2010)
5. Yue, T., Briand, L.C., Labiche, Y.: An Automated Approach to Transform Use Cases into
Activity Diagrams. In: 6th ECMFA, pp. 337-353. Springer Heidelberg (2010)
6. Yue, T., Ali, S., Briand, L.: Automated Transition from Use Cases to UML State Machines
to Support State-based Testing. In 7th ECMFA (2011)
7. Yue, T., Ali, S.: A Use Case Modeling Approach for Large-scale, Industrial, Network-
based, Distributed, Real-Time Embedded Systems. Simula Research Laboratory (2012)
8. Yue, T., Ali, S.: A Practical and Scalable Use Case Modeling Approach to Specify
Crosscutting Concerns: Industrial Applications. Simula Research Laboratory (2012)
9. Yue, T., Ali, S., Briand, L.: Automated Transition from Use Cases to UML State Machines
to Support State-based Testing. In: 7th ECMFA (2011)
10. Chitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Alarcon, M.P., Bakker, J., Tekinerdogan,
B., Clarke, S., Jackson, A.: Survey of aspect-oriented analysis and design approaches. AOSD-
Europe-ULANC-9, AOSD-EUROPE network of excellence (2005)
11. Rashid, A., Chitchyan, R.: Aspect-oriented requirements engineering: a roadmap. In:
Proceedings of the 13th international workshop on Early Aspects, pp. 35-41. ACM (2008)
12. Sampaio, A., Greenwood, P., Garcia, A.F., Rashid, A.: A comparative study of aspect-
oriented requirements engineering approaches. In: First International Symposium on Empirical
Software Engineering and Measurement (ESEM 2007) (2007)