Information Technology Reference
In-Depth Information
We take fv ( M ), fv ( patt ( x ϕ )), fv ( IM ) to be the set of variables appeared
free in M , patt ( x ϕ ), IM . The free variables of process terms are defined as
follows:
fv ( out ( newxM ) .P )=( fv ( P )
fv ( M ))
\{
x
}
fv ( in ( patt ( x ϕ )) .P )=( fv ( P )
fv ( patt ( x ϕ )))
\{
x, ϕ
}
fv ( P
|
Q )= fv ( P )
fv ( Q )
fv ( Id [ P, IM ]) = fv ( P )
fv ( IM )
fv ( A
|
B )= fv ( A )
fv ( B )
2.3 A Transition Semantics
The semantics of the GSPM is given in terms of a transition relation
.
Similar to the approach in [3], we model the state of the protocol system as
apair
−→
,where s records the current environment's message base
EM (Because the environment has 'seen' the sequence of messages traveling on
the network up to the moment), and System is the protocol agent composed
of some agents. An action is a term of the form Id [ in ( M )](input action) or
Id [ out ( M )](output action), which means a participant Id inputs or outputs a
message M . The set of actions
s, System
A
A
is ranged over by α, β,
···
, while the set
of strings of actions is ranged over by s, s ,
···
. String concatenation operator is
written as '
'. We denote by act ( s )and msg ( s ) the set of actions and messages,
respectively, appearing in s .Astring s is closed if fv ( s ) is nil. In what follows,
we write s
·
EM 0 ).
We now define paths, sequences of actions that may result from the inter-
action between an agent and its environment. In paths, each message received
by a agent can be synthesized from the knowledge the environment has previ-
ously acquired. A path is a closed string s
M for EM
M ( EM = msg ( s )
) such that for each s 1 ,s 2 and
(
A
Id [ in ( M )], if s = s 1 ·
Id [ in ( M )]
·
s 2 ,then s 1
M .
, is a pair consisting of a path s and
a system . Configurations are ranged over by C, C ,
A configuration, written as
s, system
,and C 0 stands for the
initial configuration. The transition relation on configuration is defined by the
following rules:
···
patt ( n M )
EM
(input)
in ( patt ( n M ))
−→
s, Id [ in ( patt ( x ϕ )) .P, IM ]
Id [ in ( patt ( n M ))] ,Id [ P [ n/x,
M/ϕ ] ,IM
patt ( n M )]
s
·
IM
M [ n/x ]
( n are fresh in s )
(output)
out ( M [ n/x ])
−→
s, Id [ out ( newxM ) .P, IM ]
s
·
Id [ out ( M [ n/x ])] ,Id [ P [ n/x ] ,IM
n ]
α
−→
s ,Id [ P ,IM ]
s, Id [ P, IM ]
(internal par)
α
−→
s ,Id [ P |
Q, IM ]
s, Id [ P
|
Q, IM ]
Search WWH ::




Custom Search