Towards an Algebra of Abstractions for Communicating Processes

It is often desirable to describe the interface of an implementation system at a different (usually more detailed) level of abstraction to the interface of the relevant specification. This calls for a relation aimed at formalising the notion that a process is an acceptable implementation of another target process in the event that they possess different interfaces. This paper formulates a suitable implementation relation between the observable behaviours of the implementation and the target process using CSP. Interface difference and bridging is modelled by endowing the implementation relation with parameters, called extraction patterns, instrumental to interpreting implementation behaviour as target behaviour. Reasonable notions of implementation and extraction patterns should result in a relation satisfying the realisability and compositionality properties. The former means that, if target and implementation in fact have the same interface, then the implementation relation between them collapses into the standard implementation pre-order of CSP. Compositionality allows a target composed of several connected systems to be implemented by connecting their respective implementations. With respect to previous work, the paper drops a restriction that prevented broadcast and other group communication to be modelled, and admits fully general specification processes. The novelty of the approach presented here is that it introduces operations over extraction patterns, mimicking (and being compatible with) operations on processes

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

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

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

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

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

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

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

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

[9]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[10]  Ad M. G. Peeters,et al.  Implementation of Handshake Components , 2004, 25 Years Communicating Sequential Processes.

[11]  Kees van Berkel,et al.  Handshake Circuits: An Asynchronous Architecture for VLSI Programming , 1993 .

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

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

[14]  Luigi V. Mancini,et al.  Two implementation relations and the correctness of communicating replicated processes , 1997, Formal Aspects of Computing.

[15]  Maciej Koutny,et al.  Implementing communicating processes in the event of interface difference , 2001, Proceedings Second International Conference on Application of Concurrency to System Design.

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

[17]  Maciej Koutny,et al.  Compositional Development in the Event of Interface Difference , 2002 .

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