220 likes | 330 Views
Toward Domain-Independent Formalization of Indirect Interaction. Dina Goldin, David Keil University of Connecticut TAPOCS 2004 Modena, Italy, June 2004. Open Systems: Hierarchy of Openness. Closed systems all input predetermined at start of computation
E N D
Toward Domain-IndependentFormalization of Indirect Interaction Dina Goldin, David KeilUniversity of Connecticut TAPOCS 2004 Modena, Italy, June 2004
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)
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
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].
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
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)
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). 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 ring-shaped 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: ants interact with each other (persistent observable change to environment = phermone trails). Direct Interaction: ? 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.
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 co-location (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.
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 who-ever 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.
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.
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.
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.
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 canpick 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).
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.
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.
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
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.
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)!
Formalizing Indirect Interaction • Conjecture: • decentralized coordination in multiagent systems of simple agents requires indirect interaction, because it provides asynchrony and anonymity • 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: • 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
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 real-world 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?