NAME
AI::ExpertSystem::Simple::Rule - A utility class for a simple expert system
VERSION
This document refers to verion 1.2 of AI::ExpertSystem::Simple::Rule, released June 10, 2003
SYNOPSIS
This is a utility class for AI::ExpertSystem::Simple
DESCRIPTION
Overview
This class handles the rules
Constructors and initialisation
- new( NAME )
-
The constructor takes one argument, the NAME of the rule. The consition and actions are added later.
Public methods
- reset( )
-
Resets the state of the rule back to active and all the condition attributes to untested.
- add_condition( NAME, VALUE )
-
This adds a condition attribute name / value pair.
- add_action( NAME, VALUE )
-
This adds an action attribute name / value pair.
- name( )
-
Returns the name of the rule.
- state( )
-
Returns the current state of the rule.
- given( NAME, VALUE )
-
The NAME / VALUE attribute pair is checked against the rule's conditions to see if a condition is met and the state of the rule is changed in light of the result.
- actions( )
-
Returns a list of the actions set in the rule.
- conditions( )
-
Returns a list of the conditions matched in the rule.
- unresolved( )
-
Returns a list of all the unresolved condition of the rule.
Private methods
None
ENVIRONMENT
None
DIAGNOSTICS
- Rule->new() takes 1 argument
-
When the constructor is initialised it requires one argument. This message is given if more or less arguments were supplied.
- Rule->new() argument 1 (NAME) is undefined
-
The corrct number of arguments were supplied to the constructor, however the first argument, NAME, was undefined.
- Rule->reset() takes no arguments
-
When the method is called it requires no arguments. This message is given if more or less arguments were supplied.
- Rule->add_condition() takes 2 arguments
-
When the method is called it requires two arguments. This message is given if more or less arguments were supplied.
- Rule->add_condition() argument 1 (NAME) is undefined
-
The corrct number of arguments were supplied with the method call, however the first argument, NAME, was undefined.
- Rule->add_condition() argument 2 (VALUE) is undefined
-
The corrct number of arguments were supplied with the method call, however the second argument, VALUE, was undefined.
- Rule->add_condition() has already been set
-
This method has already been called and the value set. It cannot be called twice.
- Rule->add_action() takes 2 arguments
-
When the method is called it requires two arguments. This message is given if more or less arguments were supplied.
- Rule->add_action() argument 1 (NAME) is undefined
-
The corrct number of arguments were supplied with the method call, however the first argument, NAME, was undefined.
- Rule->add_action() argument 2 (VALUE) is undefined
-
The corrct number of arguments were supplied with the method call, however the second argument, VALUE, was undefined.
- Rule->add_action() has already been set
-
This method has already been called and the value set. It cannot be called twice.
- Rule->name() takes no arguments
-
When the method is called it requires no arguments. This message is given if more or less arguments were supplied.
- Rule->state() takes no arguments
-
When the method is called it requires no arguments. This message is given if more or less arguments were supplied.
- Rule->given() takes 2 arguments
-
When the method is called it requires two arguments. This message is given if more or less arguments were supplied.
- Rule->given() argument 1 (NAME) is undefined
-
The corrct number of arguments were supplied with the method call, however the first argument, NAME, was undefined.
- Rule->given() argument 2 (VALUE) is undefined
-
The corrct number of arguments were supplied with the method call, however the second argument, VALUE, was undefined.
- Rule->actions() takes no arguments
-
When the method is called it requires no arguments. This message is given if more or less arguments were supplied.
- Rule->conditions() takes no arguments
-
When the method is called it requires no arguments. This message is given if more or less arguments were supplied.
- Rule->unresolved() takes no arguments
-
When the method is called it requires no arguments. This message is given if more or less arguments were supplied.
BUGS
None
FILES
See Rules.t in the test directory
SEE ALSO
AI::ExpertSystem::Simple - The base class for the expert system
AI::ExpertSystem::Simple::Goal - A utility class
AI::ExpertSystem::Simple::knowledge - A utility class
AUTHORS
Peter Hickman (peterhi@ntlworld.com)
COPYRIGHT
Copyright (c) 2003, Peter Hickman. All rights reserved.
This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.