A modeling language to support early lifecycle requirements modeling for systems engineering

Similar documents
Patterns and their impact on system concerns

Towards an MDA-based development methodology 1

Ontology and Model-based Systems Engineering

GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS

A method to support gamification design practice with motivation analysis and goal modeling

Issues and Challenges in Coupling Tropos with User-Centred Design

Using Variability Modeling Principles to Capture Architectural Knowledge

Model Based Systems Engineering

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

Object-Oriented Design

A FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE

Social Modeling for Requirements Engineering: An Introduction

Towards a multi-view point safety contract Alejandra Ruiz 1, Tim Kelly 2, Huascar Espinoza 1

How to specify Non-functional Requirements to support seamless modeling?

Evolving a Software Requirements Ontology

A Knowledge-Centric Approach for Complex Systems. Chris R. Powell 1/29/2015

The Decision View of Software Architecture: Building by Browsing

Refinement and Evolution Issues in Bridging Requirements and Architectures

A User-Friendly Interface for Rules Composition in Intelligent Environments

An Ontology for Modelling Security: The Tropos Approach

Co-evolution of agent-oriented conceptual models and CASO agent programs

2010 IEEE. Reprinted, with permission, from Didar Zowghi, An ontological framework to manage the relative conflicts between security and usability

Distilling Scenarios from Patterns for Software Architecture Evaluation A Position Paper

Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems

Available online at ScienceDirect. Procedia Computer Science 92 (2016 ) 36 41

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

Why Feature Dependencies Challenge the Requirements Engineering of Automotive Systems: An Empirical Study

Grundlagen des Software Engineering Fundamentals of Software Engineering

Defining Process Performance Indicators by Using Templates and Patterns

Strategic Considerations when Introducing Model Based Systems Engineering

Countering Capability A Model Driven Approach

On the use of the Goal-Oriented Paradigm for System Design and Law Compliance Reasoning

PACAS: A Gamified Platform for Participatory Change Management in ATM Systems

UNIT-III LIFE-CYCLE PHASES

UML and Patterns.book Page 52 Thursday, September 16, :48 PM

Editorial for the Special Issue on Aspects and Model-Driven Engineering

A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING

Enhancing Model-Based Engineering of Product Lines by Adding Functional Safety

Modelling Critical Context in Software Engineering Experience Repository: A Conceptual Schema

Principled Construction of Software Safety Cases

Using System Architecture Maturity Artifacts to Improve Technology Maturity Assessment

An MDA -based framework for model-driven product derivation

Structural Analysis of Agent Oriented Methodologies

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

The Tool Box of the System Architect

Methodology for Agent-Oriented Software

A MODEL-DRIVEN REQUIREMENTS ENGINEERING APPROACH TO CONCEPTUAL SATELLITE DESIGN

AOSE Agent-Oriented Software Engineering: A Review and Application Example TNE 2009/2010. António Castro

An introduction to software development. Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University

Towards a Reusable Unified Basis for Representing Business Domain Knowledge and Development Artifacts in Systems Engineering

Towards an ISO compliant OSLCbased Tool Chain Enabling Continuous Self-assessment

The AMADEOS SysML Profile for Cyber-physical Systems-of-Systems

HELPING THE DESIGN OF MIXED SYSTEMS

APPLYING A NEW HYBRID MODEL OF EMBEDDED SYSTEM DEVELOPMENT METHODOLOGY ON A FLOOD DETECTION SYSTEM

Introduction. Requirements Engineering: Why RE? What is RE? How to do RE? -> RE Processes. Why RE in SysE? Case Studies and The Standish Report

Analyzing Engineering Contributions using a Specialized Concept Map

Software Agent Reusability Mechanism at Application Level

Design Rationale as an Enabling Factor for Concurrent Process Engineering

Human-Computer Interaction based on Discourse Modeling

Globalizing Modeling Languages

M-CREAM: A Tool for Creative Modeling of Emergency Scenarios in Smart Cities

Object-oriented Analysis and Design

Smart Grid Maturity Model: A Vision for the Future of Smart Grid

SAFETY CASE PATTERNS REUSING SUCCESSFUL ARGUMENTS. Tim Kelly, John McDermid

FL-ARCH DESIGN: Formal Description Languages for the Architectural Design of Software Systems

An ontology-based knowledge management system to support technology intelligence

A Conceptual Modeling Method to Use Agents in Systems Analysis

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Models as a Foundation for Systems Engineering Should We Expect a Breakthrough? Brett Malone Vitech Corporation

Developing and Distributing a CubeSat Model-Based Systems Engineering (MBSE) Reference Model

Four tenets of Systems Engineering from a Model-Based perspective

Towards affordance based human-system interaction based on cyber-physical systems

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

Bachelor Thesis Kick Off State of the Art in linking privacy requirements to technical solutions

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

Transitioning UPDM to the UAF

Improving Awareness during Product Derivation in Multi-User Multi Product Line Environments

Automatic Generation of Web Interfaces from Discourse Models

Evolving Enterprise Architecture

Towards a Software Engineering Research Framework: Extending Design Science Research

A Unified Model for Physical and Social Environments

AN INTERROGATIVE REVIEW OF REQUIREMENT ENGINEERING FRAMEWORKS

Towards filling the gap between AOSE methodologies and infrastructures: requirements and meta-model

Requirements Engineering Visualization: A Survey on the State-of-the-Art

Issue Article Vol.30 No.2, April 1998 Article Issue

Domain Understanding and Requirements Elicitation

Deviational analyses for validating regulations on real systems

MANAGING HUMAN-CENTERED DESIGN ARTIFACTS IN DISTRIBUTED DEVELOPMENT ENVIRONMENT WITH KNOWLEDGE STORAGE

T U M. I N S T I T U T F Ü R I N F O R M A T I K Towards an Integrated Approach to Requirement Engineering

IBM Software Group. Mastering Requirements Management with Use Cases Module 2: Introduction to RMUC

Developing and Distributing a Model-Based Systems Engineering(MBSE) CubeSat Reference Model Status

Towards Integrated System and Software Modeling for Embedded Systems

Available online at ScienceDirect. Procedia Manufacturing 3 (2015 )

Extending an IEEE Compliant Viewpoint-Based Engineering-Framework for Embedded Systems to Support Variant Management

PRIMATECH WHITE PAPER COMPARISON OF FIRST AND SECOND EDITIONS OF HAZOP APPLICATION GUIDE, IEC 61882: A PROCESS SAFETY PERSPECTIVE

Applied Safety Science and Engineering Techniques (ASSET TM )

Game Design

Proposing an Education System to Judge the Necessity of Nuclear Power in Japan

Sales Configurator Information Systems Design Theory

Using Dynamic Capability Evaluation to Organize a Team of Cooperative, Autonomous Robots

Transcription:

Available online at www.sciencedirect.com Procedia Computer Science 8 (2012) 201 206 New Challenges in Systems Engineering and Architecting Conference on Systems Engineering Research (CSER) 2012 St. Louis, MO Cihan H. Dagli, Editor in Chief Organized by Missouri University of Science and Technology A modeling language to support early lifecycle requirements modeling for systems engineering Florian Schneider a, Helmut Naughton a, Brian Berenbach b a Chair for Applied Software Engineering, Technische Universität München, Boltzmannstr. 3, Garching, 85748, Germany b Software and Systems Engineering Department, Siemens Corporate Research, 755 College Road East, Princeton, N.J. 08540, USA Abstract The current implementation of the SysML tends to be design-centric with minimal support for activities upstream of design such as product line engineering, goal conflict resolution and hazard/threat modeling. Furthermore, currently provided extensions, such as those for business modeling, tend to be narrowly focused. This paper describes ongoing research in providing systems engineering support for activities that take place prior to system requirements definition, including resolving goal conflicts, identifying and mitigating potential hazards and threats, and specifying features and feature variations in product lines. A new modeling language is proposed (referred to as the Unified Requirements Modeling Language). The core concepts of a single meta-model for requirements engineering are presented alongside exemplary usage showing the power of the language together with its graphical notation. The meta-model, for the first time, proposes a formal relationship between various types of actors, goals, requirements, product line components, and hazard and threat modeling artifacts that integrates with both UML and SysML. 2012 Published by Elsevier Ltd. Selection Open access under CC BY-NC-ND license. Keywords: model-based systems engineering; modeling language; requirements engineering; process; goal; danger; feature; 1. Introduction Requirements elicitation and engineering activities for systems engineering projects have to take a wealth of information into account. Increasing with the size of the project, the information coming from executive officers, project managers, product managers, and end-users has to be analyzed by different experts like hazard analysts, business analysts, IT security experts, product line engineers, and systems engineers. Information on changes has to be circulated among the experts who in turn have to decide whether these changes might have an effect on the part of the system they are contributing to. 1877-0509 2012 Published by Elsevier B.V. doi:10.1016/j.procs.2012.01.043 Open access under CC BY-NC-ND license.

202 Florian Schneider et al. / Procedia Computer Science 8 (2012) 201 206 At the very beginning of a project, this information has to be captured quickly but comprehensively. Stakeholders high in the customer s organizational hierarchy prefer to have a single point of contact at the solution provider s company. Most often they do not have much time to discuss every single detail of the product. Nevertheless, they have a lot of information to convey during that short amount of time. So it is vital that the lead engineer can grasp as much of the information offered by the customer representative as possible in a very small amount of time. The details may then to be discussed among experts from both sides on an operational level. For facilitation of the capturing process, a method is needed in which the lead engineer can comprehensively create and edit various pieces of information related to requirements engineering. In the past, different tools were offered that required elaborate tracing mechanisms or were not integrated at all. This complicated the interchange of information between different project repositories. Inspired by well-known modeling languages like UML [1] and SysML [2], we believe a modeling language should contribute to a more comprehensive solution. UML and SysML however are designcentric, i.e. they focus on the technical description of the envisioned system, and not on the upstream rationale for the requirements. We envision a requirements-centric modeling language that allows capturing the essential information regarding requirements engineering that is used in early project phases. Creating models in this language allows the lead engineer to negotiate with the customer and efficiently distribute that information to the experts that need to know about it and let them know about the context throughout the early iterations of the project. By keeping the essential information in one model, early fragmentation of knowledge is prevented and a holistic view on the system is provided. In order to achieve this vision, we propose the Unified Requirements Modeling Language (URML). Besides essential system and process modeling aspects, the URML encompasses danger modeling, feature modeling, and goal modeling. Based upon a recent critique on the visual effectiveness of existing modeling languages [3], the URML also includes expressive icons to depict its core concepts. Given its focus on graphical notation, the URML can be considered a visual modeling language. Furthermore, it is designed to integrate with existing modeling languages such as UML or SysML so that various analysis and design models can be seamlessly integrated. 2. Related Work The initial vision for the URML was described by Berenbach and Gall [4] and Berenbach and Wolf [5]. Regarding the current effort to create such a language, an earlier version of the meta-model was described in [6]. A similar effort is undertaken by Glinz, who envisions a very lightweight modeling language (VLML) [7] which is described in more detail in a technical report by Glinz and Wüest [8]. The technical report states the VLML should be adequate for the capture of early requirements. Both papers refer to Glinz year 2000 analysis of UML as a requirements modeling language [9] to support the claim that UML is not well suited for the needs of industrial requirements engineers. This approach seems to be the closest (of the works presented here) to our work. Compared to the UML, VLML s graphical concrete syntax has a small set of elements. A meta-model is not presented explicitly in in either of the two papers. It has to be noted though that Glinz states in [7] that the VLML is still in a preliminary stage so the language might be subject to future extension. Another language that deals with early phase requirements engineering is the User Requirements Notation (URN), which is a standard propagated by the International Telecommunication Union (ITU) [10]. The standard is composed of use case maps [11] and the Goal-Oriented Requirement Language (GRL) which is, according to Amyot et al. [12], rooted in i* [13] and the NFR framework [14]. The standard specification includes meta-models for abstract and graphical concrete syntax. Abid et al. provide a UML profile that extends the UML with the GRL [15]. They give however no hint how GRL

Florian Schneider et al. / Procedia Computer Science 8 (2012) 201 206 203 language elements would then be related to typical UML model elements like packages, classes, or use cases. 3. A new requirements modeling language In order to identify concepts that should become part of the URML, we mainly relied on literature surveys. We extracted unique concepts from the literature and put them in a taxonomy, which was iteratively transformed to an abstract syntax meta-model. This meta-model also was subject to multiple iterations; lastly it was changed after getting feedback from requirements experts at Siemens. According to Selic [16] and Kleppe [17] a modeling language specification consists mainly of an abstract syntax, a concrete syntax, and semantics. When modeling (i.e. speaking the language) the language user instantiates the concepts specified in the abstract syntax and uses the notation defined in the concrete syntax. The shared understanding of what such an instance (i.e. a model) means is achieved through a general explanation how sentences (i.e. diagrams) of the language are to be interpreted. This is called the semantics of the language. In this paper we focus on the abstract syntax of the URML by introducing its core concepts. In order to structure the presentation, we partition the concepts of the URML into four connected domains (system and process, danger, feature, and goal) and describe each domain in one paragraph. Meta-class names are presented once in italics and camel-case, after which we use the more legible lowercase form. System and process modeling characterizes the system according to its processes and how these satisfy requirements. A Process describes the system with regards to its usage, and describes the necessary steps to achieve something. It also describes the objects used in these processes; such as objects the users interact with, objects that represent internal state, and agents that control the processes. Requirements are properties or qualities the system needs to fulfill. They can be ranked and prioritized. We name a requirement regarding properties FunctionalRequirement and one regarding qualities QualityRequirement. To relate the quality requirement to ISO 9126 [18], we added the possibility of categorizing them by a QualityRequirementType enumeration. A quality requirement may constrain a process, which may in turn require a functional requirement in order to work. A process has pre- and postconditions. It is a generalization of BusinessProcess and UseCase and can be related to other processes via include and extend relationships (similar to UML). A business process provides a black box view, showing how systems are used within an organization. A use case provides a white box view, describing the interaction between systems as well as with their internals. Processes can logically be grouped by means of a composite pattern that consists of the mentioned (abstract) process, a ProcessGroup, and the common abstraction ProcessGroupComponent. ServiceProviders control such process group components. They can either be humans, machines, or software. An Actor is a stakeholder who directly interacts with the system. An actor can participate in or initiate a process group component via a BoundaryObject. A boundary object accepts input by actors and can possibly display the responses of the system. A process group component may also produce EntityObjects, i.e. artifacts that are the result of the processes and model information relevant to the system. The relationships to concepts of other domains are as follows: Requirements can realize the mitigation of dangers. Quality requirements may constrain features. Functional requirements can be used to detail features. Use cases also detail features. A process can trigger a danger. The focus of danger modeling is to incorporate hazards and threats directly into the requirements model. This is especially important in domains where people may suffer physical harm. The main concept in the danger model is Danger itself, which is anything threatening the system or its users. It has a probability with which it occurs and a severity describing the magnitude of its impact. Dangers posing financial risk are modeled as Threats, whereas physical risks are modeled as Hazards. Hazards are typed by their source (e.g. electrical, mechanical). Dangers may threaten stakeholders, service providers, or assets, which we summarize under the term HarmedElement. Assets model items of financial value.

204 Florian Schneider et al. / Procedia Computer Science 8 (2012) 201 206 Harmed elements can be protected by Mitigations, which are either procedural or requirements-based. A ProceduralMitigation mitigates the danger by imposing a procedure to be followed, e.g. safety instructions in a manual. A RequirementMitigation is realized by a requirement, which mitigates the danger technically. In addition to harmed elements, processes can also be vulnerable to a danger, showing weak points of the system. Feature modeling deals with the modeling of product lines, products and their contained features. A Feature is a user visible property of the system. Features can be grouped with the help of a composite pattern, with the inner nodes modeled as FeatureGroups and the common abstraction as AbstractFeature. A feature group is indeed only used for grouping purposes. The abstract feature allows for product line modeling since the selection of one feature can require the (mandatory or optional) selection or exclusion of other abstract features. A ProductLine, which is a kind of feature group, determines the root of a feature tree. A feature tree describes possible product variations. A relationship between a product line and a Product determines which products can originate from a product line. A feature enables business processes, i.e. it is a necessary component for their execution. A feature contributes to a goal if the user visible property helps the stakeholder reach that goal. Goal modeling is used to capture rationale for the motivation of various stake- holders of the system and how they can best be addressed. A Goal is a condition or state of affairs in the world that the stakeholders would like to achieve [10]. It can be hard or soft, depending on whether there is a description of how to quantify success in reaching the goal. Such a description is called an AssessmentSketch. Goals are expressed by Stakeholders. A stakeholder is a person interested in the outcome of the system. A stakeholder can either be an actor, an internal user of the system, a Customer, who is a person who pays for the system, or a BusinessStakeholder, which is any person with a commercial interest in the project s success. Stakeholders can form hierarchies, which can be expressed by the reports to relationship. They also have different importance, expressed by the weight attribute. Goals can also be derived from Requests, which are wishes and suggestions expressed by stakeholders. Requests can also yield requirements. Since Goals do not exist in isolation, they can be connected via GoalRelationships, namely GoalContribution, which describes several levels of goal interaction and GoalDecomposition, which introduces a hierarchy of goals. The goal contribution relationship has an attribute signifying the strength of the contribution. 4. Exemplary use of the URML In our example we examine the requirements of an automatic window lift in a car. If a child whose head is in the way of the window accidentally steps on the window up button, the closing window could choke the child. This is captured as a mechanical hazard. To mitigate the hazard and satisfy the parent s goal of child safety, we introduce a new feature Pressure sensor to the system. This feature is further detailed in a functional requirement, which realizes the mitigation protecting the child. This showcases how concepts from different domains are involved in describing the system. Instead of working with different tools to capture this and maintaining explicit traces, we can immediately make sure the danger is appropriately taken care of. We also see which goals influenced our requirements analysis, without the pressure sensor the goal of Child safety would not have been satisfied. The model also allows for further additions, e.g. the electric window lift could be part of a product line s feature tree.

Florian Schneider et al. / Procedia Computer Science 8 (2012) 201 206 205 5. Conclusion The URML is work in progress. In this paper we outlined the vision that it shall realize, presented its core concepts, and gave examples of how the language could be used, showing the current state of its graphical concrete syntax. The language was partially described through the explanation of the core concepts of its abstract syntax meta-model. That abstract syntax seems to be quite stable at the moment, as we did not come across major additional concepts in the past months. While the graphical concrete syntax is still missing expressive visualizations for relationships, the icon set we are using for the visualization of the meta-classes is also quite stable. No work was done yet concerning a formal specification of the semantics of the language. With regards to interfaces to other languages, we can state that it is possible to transform the meta-model into a UML profile. However, how that profile should exactly look like and what UML base-classes should be extended is subject to current examination. For the integration with SysML we want to proceed analogously. Integration with special purpose languages like the URN is on the roadmap, but not yet initiated. We are currently planning to evaluate the URML in industrial projects, to increase maturity of the language and as a basis for an empirical evaluation.

206 Florian Schneider et al. / Procedia Computer Science 8 (2012) 201 206 References [1] Unified Modeling Language (UML) Superstructure, Ver. 2.3. Object Management Group, 2010. [2] Systems Modeling Language (SysML), ver. 1.2. Object Management Group, 2010. [3] D. L. Moody, The Physics of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering, IEEE Transactions on Software Engineering, vol. 35, no. 6, pp. 756 779, 2009. [4] B. Berenbach and M. Gall, Toward a Unified Model for Requirements Engineering, in Global Software Engineering, 2006. ICGSE '06. International Conference on, 2006, pp. 237 238. [5] B. Berenbach and T. Wolf, A unified requirements model; integrating features, use cases, requirements, requirements analysis and hazard analysis, in Global Software Engineering, 2007. ICGSE 2007. Second IEEE International Conference on, 2007, pp. 197 203. [6] J. Helming et al., Towards a unified Requirements Modeling Language, Requirements Engineering Visualization (REV), 2010 Fifth International Workshop on, pp. 53 57, 2010. [7] M. Glinz, Very Lightweight Requirements Modeling, in Requirements Engineering Conference (RE), 2010 18th IEEE International, 2010, pp. 385 386. [8] M. Glinz and D. Wüest, A Vision of an Ultralightweight Requirements Modeling Language. Zürich, Switzerland: University of Zurich, Department of Informatics (IFI), 2010. [9] M. Glinz, Problems and deficiencies of UML as a requirements specification language, in Software Specification and Design, 2000. Tenth International Workshop on, 2000, pp. 11 22. [10] User requirements notation (URN) -- Language definition. International Telecommunication Union, 2008. [11] R. J. A. Buhr, Use Case Maps: A New Model to Bridge the Gap Between Requirements and Design, in OOPSLA workshop on Requirements Engineering: Use Cases and More, 1995. [12] D. Amyot, S. Ghanavati, J. Horkoff, G. Mussbacher, L. Peyton, and E. Yu, Evaluating goal models within the goal-oriented requirement language, Int. J. Intell. Syst., vol. 25, no. 8, pp. 841 877, 2010. [13] E. S. K. Yu, Towards modelling and reasoning support for early-phase requirements engineering, in Requirements Engineering, Proceedings of the Third IEEE International Symposium on, 1997, pp. 226 235. [14] J. Mylopoulos, L. Chung, and B. Nixon, Representing and Using Nonfunctional Requirements: A Process-Oriented Approach, IEEE Transactions on Software Engineering, vol. 18, pp. 483 497, 1992. [15] M. Abid, D. Amyot, S. Somé, and G. Mussbacher, A UML Profile for Goal-Oriented Modeling, in SDL 2009: Design for Motes and Mobiles, vol. 5719, R. Reed, A. Bilgic, and R. Gotzhein, Eds. Springer Berlin / Heidelberg, 2009, pp. 133 148. [16] B. Selic, The Theory and Practice of Modeling Language Design for Model-Based Software Engineering---A Personal Perspective, in Generative and Transformational Techniques in Software Engineering III, vol. 6491, Springer Berlin / Heidelberg, 2011, pp. 290 321. [17] A. Kleppe, Software Language Engineering: Creating Domain-Specific Languages Using Metamodels, 1st ed. Addison-Wesley Professional, 2008, p. 240. [18] ISO/IEC 9126 - Software engineering -- Product quality -- Part 1: Quality model. International Organization for Standardization, 2001.