-----------------------------------------------------------
W4725 : Knowledge Representation & Reasoning : Term Project
-----------------------------------------------------------
Who: Naveed Hasan naveed@cs.columbia.edu
What: Formula-Augmented Network implementation
http://www.cs.columbia.edu/~naveed/FANetwork
How: javac FANetwork.java : to compile program
java FANetwork [net-file] [rules-file] : to run program
Notes: The problem description for this term project is located at the
following URL
http://www-formal.stanford.edu/leora/krcourse/fans.html
*** FANetwork [public release 2 - alpha version]
Copyright (C) 1999 Naveed Hasan
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
http://www.fsf.org/copyleft/gpl.html
*** Usage of this graphical application is quite straight-forward, and this
implementation follows the problem description closely. Reading the
problem will make the functionality of the FANetwork application more
clear. However, this help document will be updated and expanded in the
future, hopefully encompassing all of the information in the original
problem statement.
The FANetwork application is written in Java 1.2 code, and will not
function with older versions of Java. It uses Swing for the GUI and
many new data structures provided in Java 1.2. For reasons described
below, the full functionality of the application is currently only
exploited on UNIX machines. But, except for the Apply(A) function,
the other three functions work perfectly well on any platform that
supports Java 1.2. Hopefully, future releases of this application will
be completely platform-independent.
*** In order to compute the set of rules that apply at a give node in the
FANetwork, a theorem prover was required. This program uses Otter
(v3.0.5) as an external theorem proving application. Otter is written
in C, hence this currently limits the usage the Apply(A) function to
UNIX machines, for which the compiled (Sun Sparc) otter binary is
included in this release. The FANetwork Java application uses inter-
process communication (IPC) and UNIX command piping to work with Otter.
If you wish to download the Otter source code, FTP Otter 3.0.5 from
ftp://info.mcs.anl.gov/pub/Otter/otter-3.0.5.tar.Z
Otter is made possible by:
W. McCune (otter@mcs.anl.gov)
Argonne National Laboratory
*** The docs/ subdirectory within this application package contains full
documentation of all of the source code for FANetwork. These documents
are in HTML format, which are best viewed with a frames-aware web
browser. The documentation web pages was created using the javadoc
tool shipped with the Sun Java JDK.
*** The problem/ subdirectory within this application package contains the
original assignment for which this project was written. These files are
best viewed with any web browser, since they are in HTML format also.
Files: Files included with this release of FANetwork are
*** .java files
AboutDialog.java
ConsolePane.java
DataReader.java
EdgeListElem.java
FANAlgorithm.java
FANetwork.java
FileDialog.java
FunctionPane.java
Node.java
NodeTable.java
Queue.java
SuperTypeListElem.java
Vertex.java
VertexTable.java
*** .input files
mini-net.input Network file without medical nodes
mini-rules.input Rules file without medical nodes
net1.input Original network description
rules1.input Original rules file
*** other files
COPYLEFT GNU General Public License
README The file that you are reading
otter The otter 3.0.5 binary for Sun Sparc
pipe The IPC UNIX script to pipe data
*** subdirectories
docs/ Documentation for all FANetwork code
images/ Images used in FANetwork GUI
problem/ Original problem statement