|
Class HierarchyThe following chart shows the class hierarch of FFLL.
FFLLBaseThis is the base class for all FFLL classes. It stores the parent of the object so we can get the parent to go up the model hierarchy and holds a string that contains an error or warning message. Note: Since each object has it's own msg_text string, to report an error you need to propagate it up the classes. For example if an error occurs in a set the calling function should detect the error and set the msg_text for the set's variable, then the caller for the variable object should set it for the model object - until it's shown to the user. FuzzyModelBaseThis is the "main" class for a FFLL model. It contains the variables and rules that define a model. FuzzyVariableBaseClass that has the variable information. Each variable has a list of sets that define the membership functions for the variable. FuzzyOutVariableThis class is for a model's output variable. It's basedo n FuzzyVariableBase and holds information to deal with defuzzification (a process that only applys to output variables) and makes sure that the output variable contains FuzzyOutSet objects as opposed to the FuzzySetBase that the input variables use. FuzzySetBaseThis class is the base class for all sets. It's used (without desendents) in the output variables. It contains a pointer to a member func class that holds the specific information for the curve that defines the set. FuzzyOutSetThis class is for the sets in the output variable. It contain a pointer to the DefuzzSetObj abstract class. DefuzzSetObj handles all the calculations needed for the defuzzification process. MemberFuncBaseThis is an abstract class that defines the type of "curve" a set has. MemberFuncSCurveThis is the S-Curve shaped membership function. It consists of 7 points. This curve is extremely flexible and allows some if it's nodes 'y' values to be altered.
|
|