Milner introduced a logical languagePL process logic in terms of which interesting conditions of processes can be expressed.. We present relational terms and programs written in theinter
Trang 1Generating Processes from Specifications using the Relation Manipulation System RelView
imple-In [3] R Milner introduced a logical languagePL (process logic) in terms
of which interesting conditions of processes can be expressed Indeed, it wasshown that two processes are bisimilar iff there is no formula of PL whichdistinguishes between them The same fact holds if we restrict the processes
to finite branching processes (only finite sums are allowed) and PL to thesublanguage PLf using only finite conjunctions This shows that the logicallanguages have the right power to express safety conditions of processes
In [8,9] a relation-algebraic model of processes was given All standard erations (including parallel composition/interleaving) of the Calculus of Com-municating Systems CCS were interpreted by purely relational terms withoutany inductive methods A notion of relational bisimulation on this interpreta-tion was introduced, and it was shown that a bisimulation class has a canonical
op-
Trang 2representative Throughout this paper we use those representatives as tation of processes We present relational terms and programs written in theinternal languages of RelView such that all operations on those graphs may
deno-be computed using the system
In this paper we present an algorithm producing the set of minimal cesses, i.e a set of relational interpretations of a process, from a given safetyspecification written in PLf Furthermore, we present an implementation ofthe algorithm using the functional language HASKELL and the RelView sys-tem Given a specification written inPLf the HASKELL program generates aRelView program which is able to compute the corresponding set of processes.The paper is organized as follows First, we introduce the basic concepts
pro-of the algebra pro-of concrete relations between arbitrary sets, the relational pretation of processes and of the logical language PLf in the second section
inter-In the third section we present our algorithm This is done in two ways.First, we explain the algorithm using natural language Afterwards we present
it again using a PASCAL-like notation extended by operations on graphs andsets of graphs Furthermore, we give some examples of generating sets ofprocesses using our algorithm
Finally, we explain our implementation of the algorithm within HASKELLand the RelView system After a short introduction to the RelView system wepresent the relational terms and programs in the internal language of RelViewneeded to handle processes and sets of processes Using these terms and pro-grams one may write for every specification written inPLf a RelView programwhich computes the corresponding set of processes using the algorithm Thelast part of this section is dedicated to the HASKELL program which auto-matically generates such a RelView program from a specification
2 Relations and Processes
In this section we briefly introduce the basic concepts of the algebra of concreterelations between arbitrary sets, the relational interpretation of processes and
of the logical languagePLf in the second section For further details we refer
to [1,3,4,5,7,8,9]
2.1 Relation Algebraic Preliminaries
Given two sets A and B, any subset R of the cartesian product A × B is called
a relation with domain A and codomain B We denote this fact by R : A ↔ B,and instead of (a, b) ∈ R we write aRb Given relations Q : A ↔ B, R : A ↔ Band S : B ↔ C we define
Trang 3Join: Q R : A ↔ B a(Q R)b :⇔ aQb or aRb
Meet: Q R : A ↔ B a(Q R)b :⇔ aQb and aRb
Composition: R; S : A ↔ C a(R; S)c :⇔ ∃b ∈ B : aRb and bScComplement: Q : A ↔ B aQb :⇔ not aQb
Transposition: Q : B ↔ A bQa :⇔ aQb
The empty, the universal and the identity relation are denoted by ⊥AB, AB
and IA, respectively Furthermore, we will denote the inclusion of relations by The structure above is the standard example of a heterogeneous relationalgebra
Besides the well-known algebraic rules for operations on sets, the so-calledSchr¨oder equivalences are valid
Q; R S ⇐⇒ Q; S R ⇐⇒ S; R Q
One might ask for the greatest solution of Q; X R Using the Schr¨oderequivalences one gets X = Q; R This relation is called the right residualQ\R of Q and R By duality one defines the left residual S/T := S; T of Sand T It is easy to verify that we have the following
b(Q\R)c ⇔ ∀a ∈ A : aQb → aRc a(S/T )b ⇔ ∀c ∈ C : bT c → aSc
A symmetric version of the residuals is the symmetric quotient
(i) univalent (or a partial function) iff R; R IB,
(ii) total iff IA R; R
,(iii) injective iff Ris univalent,
(iv) surjective iff Ris total,
(v) a mapping iff it is univalent and total
We also use the notation f : A → B to indicate that f is a mapping from A
to B
A relation R : A ↔ A is called
(i) reflexive iff IA A,
(ii) symmetric iff R R,
(iii) transitive iff R; R ... severalpurposes we need to separate the root from the rest of the graph in the sensethat there are no edges of this kind This may be done by duplicating theroot using a relational sum with I In our example... example the subset {2, 4} of
A = {1, 2, 3, 4, 5} may be given by the injective mapping i from {1, 2} to Adefined by i(1) := and i(2) := Using the operation IC; i we may switchfrom... R=IB
In the situation above we say R splits S
Using the construction above, we may also switch from the represenation
of a subset by a vector V : I ↔ A to the corresponding