DOC PREVIEW
UCF EEL 6938 - Mobile Agents

This preview shows page 1-2-3-26-27-28 out of 28 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Mobile agentsSlide 2Motivation for mobility (cont’d)Motivations for mobility (cont’d)Counter arguments and answersMobile codeMobile code - applicationsMobile agents without code mobilityStrong mobilitySlide 10Custom language: TelescriptTelescript (cont’d)Slide 13Telescript securitySpecialized JVM: NOMADS/AromaNOMADSWeak mobilitySlide 18Challenges in soft mobilityAgent systems with weak mobilityStandards for weak mobilityAgletsAglets (cont’d)Aglet LifecycleAgent lifecycleAglet lifecycle (cont’d)Migration events in AgletsSecurity issues in aglets / mobile agentsEEL 6938Mobile agentsEEL 6938 Engineering Applications of Autonomous Agents Lotzi BölöniEEL 6938Mobile agents•Mobile agents are autonomous programs which move though a network and maintain their identity through this move.•This is a stronger concept than “code mobility” such as Java applets, or client-side Javascript.•Many agent systems were implemented with support for mobility.–And for many researchers, agents == mobile agentsEEL 6938Motivation for mobility (cont’d)•Mobile agents can provide better support for mobile clients.–Reduction of network traffic–Asynchronous interaction (good in case of intermittent connection)–Remote searching and filtering•Mobile agents facilitate semantic information retrieval.–Move one step above simple keyword based search.•Mobile agents facilitate real-time interaction with a server–Eg. space probes, real time control of a machine tool•Mobile agent based transactions avoid the need to preserve process state in clients and servers–Instead, the process state is carried in an agentEEL 6938Motivations for mobility (cont’d)•Agent based transactions scale better than RPC-based transactions•Secure agent-based transactions have lower overhead than secure RPC. •Mobile agents allow users to personalize server behaviour.•Agents enable semantic routing.•Not all these arguments are valid.EEL 6938Counter arguments and answers•Most counter arguments are based on the fact that –What can be done with mobile agents can be done with RPC or–What can be done on the server, you can do it on the client.•The “software engineering counterargument”: whereas each individual case can be addressed in some (ad-hoc) manner without mobile agents, a mobile agent framework addresses them all of them at once.EEL 6938Mobile code•!= mobile agents–But, the majority of mobile agent systems imply mobile code•Transferring code between (heterogeneous) machines.•Implies machine independent code.–Usually, it is implemented with some kind of virtual machine–But it can be also implemented with adaptation, recompilation etc.•Types of mobile code:–Partially Turing machine complete languages (e.g. SQL, SVG)–Interpreted programming languages (Perl, Python, Javascript)–Virtual machine based compiled languages (Java, Telescript)EEL 6938Mobile code - applications•Client-server queries (SQL)•Client side browser applets:–Java applets–Javascript–ActiveX controls•Remote code updates:–Software updates–Plugins•Active E-mail–Confirmations–Javascript, Visual Basic for Applications–E-mail viruses and worms•Mobile agentsEEL 6938Mobile agents without code mobility•Seeing control handoff as mobility–No code mobility involved.–Multithreading involves problems.•Distributed systems as mobile agent systems•In this approach, mobility is an analysis approach, not a design principle.EEL 6938Strong mobilityEEL 6938Strong mobility•Strong mobility assumes that agents can move at any point during their execution•They are usually relying on:–Specially designed programming languages (eg. Telescript).–Modified virtual machines (eg. NOMADS / AromaVM)EEL 6938Custom language: Telescript•Proprietary language, created by General Magic around 1994-95–Highly influential, without being highly successful•Interpreted language, which runs on a Telescript engine. –The company implemented engines running on PDA’s, PC’s etc•“High Telescript”: –Object oriented language, inspired by Smalltalk–Compiled to Low Telescript•“Low Telescript”–Postfix syntax for stack based implementationEEL 6938Telescript (cont’d)•The basic network configuration is to run a Telescript Engine on each node of the network. •A network of Telescript Engines provides a homogenous environment on which to build distributed systems.•Basic class: Process. Telescript supports preemptive, prioritized multi-tasking of Process objects. A Process instance can be thought of as an object with a life of its own.•A Place object represents a virtual space in which other objects can interwork (through local communication). Each Telescript Engine can support a number of places.EEL 6938Telescript (cont’d)•An Agent object is a Process object which can migrate between Places. An agent may move between Places on the same Engine, or between Places which exist on different Engines. –The Telescript notion of a distributed system is a number of distinctly located places and a number of Agents which move between these Places. •Places provide meeting locations for Agents. At a Place, Agents can exchange information and perform computation. Places also route travelling Agents. •Persistent Objects --- Telescript Engines implicitly save and recover object state information. •The Telescript world is divided into "regions". Each Engine uses a "regions" database to route migrating Agents. Places and Agents are identified using "Telenames": – Telename(Locally-Unique-Name, Region-Name)EEL 6938Telescript security•Agents have "attributes" such as "identify" and "owning authority" which uniquely identify the Agent and the entity responsible for it. These attributes may be used for authentication. Telescript objects also have a "permit" attribute which may be used to limit the amount of resources which they may consume (e.g. a Place may ask an Agent to pay it 30 "Teleclicks" before granting it access to some resource). •A secure "permits" feature is crucial to stop Agents from creating a crash-limited number of clones of themselves, exhausting resources, or other such anti-social behaviour. – Apparently you can't define a legal Telescript Place which holds visiting Agents to ransom unless you can circumvent security features and hack the Interpreter code!)EEL 6938Specialized JVM: NOMADS/Aroma•NOMADS/Aroma is a Java based agent system with strong mobility


View Full Document
Download Mobile Agents
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Mobile Agents and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Mobile Agents 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?