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 This will create a directory with the name


inside which you will find the Psyclone Server executable called


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


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


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).




2005©Communicative Machines