Peter Hickman > AI-ExpertSystem-Simple.1.2 > AI::ExpertSystem::Simple::Rule

Download:
AI-ExpertSystem-Simple.1.2.tgz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  0
View/Report Bugs
Module Version: 1.2   Source  

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.

syntax highlighting: