1. Trang chủ
  2. » Giáo án - Bài giảng

generating processes from specifications using the relation manipulation system relview

27 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 219,35 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

Generating 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 2

representative 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 3

Join: 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

Ngày đăng: 02/11/2022, 10:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN