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.


Table of Contents

Chapter 1. A Tutorial for Writing Rules and Adapters

  • Thumb-nail Architecture
  • 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 ]