Download presentation
Presentation is loading. Please wait.
Published byMae Byrd Modified over 8 years ago
1
Agent Group Università di Modena e Reggio Emilia Theory and Practice of Field- based Motion Coordination in Multi-Agent Systems Marco Mamei, Franco Zambonelli DISMI – Università di Modena e Reggio Emilia – ITALY { mamei.marco, franco.zambonelli }@unimo.it
2
Agent Group Università di Modena e Reggio Emilia Background and Motivations Main challenge in open and dynamic application scenario is the need for robustness despite environment dynamism. With this regard the Autonomous Agent approach is promising, in that it promotes a shift from design-time interaction patterns to run-time interaction patterns. To shape these interaction patterns, agents need to be context- aware. An agent can meaningfully interact and coordinate with other agents only if it is aware of “what is around”. …However, current systems focus mainly in providing general- purpose contextual information and almost disregard how to use the information. –E.g. Pub/sub models
3
Agent Group Università di Modena e Reggio Emilia What we are looking for… On the contrary, enabling adaptive and cost- effective coordination requires minimizing: agents’ efforts in acquiring AND exploiting contextual information. –In most situations human agents want to act - they do not want to study large context info. –In most situations software agents cannot be provided with enough AI to effectively understand large context info. Special purpose contextual information:. –(CONS) context information cannot easily be re-used in several applications. –(PRO) easy to decide what to do
4
Agent Group Università di Modena e Reggio Emilia Coordinating mobility in Pervasive Computing Scenarios –Agents have to organize their respective movements according to some policy Our Domain and Follow Though Case Study… Marco Franco Marco and Franco want to maintain a formation while moving in the building.
5
Agent Group Università di Modena e Reggio Emilia What we found Co-Fields Special purpose contextual information: a “red carpet” leading to the right location. Field based motion coordination –The Flocking-Formation Problem
6
Agent Group Università di Modena e Reggio Emilia Theory of Field Approach… Agents are seen as balls rolling on a surface… dynamical system formalism. Differential Equations Integrate …
7
Agent Group Università di Modena e Reggio Emilia The TOTA Middleware –P2P Network, where each peer runs a local version of the TOTA middleware Distributed tuples injected and spread in the network implement the concept of field. –T=(C,P) TOTA maintains tuples’ shape despite network dynamics From Theory to Practice… Tuples On The Air
8
Agent Group Università di Modena e Reggio Emilia Flocking Example Marco creates a flock field having a minimum at two hop distance 2 1 1 1 0 1 0 1 0 0 1 1 0 2 0 0
9
Agent Group Università di Modena e Reggio Emilia Flocking Example 2 1 0 1 2 2 1 2 2 1 0 0 0 1 1 1
10
Agent Group Università di Modena e Reggio Emilia Flocking Example 2 0 1 2 3 3 2 3 2 1 0 1 1 1 0 2
11
Agent Group Università di Modena e Reggio Emilia Flocking Example 2 0 1 2 3 3 2 3 2 1 0 1 1 1 0 2 3
12
Agent Group Università di Modena e Reggio Emilia Flocking Example 2 0 1 2 3 3 2 3 2 1 0 1 1 1 0 2 2
13
Agent Group Università di Modena e Reggio Emilia Flocking Example 2 0 1 2 3 3 2 3 2 1 0 1 1 1 0 2 0
14
Agent Group Università di Modena e Reggio Emilia Flocking Example 0 1 1 0 1 1 0 1 1 0 1 1 0 0 2 0 0
15
Agent Group Università di Modena e Reggio Emilia Implementation The same code installed on simulated nodes, runs also on the IPAQ
16
Agent Group Università di Modena e Reggio Emilia Programming TOTA Applications Programming the agents Programming the tuples
17
Agent Group Università di Modena e Reggio Emilia TOTA API voidinject (TotaTuple tuple); Vectorread (Tuple template); VectorreadOneHop (Tuple template); Tuplekeyrd (Tuple template); VectorkeyrdOneHop (Tuple template); Vectordelete (Tuple template); voidsubscribe (Tuple template, ReactiveComponent comp, String rct); voidunsubscribe (Tuple template, ReactiveComponent comp); voidmove (TotaTuple tuple); void store (TotaTuple tuple);
18
Agent Group Università di Modena e Reggio Emilia Flocking Agent public class FlockAgent extends AbstractAgent { public void run() { FlockingTuple ft = new FlockingTuple(); ft.content = "flock"; tota.inject(ft); while(true) { FlockingTuple ft = new FlockingTuple(); ft.content = "flock"; Vector pv = tota.readOneHop(ft); /* get minimum */ Peer min = getDownhill(pv); if(min == null) return; /* get min coordinates...*/ GenPoint target = min.getCoordinates(); if(target == null) return; this.move(target); } Very Simple: Agents are balls just rolling upon the field surface…
19
Agent Group Università di Modena e Reggio Emilia Programming TOTA Applications Programming the agents Programming the tuples
20
Agent Group Università di Modena e Reggio Emilia TOTA Tuples TotaTuple MetricTuple StructureTuple SpaceTupleHopTupleMessageTuple
21
Agent Group Università di Modena e Reggio Emilia Tuple Programming public final void propagate() { if( decideEnter() ) { boolean prop = decidePropagate() ; changeTupleContent() ; makeSubscriptions() ; tota.store(this); if(prop) tota.move(this); }
22
Agent Group Università di Modena e Reggio Emilia Flocking Tuple public class FlockingTuple extends HopTuple { public int value = 2; protected void changeTupleContent() { super.changeTupleContent(); if(hop <= 2) value --; else if(hop >2) value ++; }
23
Agent Group Università di Modena e Reggio Emilia From Practice to Experiment Tuples must be propagated and maintained. Propagation is based on a simple hop-by-hop epidemic mechanism. We developed an algorithm to maintain the tuples locally… What happens is realistic scenarios?
24
Agent Group Università di Modena e Reggio Emilia Experiment I Inject a tuple Change the topology and record the number of messages sent to update the tuple distributed shape. Evaluate the average number of messages exchanged by peers 0,1,2,3,… hop away from the topology change. Average these numbers over a large set of experiments
25
Agent Group Università di Modena e Reggio Emilia Results Locality scopes emerge in a network without predefined boundaries. Network topology changes do not affect far nodes, but tend to remain confined …sign of scalability
26
Agent Group Università di Modena e Reggio Emilia Other Already Implemented Applications More motion coordination Routing in MANET Location based access to information Content based routing (DHT) Modular Robot Control Algorithms
27
Agent Group Università di Modena e Reggio Emilia On Going and Future Directions Conduct other experiments on performances Develop more applications, trying to move beyond motion coordination Develop global programming languages and compiler to automatically obtain single agents code: –Amorphous Computer (MIT) or Spatial Programming (Rutgers Univ.)
28
Agent Group Università di Modena e Reggio Emilia Further Info http://agentgroup.ing.unimo.it
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.