<!doctype html public '-//W3C//DTD HTML 4.01//EN'
  'http://www.w3.org/TR/html4/strict.dtd'>
<html>
  <head>
	<title>Isight - Examples</title>
	<link rel="stylesheet" href="../../../EStyle.css" type="text/css">
	<link rel="stylesheet" href="../../../ETables.css" type="text/css">
  </head>
<body>
<a href="http://www.simulia.com/products/sim_opt.html"><img src="../../../../examples/logo.gif"></a>
<h1>Distributed Resource Manager Interface</h1>
<table>
	<th colspan=2>LoadLeveler DRM</th>
	<tr><td>Description:</td>
		<td>This is a sample implementation of a Distributed Resource Manager Interface system extension. A Distributed
			Resource Manager (DRM) is an administrative tool which accepts requests to perform computations, allocates
			machines and file space (balancing workload across multiple machines), runs the given programs, and monitors
			their progress.  A DRM Interface system extension extends the Simulia Execution Engine (SEE), letting it run
			components in Isight models as DRM jobs.  This example illustrates how to write a DRM Interface system extension
			based on LoadLeveler, a commercial DRM system.</td>
	</tr>
	<tr><td>Support files:</td>
		<td>
			<ul>
				<li><a href="LoadLevelerEnabler.java">LoadLevelerEnabler.java</a> -
					Java source code for the class which implements the methods used by an SEE to interact with the
					customer's LoadLeveler installation, in particular to run Isight components under LoadLeveler
					(actually, in individual Isight Stations launched to run under LoadLeveler).
				</li>
				<li><a href="LoadLevelerJobID.java">LoadLevelerJobID.java</a> -
					Java source code for the class used to wrap a 'job ID' value returned by LoadLeveler when it
					creates a new DRM job.  Instances of this class are created and returned by LoadLevelerEnabler
					to the SEE, to identify those DRM jobs that are running Isight components.
				</li>
				<li><a href="LoadLevelerOptionsPanel.java">LoadLevelerOptionsPanel.java</a> -
					Java source code for the class used to create LoadLeveler configuration GUI panels.  Instances
					are created by the Component Properties dialog of the Design Gateway, and are used to configure
					components to be run by LoadLeveler.  Any component may be so configured.
				</li>
				<li><a href="LoadLevelerUtils.java">LoadLevelerUtils.java</a> -
					Java source code for a class used to translate a component's DRM configuration between its GUI
					panel representation and its Isight model XML representation.
				</li>
				<li><a href="LoadLeveler.xml">LoadLeveler.xml</a> -
					XML MetaModel descriptor for the LoadLeveler plug-in.  Names the class used by the SEE
					to interact with the customer's LoadLeveler installation, and the class used by the
					Isight Gateway to configure components to be run by LoadLeveler.
				</li>
				<li><a href="LoadLeveler.mf">LoadLeveler.mf</a> -
					Manifest file that tells the Publish command that the Jar file is a plug-in.
				</li>
				<li><a href="build.bat">build.bat</a> -
					Windows Batch file to compile the LoadLeveler source files and build LoadLeveler.jar.
				</li>
				<li><a href="build.sh">build.sh</a> -
					Unix shell script to compile the LoadLeveler source files and build LoadLeveler.jar
				</li>
			</ul>
		</td>
	</tr>
	<tr><td>Instructions:</td>
		<td>
			<ol>
	<li>Use the provided build script (<a href = "build.sh">build.sh</a> on Unix,
	   <a href="build.bat">build.bat</a> on Windows) to compile the Java source
	   files and generate corresponding class files.   It also combines these files into a jar file.
	   <br>You must have a Java 5 Development Kit (JDK) installed, and must set
	   the environment variable JAVA_JDK to point to it.
	   You must also have Isight installed, and must set
	   the environment variable FIPER_HOME to point to it.
	   <br>Note that the generated class files will be placed in
	   a directory structure under this current example
	   directory that mirrors the package structure defined in
	   the Java source files (com.engineous.system.drm.ldlev).</li>
	<li>Use the Isight Design Gateway Library panel, the Library Browser tool, or the fipercmd publish command to
	   publish LoadLeveler.jar to the Isight Library.</li>
	<li>Edit the file 'acs.properties' file and define the property 'fiper.system.drm.<i>N</i>=LoadLeveler', where
	   <i>N</i> is the next unused number in the 'fiper.system.drm' property sequence; then restart the Simulia
	   Execution Engine.</li>
	<li>You may now configure components in models to be run under LoadLeveler.</li>
			</ol>
		</td>
	</tr>
</table>
</body>
</html>
