The
knowledge representation languages that form the building blocks for
the modeling effort are the:
- Simple Frame Language (SFL) for
defining the objects in the simulation world.
- Simulation CORE (SCORE) procedure
language for defining agents and specifying their behaviors.
- Flavors Expert (FLEX) for defining
rule-based behaviors.
OmarL
includes a Concept Editor to support the definition of simulation
objects. The graphical view of the concept hierarchy is particularly
helpful in managing the definitions of the large number of concepts
typically required for a complex model. A Procedure Browser provides
graphical views of SCORE procedures that map procedure internals, call
and who-calls hierarchies, and forward and backward tracking of signal
propagation.
The
OmarL event-driven simulator can operate in real-time or fast-time
mode. The Simulation Control panel provides interactive control of
scenario execution. It includes the capabilities to select and
initialize the scenario to be run, and manage the running and pausing
of the scenario. Data analysis tools take the form of Event and Task
Timelines that provide in depth access to the details of agent
behaviors.
OmarL's
knowledge-languages provide the representational tools with which to
model people and the entities in the world that they interact with.
Alternatively, they can be used to define the behaviors of software
agents supporting a human system user. The agents, human
performance models or software agents, operate in a simulation
environment running in real-time or fast-time. OmarL supports the
notion of an agent whose actions are driven not only by actively
seeking to achieve one or more defined goals, but also by reacting to
the input and events of the world. The SCORE language include forms to
manage the concurrent behaviors produced by these constraints during a
simulation run.
The
OmarL simulator is an event-driven simulator that manages the
activities of the simulation agents. OmarL agents, models of people,
vehicles, or workplaces, execute SCORE goals and procedures that define
a mix of sequential and parallel behaviors. Dynamically computed
prorities are used to resolve conflicts between competing procedures.
Software Requirements
- Allegro Common LISP Version 6.2,
7.0, or 8.0.
Allegro LISP can be obtained from Franz.
- Java Development Kit (or JRE)
Version 1.5.0. Java can be downloaded for free from Sun.
Connecting an OmarL Model
to the External World
In
the OmarL system, a "Cap Object" is the standard mechanism through
which an external program communicates with the OmarL model. You may
have as many Cap objects connected to a OmarL simulator as you want.
At
the core of the Cap Object is a "Connection" (supplied by the OmarL
system) which serves as a "source" of outgoing Signals generated by the
OmarL model and as a "sink" for incoming Signals to be sent to the
OmarL model. The Connection object is the Java-end implementation of a
socket-based, serializing, message-passing stream through which the
LISP-based Core-OMAR module communicates with its foreign language
modules. There is also an analogue of this Connection object written in
LISP, so you can create an Cap Object in another LISP image, without
using Java. There is currently no support for writing a Cap in a
language other than Java or LISP.
The
Cap object functions as a "wrapper" around the Connection object and
serves as an "intermediary" or "translator" between the OmarL system
and the external program with which the OmarL system communicates. All
details about the mechanisms for communication between OmarL and the
external program are encapsulated in the Cap object.
Currently,
Caps have been written that can connect to a Jini network,
a CORBA Orb (the
standard Orb provided with Java), HLA from DMSO, and
the CoABS GRID.
Licensing Terms for Using
OmarL
Take
a look at the file called LICENSE in the
distribution. We want you to be able to do pretty much anything with
OmarL as long as we get credit for our work and as long as you offer
your changes to us so we can possibly add them to the standard version
we distribute.
Anonymous CVS Repository
There
is currently no anonymous CVS access. Please let us know if this
service would be valuable to you.
GNATS Buglist
There
is currently no GNATS access. Please let us know if this service would
be valuable to you.
Please Help Out!
There's
much room for improvement of the OmarLTM sources. We are
interested in any changes you make to the core source, or any Caps you
develop, or other derivative works.
|