Implementing communicating processes in the event of interface difference

We present here an implementation relation which formalises the notion that a system built of communicating processes is an acceptable implementation of another base or specification system in the event that the two systems have different interfaces. Such a treatment has obvious applicability to the software development process, where an implementation component may be expressed at a different level of abstraction to the relevant specification component. We extend the results of our previous work and combine into a single scheme implementation relations previously presented. We also relax the restrictions previously placed upon specification processes. Using this new implententation relation, two basic kinds of results are obtained: realisability and compositionality. The former ensures that an implementation, when plugged into an appropriate environment, should yield a conventional implementation of the specification, and also that the implementation relation is acceptable when used in the event that specification and implementation systems have the same interfaces. The latter requires that a specification composed of several connected systems may be implemented by connecting their respective implementations.

[1]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[2]  A. W. Roscoe,et al.  An Improved Failures Model for Communicating Processes , 1984, Seminar on Concurrency.

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

[4]  Maciej Koutny,et al.  Verifying Implementation Relations , 2001, FME.

[5]  Bengt Jonsson,et al.  Compositional specification and verification of distributed systems , 1994, TOPL.

[6]  Rüdiger Reinecke,et al.  Hoares Communicating Sequential Processes: Erweiterung des Spurenmodells , 1985 .

[7]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[8]  Jozef Hooman,et al.  Trace-Based Compositional Reasoning about Fault Tolerant Systems , 1993, PARLE.

[9]  Bengt Jonsson,et al.  Refining Interfaces of Communicating Systems , 1991, TAPSOFT, Vol.2.

[10]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[11]  Leslie Lamport,et al.  The Implementation of Reliable Distributed Multiprocess Systems , 1978, Comput. Networks.

[12]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[13]  Ruurd Kuiper,et al.  Interface Refinement in Reactive Systems (Extended Abstract) , 1992, CONCUR.

[14]  Luigi V. Mancini,et al.  Modelling Replicated Processing , 1993, PARLE.

[15]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[16]  Luigi V. Mancini,et al.  Formalising replicated distributed processing , 1991, [1991] Proceedings Tenth Symposium on Reliable Distributed Systems.

[17]  Eugene W. Stark Proving Entailment Between Conceptual State Specifications , 1988, Theor. Comput. Sci..

[18]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[19]  Luigi V. Mancini,et al.  Two Implementation Relations and the Correctness of Communicated Replicated Processing. Formal Aspects of Computing 9 , 1997 .

[20]  Luigi V. Mancini,et al.  Towards a Theory of Replicated Processing , 1988, FTRTFT.

[21]  Cliff B. Jones,et al.  Enhancing the tractability of rely/guarantee specifications in the development of interfering operations , 2000, Proof, Language, and Interaction.

[22]  Arend Rensink,et al.  Vertical Implementation , 2001, Inf. Comput..

[23]  Luca Aceto,et al.  Towards Action-Refinement in Process Algebras , 1993, Inf. Comput..

[24]  Maciej Koutny,et al.  A Model of Behaviour Abstraction for Communicating Processes , 1999, STACS.