Toward Domain-Independent
Formalization of Indirect
Interaction
Dina Goldin, David Keil
University of Connecticut
TAPOCS 2004
Modena, Italy, June 2004
1
Open Systems:
Hierarchy of Openness
• Closed systems
– all input predetermined at start of computation
– Wegner’s algorithmic computation [CACM’97]
– example: Turing Machine
• Sequential systems
–
–
–
–
an agent/process interacts with environment
open to new inputs in the middle of computation
channels of computation predetermined at start
example: an automatic car
• Multiagent systems
–
–
–
–
multiple agents/processes interact with each other and environment
agents/processes can joint and leave in the middle of computation
neither input nor channels of computation predeterminded at start
example: swarm computing (stigmergy)
2
What is Interaction
INTERACTION: an exchange of data among computational entities
(agents, processes) such that the output of one entity may causally
influence the later behavior of another.
• Not exactly the same as “communication” (concurrency
theory)
• Interaction is part of computation
– Wegner: interactive vs. algorithmic computation
– concurrency theory views communication as orthogonal to
computation
• 2 types of interaction
– direct: as in concurrency theory
– indirect
3
Direct & Indirect Interaction
DIRECT INTERACTION: interaction via message passing.
• ID of destination agent specified in the message.
• “Communication”, formalized as part of concurrency theory.
• However, agents can affect each other without inter-acting
directly, when one of them makes changes to their environment
that the other later observes.
INDIRECT INTERACTION: interaction via persistent,
observable changes to the common environment.
• First identified as a distinct form of interaction in [TAPOCS03].
4
Outline
• Direct and indirect interaction
• Examples of indirect interaction
– Role of the environment
– Dining Philosophers
– Foraging Ants
• Properties of indirect interaction
– Illustrated with examples
• Ubiquity of indirect interaction
• Formalization of indirect interaction
5
Role of the Environment
INDIRECT INTERACTION: interaction via persistent,
observable changes to the common environment.
• The environment is the medium of communication.
• It must be changeable and observable: when one
agent changes it, another can observe the change.
• It must be persistent: change to it remain, so they
can be observed later.
• It may posess locality: given an agent, parts of the
environment are accessible to it while others are not
(may be different parts for actuating & sensing).
May be very simple (Dining Philosophers example)
or complex (foraging ants example)
6
Dining Philosophers
• Classic problem in concurrency and
shared resources.
• Philosophers sit around a circular table,
with chopsticks between them.
• They autonomously decide when to eat;
can eat when both chopsticks available;
once full, they stop eating and put down
chopsticks, until hungry again.
• Starvation: all philosophers pick up one
chopstick and wait to pick up the other.
• Goal: let the philosophers carry on while
avoiding starvation.
• Abstractly: define a protocol for a ringshaped arrangement of processes
(philosophers) where no two adjacent
processes may execute simultaneously.
• Mobile version: philosophers may leave
table when sleepy, or join at empty place
when ready to eat and think.
• Analogue version: chopsticks may be
too dirty to use, have waiter replace them.
Indirect Interaction:
philosophers interact with neighbors
(persistent observable change to
environment = picking up and
putting down chopsticks).
Direct Interaction:
philosophers interact with chopsticks
(modeled as simple processes).
7
Foraging Ants
• Classic problem in artificial life
and stigmergy.
• Ants wander randomly looking for
sources of food.
• If they find food, they leave
behind a phermone trail (or
reinforce existing one).
• Or, if they find a phermone trail,
they follow it in search of food.
• An example of decentralized
coordination.
Indirect Interaction:
ants interact with each other
(persistent observable change to
environment = phermone trails).
Direct Interaction:
?
8
Properties of Indirect Interaction
• Late binding of recipient
Identity of the observer of given state
changes may be determined by dynamic
events occurring after the change is made.
• Anonymity
Recipient’s identity need not be known to
the originator of the state change (whether
bound dynamically or statically).
• Asynchrony (time decoupling)
There may be a delay between the change
and its observation, whose duration may
be determined by dynamic events.
• Space decoupling
Indirect interaction need not imply colocation (for mobile agents); first agent may
leave after making changes, second
arriving later.
• Localization
Agents may be restricted to make/
observe changes in only a part of the
shared space (that is local to them).
• Non-intentionality
Intent to communicate is not
required, nor awareness that
communication is occurring; agents
may simply be doing their own task.
• Hybrid nature
The real world may serve as the
medium of indirect interaction; the
system will be hybrid rather than fully
digital.
The two examples will illustrate the
properties of indirect interaction,
contrasting them with
those for direct interaction.
9
Late Binding of Recipient
Identity of the observer of given state changes may be determined
by dynamic events occurring after the change is made.
Mobile Dining Philosophers:
the chopstick X puts down will be picked up either by X or by whoever happens to be sitting next to X at the time they get hungry.
Foraging Ants:
X’s pheromone trail will be detected by whoever happens to
wander past it.
Contrast with Direct Interaction:
identity of the recipient of X’s message is known to X at time of
sending.
10
Anonymity
Recipient’s identity need not be known to the originator
of the state change (whether bound dynamically or statically).
Mobile Dining Philosophers:
X does not have to know who (if anyone) is sitting next to him in
order to interact with them indirectly, by sharing the chopstick.
Foraging Ants:
all ants are anonymous to X; what distinguishes them is their
location and state (e.g. with or without food), not an ID.
Contrast with Direct Interaction:
need to know ID of recipient in order to send message.
11
Asynchrony (time decoupling)
There may be a delay between the change and its observation,
whose duration may be determined by dynamic events.
Dining Philosophers:
There may be a delay after X puts down a chopstick before it’s
picked up again; cannot know when the neighbor will get hungry.
Foraging Ants:
There may be a delay after X puts down pheromone before it’s
detected; cannot know when someone will wander by to detect it.
Contrast with Direct Interaction:
when there is a handshake, the sender and the recipient interact
without a delay.
12
Space Decoupling
Indirect interaction need not imply co-location (for mobile agents);
first agent may leave after making changes, second arriving later.
Dining Philosophers:
X may go away after putting down chopstick; when Y picks it up,
he interacts with X without ever being in the same location.
Foraging Ants:
Ants who lay down and pick up a pheromone trail usually do not
actually meet each other.
Contrast with Direct Interaction:
when there is a handshake, the sender and the recipient are
logically co-located.
13
Localization
Agents may be restricted to make/observe changes
in only a part of the shared space (that is local to them).
Dining Philosophers:
A philosopher can pick up / put down only the chopsticks next to
him.
Foraging Ants:
An ant can leave or sense pheromones only in its local
neighborhood.
Contrast with Direct Interaction:
there is no logical equivalent of locality (though it can be
simulated).
14
Non-intentionality
Intent to communicate is not required, nor awareness that communication
is occurring; agents may simply be doing their own task.
Dining Philosophers:
X puts down chopsticks because he is done, NOT because he
wants others to know that they can eat.
Foraging Ants:
X leaves pheromones because he is programmed to do this when
carrying food, not out of intent to notify others.
Contrast with Direct Interaction:
every act of sending a message is intentional.
15
Hybrid Nature
The real world may serve as the medium of indirect interaction;
the system will be hybrid rather than fully digital.
Analog Dining Philosophers:
X will not eat with dirty chopsticks where the notion of dirtiness is
not discrete (a real-world process).
Foraging Ants:
Pheromones evaporate over time (a real-world process).
Contrast with Direct Interaction:
When digital agents exchange discrete finite messages, the
system cannot be hybrid.
16
Outline
• Direct and indirect interaction
• Examples of indirect interaction
– Role of the environment
– Dining Philosophers
– Foraging Ants
• Properties of indirect interaction
– Illustrated with examples
• Ubiquity of indirect interaction
• Formalization of indirect interaction
17
Ubiquity of Direct Interaction
• Social Biology: Social insects living in colonies interact
indirectly by making changes to common structures
(termite piles) or through pheromones.
• Operating Systems: Processes exchange information
via semaphores in shared memory
• Programming Languages: Tuple spaces in Linda
enable coordination by indirect interaction.
• Anatomy: Cells exchange information via hormones in
the blood stream.
• Economics: the value of stocks, bonds, and currency
acts as medium of interaction between buyers and
sellers as they negotiate prices.
18
Need for Indirect Interaction
•
Milner’s claim: message passing can model all
communication.
– create a new simple process for each shared variable
•
Most properties of indirect interaction can be
simulated with message passing
– by employing special protocols
– analogous to simulating encapsulation and ADTs in C
– but using Java is better
•
Formalization of indirect interaction will allow us to
model its properties explicitly
– without the intermediate protocol layer
– to directly reflect problem semantics (i.e. chopsticks are
passive objects, not active agents)
•
Furthermore… there is the real world
– such as pheromone trails in the Foraging Ants example
– values in the real world cannot be modeled by a finite number
of processes (discrete digital agents)!
19
Formalizing Indirect Interaction
•
Conjecture:
–
•
Indirect interaction summary:
–
–
–
•
has properties distinct from direct interaction
is ubiquitous and necessary
cannot be modeled by direct interaction
There is a need for a formalization that:
–
–
–
–
–
•
decentralized coordination in multiagent systems of simple agents requires
indirect interaction, because it provides asynchrony and anonymity
is domain-independent
directly models properties of indirect interaction
extends existing models of interaction (Persistent Turing Machines)
allows for real world as medium of interacton
provides an alternative to concurrency theory
Formalization of indirect interaction:
–
–
will enable new forms of reasoning for computer science and beyond
will contribute to truer models for open systems
20
Questions
• How to formalize indirect interaction as
described in the previous slide?
– What new models, techniques, and logics are needed?
– Should allow us to prove that indirect interaction is
more expressive than direct interaction in case of realworld environments.
– Should allow us to prove conjecture about need for
indirect interaction in case of decentralized
coordination.
• How can TAPOCS benefit from a formalization of
indirect interaction?
21
Discussion
22