<!doctype html public '-//W3C//DTD HTML 4.01//EN'
  'http://www.w3.org/TR/html4/strict.dtd'>
<html>
<title>Isight - Examples</title>
  <head>
	<link rel="stylesheet" href="../EStyle.css" type="text/css">
	<link rel="stylesheet" href="../ETables.css" type="text/css">
  </head>
<a href="http://www.simulia.com/products/sim_opt.html"><img src="../../examples/logo.gif"></a>
<body>
       <h1>ISIGHT DEVELOPMENT EXAMPLES SET</h1>

<h2>Overview:</h2>
<p>
This directory contains a set of Isight development examples.
The Isight framework is designed to be extensible, allowing
users to develop Isight extensions that incorporate the tools of
their own disciplines, and so to build Isight models which
drive these tools to compute solutions to their problems.
</p><p>
New Isight extensions are implemented as a collection of Java
classes which use Isight API routines to get data, perform
computations on the data, and return calculated results.
These Java classes, and supporting files, are packaged as
Java JAR files; these are added to Isight by publication
the Library (which may be local or shared).
</p><p>
Each example directory contains a set of Java source files
which define the design-time and run-time behavior of the
illustrated Isight extension.  The directory also contains any
auxiliary files: icon GIF-files, C files and Makefiles for
JNI libraries (when parts are implemented outside Java),
and so on.  A REAMDE file describes the part and how to
build the extension using the Isight 'sdkGenerator' tool.
</p>

<h2>Layout:</h2>
<p>
This directory contains one subdirectory corresponding to
each type of Isight extension that can be built.  Under each
subdirectory is a set of directories containing specific
examples of that type of extension.  The supported types and
their directories are:
</p>
<dl><dt>Applications:
	<dd>Isight provides an environment for integrating analysis
tools into workflows, automating the execution of those workflows,
and applying design driver algorithms to improve the design of your product.
While feature-rich graphical user interfaces, the Design Gateway and Runtime
Gateway, are provided for accomplishing these tasks, it may be desired to
carry these out programmatically, allowing for more dynamic configuration
and control of the details of the model.  This higher level of control
encompassing a Isight model (or set of models) is often referred to as an
application.  The Isight SDK (System Development Kit) provides a Java API
for developing such applications.  While these are technically not <i>extensions</i>
of Isight but instead are uses of the existing constructs, they are still very
much development-oriented and thus are provided along with the other extensions here.

    The applications directory contains the following
    example subdirectories:
	<ul>
		<li>ExampleJobMonitorMDB and ExampleJobMonitorEAR - This example demonstrates 
		how to write a custom J2EE Message Driven Bean (MDB) which receives job 
		status messages from the SEE. This example simply writes the job status 
		information to the server log as each message is received. 
		</li>
	</ul>
</dl>

<dl><dt>Components:
	<dd>Isight components are the building blocks of Isight
    models, which join component instances in workflows
    so that each instance contributes a unique act of
    computation towards solving a specific problem.
    Any given Isight component may perform a computation
    within itself (e.g Calculator, Script), may drive
    an external tool to perform it (e.g Simcode, Excel),
    or may drive a workflow built from other components
    (e.g Task, DOE).

    The components directory contains the following
    example subdirectories:
	<ul>
		<li>plate - This component evaluates the properties of
			a simple metal plate.  Model developers may
			fix a shape (circle, rectangle, or triangle)
            and a material (aluminum, steel, etc); then
            for any given plate thickness this component
            computes the plate area, volume, and weight.
		</li>
	</ul>
</dl>

<dl><dt>Datatypes:
	<dd>Every Isight component has a set of Isight parameters
    which hold the inputs, outputs, and intermediate
    values of a calculation.  Isight datatypes define
    how the data in these parameters is organized for
    computation, and how it is presented to component
    users.  Each datatype must implement a specific
    Java interface according to predefined protocols,
    so that Isight may transfer data to and from any
    parameter of that type.
	<ul>
		<li>There are currently no Isight datatype examples.
	</ul>
</dl>


<dl><dt>Plug-ins:
	<dd>Sometimes a set of particular computing procedures
    are seen to be different instances of one class of
    procedures.  For example, there are many different
    optimization algorithms, but all formulate their
    computation in terms of design variables, input
    and output constraints, and objectives.  In Isight
    these cases are implemented by a single component
    for the class, combined with one or more plug-ins
    for each instance.  Each plug-in must implement a
    specific Java interface, according to protocols
    which depend on the component that will be using
    the plug-in.
	<ul>
		<li>Calculation - example of defining additional functions for the Calculation engine.
		<li>External Executable Optimizer - example of an optimization plug-in implemented as an external executable program.
		<li>External Executable Approximation - example of an approximation plug-in implemented as an external executable program.
	</ul>
</dl>


<dl><dt>Visuals:
	<dd>
    The Isight Runtime Gateway includes a framework
    for presenting run results in graphs, tables,
    or other forms of display.  Isight provides a
    moderately large set of standard display tools,
    and users may incorporate their own application
    specific display tools.  Each visual must imp-
    lement a specific Java interface according to
    predefined protocols, so that Isight may send
    run results to any instance of the visual.
	<ul>
		<li>There are currently no Isight visuals examples.
	</ul>
</dl>

</body>
</html>
