Intelligent agent workbench
First Claim
1. A computer-based intelligent agent for modeling an interface between a system and a user performing a pre-defined function in connection with the system, the intelligent agent comprising:
- an instance structure representative of a current problem instance;
a perceptual process for executing a plurality of perception knowledge structures, each perception knowledge structure being representative of information that must be perceived from the system, the perception knowledge structure including sub-structures for obtaining information from the system and for updating the instance structure with the obtained information, and wherein the perceptual knowledge structures translate external events into symbolic representations and establish connections to previously acquired perceptual knowledge;
a cognitive process for executing goal-based and hierarchically-organized procedural knowledge components, the procedural knowledge components including task performance structures, wherein each task performance structure includes a goal hierarchy having a single top-level goal and a number of sub-goals, and wherein the goal-based and hierarchically-organized procedural knowledge components are executed by matching patterns against sub-goal preconditions, each task performance structure being representative of a task the intelligent agent can be called on to perform, the task performance structure including sub-structures for accessing the instance structure to obtain instance information and for modifying instance information in the instance structure, each task performance structure having a triggering condition for triggering the task performance structure, the triggering condition being based on a current state of the instance structure as updated by the perception structures; and
an attention process for determining how procedural knowledge components compete for attention and for calculating a dynamic priority for each competing procedural knowledge component, including the currently executing procedural knowledge component, to determine a highest momentary priority, the attention process allocating the cognitive process to begin or continue execution of the procedural knowledge component having the highest momentary priority.
1 Assignment
0 Petitions
Accused Products
Abstract
An intelligent agent workbench is disclosed for developing a computer-based intelligent agent that can be inserted between a system and an individual performing a pre-defined function with the system and/or that can supplant such function performed by such individual. In the workbench, an agent author allows a workbench user to create and modify an intelligent agent in a graphical representation. The workbench also has an execution engine for executing a non-graphical representation of the agent both within the workbench and outside the workbench as a stand-alone agent, and an interpreter for automatically translating between the non-graphical and graphical representations. The agent has an instance structure representing a current problem instance, perception structures, task performance structures, and a priority structure. Each perception structure represents information perceived from the system, and includes sub-structures for obtaining information from the system and updating the instance structure therewith. Each task performance structure represents a task the agent can perform, and includes sub-structures for accessing the instance structure to obtain instance information, modifying instance information in the instance structure, and determining a priority for the task performance structure and notifying the instance structure of the determined priority.
84 Citations
37 Claims
-
1. A computer-based intelligent agent for modeling an interface between a system and a user performing a pre-defined function in connection with the system, the intelligent agent comprising:
-
an instance structure representative of a current problem instance;
a perceptual process for executing a plurality of perception knowledge structures, each perception knowledge structure being representative of information that must be perceived from the system, the perception knowledge structure including sub-structures for obtaining information from the system and for updating the instance structure with the obtained information, and wherein the perceptual knowledge structures translate external events into symbolic representations and establish connections to previously acquired perceptual knowledge;
a cognitive process for executing goal-based and hierarchically-organized procedural knowledge components, the procedural knowledge components including task performance structures, wherein each task performance structure includes a goal hierarchy having a single top-level goal and a number of sub-goals, and wherein the goal-based and hierarchically-organized procedural knowledge components are executed by matching patterns against sub-goal preconditions, each task performance structure being representative of a task the intelligent agent can be called on to perform, the task performance structure including sub-structures for accessing the instance structure to obtain instance information and for modifying instance information in the instance structure, each task performance structure having a triggering condition for triggering the task performance structure, the triggering condition being based on a current state of the instance structure as updated by the perception structures; and
an attention process for determining how procedural knowledge components compete for attention and for calculating a dynamic priority for each competing procedural knowledge component, including the currently executing procedural knowledge component, to determine a highest momentary priority, the attention process allocating the cognitive process to begin or continue execution of the procedural knowledge component having the highest momentary priority. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 21)
-
-
12. An intelligent agent workbench for developing a computer-based intelligent agent capable of performing pre-defined functions on a system either autonomously or in support of a human user of the system, the workbench comprising:
-
an intelligent agent authoring tool for allowing a workbench user to create and modify an intelligent agent using a graphical language with integrated automatic tools that preclude the entry of syntactically and semantically inappropriate elements into the agent as it is being created or edited by the intelligent agent authoring tool, by identifying a set of syntactically and semantically appropriate options and providing the options to the intelligent agent authoring tool to be displayed as the only possible options to the user;
an execution engine tool for executing a low-level non-graphical representation of the intelligent agent both within the workbench and outside the workbench as a stand-alone intelligent agent that supports the automatic tools that constrain entry to syntactically and semantically appropriate options;
an interpreter tool for automatically translating between the lower-level non-graphical representation of the intelligent agent and the higher-level graphical representation of the intelligent agent; and
a user-programmable interface for translating selected actions and events in the system of interest to the intelligent agent into a form that is accessible to the intelligent agent, and for translating selected classes of actions or events into specific actions or events in the system when called by the intelligent agent. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
22. A method for employing an intelligent agent workbench to develop a computer-based intelligent agent capable of performing pre-defined functions on a system either autonomously or in support of a human user of the system, the method comprising the steps of:
-
allowing a workbench user to create and modify an intelligent agent on the workbench by way of an intelligent agent authoring tool using a graphical language with integrated automatic tools that preclude the entry of syntactically and semantically inappropriate elements into the intelligent agent as it is being created or edited by the intelligent agent authoring tool by identifying a set of syntactically and semantically appropriate options and providing the options to the intelligent agent authoring tool to be displayed as the only possible options to the user;
executing a lower-level non-graphical representation of the intelligent agent on the workbench by way of an execution engine tool, the lower-level non-graphical representation of the intelligent agent also being executable outside the workbench as a stand-alone intelligent agent that supports the automatic tools that contrain entry to syntactically and semantically appropriate options;
automatically translating between the lower-level non-graphical representation of the intelligent agent and the higher-level graphical representation of the intelligent agent on the workbench by way of an interpreter tool; and
translating selected actions and events in the system of interest to the intelligent agent into a form that is accessible to the intelligent agent and translating selected classes of actions or events into specific actions or events in the system when called by the intelligent agent by way of a user-programmable interface. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
identifying, by the test and debug tool, a set of all syntactically and semantically appropriate options for a point of the intelligent agent where a new operator may be added or where an argument of an existing operator may be changed;
passing, by the test and debug tool, the identified set to the intelligent agent authoring tool; and
limiting, by the intelligent agent authoring tool, the workbench user at such point to the identified set.
-
-
25. The method of claim 23 further comprising the step of immediately parsing and checking an operator for conflicts and errors and reporting any such conflicts and errors to the intelligent agent authoring tool, by the test and debug tool, once such operator has been defined or changed with the intelligent agent authoring tool.
-
26. The method of claim 22 wherein the intelligent agent includes structures including an instance structure representative of a current problem instance, a plurality of perception knowledge structures, each perception knowledge structure being representative of information that must be perceived from the system, and a plurality of task performance structures, each task performance structure being representative of a task the intelligent agent can be called on to perform, and wherein each structure is hierarchically organized, the method further comprising the step of visually conveying, by the intelligent agent authoring tool, each structure according to the hierarchical organization thereof.
-
27. The method of claim 26 further comprising the steps of:
-
visually conveying, by the intelligent agent authoring tool, each structure as an outline having branches; and
selectively expanding and hiding, by the workbench user, each branch.
-
-
28. The method of claim 22 further comprising the step of testing and debugging the intelligent agent on the workbench by way of a test and debug tool by:
-
identifying, by the test and debug tool, a set of all syntactically and semantically appropriate operators for a point of the outline where a new operator may be added;
passing, by the test and debug tool, the identified set to the intelligent agent authoring tool; and
limiting, by the intelligent agent authoring tool, the workbench user at such point to the identified set.
-
-
29. The method of claim 28 further comprising the steps of:
-
displaying, by the intelligent agent authoring tool, an insertion handle at a point of the outline where a new operator may be added;
activating, by the workbench user, the insertion handle to insert an operator thereat; and
presenting, by the intelligent agent authoring tool, the identified set for the point of the activated insertion handle in response thereto.
-
-
30. The method of claim 29 further comprising the steps of:
-
selecting, by the workbench user, an operator from the presented identified set;
inserting, by the interfacing agent authoring tool, the selected operator at the location of the activated insertion handle; and
creating, by the interfacing agent authoring tool, insertion handles above and below the inserted operator in the outline.
-
-
31. A method for allowing a workbench user to create and modify a software device on a workbench in a higher-level graphical representation, the software device including a hierarchically organized structure, the method comprising the steps of:
-
visually conveying the hierarchically organized structure as an outline having branches;
displaying an insertion handle at a point of the outline where a new operator is added;
activating, by the workbench user, the insertion handle to insert an operator thereat;
identifying a set of all syntactically and semantically appropriate operators for the insertion handle; and
presenting to the workbench user the identified set of appropriate operators, wherein the workbench user is limited to adding an operator from the identified set. - View Dependent Claims (32)
selecting, by the workbench user, an operator from the presented identified set;
inserting the selected operator at the location of the activated insertion handle; and
creating insertion handles above and below the inserted operator in the outline.
-
-
33. A method for developing a computer-based intelligent agent for modeling an interface between a system and a user performing a pre-defined function in connection with the system, the method comprising the steps of:
-
recording interactions of the user with the system in real time;
taking verbal protocols from the user regarding the user'"'"'s interactions with the system;
modeling cognitive tasks by identifying for each cognitive task all instances of that task in the recorded interactions and the verbal protocols and analyzing the instances to define a common hierarchy of goals and sub-goals;
in parallel with the cognitive task modeling, modeling a problem representation by analyzing the verbal protocols to identify categories of information that the user used to describe a problem or problem-solving process; and
defining perceptual monitors and a task priority structure. - View Dependent Claims (34, 35, 36, 37)
-
Specification