Toward Improved Traceability of Safety Requirements and State-Based Design Models

Total Page:16

File Type:pdf, Size:1020Kb

Toward Improved Traceability of Safety Requirements and State-Based Design Models Toward Improved Traceability of Safety Requirements and State-Based Design Models A Dissertation submitted to the Graduate School of the University of Cincinnati in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY at the UNIVERSITY OF CINCINNATI COLLEGE OF ENGINEERING AND APPLIED SCIENCE March. 2021 by Mounifah Alenazi M.Sc. Kennesaw State University May. 2016 Thesis advisor and Committee chair: Nan Niu, Ph.D Abstract Traceability has long been recognized as an important component in building safety critical systems. Traceability therefore is often required by many government regulations. For example, the Federal Aviation Administrations (FAA) standard DO-178B specifies that software developers must be able to demonstrate traceability of designs against requirements. In systems engineering projects, the development of complex and dependable systems like autonomous vehicles relies increasingly on the use of the Systems Modeling Language (SysML). In fact, SysML has become a de facto standard for systems engineering. Effective traceability in such systems can be very costly and difficult. Researchers have therefore proposed many techniques to automatically establish and evolve trace links for high assurance projects. Various research approaches use information retrieval-based tracing methods to automatically recover trace links between modeling artifacts. For example, to verify a safety requirement, a query is used to retrieve the related elements in the design models. Our ability to trace is therefore anchored to the ability to retrieve. While trace retrieval has been the predominant way of automatically creating links, the performance is yet to be satisfactory for broad industrial adaption, and many false positives remain a significant challenge. In this thesis, we present a novel approach that overcomes this challenge. In particular, the work in this thesis has three main objectives. The first is to identify and address the research challenges of identifying trace links in the context of SysML models. For this objective, we empirically investigate if traditional traceability approaches using textual information could yield promising results in our context. We also conduct a comprehensive investigation of traceability features within state-of-the- practice SysML modeling tools to understand how the traceability information is iii supported and managed in these tools. The second objective is to leverage mutation analysis and process mining to verify safety requirements. For this objective, we first carry out a systematic mapping study to identify the common modeling mistakes in SysML. Our goal is to understand the scope of these mistakes (the incorrect links), their types, the implications of those mistakes in model-driven requirements engineering, and then use these mistakes as a basis to identify mutation operators. Once the mutants are created, they undergo model checking so as to automatically verify the safety requirements. Building this foundation is a necessary step that facilitates the third objective which is to tackle false positives that have plagued automated requirements traceability. Rather than striving for defining an accurate tracing mechanism which often ends up with many imperfect links, our core idea is to exploit the mutants (imperfect tracing targets) and then take full advantage of them to discover the traceability links. Checking the requirements over the mutants leads to the distinction between killed and survived mutants. We leverage the underlying killed-survived distinction and develop a correlation analysis procedure to identify the traceability links. The results show considerable precision improvements compared with the state-of-the-art. v Acknowledgements First and foremost, I would like to express my deepest appreciation to my advisor Dr. Nan Niu for his support and enthusiastic encouragement throughout my graduate studies. I could not have finished this dissertation without his continuous guidance. Working under his supervision has been an unforgettable learning experience for me. I am grateful for the tremendous amount of time and effort he devoted to not only discussing my ideas, providing feedback and suggestions, collaborating with me, and celebrating our achievements, but also allowing to present our work at top-tier conferences and meet very well-known researchers in our field. Despite his busy schedule, he was always available and generous in sharing his experiences on academic life and beyond. Dr. Niu set a great example for me as a great mentor and research supervisor. I am very grateful to my committee members Raj Bhatnagar, Chia Yung Han, Carla Purdy, as well as my external examiner Gunter Mussbacher for serving in my committee and giving valuable and constructive comments. I thank Professors Dan Lo, Michael Franklin, Frank Tsui from KSU and George Purdy From UC for their impact on my academic life. It was an honor to be one of their students. Their impact will last forever. I would like to thank all the members of our lab, especially, Wentao, Hemanth, Rue, Zedong, and Xuanyi for collaborations, discussions, and friendships. I have always enjoyed our conversations. Special thanks to Abhijith for the good discussions and feedback. I also thank my best friends Asma, Khitam, Mona, and Fatma for the great times we spent together. I thank my country, the Kingdom of Saudi Arabia, for supporting me and my family throughout my graduate studies. I would like also to thank the University vi of Cincinnati for the UGS Award and for providing me the opportunity to pursue my doctoral studies. Finally, I would like to thank my parents, my brothers and sisters for their support and love and for always praying for me. My special thanks go to my dear husband Fahad for all his support and encouragement throughout these years. Thanks for your understanding and sacrifice. Thanks for helping me achieve my dream. Thanks to my kids, Faisal, Osama, and Raed. You have been my motivation, my inspiration and drive. This dissertation is dedicated to you. vii Contents Abstract.................................... ii List of Figures................................. viii List of Tables................................. xi 1 Introduction1 1.1 Motivation................................1 1.2 Scope..................................2 1.3 Thesis Contribution...........................7 1.4 Thesis Organization...........................8 2 Background and Related Work 10 2.1 Systems Modeling Language (SysML)................. 10 2.2 Traceability............................... 13 2.3 Mutation Analysis........................... 20 2.4 Summary................................ 23 3 Assuring Safety Requirements Using Textual Information 24 3.1 Introduction............................... 25 3.2 Experimental Setup........................... 26 3.3 Subject System............................. 28 viii 3.4 Results and Analysis.......................... 35 3.5 Discussion................................ 38 3.6 Summary................................ 40 4 SysML Modeling Mistakes: A Systematic Literature Mapping 42 4.1 Introduction............................... 42 4.2 Related Work.............................. 45 4.3 Mapping Study Design......................... 47 4.4 Results and Analysis.......................... 52 4.5 Concluding Remarks.......................... 65 4.6 Summary................................ 67 5 Tracing Safety Requirements and State-Based Design Models 68 5.1 Introduction............................... 68 5.2 Running Example............................ 71 5.3 Traceability Information Model.................... 75 5.4 Mutation-Driven Traceability..................... 78 5.5 Experimental Evaluation........................ 88 5.6 Summary................................ 96 6 Conclusions and Future Work 97 6.1 Thesis Summary............................ 97 6.2 Limitations............................... 99 6.3 Future Directions............................ 100 Bibliography 101 ix List of Figures 2.1 SysML diagrams and their relationships with UML 2 (adapted from [52])................................. 11 2.2 Example of a simple traceability tree.................. 14 2.3 Integration analysis of SysML and model checking (adapted from [149]). ...................................... 23 3.1 Transmission Control Module (TCM) [138].............. 29 3.2 Fault Tree Analysis........................... 30 3.3 User Interface of the V-PLC [138]................... 30 3.4 F2 metric for similarity measures................... 37 3.5 Integrating a virtual PLC in SysML models adapted from [21].... 38 3.6 Fault Tree Analysis Example..................... 39 3.7 Tree-based coverage for similarity measure S1 (left) and S2 (right) 40 4.1 SysML activity diagram reviewed in our study (Figure 13 in PS2 ). 51 4.2 Distribution of the 42 SysML mistake types.............. 53 4.3 Observability of the 42 mistakes in SysML models.......... 55 4.4 SysML diagrams and mistake types.................. 57 4.5 SysML diagrams and mistake observability.............. 58 x 4.6 SysML mistakes' impacts on requirements............... 62 4.7 Illustration of SysML mistakes' impacts on requirements....... 63 5.1 State machine diagram (SMD) of the water distiller example (adapted from [51])................................. 72 5.2 Traceability information contextualizing the artifacts and relations relevant to our approach......................... 75 5.3 Overview of our mutation-driven traceability approach where mu- tants are created by modifying the tracing
Recommended publications
  • OMG Systems Modeling Language (OMG Sysml™) Tutorial 25 June 2007
    OMG Systems Modeling Language (OMG SysML™) Tutorial 25 June 2007 Sanford Friedenthal Alan Moore Rick Steiner (emails included in references at end) Copyright © 2006, 2007 by Object Management Group. Published and used by INCOSE and affiliated societies with permission. Status • Specification status – Adopted by OMG in May ’06 – Finalization Task Force Report in March ’07 – Available Specification v1.0 expected June ‘07 – Revision task force chartered for SysML v1.1 in March ‘07 • This tutorial is based on the OMG SysML adopted specification (ad-06-03-01) and changes proposed by the Finalization Task Force (ptc/07-03-03) • This tutorial, the specifications, papers, and vendor info can be found on the OMG SysML Website at http://www.omgsysml.org/ 7/26/2007 Copyright © 2006,2007 by Object Management Group. 2 Objectives & Intended Audience At the end of this tutorial, you should have an awareness of: • Benefits of model driven approaches for systems engineering • SysML diagrams and language concepts • How to apply SysML as part of a model based SE process • Basic considerations for transitioning to SysML This course is not intended to make you a systems modeler! You must use the language. Intended Audience: • Practicing Systems Engineers interested in system modeling • Software Engineers who want to better understand how to integrate software and system models • Familiarity with UML is not required, but it helps 7/26/2007 Copyright © 2006,2007 by Object Management Group. 3 Topics • Motivation & Background • Diagram Overview and Language Concepts • SysML Modeling as Part of SE Process – Structured Analysis – Distiller Example – OOSEM – Enhanced Security System Example • SysML in a Standards Framework • Transitioning to SysML • Summary 7/26/2007 Copyright © 2006,2007 by Object Management Group.
    [Show full text]
  • VI. the Unified Modeling Language UML Diagrams
    Conceptual Modeling CSC2507 VI. The Unified Modeling Language Use Case Diagrams Class Diagrams Attributes, Operations and ConstraintsConstraints Generalization and Aggregation Sequence and Collaboration Diagrams State and Activity Diagrams 2004 John Mylopoulos UML -- 1 Conceptual Modeling CSC2507 UML Diagrams I UML was conceived as a language for modeling software. Since this includes requirements, UML supports world modeling (...at least to some extend). I UML offers a variety of diagrammatic notations for modeling static and dynamic aspects of an application. I The list of notations includes use case diagrams, class diagrams, interaction diagrams -- describe sequences of events, package diagrams, activity diagrams, state diagrams, …more... 2004 John Mylopoulos UML -- 2 Conceptual Modeling CSC2507 Use Case Diagrams I A use case [Jacobson92] represents “typical use scenaria” for an object being modeled. I Modeling objects in terms of use cases is consistent with Cognitive Science theories which claim that every object has obvious suggestive uses (or affordances) because of its shape or other properties. For example, Glass is for looking through (...or breaking) Cardboard is for writing on... Radio buttons are for pushing or turning… Icons are for clicking… Door handles are for pulling, bars are for pushing… I Use cases offer a notation for building a coarse-grain, first sketch model of an object, or a process. 2004 John Mylopoulos UML -- 3 Conceptual Modeling CSC2507 Use Cases for a Meeting Scheduling System Initiator Participant
    [Show full text]
  • EB GUIDE Documentation Version 6.1.0.101778 EB GUIDE Documentation
    EB GUIDE documentation Version 6.1.0.101778 EB GUIDE documentation Elektrobit Automotive GmbH Am Wolfsmantel 46 D-91058 Erlangen GERMANY Phone: +49 9131 7701-0 Fax: +49 9131 7701-6333 http://www.elektrobit.com Legal notice Confidential and proprietary information. ALL RIGHTS RESERVED. No part of this publication may be copied in any form, by photocopy, microfilm, retrieval system, or by any other means now known or hereafter invented without the prior written permission of Elektrobit Automotive GmbH. ProOSEK®, tresos®, and street director® are registered trademarks of Elektrobit Automotive GmbH. All brand names, trademarks and registered trademarks are property of their rightful owners and are used only for description. Copyright 2015, Elektrobit Automotive GmbH. Page 2 of 324 EB GUIDE documentation Table of Contents 1. About this documentation ................................................................................................................ 15 1.1. Target audiences of the user documentation ......................................................................... 15 1.1.1. Modelers .................................................................................................................. 15 1.1.2. System integrators .................................................................................................... 16 1.1.3. Application developers ............................................................................................... 16 1.1.4. Extension developers ...............................................................................................
    [Show full text]
  • UML 2 Toolkit, Penker Has Also Collaborated with Hans- Erik Eriksson on Business Modeling with UML: Business Practices at Work
    UML™ 2 Toolkit Hans-Erik Eriksson Magnus Penker Brian Lyons David Fado UML™ 2 Toolkit UML™ 2 Toolkit Hans-Erik Eriksson Magnus Penker Brian Lyons David Fado Publisher: Joe Wikert Executive Editor: Bob Elliott Development Editor: Kevin Kent Editorial Manager: Kathryn Malm Production Editor: Pamela Hanley Permissions Editors: Carmen Krikorian, Laura Moss Media Development Specialist: Travis Silvers Text Design & Composition: Wiley Composition Services Copyright 2004 by Hans-Erik Eriksson, Magnus Penker, Brian Lyons, and David Fado. All rights reserved. Published by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rose- wood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8700. Requests to the Pub- lisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4447, E-mail: [email protected]. Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose.
    [Show full text]
  • PML, an Object Oriented Process Modelling Language
    PML, an Object Oriented Process Modeling Language Prof. Dr.-Ing. Reiner Anderl 1, and Dipl.-Ing. Jochen Raßler 2 1 Prof. Dr.-Ing. Reiner Anderl, Germany, [email protected] 2 Dipl.-Ing. Jochen Raßler, Germany, [email protected] Abstract: Processes are very important for the success within many business fields. They define the proper application of methods, technologies, tools and company structures in order to reach business goals. Important processes to be defined are manufacturing processes or product development processes for example to guarantee the company’s success. Over the last decades many process modeling languages have been developed to cover the needs of process modeling. Those modeling languages have several limitations, mainly they are still procedural and didn’t follow the paradigm change to object oriented modeling and thus often lead to process models, which are difficult to maintain. In previous papers we have introduced PML, Process Modeling Language, and shown it’s usage in process modeling. PML is derived from UML and hence fully object oriented and uses modern modeling techniques. It is based on process class diagrams that describe methods and resources for process modeling. In this paper the modeling language is described in more detail and new language elements will be introduced to develop the language to a generic usable process modeling language. Keywords: process modeling language, PML, UML 1. Introduction As the tendency of enterprises to collaborate growths steadily, industry faces new challenges managing business processes, product development processes, manufacturing processes and much more. Furthermore, discipline spanning product development processes are increasing, e.
    [Show full text]
  • APECS: Polychrony Based End-To-End Embedded System Design and Code Synthesis
    APECS: Polychrony based End-to-End Embedded System Design and Code Synthesis Matthew E. Anderson Dissertation submitted to the faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Engineering Sandeep K. Shukla, Chair Lamine Mili Alireza Haghighat Chao Wang Yi Deng April 3, 2015 Blacksburg, Virginia Keywords: AADL, CPS, Model-based code synthesis, correct-by-construction code synthesis, Polychrony, code generators, OSATE, Ocarina Copyright 2015, Matthew E. Anderson APECS: Polychrony based End-to-End Embedded System Design and Code Synthesis Matthew E. Anderson (ABSTRACT) The development of high integrity embedded systems remains an arduous and error-prone task, despite the efforts by researchers in inventing tools and techniques for design automa- tion. Much of the problem arises from the fact that the semantics of the modeling languages for the various tools, are often distinct, and the semantics gaps are often filled manually through the engineer's understanding of one model or an abstraction. This provides an op- portunity for bugs to creep in, other than standardising software engineering errors germane to such complex system engineering. Since embedded systems applications such as avionics, automotive, or industrial automation are safety critical, it is very important to invent tools, and methodologies for safe and reliable system design. Much of the tools, and techniques deal with either the design of embedded platforms (hardware, networking, firmware etc), and software stack separately. The problem of the semantic gap between these two, as well as between models of computation used to capture semantics must be solved in order to design safer embedded systems.
    [Show full text]
  • Sysml Distilled: a Brief Guide to the Systems Modeling Language
    ptg11539604 Praise for SysML Distilled “In keeping with the outstanding tradition of Addison-Wesley’s techni- cal publications, Lenny Delligatti’s SysML Distilled does not disappoint. Lenny has done a masterful job of capturing the spirit of OMG SysML as a practical, standards-based modeling language to help systems engi- neers address growing system complexity. This book is loaded with matter-of-fact insights, starting with basic MBSE concepts to distin- guishing the subtle differences between use cases and scenarios to illu- mination on namespaces and SysML packages, and even speaks to some of the more esoteric SysML semantics such as token flows.” — Jeff Estefan, Principal Engineer, NASA’s Jet Propulsion Laboratory “The power of a modeling language, such as SysML, is that it facilitates communication not only within systems engineering but across disci- plines and across the development life cycle. Many languages have the ptg11539604 potential to increase communication, but without an effective guide, they can fall short of that objective. In SysML Distilled, Lenny Delligatti combines just the right amount of technology with a common-sense approach to utilizing SysML toward achieving that communication. Having worked in systems and software engineering across many do- mains for the last 30 years, and having taught computer languages, UML, and SysML to many organizations and within the college setting, I find Lenny’s book an invaluable resource. He presents the concepts clearly and provides useful and pragmatic examples to get you off the ground quickly and enables you to be an effective modeler.” — Thomas W. Fargnoli, Lead Member of the Engineering Staff, Lockheed Martin “This book provides an excellent introduction to SysML.
    [Show full text]
  • UML Cheatsheet
    UML Cheatsheet Class Diagram Elements dependency multiplicity association Package::AbstractClass -Attribute : Type 1 -ClassAttribute : Type Parent Child parent child* +Operation(Arg:Type):Type #AbstractOperation * role Association generalization Class visibility 0..1 info <<interface>> Note ChildInfo SubClass Interface realizes qualified association dependency T 1 Interface ParameterizedClass Value key Implementor Operation(Arg: T) Operation2(): T Sequence Diagram Elements Object : Class Object2 object creation call(obj) new incoming message Object3 selfCall callback interaction frame return object destruction loop / alt / opt delete frame type {constraint} callUnderConstraint {alternative} callUnderAlternative (cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 (cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 http://creativecommons.org/licenses/by-nc-sa/2.5/ http://creativecommons.org/licenses/by-nc-sa/2.5/ Package Diagram Elements dependency Data View Model SQLServer Oracle Object Diagram Elements John : Child name = "John" parent: Parent Mary : Child name = "Mary" Use Case Diagram Elements system boundary actor 1 Library checkout 1 Membership <<include>> Common return start : Date Role Use Case Use Case renewal : Date * LendRecord Role Lendable due : Date <<include>> id 1 returned : Boolean newArrival : Boolean * LendRecord(lendable, member, date) calcDueDate(member): Date isDue() : Boolean Use Case Use Case renew(Date) * Role Book CD 1 Role * Member DVD (cc) 2006
    [Show full text]
  • UML Profile for Communicating Systems a New UML Profile for the Specification and Description of Internet Communication and Signaling Protocols
    UML Profile for Communicating Systems A New UML Profile for the Specification and Description of Internet Communication and Signaling Protocols Dissertation zur Erlangung des Doktorgrades der Mathematisch-Naturwissenschaftlichen Fakultäten der Georg-August-Universität zu Göttingen vorgelegt von Constantin Werner aus Salzgitter-Bad Göttingen 2006 D7 Referent: Prof. Dr. Dieter Hogrefe Korreferent: Prof. Dr. Jens Grabowski Tag der mündlichen Prüfung: 30.10.2006 ii Abstract This thesis presents a new Unified Modeling Language 2 (UML) profile for communicating systems. It is developed for the unambiguous, executable specification and description of communication and signaling protocols for the Internet. This profile allows to analyze, simulate and validate a communication protocol specification in the UML before its implementation. This profile is driven by the experience and intelligibility of the Specification and Description Language (SDL) for telecommunication protocol engineering. However, as shown in this thesis, SDL is not optimally suited for specifying communication protocols for the Internet due to their diverse nature. Therefore, this profile features new high-level language concepts rendering the specification and description of Internet protocols more intuitively while abstracting from concrete implementation issues. Due to its support of several concrete notations, this profile is designed to work with a number of UML compliant modeling tools. In contrast to other proposals, this profile binds the informal UML semantics with many semantic variation points by defining formal constraints for the profile definition and providing a mapping specification to SDL by the Object Constraint Language. In addition, the profile incorporates extension points to enable mappings to many formal description languages including SDL. To demonstrate the usability of the profile, a case study of a concrete Internet signaling protocol is presented.
    [Show full text]
  • What Is Package Diagram? How to Draw Package Diagram?
    Visual Paradigm Tutorial What is Package Diagram? How to Draw Package Diagram? What is Package Diagram? How to Draw Package Diagram? Written Date : July 29, 2014 At the beginning of the project, you only have a limited number of diagrams and everything is simple and beautiful. However, when time flies, more and more diagrams have been created and they start to become unmanageable. As a result, your project becomes hard to navigate and diagrams become difficult to locate when you want to review or make changes. How can we fix it up? We can make use of the Package Diagram to organize your diagrams into different packages. This helps you in categorizing your diagrams according to their natures, making them easier to be navigated and located. The Package Diagram also serves as a catalog for you to jump to the diagram that you want to look at. In this tutorial, we will show you how this can be done. Create Packages for your diagrams First, we need to have our packages ready. To create packages: 1. To create a Package Diagram, select Diagram > New from the toolbar. 2. In the New Diagram window, select Package Diagram and click Next. https://www.visual-paradigm.com/tutorials/packagediagram.jsp Page 1 of 11 Visual Paradigm Tutorial What is Package Diagram? How to Draw Package Diagram? 3. Enter Racing Game Packages as diagram name and click OK to confirm. 4. Click the Package button in diagram tool bar, then click on the blank area of the diagram to create the package. 5. Name the package as Race.
    [Show full text]
  • Getting Started with Sysml 3 This Chapter Provides an Introduction to Sysml and Guidance on How to Begin Modeling in Sysml
    CHAPTER Getting Started with SysML 3 This chapter provides an introduction to SysML and guidance on how to begin modeling in SysML. The chapter provides a brief overview of SysML, and then introduces a simplified version of the language we refer to as SysML-Lite, along with a simplified example, and tool tips on how to capture the model in a typical modeling tool. This chapter also introduces a simplified model-based systems engineering (MBSE) method that is consistent with the systems engineering process described in Chapter 1, Section 1.2. The chapter finishes by describing some of the challenges involved in learning SysML and MBSE. 3.1 SYSML PURPOSE AND KEY FEATURES SysML1 is a general-purpose graphical modeling language that supports the analysis, specification, design, verification, and validation of complex systems. These systems may include hardware, soft- ware, data, personnel, procedures, facilities, and other elements of man-made and natural systems. The language is intended to help specify and architect systems and specify their components that can then be designed using other domain-specific languages such as UML for software design and VHDL and three-dimensional geometric modeling for hardware design. SysML is intended to facilitate the application of an MBSE approach to create a cohesive and consistent model of the system that yields the benefits described in Chapter 2, Section 2.1.2. SysML can represent the following aspects of systems, components, and other entities: n Structural composition, interconnection, and classification n Function-based, message-based, and state-based behavior n Constraints on the physical and performance properties n Allocations between behavior, structure, and constraints n Requirements and their relationship to other requirements, design elements, and test cases 3.2 SYSML DIAGRAM OVERVIEW SysML includes nine diagrams as shown in the diagram taxonomy in Figure 3.1.
    [Show full text]
  • Complete Code Generation from UML State Machine
    Complete Code Generation from UML State Machine Van Cam Pham, Ansgar Radermacher, Sebastien´ Gerard´ and Shuai Li CEA, LIST, Laboratory of Model Driven Engineering for Embedded Systems, P.C. 174, Gif-sur-Yvette, 91191, France Keywords: UML State Machine, Code Generation, Semantics-conformance, Efficiency, Events, C++. Abstract: An event-driven architecture is a useful way to design and implement complex systems. The UML State Machine and its visualizations are a powerful means to the modeling of the logical behavior of such an archi- tecture. In Model Driven Engineering, executable code can be automatically generated from state machines. However, existing generation approaches and tools from UML State Machines are still limited to simple cases, especially when considering concurrency and pseudo states such as history, junction, and event types. This paper provides a pattern and tool for complete and efficient code generation approach from UML State Ma- chine. It extends IF-ELSE-SWITCH constructions of programming languages with concurrency support. The code generated with our approach has been executed with a set of state-machine examples that are part of a test-suite described in the recent OMG standard Precise Semantics Of State Machine. The traced execution results comply with the standard and are a good hint that the execution is semantically correct. The generated code is also efficient: it supports multi-thread-based concurrency, and the (static and dynamic) efficiency of generated code is improved compared to considered approaches. 1 INTRODUCTION Completeness: Existing tools and approaches mainly focus on the sequential aspect while the concurrency The UML State Machine (USM) (Specification and of state machines is limitedly supported.
    [Show full text]