XFL3: The Xfuzzy 3 specification language


Function packages

A great advantage of XFL3 is that functions assigned to fuzzy operators can be defined freely by the user in external files (named as packages), which gives a huge flexibility to the environment. Each package can include an unlimited number of definitions.

Six types of functions can be defined in XFL3: binary functions that can be used as T-norms, S-norms, and implication functions; unary functions that are related with linguistic hedges; crisp functions that implement crisp blocks; membership functions that are used to describe linguistic labels; families of membership functions that define a set of membership functions which share their parameters; and defuzzification methods.

A function definition include its name (and possible alias), the parameters that specify its behavior as well as the constraints on these parameters, the description of its behavior in the different languages to which it could be compiled (C, C++ and Java), and even the description of its differential function (if it is employed in gradient-based learning mechanisms). This information is the basis to generate automatically a Java class that incorporates all the function capabilities and can be employed by any XFL3 specification.


For comments, patches, bug reports, etc contact us at:   xfuzzy-team@imse-cnm.csic.es

©IMSE-CNM 2018