250 likes | 454 Views
peer-to-peer and agent-based computing. Agent-Based Computing: tools, languages and case studies. Plan for next two lectures. Tools for agents & MASs development Agent-Oriented Programming languages Case studies. Tools for agent/MAS development. How would you develop an agent or MAS?
E N D
peer-to-peer and agent-based computing Agent-Based Computing: tools, languages and case studies
Plan for next two lectures • Tools for agents & MASs development • Agent-Oriented Programming languages • Case studies peer-to-peer and agent-based computing
Tools for agent/MAS development • How would you develop an agent or MAS? • Debug, test, profiling, evaluate, deploy, maintain, etc. • Various issues to be considered: • Communication (socket, http) • Scale-up possible (100’s or 1000’s of agents) • Visualisation facilities (e.g., view message exchanges) • Visualisation and/or control of individual agents • Built-ins (e.g., XML/XHTML parser) • High-level agent-specific constructs (e.g., “broadcast”) to name a few… peer-to-peer and agent-based computing
Tools for development (Cont’d) • We may use a language of our choice… • Provided it enables inter-process communication! • We can use Java or C++ to develop a software agent and, by extension, a MAS • However, • Debugging message-passing is very hard • Following the progress of a thread is quite difficult • Testing 2 process exchanging message is time-consuming • Tools have been proposed to support the development of agents and MASs • Let’s look at some of them… peer-to-peer and agent-based computing
MADKit: Multi-Agent Development Kit • Modular and scalable platform, written in Java • AGR (Agent/Group/Role) organisational model: • agents are situated in groups and play roles. • Communication based on a peer-to-peer mechanism • Agents can be programmed in Java, Scheme, Jess & BeanShell. • Other scripting languages may be easily added. • Facilities and agents for launching, visualising, developing and monitoring agents. • Free software available at http://www.madkit.net peer-to-peer and agent-based computing
MADKit (Cont’d) • Initial look-and-feel of Microsoft’s Windows: peer-to-peer and agent-based computing
MADKit (Cont’d) • Various support functionalities: peer-to-peer and agent-based computing
MADKit (Cont’d) • Current look-and-feel of an IDE: peer-to-peer and agent-based computing
The agentTool Project • Java-based graphical agent development environment • Supports analysis, design, and implementation of MASs • Organisation-based methodology • System designer defines high-level system behaviour graphically: peer-to-peer and agent-based computing
The agentTool Project (Cont’d) • Free software available at http://agenttool.cis.ksu.edu • Later version available as an Eclipse IDE plug-in: peer-to-peer and agent-based computing
DIET Agent Platform • Decentralised Information Ecosystem Technologies • Multi-agent platform in Java, Open Source • Lightweight, scalable, robust, adaptive & extensible • Suitable for rapidly developing peer-to-peer prototype applications and/or adaptive, distributed applications. peer-to-peer and agent-based computing
DIET Agent Platform (Cont’d) • Key features: • A layered architecture, with a lightweight, simple and general kernel. • Kernel constrains & minimises the use of threads, sockets and memory. • Agents are autonomous yet lightweight, making it possible to run 100,000s of agents in a single VM. • A model-event infrastructure provides visualisation support. • Provision of extensible and modular agent behaviours, using jobs and event managers. • Various implementations of remote communication are provided, built on top of the kernel. peer-to-peer and agent-based computing
DIET Agent Platform (Cont’d) • Developed by BT, DFKI, Univ. of Madrid & Crete • Part of the “Universal Information Ecosystems” initiative (EU, 1999) • Available for download at http://diet-agents.sourceforge.net peer-to-peer and agent-based computing
JADE Platform • Java Agent DEvelopment Framework • Open source, programmed in Java • Platform for peer-to-peer agent-based applications • Simplifies the implementation of MASs through a middleware complying with industrial standards • Provides a set of graphical tools to support the debugging and deployment phases • It can be distributed across machines (with any OS) and controlled via a remote GUI. • Agents are able to move from one machine to another peer-to-peer and agent-based computing
JADE Platform (Cont’d) • Developed by Telecom Italia, Motorola, Whitestein Technologies AG., Profactor GmbH, and France Telecom R&D. peer-to-peer and agent-based computing
JADE Platform (Cont’d) • Good documentation & tutorials available • Book recently published • Latest version: March 2013 • Large & active community of users • Agents programmed in Java or JESS • Download available at http://jade.tilab.com peer-to-peer and agent-based computing
JACK • Environment for building, running and integrating commercial-grade MASs using a component-based approach • Additionally, a programming language that extends Java with agent-oriented concepts, such as: • Capabilities, events, plans, knowledge and data bases • Programmed in Java, licensed • 60-day evaluation, free download • CSD@ABDN has an institutional licence • Well-documented and supported • Active community of users • Home-page: http://aosgrp.com/products/jack/index.html peer-to-peer and agent-based computing
JACK (Cont’d) • Graphical design tool (for programmers & analysts): • Components as diagrams (drag & drop, pan/zoom) • Diagrams capture aspects of an application's design • Diagrams generate code peer-to-peer and agent-based computing
JACK (Cont’d) • Plan editing tool: plans as diagrams • Reasoning in descriptive mode (natural language) • Drag-and-drop, pan and zoom capabilities • Plans compiled directly onto JACK code peer-to-peer and agent-based computing
JACK (Cont’d) • At run-time, plans can be traced graphically • Analyst/developer observe plans as they execute • Values of variables & plan execution history can be examined peer-to-peer and agent-based computing
Microsoft’s Agent SDK • Software technology to create animated characters with interactive personalities • Characters are able to • Move freely within the computer display • Speak aloud (also by displaying text onscreen) • Listen for spoken voice commands • Home page: http://www.microsoft.com/PRODUCTS/msagent/main.aspx/ peer-to-peer and agent-based computing
Microsoft’s Agent SDK (Cont’d) • An application or Web page could implement one of the following uses with a Microsoft Agent character: • A friendly tutor could lead someone through a task or a decision tree with instructions step-by-step along the way. • A messenger could deliver a notification or alert that a new e-mail has arrived and then offer to read it to you. • An assistant could perform tasks for you like looking up information on the Internet and then reading it aloud. peer-to-peer and agent-based computing
Microsoft’s Agent SDK (Cont’d) • JScript/HTML example: peer-to-peer and agent-based computing
And a couple more… peer-to-peer and agent-based computing
Reading List • JADE Tutorial and Primer, J. Vaucher, A. Ncho, 2003. http://www.iro.umontreal.ca/~vaucher/Agents/Jade/JadePrimer.html • JADE Tutorial, 2009. http://jade.tilab.com/doc/tutorials/JADEProgramming-Tutorial-for-beginners.pdf • Microsoft agent, Wikipedia article. http://en.wikipedia.org/wiki/Microsoft_Agent peer-to-peer and agent-based computing