-----------------------------------------------------------
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