Psyclone
for Cygwin (under Windows)
What
is Psyclone?
Psyclone
is a framework for creating complex software systems. The Psyclone
executable is the central part of the Psyclone System. It can
contain any number of Whiteboards which are the dispatchers with
which internal and external modules subscribe for messages and
data, and where they post their output to. All internal modules
run inside Psyclone and can therefore communicate much faster
with the Whiteboards (and thus each other) than external modules
that run as separate executables, either on the same or another
computer.
All
internal modules have to be fully specified in the psySpec configuration
file including in which third-party libraries to find their central
crank function which is run as an internal process inside Psyclone.
The specification includes information about which Whiteboards
to subscribe to, which additional messages to retrieve when woken
up by a trigger message, which parameters the crank function will
be given and where to post the output.
External
modules are also specified in the psySpec, but instead of a crank
specification they have an executable specification which tells
Psyclone the command line with which to start the executable containing
the external module. Normally one would fully specify subscription
information here too, although mechanisms exists to manually register
from within the external module when it is running.
Internal
modules are created using the Psyclone SDK. External Modules are
created using one of the AIR Plug extensions in different programming
languages, currently C++ and Java.
The
Psyclone Pro can run on many computers as a distributed process
and on each computer any number of Whiteboards and any number
of internal and external modules can be configured to run.
The
NCL version of Psyclone is limited to run on one computer but
can support connections from external modules running on another
computer. The Pro version allows external modules to connect from
any number of computers.
How do
I unpack Psyclone?
Cygwin for Windows is almost identical
with most flavours of UNIX, such as Linux and BSD.
Psyclone is downloaded inside a
tar archive. Before you can use it you need to unpack it and the
supporting files. To do so you need to be in the directory where
you downloaded the Psyclone Server to. In here you enter the following
command on the command line
tar xvfz psyclone[version]ncl.cygwin.tgz
where version is the Psyclone version,
such as 0.5.0.0. This will create a directory with the name
psyclone[version]ncl.cygwin
inside which you will find the
Psyclone Server executable called
psyclone[version]ncl.exe
along with the license file and
the quickstart readme file as well as the html subdirectory, which
contains all the files for PsyProbe, the Psyclone internal webserver
for monitoring and interacting with a running Psyclone Server.
How do I
run Psyclone?
To simply run Psyclone without
any modules you need to enter the following command on the command
line in the directory
./psyclone[version]ncl.exe
and you will see Psyclone starting
up with a default bulit-in psySpec which merely creates two Whiteboards
and no modules.
To have a look at the running Psyclone
Server point your web browser to the following address
http://localhost:10000/
The default port of Psyclone is
10000, which can be changed by either setting the port=12000 command
line parameter or by specifying a different port inside the
psySpec file, also given as a command line parameter spec=myspec.xml.
If port 10000 for some reason is occupied on your computer Psyclone
will automatically choose another port and let you know when it
starts up.
Normally, one would create a psySpec
configuration file to tell Psyclone what to do in terms of which
Whiteboards to create, which modules to configure, etc. This is
done on the command line with
./psyclone[version]ncl.exe spec=myspec.xml
You can read more about how to
create a psySpec in the Psyclone manual.
The full specification of the Psyclone
Server command line is
./psyclone[version]ncl.exe [port=[port]] [spec=[spec file]]
[html=[html dir]] [verbose=[verbose level]]
where [port] is the
Psyclone main TCP/IP port, [spec file] Psyclone
XML configuration file, [html dir] the place to
find the HTML files for built-in server and [verbose level] how
much information to print to the console.
For more information on this, see
the Psyclone Manual (psycloneManual.html).