.\" @(#)starting	1.4	12/7/92
.\" Be sure you have properly checked
.\" out this file with SCCS (the version number should not be a number below):
.H1 "Terminology"
.pp
\*(PT relies on a basic very flexible computational model of a
simulation.
The overall simulation is decomposed into software modules called
.i blocks .
.IE block
These blocks at runtime are invoked in an order determined by a
.i scheduler ,
.IE scheduler
and exchange data among themselves as
they execute.
From the user perspective there are two types of blocks: the
.c Star
and the
.c Galaxy .
The
.c Star
is elemental, in the sense that it is implemented by a user-provided
code.
There are also many pre-coded
.c Star s
in the \*(PT library, but these should be viewed as examples,
rather than as a comprehensive set.
Adding new blocks is easy, so the system should be viewed as a programming
environment, and not just as a monolithic tool to be used unmodified.
A
.c Galaxy
.IE galaxy
is a block which internally contains
.c Star s
.IE star
as well as possibly other
.c Galaxy s.
The
.c Galaxy
is thus a construct for producing a hierarchical description
of the simulation.
A
.c Universe
.IE universe
is a complete program, or application.
.pp
One of the key innovations in \*(PT is the extension of the hierarchy
of stars, galaxies, and universes to include objects called
.c Wormhole s.
.IE wormhole
A wormhole is named as such because from the outside, it looks
monolithic, like a star, but inside, it looks more like a universe.
The scheduler on the outside treats it exactly like a star, but internally
it contains its own scheduler.
The inside and outside schedulers need not abide by the same model
of computation.
This is the basic mechanism for supporting heterogeneity.
.pp
Data passes between blocks in discrete units called
.c Particle s.
.IE particle
For example,
a particle in a signal processing system is often a signal sample, usually
a floating-point value.
But it can also be an image, for example, in a video sequence.
In a communication system, it may be a packet consisting of multiple
fields.
In domains using dataflow principles, a particle may be called a \fItoken\fR.
.IE token
Particles pass from one domain to another (into or out of a wormhole)
through an
.c EventHorizon.
.IE "event horizon"
The event horizon manages any format translations that may be required
to stitch together two models of computation.
User-defined particles are supported.
.pp
To get started, you can use the \*(PT interactive
graphical interface (pigi), described below, or the \*(PT
interpreter (ptcl).
The interpreter is based on a language called Tcl, invented at Berkeley
[Ous90].
Thus, both a graphical and textual specification language are available.
It is unlikely that these two user interfaces will be the only
ones developed for \*(PT.
They are, in fact, quite distinct from the \*(PT kernel,
precisely so that other types of user interfaces can be readily
accepted.
Future versions of the graphical interface will also
use Tcl and its associated X11 toolkit, Tk [Ous91], which will
lend it much more flexibility.
