INTELLIGENT REASONING SYSTEMS     Marcus J. Huber  Ph.D.
blank.gif (49 bytes)
blank.gif (49 bytes) blank.gif (49 bytes)
bar.gif (62 bytes)home.gif (343 bytes)bar.gif (62 bytes)download.gif (494 bytes)bar.gif (62 bytes)papers.gif (395 bytes)bar.gif (62 bytes)links.gif (347 bytes)bar.gif (62 bytes)
blank.gif (49 bytes)
 40.gif (90 bytes)


Downloads

UMPRS and JAM are both BDI-theoretic (Belief-Desire-Intention) agent architectures based upon the Procedural Reasoning System (PRS) of Georgeff, Ingrand, Rao, Lansky, and others (primarily from SRI International and the Australian AI Institute). Basically this means that these concepts are explicitly represented within the agent code and that when you implement agents you specify beliefs (facts known to the agent), desires (goals that the agent is to achieve), and capabilities (plans and primitive actions). The agent's intentions are determined dynamically by the agent at runtime based on its known facts, current goals, and available plans.

I.R.S. makes two general-purpose agent architectures freely available for non-profit use (contact us regarding licensing for any for-profit use of JAM and the University of Michigan for commercial use of UMPRS). Unlike many "agents" being documented lately, which are useful in very restricted domains, the UMPRS and JAM agent architectures are applicable to nearly any application domain. Of course, with this flexibility comes some complexity as neither can perform significant tasks "out of the box". Both architectures emphasize "knowledge level" programming, the agent-oriented perspective of specifying the agent's beliefs, desires, and capabilities. Pre-existing, non-agent-based legacy functionality can be easily leveraged, especially with respect to the JAM agent architecture. This requires some amount of C++ or Java programming, but this can be easily done using standard programming tools and practices.

Documentation and source code for both agent architectures are available below. It would be greatly appreciated if you would notify us that you've downloaded either JAM or UMPRS. Any improvements made to either package would also be greatly appreciated as we will incorporate these into the distribution (acknowledging the source of the improvements, of course) for the benefit of the agent-building community in the large. Furthermore, we are amenable to establishing service agreements to support these products.

 
JAM Agent
 
General description - JAM supports both top-down, goal-based reasoning and bottom-up data-driven reasoning. JAM selects goals and plans based on maximal priority if metalevel plans are not available, or user-developed metalevel reasoning plans if they do exist. JAM's conceptualization of goals and goal achievement is more classically defined (UMPRS is more behavioral performance-based than truly goal-based) and makes the distinction between plans to achieve goals and plans that simply encode behaviors. Goal-types implemented include achievement (attain a specified world state), maintenance (re-attain a specified world state), and behavior performance. Execution of multiple simultaneous goals are supported, with suspension and resumption capabilities for each goal (i.e., intention) thread. JAM plans have explicit precondition and runtime attributes that restrict their applicability, a postcondition attribute, and a plan attributes section for specifying plan/domain-specific plan features. Available plan constructs include: sequencing, iteration, subgoaling, atomic (i.e., non-interruptable) plan segments, n-branch deterministic and non-deterministic conditional execution, parallel execution of multiple plan segments, goal-based or state-based synchronization, an explicit failure-handling section, and Java primitive function definition through explicit integration into JAM as well as the invocation and access of predefined (i.e., legacy) class methods and members via Java's reflection capabilities without having to do any explicit integration with JAM.
 
Manual - (Microsoft Word (XP)), (HTML - apologies for any formatting problems as this is created automatically using Word) [Updated November 1, 2001]
 
List of Changes - A number of changes have been made from the prior version.
 
Download - (zip'd Java source code, manual, etc.)[Updated November 1, 2001]
[You may also want to download and install the latest release of the Java Development Kit and JavaCC although this is not necessary.]
 
Mailing list - JAM-users@yahoogroups.com is an unmoderated mailing list for discussing anything related to building and using JAM agents. You have to be an eGroups member to read messages sent to JAM-users but you can post messages even if you're not a member. To join yahoo!Groups in the large, go to the yahoo!Groups homepage and spend the minute it takes to join. Then send a message to the following email addresses to join/leave/post to JAM-users@yahoogroups.com. Specifically:
Post message: JAM-users@yahoogroups.com
Subscribe: JAM-users-subscribe@yahoogroups.com
Unsubscribe: JAM-users-unsubscribe@yahoogroups.com
List owner: JAM-users-owner@yahoogroups.com

You can reach the JAM-users web-based interface page directly using the following URL:

http://groups.yahoo.com/group/JAM-users
 
 
UMPRS Agent
 
General description - UMPRS supports top-down, goal-based reasoning and selects goals and plans based on maximal priority. Execution of multiple simultaneous goals are supported, with suspension and resumption capabilities for each goal (i.e., intention) thread. UMPRS plans have an integrated precondition/runtime attribute that constrain their applicability. Available plan constructs include: sequencing, iteration, subgoaling, atomic (i.e., non-interruptable) blocks, n-branch deterministic conditional execution, explicit failure-handling section, and C++ primitive function definition.
 
Manual - (Mac Word 5.1)(HTML - apologies for any formatting problems as this is created automatically using Word)

Source-code - (tar'd then gzip'd C++ code)

[You will also need to download and install the latest releases of bison and flex (look for the ighest numbered versions of the files bison-1.*.tar.gz and flex-2.5*.tar.gz)]

NOTE - The distribution does not contain an "example" directory as described in the manual. Professor Ed Durfee at the University of Michigan is working on this and it will be included in the distribution as soon as it is ready.

NOTE - The distribution, as is, does not work with the latest versions of gcc. gcc version 2.7.2 was the last known version with a compatible template scheme. Professor Ed Durfee at the University of Michigan is working on this and it will be included in the distribution as soon as it is ready.

Both of these represent work in progress, especially the JAM agent implementation. As such, refer back to this page frequently for updates. On-line documentation in the form of tutorials on how to develop and use these agents (beyond what is already in the manual) will be forthcoming as time permits.

In addition to the standard programming paradigm, ORINCON Corporation and the Johns Hopkins University's Applied Physics Laboratory (APL) have both implemented graphical front-ends to simplify and greatly speed programming of these agents architectures (a high-level description of Orincon's Agent Workbench is available for download as TR-IRS-98-01.zip). If you are interested in these applications or projects, you should contact them (Pat McLaughlin at ORINCON, Tom Smith at APL) directly.

________________________________
 
 
 

    

Home  |  Download  |  Papers  |  Links  |
2001   Intelligent Reasoning Systems. All Rights Reserved.
 
Web site created and administered by
Executive Media Online