IBM Agent Building Environment Developer's Toolkit
This document describes the IBM Agent Building Environment Architecture and the IBM Agent Building Environment Developer's Toolkit, Level 5,
concentrating mainly on the portion of the architecture that is
currently implemented. It describes at a high level the frameworks or
components that are currently available for experimentation and initial
development purposes. It describes the remaining documentation material,
with suggestions for task-oriented reading.
If you are interested in some of the initial design points, thoughts
on future direction, etc. you can read more of the high level
architecture and design material in the Appendix.
The emphasis of the IBM Agent Building Environment Developer's Toolkit is to assist in the problem of integrating
intelligent agents into existing, as well as new applications by providing
a structure of existing frameworks or components, as well as the interfaces
for logically extending them to the requirements of your application.
Specific samples are provided to both test the design and to illustrate
and demonstrate the current toolkit capabilities. In many cases the
samples are also used in tutorial material for increasing your understanding.
Additional tutorials and samples are expected with the release of future
levels of the toolkit.
For convenience of printing and accessing information,
the documentation has been broken into three separate books.
The following briefly describes each document in the Level 6 of the IBM Agent Building Environment Developer's Toolkit
Library:
- Overview (this book) provides an introduction
to intelligent agents, as described above.
-
Users Guide contains tutorials and guidelines
for using the IBM Agent Building Environment Developer's Toolkit It is generally task oriented. It has tutorials
for understanding rules, understanding the sample agent programs,
writing your own agent program, using the library to store your rules
and other application information, and writing adapters for your
own specific application requirements.
The tutorials for writng your own agent program and adapters begin at
a very high level and move all the way to the code level. You can
follow it to the level of your needs.
- Components and Adapter Reference provides a
detailed description and explanation of the various classes
and methods available for using the IBM Agent Building Environment Developer's Toolkit
The following terms are trademarks of the IBM Corporation in the
United States or other countries or both:
- AIX
- C Set ++
- IBM
- OS/2
- VisualAge
The following terms are trademarks of the Microsoft
Corporation in the United States or other countries or both:
- Visual C++
- Windows
- Windows NT
Borland C++ is a trademark of Borland International, Inc..
Java is a trademark of Sun Microsystems, Inc.
The following is a summary of changes made to the Level 6 of the
IBM Agent Building Environment Developer's Toolkit.
- A number of changes to the Time Adapter:
- support for
persistent alarms (alarms that persist beyond a termination or shutdown
of an agent system). Persistent alarms obviate having to reestablish
alarms on each system restart.
- All alarms present the "Time:Alarm" event. In previous
releases "Time:IntervalAlarm", "Time:OneTimeAlarm", and
"Time:IdentifiedAlarm" events were presented.
-
reduction of the number of Time
Adapter effectors with more consistent names
without affecting their function.
Your existing
rule sets that involve Time Adapter events, sensors, or effectors
are affected.
Refer to "Time Adapter Reference" of the Components and Adapter Reference book for
additional details and examples.
-
To provide flexibility in resetting
alarms for a selector when conduct
sets are reloaded, a reset effector is provided, while support for the
reset callback function of the agent is still supported as
an alternative.
-
Previously alarms were not presented when they were set for expired
times.
There is a new default to present
alarms expired within a specified time frame for each interval unit, ie.
hours, days, etc. and one-time alarms. These defaults may be overridden
with an effector.
- There is a new AGENT:CONFIG event that is
initiated by the agent before the AGENT:STARTING event
and before agent start(). This event makes it easier to
configure adapters through rules that are conditioned on this event.
Refer to "RemAgent - Agent Building Environment Developer's Toolkit Agent Configuration" of the User's Guide book and Chapter 3. "Adapter Reference Material"
of the Components and Adapter Reference book.
- The implicit call to the
adapter reset function has been removed from
loadConductSet() of IAAgent, unloadConductSet()
of IAAgent, as well as the loadCS/unloadCS commands of
the sample agent program.
Instead
reset of a selector is available more flexibly as a separate
agent service (method and command). Refer to Chapter 2. "Agent Reference"
of the Components and Adapter Reference book and "Start Up Options for the Sample Agent Programs" of the User's Guide book.
- JDK 1.1 is required and expoited for better performance. Jar files
are provided in place of zip files.
- Completed support for Microsoft Visual C++ (adding support for
the IALibrary and associated Library objects).
- Support for the Borland C++ compiler is added.
- A complete agent (Reminder Server) sample program is added to
illustrate almost all aspects of the Agent and Library component application programming interfaces.
This also illustrates many of the new functions listed above (new
Time Adapter effectors, AGENT:CONFIG event, etc.
Refer to Chapter 3. "Agent Server Sample" of the User's Guide book.
The following is a summary of changes made to the Level 5 of the
IBM Agent Building Environment Developer's Toolkit.
- The agent interface (the interface for initializing and controlling
the agent) now supports Java as well as C++. A sample Java agent is
also added.
- Real numbers are supported as terms for rules/facts.
- Rule and Atom parsing improvements: more and better messages, escapes
characters, allow for underscore and numerics in symbols etc.
- New Time Adapter effectors.
- Documentation reoganized to make material easier to locate and navagate.
Additional changes affecting rules/programs that used earlier levels:
- Version management added to Library objects affects format of rules
format by running the cvtrules utility. See the READ.ME file for
details.
- Sample Adapters renamed. See samples directory.
The following is a summary of changes made to the Level 4 of the
IBM Agent Building Environment Developer's Toolkit.
- In addition to previously supported platforms, IBM Agent Building Environment Developer's Toolkit now
runs on AIX.
- Conduct sets can now be loaded or unloaded into the agent while the
agent is running. In previous versions, conduct sets could only be
loaded into the agent during the start-up procedure.
- Changes to different classes in the adapter
interface, including IAAdapter, IAAtom and IAFactSet.
- Changes have been made to the DLL structure toolkit,
requiring changes to any makefiles used to build C++ adapaters.
- Change in the format of the
LIBRARY statement in the configuration file used by the IAAGENT.
- Change to the library component, changing the way library
objects are created and destroyed.
- The user can now control the type of logging done by the RAISE
engine.
The following is a summary of changes made to the Level 3 of the
IBM Agent Building Environment Developer's Toolkit.
- Supported C++ compilers for developing adapters are:
- There have been several changes to different classes in the adapter
interface, including IAAdapter, IAAtom and IAFactSet.
- A new adapter called File is included.
- Two additional classes have been added to the library.
These classes are IALibLogRecord and IALibLogRecordSet.
- Only the Java version of the Generic Rule Editor is provided.
- Logging of inferencing episode by the RAISE engine can be controlled
by the user.
The following is a summary of changes made to the Level 2 of the
IBM Agent Building Environment Developer's Toolkit.
- In addition to OS/2, IBM Agent Building Environment Developer's Toolkit now runs on Windows 95 and Windows NT.
- Adapters can be written in either C++ or Java.
A new sample adapter called StockAdapter
written in Java, is provided with this version.
- A Java version of the Generic Rule Editor is provided.
Note: The old version of the Generic Rule Editor is still available for
OS/2 in this version of the IBM Agent Building Environment Developer's Toolkit. However, it is our intention to
stabilize that version and continue development only on the Java version
of the Generic Rule Editor.
- The following incremental enhancements have also been made:
- The HTTP Adapter methods can now be invoked before the
adapter's Start member function is invoked.
This means that the AGENT:STARTING event can be used to
invoke any of the effectors on the adapter.
- The SampMail adapter has a new effector: EMailRelayHostIs. This
effector is only useful on Windows platforms; see the SampMail read.me
file for details.
About this document
Introduction to IBM Agent Building Environment Developer's Toolkit
IBM Agent Building Environment Developer's Toolkit Structure and Architecture
Component Application Interfaces
IBM Agent Building Environment Developer's Toolkit Primary Architectural Principles
Supported Platforms and Components
Platforms Currently Support by the IBM Agent Building Environment Developer's Toolkit
Current IBM Agent Building Environment Developer's Toolkit Components
What can I Do with the Current IBM Agent Building Environment Developer's Toolkit?
Guide for Reading The IBM Agent Building Environment Developer's Toolkit Documentation
Appendix A. Architectural Notes and Design Points
Agent Design Model
Component Specialization
Open Integration
Easy Development
Adapters
Adapter Examples
Adapter Design Points
Engines
Engine Examples
Engine Design Points
Knowledge
Knowledge Examples
Knowledge Design Points
Library
Library Examples
Library Design Points
Views
Views Examples
Views Design Points
Summary
Appendix B. Frameworks in General
Engine Framework
Description
Types of Engines
Chainer
Executive
Analyzer
Monitor
Compositions
Simple Composition
Reflective Composition
Hybrid Composition
Complex Composition
Knowledge Framework
Library Framework
Conduct Set Objects
Access Library Objects by Name
Knowledge Interchange Format
Learning Objects
Logs
Object Metadata
View Framework
Interaction with other Frameworks
Adapters
Library
Design Criteria
Components
Rule Authoring
InstructionDialog
InstructionDialogEngine
ContextListFrame
RuleTemplate
InstructionListFrame
EndUserLabelDictionary
CommonTermsDictionary
Appendix C. Glossary
[ Top of Page | Previous Page | Next Page | Table of Contents ]