Components are the building blocks of an Isight
model (simulation process flow); thus, it is imperative that users be
able to develop their own components to interact with the tools they
use. The functionality provided by the component depends on what the
component developer chooses to expose and provide through the adapter.
For example, an Excel component might provide an interface to Excel
that allows values of cells to be modified or extracted (by mapping from/to
Isight
parameters) and macros to be executed, as directed by a user or by other
Isight
components.
A component is a Java JAR file that includes the following:
-
An Editor Java class to provide a GUI for configuring the component.
-
An Executor Java class to provide the runtime execution functionality.
-
A Handler Java class (optional) to provide logic for validating the
configuration of the component and reacting to changes in the model.
-
A PostProcessor Java class (optional) to provide functionality for carrying
out actions after the execution of the component.
-
An API (Application Programming Interface) Java
class (optional) to allow programmatic configuration of the component
in an intuitive and stable manner.
-
Resource files such as an icon image file or an internationalization
catalog file.
-
An XML descriptor file that specifies the aforementioned classes, resource
files, and other quantities (properties/parameters, described below)
that specify input information required by the component.
-
Any other files necessary to support the aforementioned adaptor classes
or the back-end application.
There are two main categories of components:
- Process components
A component that is designed to contain a simulation process
flow that will execute some number of times depending on its own specific
logic, essentially driving the execution of that simulation process flow.
Optimization, DOE, Monte Carlo, and Loop are all examples of process
components. A Task is a process
component that runs its simulation process flow once.
- Application component
A component that is designed to perform some end functionality,
typically invoking and interacting with an external application that
is external and unknown to Isight.
Excel, Calculator, Data Exchanger, and Simcode are all examples of application
components.