Assumption/Commitment Rules for Networks of Asynchronously Communicating Agents

This report presents an assumption commitment speci cation technique and a re nement calculus for networks of agents communicating asynchronously via unbounded FIFO chan nels in the tradition of Kah Kel BDD We de ne two di erent types of explicit assumption commitment speci cations namely simple and general speci cations It is shown that semantically any deterministic agent can be uniquely characterized by a simple speci cation and any nondeterministic agent can be uniquely charac terized by a general speci cation We de ne two sets of re nement rules one for simple speci cations and one for general speci cations The rules are Hoare logic inspired In particular the feedback rules employ an invariant in the style of a traditional while rule Both sets of rules have been proved to be sound and also semantically complete with respect to a chosen set of composition operators Conversion rules allow the two logics to be combined This means that general speci cations and the rules for general speci cations have to be introduced only at the point in a system development where they are really needed The proposed speci cation formalism and re nement rules together with a number of related design principles presented in Bro d Bro a constitute a powerful design method which allows distributed systems to be developed in the same style as methods like Jon Mor allow for the design of sequential systems

[1]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[2]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[3]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[4]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

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

[6]  Robert M. Keller,et al.  Denotational Models for Parallel Programs with Indeterminate Operators , 1977, Formal Description of Programming Concepts.

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

[8]  Manfred Broy,et al.  Towards a Design Methodology for Distributed Systems , 1989 .

[9]  Manfred Broy,et al.  The Design of Distributed Systems - An Introduction to FOCUS-revised version , 1992 .

[10]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[11]  M. Broy Compositional Reenement of Interactive Systems , 1995 .

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

[13]  J Job Zwiers Compositionality, Concurrency, and Partial Correctness: Proof Theories for Networks of Processes and Their Relationship , 1989 .

[14]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[15]  Frank Dederichs,et al.  Transformation verteilter Systeme: von applikativen zu prozeduralen Darstellungen , 1992 .

[16]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

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

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

[19]  Amir Pnueli,et al.  Now you may compose temporal logic specifications , 1984, STOC '84.

[20]  Manfred Broy,et al.  Functional specification of time-sensitive communicating systems , 1993, TSEM.