FuzzyJ
ToolKit
for the Java(tm)
Platform
& FuzzyJess
Introduction
The FuzzyJ Toolkit, originally developed at the National Research Council of Canada, is a set of
Java(tm) classes that provide the capability for handling fuzzy concepts and
reasoning. It is hoped that this proves useful for exploring the ideas of fuzzy
logic and fuzzy reasoning in a Java setting. Much of the work is based on
earlier experience building the FuzzyCLIPS extension to the CLIPS Expert System Shell. The
toolkit's API can be used standalone to create fuzzy rules and do reasoning,
however, it can also be used with Jess,
the Expert System Shell from the Sandia
National Laboratories. The integration with Jess, FuzzyJess,
provides a capability that is similar to but in many ways more flexible than FuzzyCLIPS.
This work is currently at version 2.0 (first Open Source
version, early 2014). The Open Source version of the toolkit is released under
the Mozilla Public Licence
2.0 and is hosted on GitHub. Please feel free to provide feedback and
contribute to the project. This will help us shape future versions of the FuzzyJ Toolkit. It is hoped that it is possible to maintain
and follow Jess revisions with minimal effort since the integration with Jess
has been carefully planned with the Jess author.
On-line Examples
By way of demonstration, the following examples can be run:
Fuzzy Shower demo - java only
code (simple shower control simulation)
Fuzzy Shower demo - Java/Jess
hybrid code (simple shower control simulation)
Fuzzy Compiler demo - java only
code (tabular output of a set of fuzzy rules run over a range of
inputs)
Fuzzy Truck demo - java only code
(park a truck using fuzzy rules - requires JFC/Swing)
Fuzzy Pendulum demo - java only
code (balance an inverted pendulum)
It may be necessary to get the latest version of Java for
your system and to alter the security settings to allow Java applets to run. At
this time the Fuzzy Shower demo with Jess/Java hybrid code may not run at all
due to security restrictions on Java Applets (due to reflection used by Jess). All of the examples can be run by downloading the FuzzyJ system at the GitHub
web site.
Accessing the FuzzyJ Toolkit Files
All source code and supporting files for the FuzzyJ Toolkit, the Jess extensions, these and other
examples as well as the FuzzyJ documentation can be
found at the GitHub web site.
The FuzzyJ Toolkit Documentation
The documentation for the FuzzyJ Toolkit and FuzzyJess can
be accessed directly here.
Java and all Java based marks are trademarks or
registered trademarks of Sun Microsystems, Inc. in the United States and other
countries.