A distributed ealgebra Aconsists of the following:
An element a is an agent at S if there is a
module name  such that 
S 
 Mod(a) = 
 
; the
corresponding 
 is the program
Prog(a)
 of 
a , and 
Fun(
)
 
is the vocabulary Fun(a)
 of a .
Agent a is deterministic if 
Prog(a)
 is so.
is the reduct of S to vocabulary Fun(a) - {Self}
 expanded
with Self, which is interpreted as a .  Think about 
 as the
local state of agent a corresponding to the global state
S .  (It 
is not necessary to define local states via global states; see [GM] for
example.)
An agent a can make a move at S by firing
Prog(a)
 at
 and changing S accordingly.  As a part of the move, a may
create new agents, e.g., by importing reserve elements.
To perform a move of a deterministic agent a , fire
Updates(a,S) = Updates(Prog(a), ). 
 Runs of a distributed ealgebra are defined below.