Theory and methodology of assumption/commitment based system interface specification and architectural contracts

This paper addresses the specification of and reasoning about interactive real-time systems, their interfaces, and architectures as well as their properties in terms of assumptions and commitments. Specifications are structured into assumptions restricting the behavior of the operational context of systems and commitments about the system behavior (also called rely/guarantee or assumption/promise specification patterns in the literature). A logical approach to assumption/commitment contracts is worked out based on a mathematical system model:From assumption/commitment contracts plain interface assertions for the system are derived.Healthiness conditions based on the system model are worked out for assumptions.Safety and liveness properties for assumption/commitment contracts are identified.From interaction specifications describing the interaction between two systems assumption/commitment contracts for the involved systems are derived.Contracts for components in architectures are formulated in terms of assumptions and commitments and conditions are worked out to guarantee that assumptions for the composite systems guarantee the validity of the assumptions for components. Based on the theoretical foundation architectural issues are considered for a systematic use of assumption/commitment patterns in system specification and architecture design.

[1]  Axel Legay,et al.  A Modal Interface Theory for Component-based Design , 2011, Fundam. Informaticae.

[2]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[3]  Roberto Passerone,et al.  Multiple Viewpoint Contract-Based Specification and Design , 2008, FMCO.

[4]  Axel Legay,et al.  A meta-theory for component interfaces with contracts on ports , 2014, Sci. Comput. Program..

[5]  Joseph Sifakis,et al.  Compositional Verification for Component-Based Systems and Application , 2008, ATVA.

[6]  George S. Avrunin,et al.  Breaking up is hard to do: An evaluation of automated assume-guarantee reasoning , 2008, TSEM.

[7]  Eugene W. Stark,et al.  A Proof Technique for Rely/Guarantee Properties , 1985, FSTTCS.

[8]  Alberto L. Sangiovanni-Vincentelli,et al.  Contract-based design of control protocols for safety-critical cyber-physical systems , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[9]  Pierre Collette,et al.  Composition of Assumption-Commitment Specifications in a UNITY Style , 1994, Sci. Comput. Program..

[10]  Bengt Jonsson,et al.  An algebraic theory of interface automata , 2014, Theor. Comput. Sci..

[11]  Alessandro Cimatti,et al.  OCRA: A tool for checking the refinement of temporal contracts , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[12]  Bowen Alpern,et al.  Recognizing safety and liveness , 2005, Distributed Computing.

[13]  Alberto L. Sangiovanni-Vincentelli,et al.  Are interface theories equivalent to contract theories? , 2014, 2014 Twelfth ACM/IEEE Conference on Formal Methods and Models for Codesign (MEMOCODE).

[14]  Paritosh K. Pandya,et al.  Some Comments on the Assumption-Commitment Framework for Compositional Verification of Distributed Programs , 1989, REX Workshop.

[15]  Andreas Söderberg,et al.  Composable Safety-Critical Systems Based on Pre-certified Software Components , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops.

[16]  Edward A. Lee,et al.  A Theory of Synchronous Relational Interfaces , 2011, TOPL.

[17]  Philipp Neubeck A Probabilitistic Theory of Interactive Systems , 2012 .

[18]  Thomas A. Henzinger,et al.  Interface Theories for Component-Based Design , 2001, EMSOFT.

[19]  Joseph Sifakis,et al.  The Algebra of Connectors—Structuring Interaction in BIP , 2007, IEEE Transactions on Computers.

[20]  Thomas A. Henzinger,et al.  INTERFACE-BASED DESIGN , 2005 .

[21]  David Garlan,et al.  Contract-based integration of cyber-physical analyses , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[22]  Manfred Broy,et al.  A Functional Rephrasing of the Assumption/Commitment Specification Style , 1998, Formal Methods Syst. Des..

[23]  Manfred Broy,et al.  A formal model of services , 2007, TSEM.

[24]  Ansuman Banerjee,et al.  Test generation games from formal specifications , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[25]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[26]  Roberto Passerone,et al.  Multi-Viewpoint State Machines for Rich Component Models , 2009 .

[27]  Ian J. Hayes,et al.  Towards Structuring System Specifications with Time Bands Using Layers of Rely-Guarantee Conditions , 2013, FTSCS.

[28]  Edward A. Lee,et al.  Cyber-physical system design contracts , 2013, 2013 ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS).

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

[30]  Alessandro Cimatti,et al.  Contracts-refinement proof system for component-based embedded systems , 2015, Sci. Comput. Program..

[31]  Thomas A. Henzinger,et al.  Decomposing refinement proofs using assume-guarantee reasoning , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[32]  Manfred Broy,et al.  From MSCs to Statecharts , 1998, DIPES.

[33]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[34]  Bengt Jonsson,et al.  Compositional assume-guarantee reasoning for input/output component theories , 2014, Sci. Comput. Program..

[35]  Edward A. Lee,et al.  On relational interfaces , 2009, EMSOFT '09.

[36]  Ketil Stølen,et al.  A Method for the Development of Totally Correct Shared-State Parallel Programs , 1991, CONCUR.

[37]  Alberto L. Sangiovanni-Vincentelli,et al.  Taming Dr. Frankenstein: Contract-Based Design for Cyber-Physical Systems , 2012, Eur. J. Control.

[38]  Manfred Broy,et al.  Specification and development of interactive systems: focus on streams, interfaces, and refinement , 2001 .

[39]  Kedar S. Namjoshi,et al.  On the Competeness of Compositional Reasoning , 2000, CAV.

[40]  Manfred Broy,et al.  A Logical Basis for Component-Oriented Software and Systems Engineering , 2010, Comput. J..

[41]  Manfred Broy,et al.  Modeling layered distributed communication systems , 2005, Formal Aspects of Computing.

[42]  Susan Owicki,et al.  An axiomatic proof technique for parallel programs I , 1976, Acta Informatica.

[43]  Thomas A. Henzinger,et al.  An Assume-Guarantee Rule for Checking Simulation , 1998, FMCAD.

[44]  K. Rustan M. Leino,et al.  The Spec# Programming System: An Overview , 2004, CASSIS.

[45]  Luciano Lavagno,et al.  SoftContract: an assertion-based software development process that enables design-by-contract , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[46]  Manfred Broy Interaction and Realizability , 2007, SOFSEM.

[47]  Jozef Hooman,et al.  Concurrency Verification: Introduction to Compositional and Noncompositional Methods , 2001, Cambridge Tracts in Theoretical Computer Science.

[48]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[49]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[50]  MeyerBertrand,et al.  Design by Contract , 1997 .

[51]  Manfred Broy Compositional Refinement of Interactive Systems Modelled by Relations , 1997, COMPOS.

[52]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[53]  Job Zwiers,et al.  Compositionality, Concurrency and Partial Correctness , 1989, Lecture Notes in Computer Science.

[54]  Martín Abadi,et al.  A Logical View of Composition , 1993, Theor. Comput. Sci..

[55]  Thomas A. Henzinger,et al.  Reactive Modules , 1999, Formal Methods Syst. Des..

[56]  Mathai Joseph,et al.  P — A logic — a compositional proof system for distributed programs , 1991, Distributed Computing.

[57]  Adam Wolisz,et al.  Formal Techniques for Networked and Distributed Systems - FORTE 2003 , 2003, Lecture Notes in Computer Science.

[58]  Alberto L. Sangiovanni-Vincentelli,et al.  Library-based scalable refinement checking for contract-based design , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[59]  Kim G. Larsen,et al.  Moving from Specifications to Contracts in Component-Based Design , 2012, FASE.

[60]  Holger Giese,et al.  Contract-based component system design , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[61]  Manfred Broy,et al.  Computability and realizability for interactive computations , 2015, Inf. Comput..

[62]  Andreas Söderberg,et al.  Safety contract based design of software components , 2013, 2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW).