infosapient.opr
Class FzyOperator

java.lang.Object
  |
  +--infosapient.system.ObservableImpl
        |
        +--infosapient.system.FzySystemComponent
              |
              +--infosapient.system.FzyClauseComponent
                    |
                    +--infosapient.opr.FzyOperator
Direct Known Subclasses:
FzyOprAND, FzyOprOR

public abstract class FzyOperator
extends FzyClauseComponent
implements java.io.Serializable, XMLOutput, TextOutput

Class FzyOperator embodies the behavior of a fuzzy operator

Usage: FzyOperators are used to combine (optional) multiple clauses within a premise. IF < FzyAttribClause > [ < FzyOperator > < FzyAttribClause >]

THEN < FzyAttribClause >

ELSE < FzyAttribClause >";"

Example: if (( manufacturingCosts are ELEVATED ) AND ( spoilageRates are LARGE ) ) then ( price must be around PREMIUM ); (Note: must, around are keywords known as hedges. (@see FzyHedge))

Version:
$Revision: 1.1.1.1 $
See Also:
FzyRule, * @author: Copyright (c) 2001, Workplace Performance Tools, All Rights Reserved. License to use this program is provided under the COMMON PUBLIC LICENSE 0.5 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT., Serialized Form

Field Summary
private static java.lang.String CN
           
protected  double currentSolution
           
protected  FzyClauseComponent leftChild
           
protected  FzyClauseComponent rightChild
           
(package private) static long serialVersionUID
           
 
Fields inherited from class infosapient.system.FzyClauseComponent
owner, text
 
Fields inherited from class infosapient.system.FzySystemComponent
DEBUG_, myID, name, pcs, serialVersionUID, trace, vcs
 
Fields inherited from class infosapient.system.ObservableImpl
arr, changed, obs, serialVersionUID
 
Constructor Summary
FzyOperator()
           
 
Method Summary
abstract  void apply(double value0, double value1)
           
static FzyOperator CreateOperatorFor(java.lang.String name)
          Factory method for FzyOperator.
 FzyClauseComponent getLeftChild()
           
 FzyClauseComponent getRightChild()
           
 double getSolutionDOM()
           
 boolean hasSolution()
          Return the status of the current solution.
 boolean isValid()
          return true if the operator is in a valid state, ie.
 void reset()
           
 void setLeftChild(FzyClauseComponent fcc)
           
 void setRightChild(FzyClauseComponent fcc)
           
 void setSolutionDOM(double s)
          Set the solution degree of membership (DOM)
 java.lang.String toString()
          Method to convert the operator clause to human readable string.
 java.lang.String toText()
          Represent this Operator (and its children) as a StringBuffer with operator/children text.
 java.lang.StringBuffer toXML(int nTabs)
          Represent this operator (and this operators children) as xml tags.
 
Methods inherited from class infosapient.system.FzyClauseComponent
append, append, getOwner, getText, setOwnerClause, setText
 
Methods inherited from class infosapient.system.FzySystemComponent
addPropertyChangeListener, addVetoableChangeListener, equals, getID, getName, getPropertyChangeSupport, getVetoableChangeSupport, hashCode, printOn, removePropertyChangeListener, removeVetoableChangeListener, setID, setName
 
Methods inherited from class infosapient.system.ObservableImpl
addObserver, clearChanged, containsObserver, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
, clone, finalize, getClass, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID

currentSolution

protected double currentSolution

rightChild

protected FzyClauseComponent rightChild

leftChild

protected FzyClauseComponent leftChild

CN

private static final java.lang.String CN
Constructor Detail

FzyOperator

public FzyOperator()
Method Detail

apply

public abstract void apply(double value0,
                           double value1)
                    throws FzySystemException

CreateOperatorFor

public static FzyOperator CreateOperatorFor(java.lang.String name)
                                     throws FzySystemException
Factory method for FzyOperator. Provide the operator name as string, will return the appropriate FzyOperator object. Creation date: (1/4/00 3:25:53 PM)
Parameters:
name - java.lang.String
Returns:
infosapient.opr.FzyOperator
Throws:
FzySystemException - --The exception description.

getLeftChild

public FzyClauseComponent getLeftChild()

getRightChild

public FzyClauseComponent getRightChild()

getSolutionDOM

public double getSolutionDOM()
Overrides:
getSolutionDOM in class FzyClauseComponent

hasSolution

public boolean hasSolution()
Return the status of the current solution. True - hasSolution
Overrides:
hasSolution in class FzyClauseComponent
Returns:
boolean

isValid

public boolean isValid()
                throws java.lang.IllegalStateException
return true if the operator is in a valid state, ie. left child == FzyAttribClause | FzyOperator right == FzyAttribClause
Returns:
boolean
Throws:
java.lang.IllegalStateException - detailing which child is not valid.

reset

public void reset()
Overrides:
reset in class FzyClauseComponent

setLeftChild

public void setLeftChild(FzyClauseComponent fcc)
                  throws java.lang.IllegalStateException
Parameters:
infosapient.system.FzyClauseComponent - -- the ClauseComponent to be added
Throws:
java.lang.IllegalStateException - -- if the right side is already occupied.

setRightChild

public void setRightChild(FzyClauseComponent fcc)
                   throws java.lang.IllegalStateException
Parameters:
infosapient.system.FzyClauseComponent - -- the ClauseComponent to be added
Throws:
java.lang.IllegalStateException - -- if the right side is already occupied.

setSolutionDOM

public void setSolutionDOM(double s)
Set the solution degree of membership (DOM)
Parameters:
double - - degree of membership

toString

public java.lang.String toString()
Method to convert the operator clause to human readable string. Creation date: (2/24/00 1:59:41 PM)
Overrides:
toString in class java.lang.Object
Returns:
java.lang.String

toText

public java.lang.String toText()
Represent this Operator (and its children) as a StringBuffer with operator/children text. Creation date: (2/1/00 5:47:46 PM)
Specified by:
toText in interface TextOutput
Overrides:
toText in class FzyClauseComponent
Returns:
java.lang.StringBuffer

toXML

public java.lang.StringBuffer toXML(int nTabs)
Represent this operator (and this operators children) as xml tags. Creation date: (1/31/00 8:19:36 AM)
Specified by:
toXML in interface XMLOutput
Parameters:
int - - number of tabs required to maintain correct indentation.
Returns:
java.lang.StringBuffer

License to use this program is provided under the TERMS OF THE COMMON PUBLIC LICENSE 0.5. ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

Copyright (c) 2001, Workplace Performance Tools, All Rights Reserved