Communication and concurrency
Fundamentals of Algebraic Specification I
Fundamentals of Algebraic Specification I
Hi-index | 0.00 |
Algebraic Languages [EM85] are well suited for rapid prototyping. Their operational semantics is given by means of term rewriting systems. Here, we propose a new approach for the parallel interpretation of term rewriting systems by mapping every defined function into parallel processes [CH90]. The target language is HAL, a new process algebra [BH90] where parallel computations are described as a set of interconnected processes which communicate through the explicit sending and receiving of messages. HAL is derived from LOTOS [ISO89], FP2 [SJ89] and CCS [MI89]. In HAL an event is a set of simultaneous communications. Each communication within an event transports one term along one connector. When two connectors are linked, the corresponding communication unifies the two terms. This essential feature makes it possible to perform all computations via communications. (computation = communication). In the case considered here unification reduces to matching.A complete definition of the mapping from equationally defined functions to HAL processes can be found in [CH90]. The process network associated with a function reflects the syntaxic structure of the terms in the equation. A proof of correctness of the mapping is given in [CH90]. It shows that the transitions of the network correspond to innermost rewritings of the represented term and conversely. One application of this process representation is to provide a formal semantics for parallel interpretation of functional programming languages.