The following chart shows the class hierarch of FFLL.
This 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.
This is the "main" class for a FFLL model. It contains the variables and rules that define a model.
Class that has the variable information. Each variable has a list of sets that define the membership functions for the variable.
This 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.
This 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.
This 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.
This is an abstract class that defines the type of "curve" a set has.
This 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.
This is the singleton shaped membership function. It consists of 1 point. Singletons are used to represent discreet choices. For example if one of the inputs to a fuzzy system was "type of car" we may use singletons with values such as "Ford", "GM", "VW", etc. They are discreet choices there's no fuzziness involved.
This is the trapezoid shaped membership function. It consists of 4 points.
This is the triangle shaped membership function. It consists of 3 points.
Abstract base class for defuzzifcation variable objects.
Variable object for Center of Gravity Defuzzification Method.
Variable object for the Mean of Maximum Defuzzification Method
Abstract base class for defuzzifcation set objects.
Defuzz set object for Center of Gravity defuzz method. See COGDefuzzVarObj.h for details on this defuzz method
Mean of Maximum defuzzifcation set object. This object holds the index of the set for this method. See MOMDefuzzVarObj.h for details on this defuzz method.
This class holds the rules array for the modelBack to Hierarchy Chart