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

Initializes a RefineableActionRule to be used in the top level of a MetaCognitiveModule (upon being committed)

Namespace: Clarion
Assembly: CLARIONLibrary (in CLARIONLibrary.dll) Version: 6.1.0.7 (6.1.0.7)

Syntax

C#
public static T InitializeMetaCognitiveActionRule<T>(
	MetaCognitiveModule destination,
	IActionRuleFactory<T> factory,
	params Object[] parameters
)
where T : RefineableActionRule

Parameters

destination
Type: Clarion.Framework.Templates..::..MetaCognitiveModule
The module in which the rule is being attached
factory
Type: Clarion.Framework.Templates..::..IActionRuleFactory<(Of <(<'T>)>)>
The factory to use to generate the rule
parameters
Type: array<System..::..Object>[]()[][]
(optional) Any parameters that may be needed by the factory in order to initialize the rule.
To find-out the list of required and optional parameters, please consult the documentation of the factory for the rule being generated

Type Parameters

T
The type of RefineableActionRule that is to be initialized within the module

Return Value

A rule of the type specified initialized within the module specified

Remarks

Caution
Don't forget that the rule being initialized by this method MUST be committed to the module in which it was initialized! Failure to do so WILL result in an error!

Examples

CopyC#
GoalSelectionModule gsm = AgentInitializer.InitializeMetaCognitiveModule(John, GoalSelectionModule.Factory);

RefineableActionRule rule = AgentInitializer.InitializeMetaCognitiveActionRule(gsm, RefineableActionRule.Factory);

//Elided code further initializing the module and rule

gsm.Commit(rule);

John.Commit(gsm);

See Also