Theoretical

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Theoretical Computer Science
ELSEVIER Theoretical Computer Science 177 (1997) 487-507
Two finite specifications of a queue
Marc Bezem”, Alban Ponse b,*

a Utrecht University, Department of Philosophy, Heidelberglaan 8. 3584 CS Utrecht, Netherlands
@(d.~).
In Section
3, we provide
a detailed
specification
of the data type Sequence
in ,uCRL style. Starting point for this paper is to adopt the process Q?(E) as the standard definition of the (empty) queue with in-port i and out-port j. Two jinite queue speci$cations in ACP with abstraction and handshaking Staying in the realm of ACP with abstraction and handshaking communication, * one can specify the queue above by using only the process operations of ACP,(A, y),
* Handshaking is the case in which all communications x 1y 1z = 6.
are binary,
axiomatized
by the han&haking axiom
A4. Bezem.
A. Ponsel Theoretical
Computer
* Corresponding author. E-mail: alban@wins.uva.nl. ’ With a contribution to the concept of ‘guardedness’ 0304-3975/97/$17.00 @ 1997 PII SO304-3975(96)00257-S Elsevier Science B.V. All rights reserved
which they were received
along some out-port
use sequences of D-elements, any moment in its execution. specification is given in @XL
typed Sequence, to represent the contents of a queue at For a queue with in-port i and out-port j, this standard by the following Qu(d.4)) . Q’j(Zeft-rm(q)) the function
in that form be used as challenges
be found in Appendix A of [9a] this issue. Additionally, the paper offers a small theoretical result on RSP (Recursive Specification Principle), a fixed point rule mostly adopted in proofs on recursively specified processes in the setting of ACP with abstraction (see [2,5] for a general introduction to ACP with abstraction and RSP). This result states that RSP implies the standurd concurrency identities for processes specified by linear equations (and therewith commutativity and associativity of II). This is remarkable, because axioms for standard concurrency are often explicitly adopted in correctness proofs that already use RSP.
b University of Amsterdam, Programming Research Group, Kruislaan 403, 1098 SJ Amsterdam, Netherlands
Abstract It is known that a queue is not finitely definable in ACP with handshaking communication (Baeten and Berg&a, 1988). In this paper, two finite specifications of a queue in ACP with abstraction and handshaking are proved correct relative to a standard specification of a queue that employs an infinite data type for representing its contents. The proofs are given in the proof theory of &RL, and the only ‘T-laws’ used are XT = x and X(Z(JJ + z) + y) = x(v + z). Therefore the proofs are adequate for both ‘branching bisimilarity’ and ‘observation equivalence’. Additionally, it is shown that standard concurrency follows from RSP for a class of processes guardedly specifiable in ACP with abstraction.
atΒιβλιοθήκη the left of a sequence;
Q abbreviates
if b then P else Q fi (notation
from
[14]); non-empty(q) is the Boolean expressing whether q does not equal E, the empty sequence; right-elt extracts the right element of a sequence, e.g. right-eZt(d.(e.e)) = e; left-rm extracts the remainder of a Sequence element, e.g. left-rm(d.(e.&)) = d.E. The functions left-rm and right-elt are by definition total: left-rm(e) = E and right-elt(s) = do for some arbitrary do E D. The parameter q in e”(q) represents the execution state of the queue. For example, one can depict Qq(d.(e.&)), a state that can be reached by having then d along port i (actions ri(e), ri(d)), as follows: received first e and
Science 177 (1997)
487-507
489
instead
of basing
it on data type specification
and data/process
interaction.
Two such
specifications
of a queue will be proved correct, i.e. equal to e”(s).
............
d.(e.&)
Now e’j(d.(e.E)) can either receive some new datum e’ along port i (action ri(e’)) and evolve into Qy(e’.(d.(e.e))), or can send e along port j (action sj(e)) and evolve into
488
M. Bezem, A. PonselTheoretical
Computer Science 177 (1997)
487-507
Queues and correctness Proving definition ceives that some specification using specific axioms indeed defines a queue presupposes equality and rules. Given a standard dejiwith this standard that re-
a
recursion
equation
(cf. [2]):
Q”(q : Sequence) = d&(ri(d).
+sj(right-eh(q)) where the symbol . in d.q represents Pa
b D
non-empty(q)
D 6,
that inserts
a new D element
The only ‘r-laws’
1. Introduction
The purpose of this paper is to record correctness
proofs of two finite specifications
of a queue, introduced below. Both these specifications are already known for some time. However, of the first one no proof has been published yet (as far as we are aware), and only slight variants of the second one were proved correct. Furthermore, [lo-121, and could for proof checking. Axioms and rules of pCRL can the specifications and proofs are given in the proof theory of &RI,
nition of a queue. Correctness data of type D along
then boils down to proving some in-port,
that a queue is a process
and can send data in the same order in (FIFO-like, i.e. First In, First Out), we
相关文档
最新文档