A meta-theory for component interfaces with contracts on ports

Abstract We show how the abstract concept of a labeled interface theory can be canonically extended to an abstract framework for component interfaces with ports. The resulting theory satisfies itself the general laws of an interface theory for composition, refinement and communication compatibility. The ports of a component interface represent the interaction points of a component. Each port is equipped with a contract specifying the assumptions on and the guarantees for the environment of a component. We study reliable component interfaces and we provide methodological guidelines how to design reliable interfaces and how to adapt them to changing environments. Two instances of our approach are presented. First, we consider modal component interfaces such that component behaviors and the assume and guarantee behaviors of ports are given in terms of modal I/O-transition systems with weak notions of refinement and compatibility. The second instance uses I/O-predicates as interface specifications.

[1]  Antonio Cau,et al.  On Unifying Assumption-Commitment Style Proof Rules for Concurrency , 1994, CONCUR.

[2]  Jifeng He,et al.  Contract Oriented Development of Component Software , 2004, IFIP TCS.

[3]  Rolf Hennicker,et al.  On Weak Modal Compatibility, Refinement, and the MIO Workbench , 2010, TACAS.

[4]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[5]  Joseph Sifakis,et al.  Rigorous Component-Based System Design Using the BIP Framework , 2011, IEEE Software.

[6]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

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

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

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

[10]  Kim G. Larsen,et al.  Modal I/O Automata for Interface and Product Line Theories , 2007, ESOP.

[11]  Axel Legay,et al.  Component Interfaces with Contracts on Ports , 2012, FACS.

[12]  Corina S. Pasareanu,et al.  Learning Assumptions for Compositional Verification , 2003, TACAS.

[13]  Frantisek Plasil,et al.  Modeling Environment for Component Model Checking from Hierarchical Architecture , 2007, Electron. Notes Theor. Comput. Sci..

[14]  Hongyang Qu,et al.  Assume-Guarantee Verification for Probabilistic Systems , 2010, TACAS.

[15]  Alexander Knapp,et al.  On the Observable Behaviour of Composite Components , 2010, Electron. Notes Theor. Comput. Sci..

[16]  Kim G. Larsen,et al.  The Use of Static Constructs in A Modal Process Logic , 1989, Logic at Botik.

[17]  Edsger W. Dijkstra Non-determinacy and a calculus for the derivation of programs , 1975 .

[18]  Rolf Hennicker,et al.  Specification of Asynchronous Component Systems with Modal I/O-Petri Nets , 2013, TGC.

[19]  Martin Wirsing,et al.  Interface theories for concurrency and data , 2011, Theor. Comput. Sci..

[20]  Kim G. Larsen,et al.  Constraint Markov Chains , 2011, Theor. Comput. Sci..

[21]  Leslie Lamport,et al.  win and sin: predicate transformers for concurrency , 1990, TOPL.

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

[23]  Corina S. Pasareanu,et al.  Assume-Guarantee Verification for Interface Automata , 2008, FM.

[24]  Thomas A. Henzinger,et al.  Timed Interfaces , 2002, EMSOFT.

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

[26]  Cliff B. Jones,et al.  Developing methods for computer programs including a notion of interference , 1981 .

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

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

[29]  Sebastian S. Bauer Modal specification theories for component-based design , 2012 .

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

[31]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[32]  Jean-Baptiste Raclet,et al.  Modal Contracts for Component-Based Design , 2009, 2009 Seventh IEEE International Conference on Software Engineering and Formal Methods.

[33]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[34]  Kousha Etessami,et al.  Multi-objective Model Checking of Markov Decision Processes , 2007, TACAS.

[35]  Joseph Sifakis,et al.  Incremental component-based construction and verification using invariants , 2010, Formal Methods in Computer Aided Design.

[36]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[37]  Farhad Arbab,et al.  Connectors as designs: Modeling, refinement and test case generation , 2012, Sci. Comput. Program..

[38]  Antonio Cau,et al.  Parallel composition of assumption-commitment specifications , 2009, Acta Informatica.

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

[40]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[41]  Rolf Hennicker,et al.  Interface Theories for (A)synchronously Communicating Modal I/O-Transition Systems , 2010, FIT.

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