All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

KnowHow Interface CATIRuleBaseComponent

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---KnowHow.CATIGenericRuleBaseComponent
        |
        +---CATIRuleBaseComponent
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATIRuleBaseComponent

Interface dedicated to describing the common contents of leaf nodes of the Knowledge Expert hierarchy.
Role a leaf node can be a check or a rule. So it needs quantified variables of types (on which to work : for instance "H:Hole; P:Pad") and a body (action or condition over the objects of the types previously named, for instance "H.Diameter > 10mm and H.Diameter < 20mm" for a check or "if H.Diameter > 15mm { H.Diameter = 15mm }" for a rule).
The body of the rule base component can be written in two languages. The KWE language is to be preferred as it takes fully advantage of the reactivity of the expert system, based on the type/attribute descritption of objects (for instance the type Hole with attributes Diameter, .. is specific to the KWE language). When an attribute of an object is modified through a rule, then the expert system is informed and it triggers all the rules that need to be.
But sometimes it may lack some functionalities, so the VB script language can then be used as a workaround .. that won't benefit from the type/attribute descritption.


Method Index


o GetDescription()
Returns the body translated in KWE language if needed.
o GetDescriptionByLanguage()
Returns the body in the specified language of the rule base component.
o GetLanguage()
Gets the language of the body of component.
o GetVariables()
Gets the names of the types used.
o SetLanguage(CATIRuleBaseComponent::RuleBaseComponentLanguage)
Sets the language of the body of component.
o UpdateDescription(CATUnicodeString,CATUnicodeString)
Updates the names of the types used and the body.

Enumerated Type Index


o RuleBaseComponentLanguage
Language in which the body of the component is written.

Methods


o GetDescription
public virtual CATUnicodeString GetDescription()=0
Returns the body translated in KWE language if needed. For internal use only.
Returns:
the body string.
o GetDescriptionByLanguage
public virtual CATUnicodeString GetDescriptionByLanguage()=0
Returns the body in the specified language of the rule base component.
Returns:
the body string.
o GetLanguage
public virtual CATIRuleBaseComponent::RuleBaseComponentLanguage GetLanguage()=0
Gets the language of the body of component.
Returns:
CATIRuleBaseComponent.RuleBaseComponentLanguage .
o GetVariables
public virtual CATUnicodeString GetVariables()=0
Gets the names of the types used.
Returns:
string with names of the types used.
o SetLanguage
public virtual void SetLanguage(CATIRuleBaseComponent::RuleBaseComponentLanguage iLanguage)=0
Sets the language of the body of component. For internal use only.
Parameters:
iLanguage
CATIRuleBaseComponent.RuleBaseComponentLanguage .
o UpdateDescription
public virtual void UpdateDescription(CATUnicodeString iVariables,
CATUnicodeString iBody)=0
Updates the names of the types used and the body. The body must be written in the language specified at the creation of the rule base component.
Parameters:
iVariables
Names of the variables and the types used.
iBody
Body string.

Enumerated Types


o RuleBaseComponentLanguage
enum RuleBaseComponentLanguage {
  KWELanguage,
  VBLanguage,
  KWEComplexLanguage
}
Language in which the body of the component is written.
Parameters:
KWELanguage
basic language.
VBLanguage
VB script language.

This object is included in the file: CATIRuleBaseComponent.h
If needed, your Imakefile.mk should include the module: CATKWERule

Copyright © 2003, Dassault Systèmes. All rights reserved.