A Framework for Rigorous Development of Distributed Components: Formalisation and Tools

Total Page:16

File Type:pdf, Size:1020Kb

A Framework for Rigorous Development of Distributed Components: Formalisation and Tools UNIVERSITE´ DE NICE-SOPHIA ANTIPOLIS Ecole´ Doctorale STIC Sciences et Technologies de l'Information et de la Communication THESE` pour l'obtention du titre de Docteur en Sciences Mention Informatique pr´esent´eeet soutenue par Oleksandra Kulankhina A framework for rigorous development of distributed components: formalisation and tools Th`esedirig´eepar Eric Madelaine et co-encadr´eepar Ludovic Henrio Soutenue le 14 Octobre 2016 Jury Rapporteurs Radu Mateescu Inria Grenoble - Rh^one-Alpes Frantiˇsek Pla´ˇsil Charles University, Prague Examinateurs Fr´ed´eric Mallet Universit´eNice Sophia Antipolis Simon Bliudze EPFL Directeur de th`ese Eric Madelaine Inria Sophia Antipolis Co-directeur de th`ese Ludovic Henrio CNRS Invit´e Rab´ea Ameur-Boulifa T´el´ecomParisTech ii iii ... iv v R´esum´e Dans cette th`ese,nous proposons une approche rigoureuse pour la conception et le d´eveloppement de syst`emes`abase de composants hi´erarchiques distribu´es.L'id´eede base du travail pr´esent´eest de combiner les techniques de conception de logiciels dirig´eespar les mod`eles,bien connues des programmeurs, avec des m´ethodes de v´erificationformelles puissantes, capables d'assurer les propri´et´esfonctionnelles d'un syst`emedistribu´eet de d´etecterles erreurs d`esle stade de la conception. Tout d'abord, nous introduisons un formalisme graphique bas´esur UML pour l'architecture et le comportement des composants hi´erarchiques de mod´elisation. Deuxi`emement, nous sp´ecifionsformellement un ensemble de contraintes qui assurent la correction de la composition des composants, en mettant l'accent sur la s´eparation entre les aspects fonctionnels et non-fonctionnels. Troisi`emement, nous expliquons comment nos mod`elesgraphiques peuvent ^etretraduits automatiquement dans le formalisme d'entr´eed'un model-checker. Nous nous concentrons ensuite sur le codage des fonctionnalit´esavanc´eesde composants distribu´es,comme communications de 1 vers N, la reconfiguration et les communications asynchrones bas´eessur les appel de proc´eduresdistants. Enfin, nous mettons en œuvre cette approche dans une plateforme int´egr´eeorient´e mod`elequi comprend un ensemble d'´editeursgraphiques, un module de validation de la d´ecisioncorrecte de l'architecture statique, un module traduisant le mod`ele conceptuel dans une entr´eepour la plateforme de v´erificationCADP, et enfin un g´en´erateurde code ex´ecutable vi Abstract In this thesis we introduce an approach for rigorous design and development of distributed hierarchical component-based systems. The core idea of the presented work is to combine the well-known among the programmers techniques for model- driven software design and the powerful formal verification methods able to ensure the functional properties of a distributed system and to detect errors at the early design stage. First, we introduce a UML-based graphical formalism for modelling architecture and behaviour of hierarchical components. Second, we formally specify a set of con- straints that ensure the correct components composition with a focus on separation between the functional and non-functional aspects. Third, we explain how the graph- ical models can be automatically translated into an input for a model-checker. For this aim, we rely on a formally specified intermediate structure encoding the se- mantics of components behaviour as a network of synchronised parametrised label transition systems. We focus here on encoding the advanced features of distributed components such as one-to-many communications, reconfiguration, and asynchronous communications based on request-reply. Finally, we implement the approach in an integrated model-driven environment which comprises a set of graphical editors, an architecture static correctness validation plug-in, a plug-in translating the conceptual model into an input for a verification toolsuite CADP, and a generator of the implementation code. Acknowledgements vii viii Table of Contents List of Figures xiii List of Listings xv List of Tables xvii 1 Introduction 1 1.1 Motivation and objectives . .1 1.2 Contribution . .7 1.3 Outline . 10 2 Context 13 2.1 The Grid Component Model . 14 2.1.1 GCM overview . 14 2.1.2 GCM/ADL . 17 2.1.3 GCM/ProActive . 18 2.2 Parameterised networks of synchronised automata . 24 2.2.1 Term algebra and notations . 24 2.2.2 The pNets model . 25 2.2.3 Observation and flow of information . 27 2.2.4 Adequacy of pNets for modelling GCM components . 28 2.3 CADP . 29 2.4 The Fiacre specification language . 32 2.5 Model-Driven Engineering . 33 2.5.1 Unified Modelling Language . 34 2.5.2 Eclipse Modeling Framework . 35 2.5.3 Obeo Designer . 36 2.6 VerCors . 37 ix x TABLE OF CONTENTS 3 An overview of the VerCors platform 41 3.1 The core functionalities of VerCors . 41 3.2 Diagrams for architecture and behaviour specification . 44 3.2.1 An illustrative example . 44 3.2.2 Architecture specification . 45 3.2.3 Behaviour specification . 48 3.3 The architecture of VerCors . 51 3.4 Discussion . 55 4 Well-formed component architecture 59 4.1 Formalisation of component structure . 60 4.2 Auxiliary functions . 61 4.3 Interceptors . 63 4.4 Well-formed component architecture . 65 4.4.1 Core . 65 4.4.2 Non-functional aspects . 68 4.4.3 Collective communications . 70 4.4.4 Additional rules . 71 4.5 Properties . 71 4.6 Architecture static analysis in VerCors . 74 4.7 Discussion and Related work . 74 5 Verification and execution of distributed components 79 5.1 From application design to pNets . 80 5.1.1 Semantics of primitive components . 81 5.1.2 Semantics of composite components . 92 5.1.3 Implementation . 100 5.2 From pNets to CADP . 108 5.2.1 Preparing the input: generating Fiacre, EXP and auxiliary scripts108 5.2.2 Model-checking with CADP . 112 5.3 Code generation and execution . 115 5.3.1 ADL generation . 116 5.3.2 Java generation . 118 5.3.3 Code execution . 123 5.4 Discussion . 124 5.4.1 On the verification . 124 5.4.2 On the executable code generation . 125 TABLE OF CONTENTS xi 6 Advanced features 127 6.1 Non-functional components and interceptors . 129 6.1.1 From application design to pNets . 129 6.1.2 Implementing pNet generation and integration with CADP . 134 6.1.3 Code generation . 134 6.2 Component attributes and attribute controllers . 135 6.2.1 Graphical specification . 136 6.2.2 From application design to pNets . 137 6.2.3 Implementing pNet generation and integration with CADP . 138 6.2.4 Code generation . 139 6.3 Reconfigurable multicast interfaces . 140 6.3.1 Graphical specification . 141 6.3.2 From application design to pNets . 142 6.3.3 Implementing pNet generation and integration with CADP . 155 6.3.4 Code generation . 157 6.4 Reconfiguring multicasts from NF components . 157 6.4.1 Graphical specification . 157 6.4.2 From application design to pNets . 158 6.4.3 Implementing pNet generation and integration with CADP . 158 6.4.4 Code generation . 159 6.5 Examples . 161 6.5.1 Composite pattern . 161 6.5.2 Springoo . 171 6.6 Discussion . 173 7 Related work 177 7.1 The SOFA 2 project . 178 7.2 The BIP Component Framework . 181 7.3 Rebeca formal modelling language and development tools . 183 7.4 ABS . 188 7.5 Other frameworks . 191 7.5.1 Component models and tools . 192 7.5.2 Verification platforms . 196 7.6 Summary . 200 7.6.1 On the verification tools . 200 7.6.2 On the component development frameworks . 200 xii TABLE OF CONTENTS 8 Conclusion 203 8.1 Summary . 203 8.2 Perspectives . 206 8.2.1 Modelling and analysis of parameterised architectures . 206 8.2.2 Modelling and analysis of multi-threaded components . 207 8.2.3 Modelling and analysis of reconfigurable systems . 208 8.2.4 Extending the pNet generator . 210 8.2.5 Properties specification and visualising the results of model- checking . 211 8.2.6 Static analysis and type-checking of state machines . 211 8.2.7 Other ideas of the future work . 213 List of Figures 2.1 A GCM application . 15 2.2 Request-reply by futures . 19 2.3 Request treatment by GCM/ProActive components . 20 2.4 UML class diagram . 35 2.5 UML state machine diagram . 35 2.6 EMF example . 36 3.1 VerCors workflow . 42 3.2 Screenshot of VerCors . 43 3.3 VerCors component diagram . 46 3.4 A component diagram of Peterson's leader election use-case example . 48 3.5 VerCors class diagram . 49 3.6 State machine diagram . 51 3.7 Scenario state machine . 51 3.8 Architecture of VerCors . 52 4.1 Internal interfaces of a membrane . 63 4.2 An input chain of interceptors . 64 4.3 Examples of architecture constraint violations . 73 4.4 Architecture static correctness validation in VerCors . 75 5.1 An example of a primitive component . 82 5.2 pNet for the PrimExample component from Figure 5.1 . 83 5.3 Graphical representation of the behaviour of the Body . 88 5.4 pLTSs for the Future Proxies.
Recommended publications
  • 07 Requirements What About RFP/RFB/Rfis?
    CMPSCI520/620 07 Requirements & UML Intro 07 Requirements SW Requirements Specification • Readings • How do we communicate the Requirements to others? • [cK99] Cris Kobryn, Co-Chair, “Introduction to UML: Structural and Use Case Modeling,” UML Revision Task Force Object Modeling with OMG UML Tutorial • It is common practice to capture them in an SRS Series © 1999-2001 OMG and Contributors: Crossmeta, EDS, IBM, Enea Data, • But an SRS doesn’t need to be a single paper document Hewlett-Packard, IntelliCorp, Kabira Technologies, Klasse Objecten, Rational Software, Telelogic, Unisys http://www.omg.org/technology/uml/uml_tutorial.htm • Purpose • [OSBB99] Gunnar Övergaard, Bran Selic, Conrad Bock and Morgan Björkande, “Behavioral Modeling,” UML Revision Task Force, Object Modeling with OMG UML • Contractual requirements Tutorial Series © 1999-2001 OMG and Contributors: Crossmeta, EDS, IBM, Enea elicitation Data, Hewlett-Packard, IntelliCorp, Kabira Technologies, Klasse Objecten, Rational • Baseline Software, Telelogic, Unisys http://www.omg.org/technology/uml/uml_tutorial.htm • for evaluating subsequent products • [laM01] Maciaszek, L.A. (2001): Requirements Analysis and System Design. • for change control requirements Developing Information Systems with UML, Addison Wesley Copyright © 2000 by analysis Addison Wesley • Audience • [cB04] Bock, Conrad, Advanced Analysis and Design with UML • Users, Purchasers requirements http://www.kabira.com/bock/ specification • [rM02] Miller, Randy, “Practical UML: A hands-on introduction for developers,”
    [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]
  • Sysml, the Language of MBSE Paul White
    Welcome to SysML, the Language of MBSE Paul White October 8, 2019 Brief Introduction About Myself • Work Experience • 2015 – Present: KIHOMAC / BAE – Layton, Utah • 2011 – 2015: Astronautics Corporation of America – Milwaukee, Wisconsin • 2001 – 2011: L-3 Communications – Greenville, Texas • 2000 – 2001: Hynix – Eugene, Oregon • 1999 – 2000: Raytheon – Greenville, Texas • Education • 2019: OMG OCSMP Model Builder—Fundamental Certification • 2011: Graduate Certification in Systems Engineering and Architecting – Stevens Institute of Technology • 1999 – 2004: M.S. Computer Science – Texas A&M University at Commerce • 1993 – 1998: B.S. Computer Science – Texas A&M University • INCOSE • Chapters: Wasatch (2015 – Present), Chicagoland (2011 – 2015), North Texas (2007 – 2011) • Conferences: WSRC (2018), GLRCs (2012-2017) • CSEP: (2017 – Present) • 2019 INCOSE Outstanding Service Award • 2019 INCOSE Wasatch -- Most Improved Chapter Award & Gold Circle Award • Utah Engineers Council (UEC) • 2019 & 2018 Engineer of the Year (INCOSE) for Utah Engineers Council (UEC) • Vice Chair • Family • Married 14 years • Three daughters (1, 12, & 10) 2 Introduction 3 Our Topics • Definitions and Expectations • SysML Overview • Basic Features of SysML • Modeling Tools and Techniques • Next Steps 4 What is Model-based Systems Engineering (MBSE)? Model-based systems engineering (MBSE) is “the formalized application of modeling to support system requirements, design, analysis, verification and validation activities beginning in the conceptual design phase and continuing throughout development and later life cycle phases.” -- INCOSE SE Vision 2020 5 What is Model-based Systems Engineering (MBSE)? “Formal systems modeling is standard practice for specifying, analyzing, designing, and verifying systems, and is fully integrated with other engineering models. System models are adapted to the application domain, and include a broad spectrum of models for representing all aspects of systems.
    [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]
  • 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]
  • UML 2001: a Standardization Odyssey
    UML 2001: A Standardization Odyssey As the UML reaches the ripe age of four, both its proponents and its critics are scanning the recent changes in the UML 1.3 revision. CRIS KOBRYN In a relatively short period of time the Unified Modeling Language has emerged as the software industry’s dominant modeling language. UML is not only a de facto modeling language standard; it is fast becoming a de jure standard. Nearly two years ago the Object Management Group (OMG) adopted UML as its standard modeling language. As an approved Publicly Available Specification (PAS) submitter to the International Organization for Standardization (ISO), the OMG is proposing the UML specification for international timescales of standards usually conflict with the standardization. It is anticipated that the “fast competitive need to use the latest technology as track” PAS process will complete sometime next early as possible. From a technical perspective, the year, at which time UML will be formally recog- need to achieve consensus encourages “design by nized as an international standard for information committee” processes. In this sort of environment, technology. sound technical tradeoffs are often overridden by The major benefits of international standardiza- inferior political compromises. Too frequently the tion for a specification include wide recognition and resulting specifications become bloated with patches acceptance, which typically enlarge the market for in a manner similar to the way laws become fattened products based on it. However, these benefits often with riders in “pork belly” legislation. demand a high price. Standardization processes are This article explores how the UML is faring in typically formal and protracted, seeking to accom- the international standardization process.
    [Show full text]
  • UML Why Develop a UML Model?
    App Development & Modelling BSc in Applied Computing Produced Eamonn de Leastar ([email protected]) by Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie Introduction to UML Why develop a UML model? • Provide structure for problem solving • Experiment to explore multiple solutions • Furnish abstractions to manage complexity • Decrease development costs • Manage the risk of mistakes #3 The Challenge #4 The Vision #5 Why do we model graphically? " Graphics reveal data.! " Edward Tufte$ The Visual Display of Quantitative Information, 1983$ " 1 bitmap = 1 megaword.! " Anonymous visual modeler #6 Building Blocks of UML " The basic building blocks of UML are:! " model elements (classes, interfaces, components, use cases, etc.)! " relationships (associations, generalization, dependencies, etc.)! " diagrams (class diagrams, use case diagrams, interaction diagrams, etc.)! " Simple building blocks are used to create large, complex structures! " eg elements, bonds and molecules in chemistry! " eg components, connectors and circuit boards in hardware #7 Example : Classifier View #8 Example: Instance View #9 UML Modeling Process " Use Case! " Structural! " Behavioural! " Architectural #10 Use Case Visual Paradigm Help #11 Structural Modeling Visual Paradigm Help #12 Behavioural Modeling Visual Paradigm Help #13 Architectural Modeling Visual Paradigm Help #14 Structural Modeling " Core concepts! " Diagram Types #15 Structural Modeling Core Elements " a view of an system that emphasizes
    [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]
  • Previous Work Relating to Campam Themes
    3rd CAMPaM Workshop 2006 Previous Work Relating to CAMPaM Themes Thomas Kuh¨ ne Darmstadt University of Technology, Darmstadt, Germany e-mail: [email protected] 1 Interests zation” and how deep instantiation provides a nice solution, in particular in comparison to powertypes [12]. The following describes a certain subset of my research in- terests only. I have left out anything that has not immediate connection to the central CAMPaM themes. 1.4 Stereotypes I general, I’m interested in looking at the fundamentals of approaches that have a practical application. For instance, In joint work with Colin Atkinson and Brian Henderson-Sellers I do think the main thrust of the model-driven development I have criticized a common unofficial use of stereotypes and idea is heading in the right direction, but here and there a few argued for the need to better support modelers in specify- basics should be sorted out before the whole thing may fly. ing properties for classes, objects, and a combination of the Here are the areas related to CAMPaM themes in which I two [9]. have been making contributions. 1.5 Profiles 1.1 Metamodeling Fundamentals Together with Colin Atkinson I have tried to clarify when and Colin Atkinson and I have suggested a more comprehensive when not to use metamodeling [8], figured out how parallel interpretation of profiles [3]. descriptions hierarchies may be aligned [2], and distinguis- hed two important dimensions of metamodeling (linguistic vs ontological) [6,5]. 1.6 Architecture Stratification In work yet to be published I have distinguished between two kinds of model roles (token vs type models) and forma- Relating to the “multi abstractions” CAMPaM theme, I have lized what “metamodeling” could mean, including a clarifi- recently developed a prototype for handling multiple descrip- cation whether or not it is reasonable to refer to abstract syn- tions of the same system at different abstraction levels [11].
    [Show full text]
  • Mutating UML State Machine Behavior with Semantic Mutation Operators
    Mutating UML State Machine Behavior with Semantic Mutation Operators Anna Derezinska a and Łukasz Zaremba Institute of Computer Science, Warsaw University of Technology, Nowowiejska 15/19, Warsaw, Poland Keywords: Model-Driven Software Development, State Machine, Code Generation, Mutation Testing, Framework for Executable UML (FXU), C#. Abstract: In Model-Driven Software Development (MDSD), an application can be built using classes and their state machines as source models. The final application can be tested as any source code. In this paper, we discuss a specific approach to mutation testing in which modifications relate to different variants of behavioural features modelled by UML state machines, while testing deals with standard executions of the final application against its test cases. We have proposed several mutation operators aimed at mutating behaviour of UML state machines. The operators take into account event processing, time management, behaviour of complex states with orthogonal regions, and usage of history pseudostates. Different possible semantic interpretations are associated with each operator. The operators have been implemented in the Framework for eXecutable UML (FXU). The framework, that supports code generation from UML classes and state machines and building target C# applications, has been extended to realize mutation testing with use of multiple libraries. The semantic mutation operators have been verified in some MDSD experiments. 1 INTRODUCTION satisfying selected criteria (Jia and Harman, 2011). In a standard mutation testing process, syntactic Model-Driven Software Development (MDSD) can changes, so-called mutations, are injected into a be aimed at production of high quality software in a source code and supposed to be detected by test cases.
    [Show full text]
  • The Unified Modeling Language Reference Manual
    The Unified Modeling Language Reference Manual The Unified Modeling Language Reference Manual James Rumbaugh Ivar Jacobson Grady Booch ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Reading, Massachusetts • Harlow, England • Menlo Park, California Berkeley, California • Don Mills, Ontario • Sydney Bonn • Amsterdam • Tokyo • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book and Addison-Wesley was aware of a trademark claim, the designations have been printed in initial caps or all caps. Unified Modeling Language, UML, and the UML cube logo are trademarks of the Object Management Group. Some material in this book is derived from the Object Management Group UML Specification documentation. Used by permission of the Object Management Group. The authors and publisher have taken care in the preparation of this book but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers discounts on this book when ordered in quantity for special sales. For more information, please contact: AWL Direct Sales Addison Wesley Longman, Inc. One Jacob Way Reading, Massachusetts 01867 (781) 944-3700 Visit AW on the Web: www.awl.com/cseng/ Library of Congress Cataloging-in-Publication Data Rumbaugh, James. The unified modeling language reference manual / James Rumbaugh, Ivar Jacobson, Grady Booch. p. cm. — (The Addison-Wesley object technology series) Includes bibliographical references and index.
    [Show full text]
  • A Formalism for Specifying Model Merging Conflicts Mohammadreza Sharbaf, Bahman Zamani, Gerson Sunyé
    A Formalism for Specifying Model Merging Conflicts Mohammadreza Sharbaf, Bahman Zamani, Gerson Sunyé To cite this version: Mohammadreza Sharbaf, Bahman Zamani, Gerson Sunyé. A Formalism for Specifying Model Merging Conflicts. System Analysis and Modelling (SAM) conference, Oct 2020, Virtual Event, Canada. 10.1145/3419804.3421447. hal-02930770 HAL Id: hal-02930770 https://hal.archives-ouvertes.fr/hal-02930770 Submitted on 4 Sep 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. A Formalism for Specifying Model Merging Conflicts Mohammadreza Sharbaf ∗ Bahman Zamani Gerson Sunyé MDSE Group, University of Isfahan MDSE Group, University of Isfahan LS2N, University of Nantes Isfahan, Iran Isfahan, Iran Nantes, France [email protected] [email protected] [email protected] ABSTRACT sites. Each of the participants focuses on specific aspects of the Verifying the consistency of model merging is an important step to- system and locally modifies only a particular part of the model. wards the support for team collaboration in software modeling and When participants deliver locally modified models, those need to evolution. Since merging conflicts are inevitable, this has triggered be integrated into a common relevant model for continuing the soft- intensive research on conflict management in different domains.
    [Show full text]