How to Run id
and Link to the User's Manual

Timothy C. Haas
School of Business Administration
University of Wisconsin -- Milwaukee
P. O. Box 742
Milwaukee, WI 53201
haas@uwm.edu
Vita

Declaration and Disclaimer

I, Timothy C. Haas, Associate Professor at the School of Business Administration, University of Wisconsin at Milwaukee, Milwaukee, WI 53201 (haas@uwm.edu) wrote the software package, id which is embodied in the Java^(TM) computer language source files contained in the file "idsrce.zip." I hereby declare this program to be in the public domain effective today, November 14, 1999.

No warranties expressed or implied are made by the author for the use of this software. Consequences resulting from the use of this software are entirely the responsibility of the user.

Introduction

id is a web-based program for constructing, estimating, and evaluating an Influence Diagram (ID) model. This software is experimental. Java^(TM) class and source files are available for downloading as described below.

cheetah_emt describes a web-based, shared decision support system for ecosystem management, called an Ecosystem Management Tool (EMT). An important aspect of the proposed open EMT concept is the development of ecosystem analysis software that is easier to use by a larger spectrum of public and private sector employees and private citizens than current packages. id is such a software system.

See idtutrl.pdf for a tutorial on Influence Diagrams.

Distribution

Zip files containing the executable byte-code (*.class}) files and source code files are available through ftp download. Zip files containing all files needed to run several id analyses are also on this site.

Anonymous ftp can be used to download the files. To connect from a unix machine connected to the internet, type:

ftp ftp.uwm.edu
Use "anonymous" as the login name, and your email address as the password. When you get an ftp prompt, type each of the following commands at the ftp prompt:
cd pub/haas
prompt
mget *.*
You can also use your web browser to do this download at ftp site. In either case, download all files in the directory. I used "zip" on unix to create all downloadable files. Use "unzip" or "pkunzip" to unzip these files on a windows PC. The *.class files for id are in id.zip. These class files are binary so don't do anything special for carriage returns.

Description of Files Available for Download
  1. id.zip: Java^(TM) .class files for executing id
  2. idsrce.zip: Java^(TM) source code (.java files) for id
  3. batfiles.zip: DOS batch files that make running id easier.
  4. ancova.zip: Example of using id to perform an Analysis of Covariance (ANCOVA).
  5. spatialpred.zip: Example of using id to perform a spatial statistical analysis (cokriging) with observations on wet $NO_3$ deposition and precipitation in the conterminous U.S.
  6. ecosys.zip: The Ecosystem Management Tool (EMT) example for cheetah conservation in Kenya described in Haas (2004).

Unless the Java^(TM) standard development kit (SDK) is installed on your machine, the Java^(TM) Runtime Environment (JRE) will be needed to run id. The JRE can be downloaded and installed from JRE site. The Jini(TM) toolkit is also needed and can be downloaded from Jini(TM) site.

Running id

id can be run in three different modes: single process batch, interactive Windows, and cluster computing batch. To run id in any of these modes, you will need to first download and unzip all files, and then edit the batch file "idalone.bat" to reflect the directories on your system that contain these JAVA class and source code files.

Single Process Batch Mode

To run id on the ANCOVA example input file (see below), type the command:
idalone ancova.id
at a DOS prompt or
sh idalone.bat ancova.id
at a unix prompt. If you get an "OutofMemoryError," java's memory can be increased through the "-mx" option. For example
-mx200m
requests 200 megabytes of virtual memory.

Cluster Computing Mode

id can be run as a JavaSpaces(TM) distributed computing application. To do this, a javaspace needs to be started before the master version of id or any client versions are started. Using the batch files included in the distribution, this is done on a Windows 2000 network as described next. Assume that a Windows network connects a single ``Remote-PC'' that may or may not have a static IP address, a ``Master-PC'' that has a static IP address, and one or more ``client-PCs'' that all have static IP addresses. Using the DOS batch files, boot.bat, javaspace.bat, httpr.bat, runrmidr.bat, jspacer.bat, startmstr.bat, id.bat, startc.bat, and startcs.bat, execute the following steps:
  1. From Remote-PC, reboot Master-PC and all client-PC's. For example, if Master-PC is named n219-01 and all clients are n219-02 through n219-48, run the following command from Remote-PC to reboot all of these machines:
    boot
    
    "Administrator Lite" privilege is needed for this command. "boot.bat" uses the freeware command "psexec.exe" by Mark Russinovich (see www.sysinternals.com/Utilities/PsExec.html). I have found that when a machine needs to be rebooted, "rcmd" fails to connect to that machine but "psexec" is successful so I use "psexec" in boot.bat instead of "rcmd."
  2. From Remote-PC, start the http server, remote method invocation server, lookup service, and finally the javaspace on Master-PC with:
    javaspace "network-password" "master-PC_name"
    
    This .bat file calls "httpr.bat," "runrmidr.bat," and "jspacer.bat." Each of these .bat files start their own DOS window and then hang in this window. Therefore, do not combine these .bat files into one .bat file.
  3. From Remote-PC, run the master program on Master-PC with:
    startmstr "network_password" "master-PC_name" "id_input_file."
    
  4. Start all client-PCs with:
    startcs "network-password" "id_input_file."
    
Notes:
  1. You may need to use Remote Desktop to issue the DOS command:
    cscript c:\reboot.vbs
    
    directly on Master-PC itself when network connections are blocked such that "psexec" cannot establish connections. One way this can happen is when "httpr.bat" is running the http service and the network connection to Master-PC is occupied -- resulting in the failure a Remote-PC invocation of "boot.bat."
  2. The port number in "httpr.bat" must be the same as in "jspacer.bat" and "id.bat."
  3. The Master-PC's URL and IP address may be incorrectly mapped using the Unix "nslookup" command. In this case, one way to discover the correct IP address is to use the local machine name in a local call to "ping." For example, say the local machine name of Master-PC is N219-01. At a DOS prompt on any computer on the local network, typing:
    ping N219-01
    
    will result in the correct IP address being returned. If the mapping is discovered to be incorrect, the IP address instead of the URL of Master-PC will have to be used in the files "SpaceAccessor.java," "id.bat," and "jspacer.bat."
  4. The master PC's IP address must be entered in "jspacer.bat" (2 places), "id.bat" (2 places), and in "SpaceAccessor.java" (recompile). AND, "startcs.bat" must be edited so that the new master PC is not told to start as a child.
  5. To achieve a six-times speed-up over the sequential algorithm, there needs to be 27 workers and 1 master PC. Hence, if there are 48 PCs in a classroom, no more than $48 - 28 = 20$ PCs can be broken.

Interactive Windows Mode

id can perform Geographical Information Systems (GIS) operations. These operations are best executed in an interactive, graphical environment. To begin such a session, create a .id file with the ``report'' qualifier ``gis_tools.'' Then, run this command file in single process batch mode (see above). When this command executes, an interactive window will appear on the users's computer screen. The interactive GIS operations are described in the id Users Manal (see below).

User's Manual

The User's Manual for id is at idusers.pdf. This manual gives the syntax of id's command language and technical descriptions of its algorithms.