Release Notes V 3.5

Changes in version 3.5_b03

  • New functionality:
    1. The hardware synthesis tool xfsg has been updated in order to adapt Simulink model syntax to Matlab versions compatible with Vivado 2018.2, as well as to improve the routing of connection lines appearing in this model.

  • Changes in version 3.5 with respect to 3.3

  • New functionality:
    1. The graphical user interface of Xfuzzy now shows the specifications by means of drop-down structures, so that it is possible to select the complete system or any of its rule bases as the active specification on which the different tools will act.

    2. The time series prediction tool, xftsp, has been integrated into the environment, and can be accessed through the Tuning menu of the Xfuzzy's main window.

    3. A Save Image option, which allows to save the graphic representation in a JPEG file, has been added in the File menu of xfplot.

    4. The hardware synthesis tool xfvhdl has been updated to generate synthesis files for Xilinx's ISE and Vivado FPGA design environments.

    5. All tools in the Xfuzzy environment can be invoked from the command line.

  • Documentation and teaching material:
    1. The Xfuzzy documentation has been updated and completed, so that it describes the functionality of all the tools that make up the environment.

    2. As part of the distribution of Xfuzzy, examples have been included illustrating the use of the different facilities in the environment independently (Tools), as well as in combination with other IT tools for the development of different applications (Apps).

    3. In the Xfuzzy website there is also a series of tutorials that detail the use of the hardware tools provided by the environment to apply different methodologies for the development of fuzzy controllers on Xilinx FPGAs.

  • Fixed bugs:
    1. The language of the system windows used to locate files and directories has been unified, so that all the legends appear in English.

    2. Fixed a bug that prevented editing function packages with the xfpkg tool.

    3. Several errors in the execution of certain identification algorithms used by the xfdm tool have been debugged.

    4. The configuration directives for xftsp tool that had no use have been removed.

    5. Fixed an error that presented the xfsim tool when loading the model of the plant due to problems with the search path of the file.

    6. The c ++ code generated by the xfcpp tool has been modified to make it compatible with gcc compilers available in different Linux distributions and with Windows Visual Studio compiler


  • Changes in version 3.3 with respect to 3.0

  • Two new hardware synthesis tools have been included into the environment:
    1. Xfvhdl translates the specification of a fuzzy system written in XFL3 into a VHDL description that can be synthesized and implemented on a programmable device or an application specific integrated circuit.

      Compared to previous releases of hardware synthesis tools included in Xfuzzy, the major novelties of the new version of xfvhdl are:

      • It allows direct implementation of hierarchical fuzzy systems.

      • An improved functionality in many components of the VHDL library has been included in this new version. The arithmetic circuits have been modified to generate the saturation regions for membership functions shapes of type "Z" and "S". A new block that implements the first-order Takagi-Sugeno defuzzification method has been introduced. The library also contains a set of new crisp blocks that implement general purpose arithmetic (addition, subtraction, multiplication or division functions) and logic operations (selector).

      • VHDL descriptions of library components have been parameterized by "generic" VHDL statements to facilitate the design process automation.

      • An improved graphical interface has been developed to include the new functionality of the tool.

    2. Xfsg translates the XFL3 specification of a fuzzy system into a Simulink model that includes components of the XfuzzyLib library. In combination with FPGA implementation tools from Xilinx and simulation facilities from Matlab, this tool provides a powerful design environment for synthesis of fuzzy inference systems on Xilinx's FPGAs.


    Changes in version 3.0 with respect to 2.X

    1. The environment has been completely reprogrammed using Java.

    2. A new specification language, called XFL3, has been defined. Some of the improvements with respect to XFL are the following:

      1. A new kind of object, called operator set, has been incorporated to assign different functions to the fuzzy operators.

      2. Linguistic hedges, which describe more complex relationships among the linguistic variables, have also been included.

      3. User can now extend not only the functions assigned to fuzzy connectives and defuzzification methods, but also to membership functions and linguistic hedges.

    3. The edition tool can now define hierarchical rule bases.

    4. The 2-D and 3-D representation tools do not require gnuplot.

    5. A new monitor tool has been added to study the system behavior.

    6. The learning tool includes many new learning algorithms.


    Known bugs in version 3.0

    1. The file selection window throws a NullPointerException when executing Xfuzzy under Ms-Windows and Java 1.4. (This bug can be avoided using an older version of the Java environment, like 1.2 or 1.3)

    2. (xfedit) Membership functions edition sometimes provokes the error "Label already exists".

    3. (xfedit) Rules bases edition produces an error upon applying the modifications twice.

    4. (xfedit, xfmt) The hierarchical structure of the system is not drawn correctly when an internal variable is used both as input to the rulebase and as output variable.

    5. (xfsim) The end conditions upon the system input variables are not correctly verified.

    6. (tools) The command-mode execution of the different tools does not admit absolute path to identify files.

    7. (XFL3) The "definedfor" clause is not verified by the defuzzification methods.

    8. (xfcpp) Some compilers do not admit that the methods of the class Operatorset be called "and", "or" or "not".

    9. (xfsl) The clustering process may generate new membership functions whose parameters do not comply with the restrictions due to rounding errors. 

    10. (tools) Sometimes some windows of the tools are not drawn correctly and it is necessary to modify the size of these windows to force a correct representation.

  •  

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

    ©IMSE-CNM 2020