=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)==
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)