Win32 Installation

Note that the following are steps for manual installation.  As of DOGMA 0.6 the automatic installer takes care of this.  The old instructions are included for reference.

There are two possible installations: master and node. The master installation is for the master system node (the DJM Manager node).  The node installation is for slave nodes and configuration manager nodes (see the system overview for definition of these terms).
 
Step 1
Install JDK 1.1.5 or greater.  Available at http://java.sun.com/products/jdk/1.1/
(Note: Node installations can use JRE 1.1.4 or greater in place of the full JDK.  However, the jre.exe must be renamed java.exe or the system batch files must be changed to use jre.)

Note that JDK 1.1.6 is very strongly recommended since it includes a JIT that functions correctly with RMI.  Previous JDK versions must either disable the JIT or use the JIT path (contact me if you want this, but you should probably just use JDK 1.1.6).

Step 2
Install Swing 1.0.2 or greater.  Available at http://developer.javasoft.com/developer/earlyAccess/jfc.html
 

Master Installation

Step 1
Unzip the file DOGMAWin32Master.zip.  Unzipping will create a directory called "DMasterInstall".  In this directory unzip the file called "install.zip".  This will create a directory called "DMaster".

Step 2
Set system environment variables (not just individual user variables):

DOGMA_CODEBASE - the URL for the DOGMA system code (see step 3 below).   DO NOT FORGET THE TRAILING SLASH ON THE URL
Example: http://mymachine.cs.byu.edu/DOGMA/codebase/

DOGMA_HOME - the location of the DOGMA installation.
Example: c:\DMaster

DOGMA_HOSTNAME - the fully qualified local hostname.
Example: mymachine.cs.byu.edu

JDK_HOME - the location of the JDK installation.
Example: c:\jdk1.1.6

SWING_HOME - the location to which swing was installed.
Example: c:\swing-1.0.2

PATH - %JDK_HOME%\bin, %DOGMA_HOME%\bin, must be in the current path.

If the machine will be used for development, you must also set the following

DOGMA_APP_CODEBASE - the path where application code (.class files) will be compiled to. The simplest place to send your .class files is to the dogma lib directory (usually c:\dmaster\lib). A slightly safer method is to copy all DMaster\lib files and directories to another location and set DOGMA_APP_CODEBASE to this directory. The more advanced installation will set DOGMA_APP_CODEBASE to somewhere cleaner such as a user's public_html/codebase directory.  This requires modification of the system configuration file (see the sample configuration file in step 4 for more information).
Example (for the simple installation): c:\dmaster\lib
Example (for a custom installation): c:\users\dogma\public_html\codebase

CLASSPATH - should include at least JDK_HOME%\lib\classes.zip; %DOGMA_HOME%\lib; %DOGMA_APP_CODEBASE%; %SWING_HOME%\swing.jar; %SWING_HOME%\windows.jar

Step 3
Make the system files accessible from the web.  This is done in one of three ways:
1-Use the DOGMA HTTP server.  This is activated by setting DOGMA_CODEBASE and
making sure to include the DOGMA_HTTP port number. For example:
http://myhost.byu.edu:8180/DOGMA/codebase/
2-Make the Dogma\lib directory accessible from the web. This is typically done by making a virtual directory point to Dogma
3-Create or choose a directory to be the system codebase.  Copy all files from DMaster\lib to the codebase directory.

Step 4
Write the configuration file (config.db for now). The installation comes with a minimal configuration file in dmaster\examples\config. For a more complicated example see the config file documentation.  This file should reside in the directory from which you wish to run DOGMA.

Step 5
Check your setup by running "checkSetup" from the directory in which you configuration file resides (the directory from which you will run DOGMA).  The first test of your setup is that this program executes.  Once it is able to execute, it will run some simple tests to check your environment variable settings.

Step 6
Now compile and run SimpleMPI.
Compile the example by changing into dmaster\examples\mpi and typing "makeall".
Now from the directory where your configuration file is type "startDOGMA".
Hit the space bar when asked to until the DJM prompt comes up.
From here type "runMPI dogma.examples.mpi.SimpleMPI 1 1 1". (If a FileNotFoundException is thrown double check your configuration file).
 

Installation hierarchy:

                               DMaster
                                  |
                   --------------------------------- . . .
                   |     |        |                |
                  bin   docs     lib            examples
                                  |                |
                            ...-------         -----------
                               |     |         |     |   |
                              djm  bootlib   config doc mpi
                              ...    |
                                    djm
 

Node Installation

Step 1
Unzip the file DOGMAWin32Node.zip.  It will create a directory called Dogma when it unzips.

Step 2
Set system environment variables (not just individual user variables):

DOGMA_HOME - the location of the DOGMA installation.
Example: c:\DOGMA

DOGMA_HOSTNAME - the fully qualified local hostname.
Example: mymachine.cs.byu.edu

DOGMA_CODEBASE - (OPTIONAL) - this variable defines the DOGMA system code codebase.  If not defined, the system codebase must be passed as a parameter to startNode. If you will be using more than one system codebase, you will not want to set this variable.
Example: http://mastermachine.cs.byu.edu/DOGMA/codebase/

JDK_HOME - the location of the JDK or JRE installation.
Example: c:\jdk1.1.6

PATH - %JDK_HOME%\bin must be in the current path.

Step 3
If this node is to be used as a configuration manager you should now write the configuration file (currently named config.db).
This file should be put in Dogma\bin.

Installation hierarchy:

                                Dogma
                                  |
                            ---------------- . . .
                            |     |        |
                           bin   docs     lib
                                           |
                                          djm