Eindhoven University of Technology Department of Mathematics and

18
Eindhoven University of Technology Department of Mathematics and Computing Science An Algebraic Semantics of Basic Message Sequence Charts by S. Mauw and M.A. Reniers Computing Science Note 94/t 7 Eindhoven, April 1994 94/17

Transcript of Eindhoven University of Technology Department of Mathematics and

Page 1: Eindhoven University of Technology Department of Mathematics and

Eindhoven University of Technology

Department of Mathematics and Computing Science

An Algebraic Semantics of Basic Message Sequence Charts

by

S. Mauw and M.A. Reniers

Computing Science Note 94/t 7 Eindhoven, April 1994

94/17

Page 2: Eindhoven University of Technology Department of Mathematics and

COMPUTING SCIENCE NOTES

This is a series of notes of the Computing Science Section of the Department of Mathematics and Computing Science Eindhoven University of Technology. Since many of these notes are preliminary versions or may be published elsewhere, they have a limited distribution only and are not for review. Copies of these notes are available from the author.

Copies can be ordered from: Mrs. M. Philips Eindhoven University of Technology Department of Mathematics and Computing Science P.O. Box 513 5600 MB EINDHOVEN The Netherlands ISSN 0926-4515

All rights reserved editors: prof.dr.M.Rem

prof.dr.K.M.van Hee.

Page 3: Eindhoven University of Technology Department of Mathematics and

An Algebraic Semantics of Basic Message Sequence Charts S. MAUW AND M. A. RENIERS

Dept. of Afathemaiics and Computing ScierJCe, Eindhoven University 0/ Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands.

e-mail: [email protected]@win.tue.nl

Message Sequence Charts are a widely used technique for the visualization of the communications between system components. We present a formal semantics of Basic Message Sequence Charts, exploiting techniques from process algebra. This senlanties is based Oil the semantics of the full language as being proposed for standardization in the Iuternational TelecOlmnUllicatioll Union.

1. INTRODUCTION

Message Sequence Charts are a graphical language, being standardized by t.he ITU-TS (t.he Telecommu­nication Standardization section of t.he lnt,emat,jonal Telecommunication Union, t.he former CClTT), for t.he description of the int.eractions between ent.it.ies. lTV recommendation Z.120 (CCI92) cont.ains t.he synt.ax and an informal explanation of the semant.ics. The current. goal in the process of standardizat.ion is t.he definit.ion of a formal semantics of the langua.ge. The need for a formal semantics became evident since even experts in the field of Message Sequence Chart.s could not always agree on the interpretation of specific features, Furt.her­more validation of comput.er tools for Message Sequence Charts only makes sense if an exact. meaning is avail­able. Finally a formal semantics will help to harmonize the use of Message Sequence Chart.s.

There exist several at,tempt.s t.owards slich a forlllol semantics. We ment.ion approaches based on automat.on theory (LL94), Pet.ri net theory (GGR93) and 011 pro­cess algebra (dM93, MvWW93). None of t.hese papers contain a formal semant.ics of the complete language. Although all approaches have their advant.ages and dis­advantages, it has been decided by t.he standardization committee to use process algebra for t,he formal defini­tion. The semantics in this paper is based on a complet.e algebraic semantics of Message Sequence Chart.s, which is the proposal for Z.120. VVe will not present. t,he com­plete semantics here, but, we rest.rict us t.o t.he core of the Message Sequence Chart.s language, which \ve will call Basic Message Sequence Chart.s.

This work is related t.o the formal semant.ics of Int.er­workings (MvWW93). A difference is t.hat. we will con­sider asynchronous communication whereas t.he t.heory of Interworkings only contains synchronous communi­cation. Furthermore, Message Sequence Chart.s and In­terworkings have a different. approach wit.h respect. t.o

their textual represent.ation. Interworkings are event orient,ed, which means that an Interworking is a list of communicat.ions and other events, whereas Message Se­quence Charts are instance oriented. This means that a lVIessage Sequence Chart, is described by giving the behavior of every instance in separation.

The formal semantics presented is based on the al­gebraic theory of process description ACP (Algebra of Communicat.ing Processes) (BW90). ACP is an al­gebraic t.heory in many ways related to the algebraic process t.heories CCS (Calculus of Communicating Sys­tems) (MiIBO) and CSP (Communicating Sequential Processes) (Hoa85). This process algebra is a useful framework for the description of the formal semantics of Ivlessage Sequence Charts since all features incorpo­rat.ed in t.he theory of Message Sequence Charts are re­lat.ed t.o topics already studied in process algebra such as t.he st.ate operator and the global renaming oper­at.or. Since we consider asynchronous communication and since Message Sequence Charts may be "empty", we usc PA[, i.e. ACP without communication and with t.he empty process (BW90).

This paper is structured in the following way. First we will int.roduce Basic Message Sequence Charts. After that, we define t.he algebraic t.heory we use as a frame­work and t.he algebraic features specifically needed for Basic IVIessage Sequence Charts. Next we will define the semantic function which maps Basic Message Sequence Chart.s int.o process t.erms and we will give an opera­t,jonal semant.ics. Finally we will prove a representation t.heorem which shows t.he relation between the instance orient.ed notation and an event oriented notation.

2. DASIC MESSAGE SEQUENCE CHARTS

2.1. Introduction

Message Sequence Charts provide a graphical notation for t.he int.eraction between syst.em components. Their

Page 4: Eindhoven University of Technology Department of Mathematics and

2 S. MAUW AND M. A. RENIERS

main application, in addition to SDL (CCISS), is in the area of telecommunication systems. Their usc, however, is not restricted to the SDL methodology or to telecom­munication environments.

A Message Sequence Chart is not a description of the complete behavior of a system, it merely expresses one execution trace. A collection of Message Sequence Charts may be used to give a more detailed specifica­tion of a system. Message Sequence Charts and related notations, such as Interworkings and Arrow Diagrams have been applied in systems engineering for quite some time. They are used in several phases of system de­velopment, such as requirement specificat,ioll, interface specification, simulation, validation, test case specifica­tion and documentation.

A Message Sequence Chart contains the descript.ion of the asynchronous communication bet,ween inst.ances. The complete Message Sequence Chart language, in ad­dition, has primitives for local act.ions, timers (set, reset and time-out), process creation, process stop and eore­gions. Furthermore sub Message Sequence Charts and conditions can be used to constrllCt. modular specifica­tions.

For brevity, we restrict ourselves in this paper to the core language of Message Sequence Chart.s, which we will call Basic Message Sequence Charts. A Basic Message Sequence Chart concentrates on COlTllT\llnica­tions and local actions only. These are t.he features encountered in most languages comparable to Message Sequence Charts.

2.2. Graphicalllotatioll

A Basic Message Sequence Chart contains a (part.ial) description of the communication behavior of a num­ber of instances. An instance is an abstract entity of which one can observe (part of) t.he interaction wit.h other inst.ances or with t.he environment. The first. Basic Message Sequence Cha.rt in Figure 1 defines t.he com­municat.ion behavior between instances iI, 12, ;:3 and i4. An instance is denoted by a vert,ical axis. The t.illle along each axis runs from top to bot.tom.

A communication between t.wo inst.ances is repre­sented by an arrow which st.arts at. the sending inst.ance and ends at the receiving instance. In Figure I we con­sider the messages mI, m2, rn3 and m4. Message 1110

is sent to the environment. The behavior of t.he envi­ronment is not specified. For instance i2 we also define a local action a.

Although the activities along Olle single inst.ance axis are completely ordered, we will not assllllle a not.ion of global time. The only dependencies bet.wecn t.he tim­ing of the instances come from the rest.rict.ion t.hat. a message must have been sent, before it is received. In Figure 1 this implies for example that. message m3 is received by i4 only after it has been sent. by i3, and, consequently, after the recept.ion of 111.2 by 13. Thus 111 1 and m3 are ordered in t.ime, while for m4 and m3 110

msc example I

m3

FIG URE 1. Example Basic Message Sequence Charts

order is specified. The execution ofa local action is only restricted by the ordering of events on its own instance. The second Basic Message Sequence Chart in Figure 1 defines the same Basic Message Sequence Chart, but in an alternative drawing.

msc overtaking

i;m~ E

FIGURE 2. Basic Message Sequence Chart. with overt.aking

Sillce we have asynchronous communication, it would even be possible to first send m3, then send and receive m4, and finally receive m3. Another consequence of this mode of communication is that we allow overtaking of messages, as expressed in Figure 2.

2.3. Textual notation

Alt.hough the application of Message Sequence Charts is mainly focussed on the graphical notation, they have a concrete text.ual synt.ax. This representation was origi­nally int.ended for exchanging Message Sequence Charts bet.ween comput.er t.ools only, but in this paper we will use it. for t.he definit.ion of the semantics.

The t.extual representation of a Basic Message Se~ quence Chart. is instance oriented. This means that a Basic Messa.ge Sequence Chart is defined by specifying the behavior of a.ll instances. A message output is de­noted by "out ml to i2;)) and a message input by "in ml from il;)). The Basic Message Sequence Charts of Figure 1 have t.he following textual representation.

msc examplel; instance il;

out mO to env; out ml to i2; in m4 from i2;

endinstance; instance i2;

in ml from i1;

Page 5: Eindhoven University of Technology Department of Mathematics and

AN ALGEBRAIC SEMANTICS OF BASIC MESSAGE SEQUENCE CHARTS 3

out rn2 to i3; action a; out m4 to i1;

endinstance~

instance i3; in rn2 from i2; out m3 to i4;

endinstance; instance i4;

in m3 from i3; endinstance;

endmsc;

The grammar defining the syntax of textual BilSic Message Sequence Charts is given in Table 1. The nOil­

terminals <mscid>, <iid>, <mid> and <aid> represent identifiers. The symbol <> denotes t.he empty st,ring. The following identifiers are reserved keywords: action, endinstance, endmsc, env, from, in, instance, mse, out and to.

<msc>

<mse body>

<inst def>

<inst body>

<event>

mse <mscid>; <mse body> endmsc; <> I <inst def> <mse body> instance <iid>; <inst body> end instance; <> I <event> <inst body> in <mid> from <iid>j in <mid> from env;

out <mid> to <iid>; out <mid> to any; action <aid>;

TABLE 1. The concrete textual syntax of Basic l'vlessage Se~

quence Charts

The language generated by a llontel'l1linal X in t.he grammar of Table 1 will be denot.ed by [(X).

We formulate two static requiremcnts for Ba..;;ic rvres­sage Sequence Charts. The first is that, an iust,allce may be declared only once. The second is that every message identifier occurs exactly once in an ollt,put action and once in a matching input action, or in case of a com­munication with the environment a mcssage identifier occurs only once.

3. PROCESS ALGEBRA P A,

3.1. Introduction

The process algebra PAl'" is an algebraic t.heory for t.he description of process behavior (BK84, BWtJO). Such an algebraic theory is given by a signature defining t,he processes and a set of equations defining the eqm'llity relation on these processes. 1n Subsection 3.2. we will

give the signature EpA .. and the set of equations EpA ..

will be given in Subsection 3.3. PAl'" is parameterized with the set of atomic actions.

In the following section we will instantiate this set of atomic actions and extend the theory.

The signature of PAl'" specifies the constant and func­tion symbols that may be used in describing processes. Also variables from some set V may be used in process descriptions.

3.2. The signature of P A,

Before we turn to the signature of PAt" we will define the terms associated to a signature E and a set of variables V. A signature E is a set of constant and function symbols. For every function symbol in the signature its arity is specified.

DEFINITION 3.1. Let E be a signature and let V be a set of variables. Terms over signature E with variables from V are defined inductively by

J. v E V is a term 2. if c E :E is a constant symbol, then c is a term 3. if fEE is an n-ary (n 2: 1) function symbol and

tl, ... J tn are terms, then J(tl, ... , tn ) is a term

The set of all t.erms over a signature L with variables from V is denot.ed by T(E, V). A term t E T(E, V) is called a closed t.erm if t does not contain variables. The set of all closed terms over a signature E is denoted by T(I:).

Now we are ready to turn to the signature EpA. of PAl'"' The signat.ure Ep Ae consists of

1. t.he special constant.s 6 and €

2. the set of unspecified constants A 3. the unary operator V 4. the binary operat.ors +, ., II and lL

The special const,ant 6 denotes the process that has st.opped execut.ing actions and cannot proceed. This const.ant. is called deadlock. The special constant € de­liotes the process that. is only capable of terminating successfully. It. is called the empty process.

The element.s of the set of unspecified constants A are called atomic actions. These are the smallest processes in t.he description. This set is considered a parameter of (,he theory. We will specify this set as soon as we consider an application of the theory.

The binary operators + and· are called the alterna­tive and sequential composition. The alternative compo­sit,ion of the processes x and y is the process that either execut.es process x or y but. not both. The sequential composit.ion of t.he processes x and y is the process that first. execut.es process x, and upon completion thereof sta.rt.s wit,h t.he execution of process y.

The binary operat.or II is called the free merge. The free merge of the processes x and y is the process that

Page 6: Eindhoven University of Technology Department of Mathematics and

4 S. MAUW AND M. A. R.ENIERS

executes the processes x and y in parallel. For a fi­nite set D = {d,,···, dn }, the not.ation II dED p( d) is an abbreviation for P(d,) II ... II P(dn ). If D = 0 then IIdEDP(d) = E. For the definition of the merge we use two auxiliary operators. The termination operator V applied to a process x signals whet.her or not. the pro­cess x has an option to terminate immediately. The bi­nary operator lL is called the left merge. The left, merge of the processes x and y is the process that first has to execute an atomic action from process X, and upon completion thereof executes the remainder of process x and process y in parallel.

3.3. The equations of P A,

The set of equations EpA~ of PA£" specifies which pro­cesses are considered equal. An equation is of t.he form

t, = t" where t"t2 E T(EpA" V). For a E AU {o} and X, y, z E V, the equations of P Ae are given in the Table 2.

x+y _ y+x (x+y)+z = x+(y+z) x+x = x (x+y).z = x·z+y·z (x·y)·z = x·(y·z) x+6 = x 6· x 6 X'c x [. X :::: X

xlly = xlLy+ylLx+J(")'J(y) ell x = 6 a . xlLy = a· (x II y) (x+y)lLz = xlLz+YlLz

J(E) = E J(a·x) = 6 J(x + y) = J(x) + J(y)

TABLE 2. Axioms of PA,

Al A2 A3 A4 A5 A6 A7 AS An

TMI TM2 TM3 TM4

TEl TE2 TE3

Axioms AI-A9 are well known. The axioms 'TE1~ TE3 express that a process x has an opt.ion t.o terminate immediately if J(x) = E, and that. J(x) = 0 otherwise. In itself the termination operator is not very int.eresting, but in defining the free merge we need this operator to express the case in which bot.h processes 3; and yare incapable of executing an at.omic action. Axiom TMI expresses that the free merge of t.he two processes x and y is their interleaving. This is expressed in t.he three summands. The first two state t,hat ;1: and y may start executing. The t.hird smnmalld expresses t.hat, if both x and y have an opt.ion to terminat.e, their merge has this option too.

LEMMA 3.1. Forx,y,ZET(E pA ,) andaEAU{8}

1.xIlE=x

2. xlly= Yllx 3. (xlly)llz = xll(yllz) 4. alLx=ax

Proof. See (BW90). • We can use this lemma to derive the following exam­

ple.

all(b+E) = all (b + E) + (b + E)lL a + J(a)J(b + E) = arb + c) + blL a + Ell a + 6(6 + E) = a(b+E)+ba+6+6= a(b+E)+ba

4. A PROCESS ALGEBRA FOR BASIC MESSAGE SEQUENCE CHARTS

In t.his sect.ion we will extend the process algebra PAc to a process algebra P ABM se. We do this by specifying t.he set of at.omic actions A and by introducing the aux­iliary operator AM.

4.1. Specifying the atonlic actions

In dealing with Basic Message Sequence Charts we encount.er a number of significantly different atomic actions. These are, wit.h their representations in PABMse:

1. the execution of an action aid by instance i: aCl.ion( i, aid)

2. t.he sending of a message m by instance s to instance r: out(S,1',1U)

3. the sending of a message m by instance s to the environment: ou.t(s, env, m)

4. the receiving of a message m by instance r from in­st.ance s: in(s,1',m.)

5. the receiving of a message m by instance r from the environment.; in(env, 1', m)

In Table 3 the sets of atomic actions are given. We use II D for .c«iid», AID for .c«aid» and MID for .c«rnid».

Aa = {action(i,aid) liE IID,aid E AID} Aa = {o1l1(s,r,m)ls,rEIID,mEMID} A; {in(s,7',m)ls,rEIID,mEMID} A, {out(s,env,m) Is E IID,m E MID}

U{in(env,r,m) IrE IID,m E MID} A An U Aa U A; U A,

TABLE 3. The at.omicactionsof PABMSC

Page 7: Eindhoven University of Technology Department of Mathematics and

AN ALGEBRAIC SEMANTICS OF BASIC MESSAGE SEQUENCE CHARTS 5

4.2. The state operator >'M A Basic Message Sequence Chart specifies a (finite) number of instances that communicate by sending and receiving messages. A message is divided into two parts: a message output and a message input. The correspon­dence between message outputs and message inputs has to be defined uniquely by message name iclent,ification.

A message input may not be executed before the COI'­

responding message output has been executed. \Ve in­troduce an operator AM that enables only those exe­cution paths that respect the above constraint. The operator AM is an instance of the state operator as call be found in (BW90). This operator remembers all mes­sage outputs that have been executed in a set /\1 and only allows a message input if its corresponding mcssage output is in that set.

For all M <;; A o, X,y E V, a E A, i,j E C«iid», and mE £«mid», we define the st.ate operat.or AM in Table 4.

AM (c) c AM(c) = 6 AM(6) 6 AM(a. x) a· AM(X) AM(Out(i,j,m) ·x) =

out(i,j, m). AMU{ou'('.i.m)j(x) AM(in(i,j,m) .x) =

in(i,j, m). AM\{ou'(i';.m)} (x) AM(in(i,j,m). x) = 6 AM(X + y) = AM(X) + A,,(1/)

if Ai - 0 if M -# 0

if a '¢ Au U Ai

if out(i,j, 111) E M if out(i, j, m) '¢ M

TABLE 4. Axioms for t.he stat.e operat.or AM

Note that the state operator AM can be eliminated from every closed PABMBe term, This lJ1eans t.hat we have not introduced new processes. Furthermore we have not introduced new identities between existing processes, thus P ABM Be is a conservative ext.ension of PA,.

5. THE SEMANTICS OF BASIC MESSAGE SEQUENCE CHARTS

5.1. Introduction

In this section we will define a semant,ic fUIlct.ion 5 that associates to every Basic Message Sequence Chart in textual format a closed P ABM se t.erm. An example of this const.ruction is given in subsection 5.3. Before we give the definition of this semant.ic function we need t.o explain some auxiliary functions. The powerset of a set S is denoted by IP( S).

The function

Instances; C«msc» ~ IP(C«inst def»)

that associates to a Basic Message Sequence Cha.rt t.he

set containing all instance definitions of the instances defined in the chart, is defined by

Instances(mse <mseid>j <mse body> endmse;) Instancesbody«mse body»

where the function

[ustanceS'ody ; C«msc body» -> IP(C«inst det»)

is defined by

I nstanceS'ody ( <» = 0 I nstanceSbody «inst def> <mse body» =

{<inst det>} U InstanceS'ody «mse body»

Next we define the following two functions

Name; C«inst def» -> C«iid» Body; C( <inst det» -> C( <inst body»

These funct,ions associate to an instance definition its na.me and body.

N a.me( instance <iid>; <inst body> endinstance;)

Body( instance <iid>; <inst bOdy> endinstanee;)

5.2. The senlalltic function

<iid>

<inst body>

The general idea is that the semantics of a Basic Mes­sa.ge Sequence Chart is the free merge of the seman­t.ics of it.s constituent instances. By this construction we enable all interleavings of t.he message outputs and message inputs. However, a message input can only be performed after its corresponding message output. In order t,o rule out all interleavings where a message out.put is preceded by the corresponding message input we use the state operator AM, We define the function S : .c«msc» -> T(EpABMSC) by

S[mscl = A0 (II idef E/n,tan",(m,,) S.n,,[idefl)

The semant.ic function Sin$t : £( <inst def» ---j.

T("E.p A BMse) is defined to express the semantics of one inst.ance ill scparation. In the textual representation of an inst.ance t.he at,omic actions are specified in the or­der t.hey are t.o be executed, thus the semantics of an inst.ance definit,ion is the sequential composition of its actions.

S;",[idef] = S':,~;'(idef ) [Body(idef )]

where for i E C( <iid» the function

Siody ; £«inst body» -> T(EpABMSC)

is defined by

S!.ody[<>] = €

S~ody[<event><inst body>] = S~vmt[<event>]. Stody[<inst body>]

Page 8: Eindhoven University of Technology Department of Mathematics and

6 S. MAUW AND M. A. RENIERS

and for every i E £( <Ed» the fllnction

S!vent : C«event» ........ T(:EPABMSC)

is defined by

~vent[in <mid> from <iid>;] = in«iid>, i, <mid»

S!vent[in <mid> from anv j] = inC env, i, <mid» S!vent[out <mid> to <iid>;] =

out ( i, <iid>, <mid» S!vent[out <mid> to env;] = out(i,env,<mid» S!vent[action <aid>;] = act£on(i,<aid»

Note that application of the st,ate opera.tor gives the possibility that the semantics of a Basic Message Se­quence Chart contains a deadlock. This can be int,er­preted as the fact that every execution trace cont.ains an input before the corresponding out.put.

5.3. An example

We consider the Basic Message Sequence Chart from Figure 3. It consists of three inst.ances which exchange two messages.

msc exam ple3

-FIGURE 3. Example Basic Message Sequence Chart

msc example3; instance a;

out k to b; out 1 to c;

endinstance) instance b;

in k from a; endinstance; instance c;

in 1 from a; endinstance;

endmsc;

The interpretat.ion of this Basic Mess~.ge Sequence Chart is that along inst.ance a. the ordering of t.he Olltput, of messages k and I is fixed and furt.hermore t,hat. t.he output of message k comes before the input. of message /..~ and, likewise, that the out.put, of message I comes before the input of message l. These are t.he only rest.rictions that apply.

When using t.he textual synta.x, the Basic .Message Sequence Chart. is represented by describing t.he behav­ior of every instance in separation. After applying t.he semantic function Sin$t to these inst.ances we obt.ain

5;",,[0] = out(a, b, k)· out(a,c, i) 5;"" [b] = in( a, b, k) 5;",,[c] = in(o, c, i)

The first st.ep in deriving the expression which we aim at is putting the instances a, band C in parallel.

After some calculations, we arrive at the following nor­malized expression.

olll(a, b, k) .(in(a, b, k)· (out(a, c, i). in(a, c, i) +in(a,c,l)· out(a,c,i) )

+oul(a, c, i).(in(a, b, k). in(a, c, i) +in(a, c, i) . in(a, b, k) )

+in( a, c, i) . (in( a, b, k) . out( a, c, i) +out(a, c, i). in(a, b, k) )

) +in(a, b, k) . (olll(a, b, k)· (in(a, c, i). out(a, c, i)

+out(a, c, i) . in(a, c, i) )

+in(a, c, i)· out(a, b, k). out(a, c, i) )

+io(o, c, i)· (0111(0, b, k)· (io(a, b, k). out(a, c, i) +out(a, c, i). in(a, b, k) )

+in(a, b, k)· out(a, b, k). out(a, c, i) )

This expression clearly shows execution traces which are not. desirable, such as in(a, b, k) . out(a, b, k) . in{a, c,l). out{a, c,/). These traces can be removed by applying the state operator A0 to this expression. This results in

0111(0, b, k).(in(a, b, k). out(a, c, i). in(a, c, i) +01l1(a, c, i). (in(a, b, k)· in(a, c, l)

+in(a, c, l). in(a, b, k) )

6. STRUCTURAL OPERATIONAL SEMAN· TICS

In t,his section we define a structural operational se­mant,icB of Basic Message Sequence Charts in the style of Plot.kin (Plo83). For this purpose we define action rela.tions on closed P ABM Be terms. Then we give a gra.ph model for the theory P ABM se.

6.1. Action relations for PABMSC

On the set of PABMSC terms we define a predicate!~ T{EpABMSC) and binary relations ~ ~ T{EpABMSC) X

T{EpABMSC) for every a. E A. These predicates are de~

Page 9: Eindhoven University of Technology Department of Mathematics and

AN ALGEBRAIC SEMANTICS OF BASIC MESSAGE SEQUENCE CHARTS 7

fined by means of inference rules, which have the fol­lowing form.

PI,··· ,Pn q

This expression means that for every inst.ant.iation of variables in PI, .. "Po, q we can conclude q from PI J ••• 1 Po· If q is a tautology, we omit PI, ... , Pn and the horizontal bar.

The intuitive idea of the predicate L is as follows: It denotes that t has an option to terminate immediat.ely, i.e. € is a summand of t. For X, y E T(EpABMEC)' and M <;; Ao, the predicate L is defined in Table 5.

xL yJ (x + y) L

xL y L (x· y) L (x+1I)L

xL (v(x)) L

xL 1IL (x II 11) L

xL

TABLE 5. The predicat.e 1

The intuitive idea of the binary operator a is as follows: t ~ s denotes that the process t. can exeell j,e the atomic action a and after this execut.ion step t.he resulting process is s. For X, x' J y, y' E T(EpABMSC)' a E A, M <;; Ao, i,j E .c«iid», and mE .c«mid», the binary relations ~ are defined in Table 6.

We will illustrate the use of these action relat.ions with an example. Consider the following expression.

A0(out(a, b, k) II inCa, b, k))

out(a,b,k) We have out(a, b, k) --+ [, so we can derive

. out(a,b,k). out(a, b, k) II mea, b, k) -+ 0 II "'(0, b, k). Frolll this we can conclude

,10 (out( a, b, k) II inC a, b, k )("~b,k) A{ou,(a,b,k)}(o II inCa, b, k))

N h · ( b k)in(o,b,k) d ext we ave In a, " --+ c, an

011 inCa, b, kt(~,k)o II [. Thus we have

we can derive

In order to see that this expression has t.he possibilit.y to terminate, we derive 6 L and thus (0 II 0) I, so

Finally we conclude t.hat the given process ,10 (out(a, b, k) II iura, b, k)) can first execute ou/.(a, b, k), then execute in(a,b,k) and finally terminate. Note t.hat. this is the only execution sequence t.hat can be derived from the inference rules.

6.2. Graph model for PABMSC

We will present a model for the theory PABMSC . This model is a graph model, a set of process graphs modulo bisimulation, that provides a visualization of the action relations from the previous subsection.

A process graph is a finite acyclic graph in which the edges are labeled with an atomic action, and in which every node may have a label L. This label L indicates whet,her or not the state represented by the node has an option to terminat.e immediately. In every process graph there is one special node, the root node.

Two process graphs will be identified if they are bisimilar. Two graphs are bisimilar if there is a bisim­ulat.ion which relates the root nodes. A bisimulation is a. binary relation R, satisfying:

• if R(p, q) and P~P', then there is a q' such that q~q' and R(p', q')

• if R(p, q) and q~q/, then there is a pi such that p~pl and R(r!, q')

• if R(p,q) then pL if and only ifqL.

THEOREM 6.1. Bisimulation lS a congruence for the signature of PABMse .

Proof. The action rules fit into the syntactical for­mat t.hat is called the path format. As a consequence bisimulation is a congruence for the function symbols for which the adion rules are defined. We refer to (DY93, GY92) for both the syntactical format and the congruence theorem. •

Every operat.or in t.he signature of PABMse can be interpreted in t.he graph model. Without proof we sl,ate t.hat P ABM se is a complete axiomatization of the gmph model.

To every closed process expression we can associate a process graph llsing the action relations for PABMse.

We will give the process graph for the example of the semantics in Figure 4.

in(a,b,k)

oUI(a,c,l)

oUI(a,b,k)

oUI(a,c,l)

in(a,c,l)

in(a,c,l)

~'k) « FIGURE 4. Process graph

Page 10: Eindhoven University of Technology Department of Mathematics and

8 s. MAUW AND M. A. RENIERS

a a _ [

x ~ x'

x+y ~ X,

x ~ Xl

agAoUAi , x ~ X'

AM(X) ~ AM (x')

lJ ~ y'

X+y ~ y'

y ~ y'

xlly ~ xiiv'

Qut(i,j,m) X ---+ X'

a X -

a x·y -

a X -

xliy a -

( x')

X' xl, y a y' -

X, .y

X,

X, liy

out(i,j,m)EM

a y' x·y -in(i,j,m)

,x - X'

(x')

TABLE 6. The act.ion relations ~

7. A CHARACTERIZATION THEOREM

In this section we will relate our semantics for instance oriented Message Sequence Charts to the event oriented semantics from (dM93, MvWW93). To this end we will show that a Basic Message Sequence Chart can be rep­resented by a single trace.

First we will define three funct.ions and a predicate on processes. These arc the alphabet. function 0', which determines the atomic act.ions involved in a process, t.he function £[ (for I ~ A) which rellames t.he atomic ac­tions that arc in the set I into £ and the function i.7' which determines the collection of complet,ed traces of a process. The predicate df det.ermines whet.her a pro­cess is free of deadlocks. For x and 11 arbit.rary processes and a E A, we give the axioms for those functions in Table 7. Note that the predicate J: # 8 can be defined easily.

a(o) - 0 a(8) = 0 a(a·x) = {a}Ua(x) a(x + y) - a(x) U a(y) -

fI(") = f "I(8) = 8 [I(a ·x) = a· "I(X) if a ~ I "I(a· x) = "I (x) if a E I "I(X + y) = "I (X) + [I(Y) tr([) _ {o} tr(8) = {8} tr(a.x) = {a.tltEt,·(x)} tr(x+y) = tr(x)Utl'(Y) if x # 8 II Y # 8 df(f) ,df(8) df(a. x) = df(x) df(x + y) = df(x) II df(y) ifJ, # 6 II !I # 8

TABLE 7. Axioms for a, q, tr, and dJ

First observe the following general properties.

LF;MMA 7.1. Forx,y E T(I;PABMSC)' M ~ Ao and leA

1. df(y) II a(y) ~ I ~ [I(X II y) "I(X) 2. a(x)nI=0 ~ [I(X)=X 3. V'E'e(x) [I(t) E tr("I(x)) 4. df(>",(x)) ~ tr(AM(x)) ~ tr(x)

Proof. For 2, 3 and 4 we use induction on the struc­t.lIre e, a . x, x + y, whereas for 1 we use induction on the structure €, EkEK ak . Xk, :Ek€K ak . Xk + e. •

LEMMA 7.2. For i E £«inst def»

tr(S;n,,[i]) = {S;n,,[i]}

Proof. This follows immediately from the construc-tion of the semantic function. •

In t.he following lemmas and theorems we will use, for i E £( <inst def», a( i) as an abbreviation of t:t(S;" .• ,[i]) and Inst for Instances(msc) where msc is clear frol11 the context. First we consider traces from l!jEJn.dSin.~t[j] which do not meet the restriction on t.he order of inputs and corresponding outputs. Using such a trace we can reconstruct the behavior of every single instance and, therefore, we can reconstruct the complete Basic Message Sequence Chart as described in Theorem 7.4. Theorem 7.5 states that this also holds for the rest.ricted t.races from S[msc]. So a Basic Message Sequence Chart can be represented either by a collec­tion of inst.ances (the instance oriented approach) or by a single trace (the event. oriented approach).

LEMMA 7.3. For msc E £«msc» and i E Inst

V'E'e( II. S <OJ) CA\a(i)(t) = Sin,,[i] JEln.t ",.IU

Proof. Let t E tr (1IiEln" Sin,,[j]). Then by applying Lemma 7.1.3 we have: CA\a(i)(t) E

I,. ([A\au) (1IiEfn" Sin,,[jD)). We calculate

Page 11: Eindhoven University of Technology Department of Mathematics and

AN ALGEBRAIC SEMANTICS OF BASIC MESSAGE SEQUENCE CHARTS 9

''Ala(') (II jEin,' Sin,,[j]) { Lemma 7.1.1 } cA \n(;) (S'n,' [i]) { Lemma 7.1.2 } S'n,,[i]

So, from Lemma 7.2, we may conclude t.hat. CA\n(i)(I) = S,."[i]. •

THEOREM 7.4. For msc E C«msc»

If'E'r( II iEl .. ,s,.,,[il) S[msc] = "0 (II iEbu' CA\a(;)(I))

Proof This follows from Lemma 7.3 and t.he defini-tion of the semantic function S. •

THEOREM 7.5. For msc E C«msc» such thai df(S[msc])

If'E'r(S[mu]) S[msc] = "0 (II ;0", [A\n(i)(I))

Proof This theorem follows immediately from Lemma 7.1.4 and Theorem 7.4. •

Theorem 7.5 expresses that, in principle, one could choose an event oriented textual representation for Ba­sic Message Sequence Charts. The Basic l\:fessage Se­quence Chart. from Figure 3 may look like

mse example3; out k from a to bi

out 1 from a to c; in 1 from a to c; in k from a to b;

endmsc;

8. CONCLUSION

The definition of a formal semantics of Basic Message Sequence Charts based on process algebra as present.ed in this paper has turned out to be a very natural and successful met.hod. We used the instance oriented syn­t.ax to derive a compositional semantics and indicated that. this yields a semantics which is equivalent t.o the approach based on sequencing for an event oriellt.ed syn­t.ax (dM93, MvWW93).

The development. of the semantics for the complete Message Sequence Charts language follows the senne line, applying more elaborate const.ructs from process algebra for features such as sub Message Sequence Charts and process creation.

The algebraic approach towards the definition of the formal semantics of Message Sequence Charts enables the use of term-rewriting systems for t,he rapid proto­typing of specifications (MW93).

Acknowledgelnents

We would like to thank Jos Baet,en, Jan Hergst.ra, Ekkart Rudolph and Chris Verhoef for their useful COIll­

ments and suggest.ions for improvements.

REFERENCES

BK84: J.A. Bergstra and J.W. Klop. Process algebra for synchronous communication. Information fj Control, 60:109-137, 1984.

BV93: J.C.M. Baeten and C. Verhoef. A congruence the­orem for structured operational semantics with predi­cates. In E. Best, editor, CONCUR'93, Lecture Notes in Computer Science 715, 1993.

BW90: J.C.M. Baeten and W.P. Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18. Cambridge University Press, 1990.

CCI88: CCITT. CCITT Recommendation Z.100: Speci­fication arId Description Language (SDL). CCITT, Geneva, 1988.

CCI92: CCITT. CCITT Recommendation Z.120: Message Sequence Chart (MSC). CCrTT, Geneva, 1992.

dM93: J. de Man. Towards a formal semantics of Message Sequence Charts. In O. Frergemand and A. Sarma, ed­it.ors, SDL '93 Using Objects, Proceedings of the Sixth SDL Fornm, Darmstadt, 1993. Elsevier Science Pub­lishers B. V.

GGR,93: J. Grabowski, P. Graubmann, and E. Rudolph. Towards a pet.ri net based semantics definition for Mes­sage Sequence Charts. In O. Frergemand and A. Sarma, edit.ors, SDL'93 Using Objects, Proceedings of the Sixth SDL Forum, Darmstadt, 1993. Elsevier Science Pub­lishers B. V.

GV92: J.F. Groote and F.W. Vaandrager. Structured op­erat.ional semantics and bisimulation as a congruence. InJonnalioll and Computation, 100:202-260, 1992.

I-Ioa.85: C.A.R. Hoare. Communicating Sequential Pro-cesses. Prentice-Hall, 1985.

LL94: P.B. Ladkin and S. Leue. What do Message Sequence

Chart.s mean? In R.L. Tenney, P.D. Amer, and M. U yar, editors, Formal Description Techniques, VI, IFIP Transact.ions C, Proceedings of the Sixth International Conference on Formal Description Techniques. North­Holland, 1994.

Mi180: R. Milner. A Calculus of Communicating Systems. Lect.lIre Notes in Computer Science 92. Springer-Verlag, 1980.

MvvV\V!J3: S. Manw, M. vall Wijk, and T. Winter. A formal semantics of synchronous Interworkings. In O. F~rgema.nd and A. Sarma, editors, SDL '93 Using Objects, Proceedings of the Sixth SDL Forum, Darm­st.adt, 1993, Elsevier Science Publishers B.V.

~.JW93: S. Manw and T. Winter. A prototype toolset for Interworkings. Philips Telecommunication Review, 51(3):41-45, December 1993.

P1083: G.D. Plotkin. An operational semantics for CSP. In Proceedings of the Conference on the Formal Descrip­tion oj Prog"omming Concepts, volume 2, Garmisch, 1983.

Page 12: Eindhoven University of Technology Department of Mathematics and

Computing Science Notes

In this series appeared:

91/01 D. Alstein

91/02 R.P. Nederpelt H.C.M. de Swart

91/03 J.P. Katoen L.A.M. Schoenmakers

91/04 E. v.d. Sluis A.F. v.d. Stappen

91/05 D. de Reus

91/06 K.M. van Hee

91/07 E.Poll

91/08 H. Schepers

91/09 W.M.P.v.d.Aalst

91/10 R.C.Backhouse PJ. de Bruin P. Hoogendijk G. Malcolm E. Voermans J. v.d. Woude

91111 R.C. Backhouse PJ. de Bruin G.Malcolm E.Voermans J. van der Woude

91/12 E. van der Sluis

91/13 F. Rietman

91/14 P. Lemmens

91/15 A.T.M. Aerts K.M. van Hee

91116 A.J.J.M. Marcelis

Department of Mathematics and Computing Science Eindhoven University of Technology

Dynamic Reconfiguration in Distributed Hard Real-Time Systems, p. 14.

Implication. A survey of the different logical analyses "if...,then ... ", p. 26.

Parallel Programs for the Recognition of P-invariant Segments, p. 16.

Performance Analysis of VLSI Programs, p. 31.

An Implementation Model for GOOD, p. 18.

SPECIFICATIEMETHODEN, een overl.icht, p. 20.

CPO-models for second order lambda calculus with recursive types and subtyping, p. 49.

Terminology and Paradigms for Fault Tolerance, p. 25.

Interval Timed Petri Nets and their analysis, p.53.

POL YNOMIAL RELATORS, p. 52.

Relational Catamorphism, p. 31.

A parallel local search algorithm for the travelling salesman problem, p. 12.

A note on Extensionality, p. 21.

The PDB Hypennedia Package. Why and how it was built, p. 63.

Eldorado: Architecture of a Functional Database Management System, p. 19.

An example of proving attribute grammars correct: the representation of arithmetical expressions by DAGs, p. 25.

Page 13: Eindhoven University of Technology Department of Mathematics and

91/17 A.T.M. Aerts P.M.E. de Bra K.M. van Hee

91/18 Rik van Geldrop

91/19 Erik Poll

91/20 A.E. Eiben R.V. Schuwer

91/21 J. Coenen W.-P. de Roever J.Zwiers

91/22 G. Wolf

91/23 K.M. van Hec L.J. Somers M. Voorhoeve

91/24 A.T.M. Aerts D. de Reus

91/25 P. Zhou J. Hooman R. Kuiper

91/26 P. de Bra G.J. Houben J. Paredaens

91/27 F. de Boer C. Palamidessi

91/28 F. de Boer

91/29 H. Ten Eikelder R. van Gcldrop

91/30 J. c'M. Baeten F.W. Vaandrager

91/31 H. ten Eikelder

91/32 P. Struik

91/33 W. v.d. Aalst

91/34 J. Coenen

Transforming Functional Database Schemes to Relational Representations. p. 21.

Transformational Query Solving. p. 35.

Some categorical properties for a model for second order lambda calculus with subtyping. p. 21.

Knowledge Base Systems. a Formal Model. p. 21.

Asscrtional Data Reification proors: Survey and Perspective. p. 18.

Schedule Management: an Object Oriented Approach. p. 26.

Z and high level Petri nets. p. 16.

FOImal semantics ror BRM with examples. p. 25.

A compositional proof system ror real-time systems based on explicit clock temporal logic: soundness and complete ness. p. 52.

The GOOD based hypertext reference model. p. 12.

Embedding as a tool for language comparison: On the CSP hierarchy. p. 17.

A compositional proof system for dynamic proces creation, p. 24.

Correctness or Acceptor Schemes for Regular Languages. p. 31.

An Algebra for Process Creation, p. 29.

Some algorithms to decide the equivalence of recursive types. p. 26.

Techniques for designing eflicient parallel programs. p. 14.

The modelling and analysis or queueing systems with QNM-ExSpcct. p. 23.

Specifying fault tolerant programs in deontic logic. p. 15.

Page 14: Eindhoven University of Technology Department of Mathematics and

91/35 F.S. de Boer J.W. Klop C. Palamidessi

92/01 J. Coenen J. Zwiers W.-P. de Roever

92/02 J. Coenen J. Hooman

92/03 J.C.M. Baeten J.A. Bergstra

92/04 J.P.H.W.v.d.Eijnde

92/05 J.P.H. W. v.d.Eijnde

92/06 J.C.M. Baeten J.A. Bergstra

92/07 R.P. Nederpell

92/08 R.P. Nederpell F. Kamareddine

92/09 R.C. Baekhouse

92/10 P.M.P. Rambags

92/11 R.c. Backhouse J.S.C.P.v.d.Woude

92/12 F. Kamareddine

92/13 F. Kamareddinc

92/14 J.C.M. Baeten

92/15 F. Kamareddine

92/16 R.R. Seljee

92/17 W.M.P. van der Aalst

92/18 R.Nederpell F. Kamareddine

92/19 J.C.M.Baeten J.A.Bergstra S.A.Smolka

92/20 F. Kamarcddine

Asynchronous communication in process algebra, p. 20.

A note on compositional refinement, p. 27.

A compositional semantics for fault tolerant real-time systems, p. 18.

Real space process algebra, p. 42.

Program derivation in acyclic graphs and related problems, p. 90.

Conservative fixpoint functions on a graph, p. 25.

Discrete time process algebra, pAS.

The fine-structure of lambda calculus, p. II O.

On stepwise explicit substitution, p. 30.

Calculating the Warshall/FIoyd path algorithm, p. 14.

Composition and decomposition in a CPN model, p. 55.

Demonic operators and monOlype factors, p. 29.

Set theory and nominalisation, Part I, p.26.

Set theory and nominalisation, Part II, p.22.

The tOlal order assumption, p. 10.

A system at the cross-roads of functional and logic programming, p.36.

Integrity checking in deductive databases; an exposition, p.32.

Interval timed coloured Petri nets and their analysis, p. 20.

A unified approach to Type Theory through a refined lambda-calculus, p. 30.

Axiomatizing Probabilistic Processes: ACP with Generative Probabilities, p. 36.

Are Types for Natural Language? P. 32.

Page 15: Eindhoven University of Technology Department of Mathematics and

92/21 F.Kamareddine

92/22 R. Nederpell F.Kamareddine

92/23 F.Kamareddinc E.Klein

92/24 M.Codish D.Dams Eyal Yardcni

92/25 E.Poll

92/26 T.H.W.Beelen W.J.J.Stut P.A.C. Verkoulen

92/27 B. Watson G. Zwaan

93/01 R. van Gcldrop

93/02 T. Verhoeff

93/03 T. VerhoelT

93/04 E. H.L. Aarts J.H.M. Korst P.J. Zwietering

93/05 J.C.M. Baetcn C. Verhoef

93/06 J.P. Veltkamp

93/07 P.O. Moerland

93/08 J. Verhoosel

93/09 K.M. van Hee

93/10 K.M. van Hec

93/11 K.M. van Hee

93/12 K.M. van Hec

93/13 K.M. van Hee

Non well-foundedness and type freeness can unify the interpretation of functional application, p. 16.

A useful lambda notation, p. 17.

Nominalization, Predication and Type Containment, p. 40.

Bottum-up Abstract Interpretation of Logic Programs, p. 33.

A Programming Logic for Fro, p. 15.

A modelling method using MOVIE and SimCon/ExSpect, p. 15.

A taxonomy of keyword pattern matching algorithms, p. 50.

Deriving the Aho-Corasick algorithms: a easc study into the synergy of programming methods, p. 36.

A continuous version of the Prisoner's Dilemma, p. 17

Quicksort for linked lists, p. 8.

Deterministic and randomized local search, p. 78.

A congrucnce theorem for structured operational semantics with predicates, p. 18.

On the unavoidability of metastable behaviour, p. 29

Exercises in Multiprogramming, p. 97

A FOlmal Deterministic Scheduling Model for Hard Real­Time Executions in DEDOS, p. 32.

Systems Engineering: a Formal Approach Part I: System Concepts, p. 72.

Systems Engineering: a Formal Approach Part II: Frameworks, p. 44.

Systems Engineering: a Formal Approach Part III: Modeling Methods, p. 101.

Systems Engineering: a Formal Approach Part IV: Analysis Methods, p. 63.

Systems Engineering: a Formal Approach Part V: Specification Language, p. 89.

Page 16: Eindhoven University of Technology Department of Mathematics and

93/14 J.C.M. Baeten J.A. Bergstra

93/15 J.C.M. Baeten J.A. Bergstra R.N. Bol

93/16 H. Schepers J. Hooman

93/17 D. Alstein P. van der Stok

93/18 C. Verhoef

93/19 G-J. Houbcn

93/20 F.S. de Boer

93/21 M. Codish D. Dams G. File M. Bruynooghe

93/22 E. Poll

93/23 E. de Kogel

93/24 E. Poll and Paula Severi

93/25 H. Schepers and R. Gerth

93/26 W.M.P. van der Aalst

93/27 T. Kloks and D. Kratsch

93/28 F. Kamareddinc and R. Nederpclt

93/29 R. Post and P. De Bra

93/30 J. Dcogun T. Kloks D. Kratsch H. MulIer

93/31 W. Korver

93/32 H. ten Eikelder and H. van Geldrop

On Sequential Composition, Action Prefixes and Process Prefix, p. 21.

A Real-Time Process Logic, p. 31.

A Trace-Based Compositional Proof Theory for Fault Tolerant Distributed Systems, p. 27

Hard Real-Time Reliable Multicast in the DEDOS system, p. 19.

A congruence theorem for structured operationaJ semantics with predicates and negative premises, p. 22.

The Design of '10 Online Help Facility for ExSpect, p.21.

A Process Algebra of Concurrent Constraint Program­ming, p. 15.

Freeness Analysis for Logic Programs - And Correct­ness?, p. 24.

A Typechecker for Bijective Pure Type Systems, p. 28.

Relational Algebra and Equational Proofs, p. 23.

Pure Type Systems with Definitions, p. 38.

A Compositional Proof Theory for Fault Tolerant Real­Time Distributed Systems, p. 31.

Multi-dimensional Petri nets, p. 25.

Finding all minimal separators of a graph, p. I I.

A Semantics for a fine A-calculus with de Bruijn indices, p. 49.

GOLD, a Graph Oriented Language for Databases, p. 42.

On Vertex Ranking for Pennutation and Other Graphs, p. II.

Derivation of delay insensitive and speed independent CMOS circuits, using directed commands and production rule sets, p. 40.

On the Correctness of some Algorithms to generate Finite Automata f()f Regular Expressions, p. 17.

Page 17: Eindhoven University of Technology Department of Mathematics and

93/33

93/34

93/35

93/36

93/37

93/38

93/39

93/40

93/41

L. Loyens and 1. Moonen

1.C.M. Baeten and 1.A. Bergstra

W. Ferrer and P. Severi

1.C.M. Baeten and 1.A. Bergstra

1. Brunekreef 1-P. Katoen R. Koymans S. Mauw

C. Verhoef

W.P.M. Nuijten E.H.L. Aarts D.A.A. van Erp Taalman Kip K.M. van Hee

P. D. V. van der Stok M.M.M.P.1. Claessen D. Alstein

A. Bijlsma

93/42 P.M.P. Rambags

93/43 B.W. Watson

93/44 B.W. Watson

93/45 E.1. Luit 1.M.M. Martin

93/46 T. Kloks D. KraLSch 1. Spinrad

93/47 W. v.d. Aalst P. De Bra G.l. Houben Y. Komatzky

93/48 R. Gerth

ILlAS, a sequential language for parallel matrix computations, p. 20.

Real Time Process Algebra with Infinitesimals, p.39.

Abstract Reduction and Topology, p. 28.

Non Interleaving Process Algebra, p. 17.

Design and Analysis of Dynamic Leader Election Protocols in Broadcast Networks, p. 73.

A general conservative extension theorem in process algebra, p. 17.

Job Shop Scheduling by Constraint Satisfaction, p. 22.

A Hierarchical Membership Protocol for Synchronous Distributed Systems, p. 43.

Temporal operators viewed as predicate transformers, p. 1 I.

Automatic Verification of Regular Protocols in PIT NeLS, p. 23.

A taxomomy of finite automata construction algorithms, p. 87.

A taxonomy of finite automata minimization algorithms, p.23.

A precise clock synchronization protocol,p.

Trcewidth and Patwidth of Cocomparability graphs of Bounded Dimension, p. 14.

Browsing Semantics in the "Tower" Model, p. 19.

Verifying Sequentially Consistent Memory using Interface Relincment, p. 20.

Page 18: Eindhoven University of Technology Department of Mathematics and

94/01 P. America M. van dcr Kammen R.P. Nederpelt O.S. van Roosmalen H.C.M. de Swart

94/02 F. Kamareddine R.P. Nederpelt

94/03 L.B. Hartman K.M. van Hee

94/04 J.C.M. Baeten J.A. Bergstra

94/05 P. Zhou J. Hooman

94/06 T. Basten T. Kunz J. Black M. Coffin D. Taylor

94/07 K.R. Apt R. Bol

94/08 O.S. van Roosmalcn

94/09 J.C.M. Bactcn J.A. Bergstra

94/10 T. verhoefI'

94/11 J. Peleska C. Huizing C. Petersohn

94/12 T. Kloks D. Kratsch H. Miiller

94/13 R. Seljee

94/14 W. Peremans

94/15 RJ .M. Vaessens E. H.L. Aarts J.K. Lenstra

94/16 R.C. Backhousc H. Doornbos

The objcct-oriented paradigm, p. 28.

Canonical typing and O-conversion, p. 51.

Application of Marcov Decision Processe to Search Problems, p. 21.

Graph Isomorphism Models for Non Interleaving Process Algebra, p. 18.

Formal Specification and Compositional Verification of an Atomic Broadcast Protocol, p. 22.

Time and the Order of Ahstract Events in Distributed Computations, p. 29.

Logic Programming and Negation: A Survey, p. 62.

A Hierarchical Diagrammatic Representation of Class Structure, p. 22.

Process Algebra with Partial Choice, p. 16.

The testing Paradigm Applied to Network Structure. p. 31.

A Comparison of Ward & Mellor's Transformation Schema with State- & Activitycharts, p. 30.

Dominoes, p. 14.

A New Method for Integrity Constraint checking in Deductivc Databases, p. 34.

Ups and Downs of Type Theory, p. 9.

Job Shop Scheduling by Local Search, p. 21.

Mathematical Induction Made Calculational, p. 36.