An Extensible Use Case Modeling Approach for Cyber- Physical Systems (CPSs)

Similar documents
RTCM: A NATURAL LANGUAGE BASED, AUTOMATED AND PRACTICAL TEST CASE GENERATION FRAMEWORK

Modeling Crisis Management System With the Restricted Use Case Modeling Approach

Towards a Search-based Interactive Configuration of Cyber Physical. System Product Lines 1

Functional Requirements Validation by transforming Use Case Models into Abstract State Machines

Modeling bcms Product Line Using Feature Model, Component Family Model and UML

Using FDAF to bridge the gap between enterprise and software architectures for security

Aspect Design Pattern for Non Functional Requirements

Expressing Feature-Based Variability in Structural Models

UML Aspect Specification Using Role Models

Restricted Use Case Modeling Approach

Towards Traceability Metamodel for Business Process Modeling Notation

Developing Aspect-Oriented Software Architectures: a Framework Definition

Aspect-Orientation from Design to Code

Modeling the Evolution of Aspect Configurations using Model Transformations

VALIDATION OF UC2VDM++ ARCHITECTURE

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

A Method for Requirements Capture and Specification based on Disciplined Use Cases and Screen Mockups

Chapter 32. Aspect-Oriented Software Development (AOSD) Ian Sommerville 2006 Software Engineering. Chapter 32 Slide 1

A Model Transformation from Misuse Cases to Secure Tropos

Mining Aspects in Requirements

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

An Aspect-Based Approach to Modeling Security Concerns

Towards the integration of security patterns in UML Component-based Applications

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Approaches analyzed. Title References Key

OG0-091 Q&As TOGAF 9 Part 1

Modeling Traceability of Concerns in Architectural Views

USING ASPECT-ORIENTED CONCEPTS IN THE REQUIREMENTS ANALYSIS OF DISTRIBUTED REAL-TIME EMBEDDED SYSTEMS

Composing Aspect Models with Graph Transformations

Driving component composition from early stages using aspect-oriented techniques

Chapter 2: LITERATURE REVIEW

ASPECT GENERATOR. Audit Trail WEAVER. Aspect Editor. Weaving Strategies Editor. Model Editor. Mapping. Instructions. Original Model (XMI)

Software Language Engineering of Architectural Viewpoints

An Aspect-Oriented Approach for Use Case Based Modeling of Software Product Lines

Creating Security Mechanism Aspect Models from Abstract Security Aspect Models

CM-OPL: An Ontology Pattern Language for the Configuration Management Task

An Integrated Framework for Multi-layer Certification-based Assurance

Views on the Framework for Improving Critical Infrastructure Cybersecurity

Information Hiding and Aspect-Oriented Modeling

Model Composition - A Signature-Based Approach

TRACEABILITY MANAGEMENT ARCHITECTURES SUPPORTING TOTAL TRACEABILITY IN THE CONTEXT OF SOFTWARE ENGINEERING

Unit Testing of Model to Text Transformations

Metamodeling for Business Model Design

Spemmet - A Tool for Modeling Software Processes with SPEM

A Solution Based on Modeling and Code Generation for Embedded Control System

Combining Different Business Rules Technologies:A Rationalization

On the Challenges of Composing Multi-View Models

First Steps Towards Conceptual Schema Testing

A SysML-Based Methodology for Model Testing of Cyber-Physical Systems

A Comparative Study of Ontology Languages and Tools

Weaving Variability into Domain Metamodels

A Traceability-Driven Approach to Model Transformation Testing

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

XWeave: Models and Aspects in Concert

Separation of Distributed Real-Time Embedded Concerns with Theme/UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Extending SysML with AADL Concepts for Comprehensive System Architecture Modeling

A reference process for model composition

Using SysML for Modeling of Safety-Critical Software Hardware Interfaces: Guidelines and Industry Experience

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method

Semantics-Based Integration of Embedded Systems Models

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper)

UMLSlicer: A Tool for Modularizing the UML Metamodel using Slicing

Understanding User Operations on Web Page in WISE 1

Train control language teaching computers interlocking

Variability in Service-Oriented Systems: An Analysis of Existing Approaches

What is the Joint Application Development (JAD) Process?

UML EXTENSIONS FOR MODELING REAL-TIME AND EMBEDDED SYSTEMS

On the Formalisation of GeKo: a Generic Aspect Models Weaver

Test Cases Generation from UML Activity Diagrams

Traceable Engineering of Fault-Tolerant SoSs

Integration With the Business Modeler

University of Groningen. Towards Variable Service Compositions Using VxBPEL Sun, Chang-ai; Aiello, Marco

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Semantic Model-driven Engineering

model-driven development Separation of Concerns in Model-Driven Development

BUILDING GOOD-QUALITY FUNCTIONAL SPECIFICATION MODEL

Semantic Specifications for Domain-Specific Modeling Languages

Cybersecurity Risk Management:

Hippo Software BPMN and UML Training

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Application Presence Fingerprinting for NAT-Aware Router

Framework for Improving Critical Infrastructure Cybersecurity. and Risk Approach

Supporting Documentation and Evolution of Crosscutting Concerns in Business Processes

Approach for Modeling Aspects in Architectural Views

KillTest *KIJGT 3WCNKV[ $GVVGT 5GTXKEG Q&A NZZV ]]] QORRZKYZ IUS =K ULLKX LXKK [VJGZK YKX\OIK LUX UTK _KGX

The emerging EU certification framework: A role for ENISA Dr. Andreas Mitrakas Head of Unit EU Certification Framework Conference Brussels 01/03/18

Model Driven Ontology: A New Methodology for Ontology Development

Using Component-oriented Process Models for Multi-Metamodel Applications

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Useware Dialog Modeling (usedm) Language

Decision Science Letters

Web Application Development: Java,.Net and Lamp at the Same Time *

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Identification of Crosscutting Concerns: A Survey

SC32 WG2 Metadata Standards Tutorial

Perspectives on User Story Based Visual Transformations

Transcription:

An Extensible Use Case Modeling Approach for Cyber- Physical Systems (CPSs) Gong Zhang 1, Tao Yue 2, Shaukat Ali 2 and Ji Wu 1 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 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). 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 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 [1]. 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 [2] 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 [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 models 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 models (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 machine 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 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 [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 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). Fig. 1. Overview of the framework 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. 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 constructs and the model elements, has been proposed in previous works [4, 5, 9]. 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 [1, 4, 5, 9], 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 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 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 [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 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 [10, 11]. Aspect-Oriented Requirements Engineering (AORE) [12] aims to provide systematic ways to handle crosscutting concerns in requirements. In [11], 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 [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 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 [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 7 th ECMFA (2011) 7. Yue, T., Ali, S.: A Use Case Modeling Approach for Large-scale, Industrial, Networkbased, 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 aspectoriented requirements engineering approaches. In: First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007) (2007)