Collapse All Expand All

C#

Clarion Library 6.1.1
Rule Class
Members See Also Send Feedback

[This is preliminary documentation and is subject to change.]

This class serves as the base template class for all rule types (e.g., action rules, associative rules, etc.) in the Clarion Library

Namespace: Clarion.Framework.Core
Assembly: ClarionLibrary (in ClarionLibrary.dll) Version: 6.1.1.0 (6.1.1.0)

# Syntax

C#
    public abstract class Rule : ClarionComponent,
    	IEquatable<Rule>, ITracksMatchStatistics

# Remarks

Note
This class is abstract, and therefore cannot be initialized on its own

All rules MUST extend this class (or a subclass of this class) in order to be used within the top level of the Clarion subsystems.

Note
The motivational subsystem, which contains the goal structure in the top level, is an exception to the statement above. In addition, the meta-cognitive subsystem is simply a container for meta-cognitive modules, each of which has its own top level.

While this class provides much of the basic functionality for a rule, additional functionality is needed for specific rule types. This additional functionality can be found within the subclasses of this class (e.g., ActionRule, RefineableActionRule, AssociativeRule, etc.).

Custom rules may be implemented by extending this class, although it is more likely that you will want to extend a subclass of this class (such as RefineableActionRule, IRLRule, FixedRule, etc.).

Caution
Implementing a custom rule is NOT a simple task. Users should have both a firm understanding of the Clarion theory as well as significant experience using the Clarion Library before attempting to implement their own (custom) rules. This being said, a detailed explanation of how to implement a custom rule can be found in the Advanced Tutorial under the Tutorials section of the Clarion Library package.

Copyright 2011. Nicholas Wilson

# Inheritance Hierarchy

System..::..Object
Clarion.Framework.Core..::..ClarionComponent
Clarion.Framework.Core..::..Rule
Clarion.Framework.Templates..::..ActionRule
Clarion.Framework.Templates..::..AssociativeRule

# See Also

Rule Members
Clarion.Framework.Core Namespace