Features
Log-in
|
Register
|
About
:
Features
Top Menu
Show
:
Comments
Attachments
History
Information
Print
:
Print
Print preview
Export as PDF
Export as RTF
Export as HTML
Export as XAR
Wiki code for
Features
Hide Line numbers
1: 1 Features 2: 3: The following sections highlight some of the current features of Jadex. 4: In summary, Jadex is an *agent-* and *Java-based*, *modular*, 5: *conceptually leading*, *technology affine* and *standards compliant*, 6: agent environment, and allows to develop *goal oriented agents* following the BDI model. 7: Jadex provides a *framework* approach including a runtime infrastructure for agents, the 8: agent platform, and an extensive runtime tool suite. 9: 10: 1.1 Agent-based 11: 12: The agent concept is regarded as a powerful software development paradigm, 13: well suited to address the complexity of todays large software systems. It 14: can be considered as a natural extension to object-orientation, whereby an 15: agent represents an object with control about its execution. The agent paradigm 16: allows to view a system as being composed of autonomous interacting entities 17: which pursue their own goals and act in a rational manner. Interestingsly, 18: the agent metaphor fits perfectly to the demands of *distributed and concurrent systems*. 19: In a multi-agent system each agent is autonomous from other agents 20: and hence potentially concurrently executed to the others. In addition, 21: agents communication via messages and do not need a shared memory environment 22: (like objects using method calls). 23: 24: 1.1 Java-based 25: 26: The Jadex project aims to make the development of agent based systems 27: as easy as possible without sacrificing the expressive power of the agent 28: paradigm. To foster a smooth transition from traditional distributed systems 29: to the development of multi-agent systems, well established *object-oriented concepts* 30: and technologies should be employed wherever possible. 31: With Jadex you are able to create agent systems without having to learn a new 32: programming language. Jadex is designed to facilitate the implementation of 33: agents in the widespread Java programming language, therefore allowing to 34: reuse a vast amout of existing tools and libraries. 35: 36: 1.1 Modular Design 37: 38: Jadex has been developed in a very modular fashion. This modular design has on major goal: 39: the clean separation between the agent platform and the agent kernel. This separation allows 40: a many-to-many relationship between agent platforms (i.e. Standalone or JADE) and kernels 41: (i.e. BDI or Micro). I.e., on the one hand, on a specifc agent platform different kernels 42: can be run (also concurrently) and hybrid agent applications can be built. On the other 43: hand, a specifc agent kernel can also be run on different agent platforms (requirement is that 44: a Jadex adapter has been built). This allows the execuation of e.g. BDI agent programs 45: on the Standalone or JADE platform without requiring any changes to the agent code. 46: 47: 1.1 Conceptually Leading 48: 49: The Jadex framework is developed since 2003. From the beginning, the project has the aim 50: to reveal and provide the best possible support for building distributed and concurrent programs. 51: This class of software gains ever increasing importance by many factors and current trends such 52: as ubiquitous computing and multicore processors. Hence, Jadex has alsways been driven by 53: new research ideas and incorporates these as new features as soon as possible in the software. 54: Some examples of these outstanding features are: 55: 56: * Incorporated event- and time-driven simulation support 57: * Multi agent kernel support 58: * Full BDI-reasoning cycle support (goal deliberation and means-end reasoning) 59: * Goal-oriented interaction protocols 60: * Many prebuilt functionalities readily available in capabilities 61: 62: 1.1 Technology Affine 63: 64: Even though Jadex is driven by research ideas, the technology side is considered equally important 65: and non-functional aspects like robustness, scalability, fault tolerance etc. have been targeted 66: specifically in the new Jadex V2 design. It is always tried to exploit the best of breed software 67: for Jadex and make use of proven technology. This is reflected e.g. by: 68: 69: * Maven is used as build and release tool 70: * The Standalone platform realizes a services based approach and can be configured e.g. with Spring Beans 71: * BDI kernel is built on established and efficient rule technology (RETE engine) 72: 73: <table border="0" cellspacing="0" cellpadding="0"> 74: <tbody> 75: <tr> 76: <td valign="top"> 77: <h2>Standards Compliant</h2> 78: <p> 79: Standards are important to ensure that agreed best practices are used and 80: standards compliance allows consumers of technologies to exchange products 81: of different vendors lowering the risks of a vendor lock-in. In the field 82: of multi-agent systems only a few standards have been developed so far. Jadex 83: aims at following standards whereever possible. This is not restricted to 84: agent standards. 85: Most important in the field of agent standards are the communication standards, which 86: should enable interoperability between different agent platforms. These standards have been 87: released by the 88: [Foundation for Intelligent Physical Agents (FIPA)>http://www.fipa.org/], 89: which are commonly referred to as "the FIPA standard". 90: As shown in the figure, the FIPA standard specifies an agent platform architecture, 91: which defines services such as agent management and a directory facilitator. This architecture 92: enables agents to communicate using a common agent communication language. 93: To achieve FIPA-compliancy, Jadex can be used with the [JADE Agent Framework>http://jade.cselt.it/], 94: an open source development by the [Telecom Italia Lab>http://www.telecomitalialab.com/]. 95: JADE provides the platform architecture and the core 96: services and message transport mechanisms as required by the FIPA specifications. 97: </p> 98: </td> 99: <td> 100: {image:agentmanagement.png} 101: </td> 102: </tr> 103: </tbody> 104: </table> 105: 106: 1.1 Goal Oriented Agents 107: 108: The internal state and decision process of agents is therefore modelled 109: in an intuitive manner following the notion of *mental attitudes*. 110: Goal orientation means that, instead of directly requesting the agents to perform 111: certain actions, the developer can define more abstract goals for the agents, 112: thereby providing a certain degree of flexibility on how to achieve the goals. 113: The BDI Model, based on the mental attitudes belief, desire and intention, 114: was first introduced as a philosophical model for modelling rational (human) agents, 115: but later adopted and transformed into an execution model for software agents, 116: based on the notion of beliefs, goals, and plans. 117: Jadex incorporates this model by introducing *beliefs*, 118: *goals* and *plans* as first class concepts that can be created an 119: manipulated inside the agent. In Jadex, agents have beliefs, which can be any 120: kind of Java object and are stored in a belief base. Goals come in different 121: flavors and allow to describe what an agent should achieve in a declarative manner. 122: Goals do not include information about how it can be fulfilled. This kind of 123: knowledge is encoded in plans. Hence, to achieve its goals the agent executes plans, 124: which are procedural recipes coded in Java. 125: 126: 1.1 Framework 127: 128: Programming Jadex agents can be done by using the framework *API* and 129: possibly predefined *reusable generic functionality* in form of capabilities. 130: The API provides access to the Jadex concepts when programming plans. 131: Plans are plain Java classes, extending a specific abstract class, which 132: provides useful methods e.g. for sending messages, dispatching sub goals or waiting for events. 133: Plans able to read and alter the beliefs of the agent using the API of the belief base. 134: A special feature of Jadex is that in addition to directly retrieving stored facts, 135: an intuitive *OQL-like query language* allows to formulate arbitrary complex expressions 136: using the objects contained in the belief base. 137: In addition to the plans coded in Java, the developer provides an *XML based 138: Agent Definition File (ADF)*, which specifies the initial beliefs, goals, 139: and plans of an agent. The Jadex runtime engine reads this file to instantiate 140: an agent model, and executes the agent by keeping track of its goals while 141: continuously selecting and executing plan steps, based on internal events 142: and messages from other agents. Jadex is supplied with some predefined 143: functionality e.g. to access a directory facilitator service. 144: The functionality, coded in separate plans, is composed in reusable agent 145: modules called *capabilities*, described in a format similar to the ADF, 146: and can easily be plugged into existing agents. 147: \\ 148: An important quality aspect of any development environment is the available tool 149: support. As Jadex uses the standard programming languages XML and Java 150: existing IDEs like eclipse can be used for programming agents as well. 151: Furthermore, Jadex offers a complete runtime tool suite for managing, 152: testing and debugging agents. Basis of this suite is the Jadex Control 153: Center tool (JCC), which is the access point for all the tools (realized 154: as plugins). Currently the following tools are available: 155: * *Starter* for starting and stopping agents and viewing all agents currently living on the platform 156: * *Directory Facilitator* for viewing registered services of agents 157: * *Conversation Center* for directly sending messages to agents 158: * *Comanalyer* for sniffing and displaying message-based interactions 159: * *Test Center* for executing agent-based unit tests 160: * *Simulation Control Center* for executing applications in real-time or simulation modes (time- or event-driven) 161: * *Introspector* for introspecting agents and executing them stepwise 162: * *Library Tool* for managing the Java classpath at runtime by adding/removing libraries such as jar-files
Search
Navigation
About
Contact
Features
News
Overview
People
Download
Add Ons
Available Packages
License
Internal
Meetings
Thesis Abstracts
Thesis Topics
Usages
Examples
Projects
Resources
Agent Companies
Build Process
FAQ
Get Involved
Online Documentation
Publications
Teaching
Links
Agent Companies
Agent Platforms
Agent Simulation Toolkits
Users Currently Online
Guests online: 67
View Registered Users
Quick Links
Download Jadex
Browse Documentation
Read Latest News
Get Involved
SourceForge.net Page