Integrating verifiable Assume/Guarantee contracts in UML/SysML

The compositional approach based on components and driven by requirements is a common method used in the development of critical real-time embedded systems. Since the satisfaction of a requirement is subject to the composition of several components, defining abstract and partial behaviors for components with respect to the point of view of the requirement allows for a manageable design of systems. In this paper we consider such specifications in the form of contracts. A contract for a component is a pair (assumption, guarantee) where the assumption is an abstraction of the component's environment behavior and the guarantee is an abstraction of the component's behavior given that the environment behaves like the assumption. In previous work we have defined a formal contract-based theory for Timed Input/Output Automata with the aim of using it to express the semantics of UML/SysML models. In this paper we propose an extension of the UML/SysML language with a syntax and semantics for contracts and for the relations they must satisfy. Besides the important role that contracts have in design, they can also be used for the verification of requirement satisfaction and for their traceability.

[1]  Franck Barbier,et al.  Contracts for Model Execution Verification , 2011, ECMFA.

[2]  Nancy A. Lynch,et al.  The Theory of Timed I/O Automata, Second Edition , 2010, Synthesis Lectures on Distributed Computing Theory.

[3]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[4]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[5]  Jim Euchner Design , 2014, Catalysis from A to Z.

[6]  Sophie Quinton,et al.  Contract-Based Verification of Hierarchical Systems of Components , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[7]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

[8]  Nicolas Belloir,et al.  OCL contracts for the verification of model transformations , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[9]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[10]  Sophie Quinton,et al.  Design, vérification et implémentation de systèmes à composants , 2011 .

[11]  Iulian Ober,et al.  A Case Study in Formal System Engineering with SysML , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

[12]  Pascal André,et al.  Vérification de contrats logiciels à l'aide de transformations de modèles Application à Kmelia , 2011 .

[13]  Christian Becker,et al.  A UML Meta-model for Contract Aware Components , 2001, UML.

[14]  J. Christian Attiogbé,et al.  Multilevel Contracts for Trusted Components , 2010, WCSI.

[15]  Joseph Sifakis,et al.  An Algebraic Framework for Urgency , 2000, Inf. Comput..

[16]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[17]  Joseph Sifakis,et al.  The IF Toolset , 2004, SFM.

[18]  Iulian Ober,et al.  Safety Contracts for Timed Reactive Components in SysML , 2014, SOFSEM.

[19]  Iulian Ober,et al.  Formal Model Driven Engineering for Space Onboard Software , 2011 .

[20]  Iulian Ober,et al.  OMEGA2: A New Version of the Profile and the Tools , 2010, 2010 15th IEEE International Conference on Engineering of Complex Computer Systems.