340 likes | 442 Views
Mobile Agents: Agile Agents for Ambient Intelligence. Agents, Mobility, Ubiquity & Virtuality. COMP4019 Multi-Agent Systems Lecture Materials 2007 Gregory O’Hare School of Computer Science & Informatics, University College Dublin (UCD). Gregory O’Hare
E N D
Mobile Agents: Agile Agents for Ambient Intelligence Agents, Mobility, Ubiquity & Virtuality COMP4019 Multi-Agent Systems Lecture Materials 2007 Gregory O’Hare School of Computer Science & Informatics, University College Dublin (UCD) Gregory O’Hare Department of Computer Science, University College Dublin
Agent Factory is… A cohesive framework that supports a structured approach to the developmentand deployment of multi-agent systems. • Based upon the purpose-built Agent Factory Agent Programming Language (AF-APL) • This is realised through a four-layer framework…
Agent Factory Layers Agent Factory Development Environment Agent Factory Run-Time Environment AF-APL
Mobile Computing • We regard mobile computing as involving the use of intelligent agents • that are truly mobile in nature. • We characterise mobility across several dimensions :- • Semi-autonomous entities that roam a physical • environment ( like robots ); • 2. Entities propelled through a physical space by a user, • like handheld advisory systems located on palm top • computing devices; • 3. Avatars immersed & Navigating within a Virtual World;
Why Mobile Agents • Reduce Bandwidth Consumption and Network Loads • Allow dynamic deployment of application components tp encapsulate protocols • execute asynchronously and autonomously • can adapt by moving • run on heterogeneous platforms • most distributed applications fit naturally into the mobile agent model • intuitively suitable for mobile users and disconnected operations • Mobile agents combine the strengths of techniques such as RPC, java applets etc. into a single, convenient framework • Reduce network load • overcome network latency • encapsulate protocols to allow changes • asynchronous and autonomous execution
Why Mobile Agents II • adapt dynamically • heterogeneous • fault tolerant -- move from a down host • Efficiency - mobile agents consume fewer network resources since they move the computation to the data rather than the data to the computation • Reduction of network traffic • communication protocols involve several interactions, which causes a lot of network traffic. Mobile agents can package up a conversation and ship it to a destination host where the interactions can take place locally
Migration Types Two Broad types of migration exist. • Weak Migration: permits mobility of code and data state. After the movement, the agent is restarted and the values of its variables are restored, but its execution restarts from the beginning of a given procedure ( a method in case of objects). • Strong Migration: Mobility of code, data state and execution state. Restart the execution exactly from the point where it was stopped before movement. Within Strong Mobility: When moving a mobile agent carries: code + data state + execution Data State Data - global or instance variable; Execution State – local variables and threads On moving, execution can continue the point it stopped on previous host
Agent Life Cycle Models An agent life cycle can be defined as: “A series of stages through which an agent passes during its lifetime.” Life cycle models describe both the states of an agent, and the (allowed) transitions between states. Two Broad Classes of Model exist: • The persistent process life cycle model; e.g Telescript Agent TCL, • The task based life cycle model; e.g Aglets
FIPA Agent Management Specification The FIPA Agent Management Specification explicitly de- fines an agent life cycle with a state diagram. FIPA agents can be in one of the following states: initiated, active, transit, or suspended. After creation, the agent is said to be in the initiated state. After invoking the agent, it is active. The central state of a FIPA agent is the defacto active state. After moving into another state, agents always return to the active state before additional state transitions are possible.
Persistent Process Life cycle Model • All other life cycle models can be built on top of this model; • The mobile agent can exist in one of 4 states: a start state a frozen state a running state a death state • The life cycle starts in a start state and then it proceeds to a running state where a persistent process is executed and eventually enters a death state where the process is terminated;
Persistent Process Life Cycle Model II • When a mobile agent is transported from one node to another, the process in the running state is check-pointed and the agent enters the frozen state; • Next, its context is delivered to the destination node where the process is resumed and re-enters the running state at the point it left off;
Task Based Life Cycle Model Offers a flexible life cycle model however context information can be lost during transport. The mobile agent can exist in one of 3 states: • a start state • a death state • task states • The mobile agent starts in the start state. Depending on a set of conditions it proceeds through a network of task states - each task has its own state. • When the agent moves to a new node the context of the currently executing task is lost. • Before moving the agent must indicate the first task to be started when it re-materialises on the destination node
Aglets Within Aglets program code can be transported along with state information Aglets were created by IBM Japan Aglets (= agents + applets) are Java objects that can move from one host on the Internet to another When the aglet moves, it brings along its program code as well as its data An aglet that executes on one host can • halt execution • dispatch to a remote host and • resume execution there
Aglets II An Applet-like programming model for mobile agents. Implemented in Java (as many mobile agent toolkits are! ) Aglet = Agent + Applet Aglet’s API facilitates mobile technology Aglet: mobile java object that visits aglet enabled hosts in a computer network An Aglet = Instance of a Java class extending the Aglet Class An Aglet =Aglet state (values in variables) + Aglet code (class implementation) Autonomous – runs its own thread after arriving at a host Reactive – responds to incoming messages Offers Weak Mobility
Key Aglets Features • A globally unique naming scheme for agents (navigation/security model) • A travel schedule for specifying complex travel patterns with multiple destinations and automatic failure handling (navigation model) • A white board mechanism allowing multiple agents to collaborate and share information asynchronously (communication model) • An agent message-passing scheme that supports asynchronous and synchronous peer-to-peer communication between agents (communication model) • A network agent class loader that allows an agents Java byte code and state information to travel across the network (navigation model) • An execution context that provides agents with a uniform environment independent of the actual computer system on which they are executing (computational model) aglet
Aglet Operations • Operations on aglets: • creation – within a context. Assign id, initialise and execute; • Run; • cloning – identical copy in the same context. Different id and execution thread; • dispatching – move from one context to another where execution will re-start (i.e. threads do not migrate); • retraction – pull from current context and insert into the context from which retraction was requested; • activation & deactivation – temporary halt and store in secondary storage; • disposal – halt execution and remove from current context; • Event-based control via user-defined methods: onCreation, onDisposing, onCloning, onDispatching, onReverting, onArrival, onActivation, onDeactivating etc • Messaging between aglets: messaging via proxy, a message invokes a method
HIPS & Gulliver’s Genie Objectives • Provide an infrastructure which supports simultaneous user navigation of a physical space and it’s corresponding information space • Deliver contextualised information to roaming tourists • Provide seamless movement between the physical & virtual spaces
Localisation Technologies • Satelite based Systems • Global Positioning System (GPS); • Differential GPS (DGPS); • Galilleo - European • GLONASS – Russian; • Radio Based Systems • Base Cell Identification; • Base Cell Triangulation based on either Angle of Arrival (AOA) or Time of Arrival (TOA); • Location Fingerprinting – each location has a unique signal pattern create database to record these and match; • Hybrid Systems; • Enhanced/Assisted GPS (EGPS) – Ericsson Mobile Positioning System (MPS).
HIPS : A Handheld Tourist Aid Tourist Content Delivered in a Proactive (Push) Tailored fashion. The key personalisation & Contextualisation parameters are: Location (Longitude, Latitude, Orientation) acquired from a Global Positioning System (GPS) device & electronic compass; User Preferences extracted from a user profile;
WAY GUI Zoomed In Zoomed Out
EasiShop Mobile Agent based U-Commerce System EasiShop Client Side EasiShop Server Side Agent Factory Thinlets Midp Bluetooth
ACCESS: An Agent Architecture for Ubiquitous Service Delivery Agents Channelling ContExt Sensitive Services Cooperative InformationIAgents (CIA) System Inovation Award Winner 2003
ACCESS Objectives ACCESS seeks to provide: • an open extensible architecture for the rapid prototyping and deployment of context sensitive services • strong support for generic profiling • enable the intelligent prediction of user service needs • support for a scalable multi-user environment
ACCESS Architecture Deployment Development ACCESS Toolbox Agent Factory Development Environment ACCESS Management Agents Agent Factory Run-Time Environment
ACCESS Management Agents • Context Management • User Profiling • Content Delivery • Location Sensing • Map Generation • Service Brokerage Agent Platform Agent Platform The ACCESS Gateway The ACCESS Client
Why Choose ACCESS ? • The firstopen extensible architecture for the rapid prototyping and deployment of context sensitive services through the use of lightweight mobile intentional agents
Wearable/Ubiquitous Sensors • Motes in Wearable Sensor Networks. By linking pressure sensitive pads through a personal wireless network we are going to experiment with mechanisms to measure bodily functions such as breathing. This could allow us to detect hyper- ventilation and inform paramedics through a mobile phone.