Presentation on theme: "Peer-to-peer and agent-based computing Agent-Based Computing: tools, languages and case studies."— Presentation transcript:
peer-to-peer and agent-based computing Agent-Based Computing: tools, languages and case studies
peer-to-peer and agent-based computing 2 Plan for next two lectures Tools for agents & MASs development Agent-Oriented Programming languages Case studies
peer-to-peer and agent-based computing 3 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 (100s or 1000s 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 4 Tools for development (Contd) 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 Lets look at some of them…
peer-to-peer and agent-based computing 5 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
peer-to-peer and agent-based computing 6 MADKit (Contd) Initial look-and-feel of Microsofts Windows:
peer-to-peer and agent-based computing 7 MADKit (Contd) Various support functionalities:
peer-to-peer and agent-based computing 8 MADKit (Contd) Current look-and-feel of an IDE:
peer-to-peer and agent-based computing 9 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 10 The agentTool Project (Contd) Free software available at Later version available as an Eclipse IDE plug-in:
peer-to-peer and agent-based computing 11 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 12 DIET Agent Platform (Contd) 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 13 DIET Agent Platform (Contd) Developed by BT, DFKI, Univ. of Madrid & Crete –Part of the Universal Information Ecosystems initiative (EU, 1999) Available for download at
peer-to-peer and agent-based computing 14 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 15 JADE Platform (Contd) Developed by Telecom Italia, Motorola, Whitestein Technologies AG., Profactor GmbH, and France Telecom R&D.
peer-to-peer and agent-based computing 16 JADE Platform (Contd) Good documentation & tutorials available –Book recently published Latest version: July 2011 Large & active community of users Agents programmed in Java or JESS Download available at
peer-to-peer and agent-based computing 17 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 has an institutional licence –Well-documented and supported –Active community of users Home-page:
peer-to-peer and agent-based computing 18 JACK (Contd) 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 19 JACK (Contd) 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 20 JACK (Contd) 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 21 Microsofts 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:
peer-to-peer and agent-based computing 22 Microsofts Agent SDK (Contd) 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 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 24 And a couple more…
peer-to-peer and agent-based computing 25 Reading List JADE Tutorial and Primer, J. Vaucher, A. Ncho, ml ml JADE Tutorial, Tutorial-for-beginners.pdf Tutorial-for-beginners.pdf Microsoft agent, Wikipedia article.