IBM Agent Building Environment Developer's Toolkit
Level 6
USER'S GUIDE
IBM Agent Building Environment Developer's Toolkit
June, 1997
IBM Intelligent Agent Center of Competence
home page: http://www.networking.ibm.com/iag/iaghome.html
e-mail address:iagent@us.ibm.com.
This toolkit is provided for experimentation and without any formal
support. However, you are encouraged to send feedback or report bugs
to our e-mail id:
iagent@us.ibm.com.
Level 6, June, 1997
This documentation applies to the IBM Agent Building Environment Developer's Toolkit, Level 5.
© Copyright International Business Machines Corporation 1997. All rights reserved.
Note to U.S. Government Users -- Documentation related to restricted rights -- Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule contract with IBM Corp.
Chapter 1. A Tutorial for Writing Rules and Adapters
Chapter 2. Writing Rules and Understanding Rule Inferencing
Logical Implication
Atoms and Predicates
Expressions
FACTS
Long Term Facts
Short Term Facts
Derived Facts
Inferencing Episode and the Fact Pool
The Truth of the Matter
Binding Free Variables
Chapter 3. Agent Server Sample
The Purpose of the Agent Server Sample
The Client Application and Commands
Overview of the RemAgent Server Sample
RemAgent - Main Thread
RemAgent - Initialization of the Agent
RemAgent - Start-up of the Agent Building Environment Developer's Toolkit Agent
RemAgent - Initialization of the Server Object
Server - Open Communications Thread
Connection - New Connection Handler Thread
Connection - Maintaining Application Reminders
Viewing Application Messages
Explanation of the Reminder Server Code
RemAgent Object - Initialization
RemAgent Object - Configuration of Agent Building Environment Developer's Toolkit Components
RemAgent Object - Initialization of the Library for its Own Use
RemAgent Object - Agent Building Environment Developer's Toolkit Component Startup
RemAgent Object - Server Object Initialization
Server Object - Open Communications
Connection Objects - Handling Connection Services
Connection Objects - Setup for Reminder Commands
Connection Objects - PUT Command
Connection Objects - PUT Command (continued)
Connection Objects - GET Command
Connection Objects- MODIFY Command
Connection Objects - Message Commands
RemMessage Objects
RemMessageVector Object
Connection Objects - GETMSGS Command
ConnectionObjects - GETMSGSNOMARK Command
Connection Objects- DELMSGS Command
Connection Objects - MARKMSGSASNEW Command
Connection - STATUSMSGS Command
Message Adapter
Library Initialization
Store Messages in Library
Chapter 4. Writing an Adapter
Basic Adapter Concepts
Compiling and Linking Your New Adapter Code
A Sample Adapter - The Stock Adapter
Where/How Do You Start in Writing an Adapter?
Initialization - New Adapter Object
Initialization - Adapter Registration
Initialization - Adapter Configuration Parameters
Initialization - Starting Event - Time Intervals
Initialization - Start Up
Trigger Events - Notification to Engine(s)
Sensors - Supplemental Information Request (by engines to adapters)
Effectors - Action Request (by Engine(s) to adapters)
Summary of Flow
Stock Adapter - Annotated Java Code
MonitorThread.java
Miscellaneous classes
Chapter 5. More on Writing Rules
Rule Reformulation by The Engine
Rule Normalization
Reordering Consequent Atoms for Sensor Bindings
Avoiding Cyclic Rules
Consistency in the Use of Variables in a Consequent
Limitations and Ways to Get Around Them
Fixed Number of Signatures for the Terms in an Atom
No Negations
Style and Optimizations
Factoring and Chaining for Rule Reduction
Rules With Time Dependencies
Chapter 6. Building and Starting Your Agent
Writing Your Own Agent Program
Configuring Adapters That Are Written in Java
Configuring Adapters That Are Provided With the IBM Agent Building Environment Developer's Toolkit
Using the Sample Agent Programs
Start Up Options for the Sample Agent Programs
Configuring Adapters That Are Written in Java
Configuration File for the Sample Agent Programs
Chapter 7. Using the ABE Library
Library Objects in General
Object Naming
Platform and Repository Independence
Rules and RuleSets
LTFactSets and LTFacts
Collectors and ContentsElements
User-defined Metadata
Addressing Concurrency of Access to Library Objects
Library Support of Concurrency
Library Atomicity Controls
Library Version Management
Guidelines for Atomicity and Consistency for Shared Library Objects
LogRecordSets and LogRecords
Persistent Storage Object Types
Library as a Framework of Agent Building Environment Developer's Toolkit
Library Build and Start-up
DBCS
Library User Interface Description
Creating Collectors and Storing in Them
Creating and Storing Rules and Long Term Facts
Retrieving and Using Rules and Long Term Facts
Storing and Retrieving Metadata
Deleting Rules and Long Term Facts in Persistent Storage
Using LogRecordSets
Chapter 8. Using the ABE Rule Editor
Running the Generic Rule Editor
Chapter 9. How Your Application Provides Rules for ABE
Compiling and Linking Your Application with IALibrary
Initializing and Configurating Your Application to the IBM Agent Building Environment Developer's Toolkit Library
Rule Naming
RuleSet Metadata Required for RuleSets
Chapter 10. Adding an Agent to Your Application
Compiling and Linking Your Application with IAAgent
Using IAAgent to Create an Agent
Configuring Your Agent
Starting Your Agent
Stopping the agent
Chapter 11. Engine
RAISE Inference Engine
Selector Handling by RAISE
RAISE Log Output
Chapter 12. Additional Guidelines for Writing an Adapter
Adapter Categories
Core adapters
Application Adapters
Designing your Adapter
TriggerEvents and Engine Notification
Sensors
Effectors
Adapter Selector Handling
Writing Rules using your Adapter
Implementing an Adapter
C++ Considerations
Java Considerations
Inheriting from IAAdapter Class
C++ Adapter Packaging Considerations
Java Adapter Packaging Considerations
Start up Execution Steps
Dynamic Conduct Set Loading and Unloading Execution Steps
Shutdown Execution Steps
Registering Sensors and Effectors
Using the Time Adapter
Notifying the Engine of an Event
Implementing an Effector
Implementing a Sensor
Sample Rules
Configuration Rules Example
Appendix A. Reminder Agent Sample Formatted Code
Client Code for Reminder Sample Application
RemClient Class
Server Code for Reminder Sample Application
RemAgent Class
Server Class
Connection Class
Reminder Class
RemMessage Class
RemMessageVector Class
Message Adapter Code for Reminder Sample Application
Message Adapter - h file
Message Adapter - cpp file
Index
[ Top of Page | Next Page | Index ]