Answer to reviewers

jFuzzyLogic: A Robust and Flexible Fuzzy-Logic Inference System Language Implementation

Pablo Cingolani and Jesús Alcalá-Fdez

1 REVIEW NO. 1

Comments to the authors:

This work is definitely related to the topics of the session on ”Software for Soft Computing”. It presents jFuzzyLogic, an open source library for making easier the design of fuzzy controllers. The manuscript is well-written and organized. I only have some minor comments and suggestions aimed to improve even more the quality of the present work:

1) In section II, authors claim ”a comparison of freely available fuzzy logic software” but what about commercial software?

Answer It is not the intention of this paper to perform a comprehensive comparison of all available fuzzy logic packages. We limited the comparison to freely available packages since this is the category were jFuzzyLogic belongs as well as the most commonly used in academic environments.

2) Even though the paper focuses on fuzzy control, please notice that there are some free software tools (that should be taken into account in this work) for fuzzy modeling which offer advances methods for generation of fuzzy systems no matter the specific application domain where they will be used. Look at tools like Xfuzzy (http://www2.imse-cnm.csic.es/Xfuzzy/), Fispro (http://www.inra.fr/mia/M/fispro/FisPro EN.html), GUAJE (http://www.softcomputing.es/guaje), etc. Obviously, partitions and rules designed with such tools may be later translated into the FCL format and being used with jFuzzyLogic.

Answer The suggested software packages have been added to the list.

3) You should remark, someway, on Table I those five software packages that ”seemed to be maintained, compiled correctly, and had extensive functionality”, putting special emphasis on those two which are based on jFuzzyLogic.

Answer We added an asterisk after the package name (e.g. jFuzzyLogic^{∗}) to indicate that seemed to be maintained, compiled correctly, and had extensive functionality. The ones based on jFuzzyLogic were already markes as ’Uses jFuzzyLogic’ in the notes column.

4) TableI includes information about the number of membership functions (MF), but what about their type/shape?

5) Be careful, Table II (page4) should turn up before Table III (page3). In addition, check the use of quotation marks in TableIII.

6) Are tables II to V formal tables? In fact, they are listing code. You should use verbatim package or something similar.

7) You should plot the fuzzy partitions related to the example detailed in Tables II and III. It would help to understand better the example making it much more illustrative. Moreover, the rule base defined is made up of only three rules and as a result it is incomplete, i.e., it does not cover all possible situations. What is the suggested tip in case service=1 and food=4 (in the current example none of the three rules would be fired)?

[8) The notation used in Tables II, IV and V are not exactly the same. For instance, Table II does not include DEFAULT related to DEFUZZIFY. AND/ACT/ACCU are also missing in the RULEBLOCK. This fact should be corrected or explicitely noted in the paper.

9) In Section III.C authors state that ”a few optimization algorithms are already implemented... other optimization algorithms can be implemented”. Coming back to what I say in 2) there are many algorithms useful for fuzzy modeling that may be directly applicable in the context of jFuzzyLogic. The only thing missing is the right parser to translate from one format to other.

10) In Fig.3, be sure that variable names are in accordance with Table IV, but also with the related explanation in Section IV (page5).

11) In ”Acknowledgement” use the full names of authors instead of PC and JAF.

Some minor typos:

1) ”Figure” should be substituted by ”Fig.” according to WCCI templates.

2) ”of a [the] wall following” (page5)

3) ”The [main] requirement[s] ... is[are]...” (page5)

4) ”More than one output variable[s]” (page5)

5) Check the use of quotation marks all along the paper.

6) Ref2. pages?

7) Ref5. ”An introduction[industrial] reality”

8) Ref10. C.J. Cabrera J.A. ?

9) Ref11. I.E.C.?

2 REVIEW NO. 2

Comments to the authors: The paper presents a library for designing fuzzy logic controllers. The library is called jFuzzyLogic. It is written in Java and respects the FCL (fuzzy control language) IEC-61131-7 specifications. FCL is an instruction list oriented programming language. The aim is to provide a standardized language and parser, which could be interesting for designing industrial fuzzy controllers.

The paper is clear and easy to read. However some points are questionable.

1) The state of the art of fuzzy logic software given in the introduction is incomplete and does not include fuzzy software such as Xfuzzy, FisPro, Guaje, Nefclass... It should absolutely be completed to avoid giving false information to the readers.

2) Another flaw is the use of misleading terms in Part IIIB. What the authors call aggregation is usually called combination in rule premises. Similarly, activation is in fact the result of an implication operator. Activation should not be confused with rule matching degree. Here again, accumulation is usually called rule aggregation.

3) Part IIIb mentions that the membership functions (MFs) are systematically discretized. It seems a pity for analytical forms very easy to compute such as trapezoidal or triangular MFs.

The paper quality would be improved if the authors could address the following two topics:

1) hierarchical controllers. How is one block linked to another one?

2) optimization. Is the specification of the data used for optimizing the membership functions included in the FLC model?

3) English spelling and grammar: could be improved. for instance: page2, these limitation -¿ these limitations page 4, non neglible -¿ non-neglectable page 5, gradient descend -¿ gradient descent page 5, a the wall -¿ the wall case of study -¿ case study

3 REVIEW NO. 3

Comments to the authors: The paper is acceptable, but I would be happier if it had stronger evaluation section.