The Psyclone AIR
Plug is the Software Development Kit for creating external Psyclone
modules.
All external modules
are usually specified in the psySpec with 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.
The Psyclone AIR
Plug will enable you to create executables which contain external
modules by providing a basic AIRPlug object which your object can either
inherit from or use as an internal variable. The AIRPlug object will
facilitate all communication with the Psyclone Server, including overwriting
existing subscriptions if needed, receiving wakeup messages from Whiteboards
and posting output messages back. The AIRPlug object is also used for
information about the module's parameters and even binary streams - more
information about this can be found in the Psyclone Manual.
The Psyclone AIR Plug is downloaded inside a zip archive. Before you can use it you need to unpack it and the supporting files.
This will create a directory with the name
JavaAIRPlug
where version is the Psyclone AIR Plug version, such as 0.5.0.0.
Inside this you will find the Psyclone AIR Plug files along with the license file and the quickstart readme file as well as three example external modules, the Reader, Poster and Tester.
How do I run Psyclone AIR Plug?
If you want to try the
compiled examples try giving the following command (for JavaTester, UNIX):
./JavaTester psyclone=localhost
and for Windows:
.\JavaTester.exe psyclone=localhost
Make sure Psyclone is running first.
If you need to compile you
merely enter the following command on the command line (for JavaTester.java):
javac -classpath JavaAIRPlug.jar
JavaTester.java
(all platforms)
This will compile and
build the JavaTester.class file, which you can run manually by first starting
up Psyclone (in one terminal window):
./psyclone[version]ncl
(all platforms)
and (in its own terminal
window) run the Tester module
java -cp .:JavaAIRPlug.jar
JavaTester
(Linux and Mac OSX)
java -cp .;JavaAIRPlug.jar
JavaTester
(Windows command prompt)
java -cp .\;JavaAIRPlug.jar
JavaTester
(Cygwin command prompt)
If Psyclone is running on
a port other than 10000, e.g. 12000, you will have to specify this by
java -cp .:JavaAIRPlug.jar JavaTester
psyclone=localhost:12000
(Linux and Mac OSX)
java -cp .;JavaAIRPlug.jar JavaTester
psyclone=localhost:12000
(Windows command prompt)
java -cp .\;JavaAIRPlug.jar
JavaTester psyclone=localhost:12000
(Cygwin command prompt)
or if Psyclone is running
on another computer on the network
java -cp .:JavaAIRPlug.jar JavaTester
psyclone=mikescomputer:12000
(Linux and Mac OSX)
java -cp .;JavaAIRPlug.jar JavaTester
psyclone=mikescomputer:12000
(Windows command prompt)
java -cp .\;JavaAIRPlug.jar
JavaTester psyclone=mikescomputer:12000
(Cygwin command prompt)
To include an
external module when running Psyclone — and have Psyclone help you
by starting the module for you automatically — you will need to
create a psySpec and define a module which provides the full command line with
which to start up the external module. For example, to define a module which
uses an external module in the executable file mymodule.exe, you
would specify the module like this
<module name="MyModule">
<description>This module is my first external module</description>
<executable name="MyModuleName" consoleoutput="yes">
<sys ostype="Win32">
java
-cp .;JavaAIRPlug.jar MoModule psyclone=%host%:%port% name=%name%
</sys>
<sys ostype="Linux">
java
-cp .:JavaAIRPlug.jar MoModule psyclone=%host%:%port% name=%name%
</sys>
<sys ostype="OSX">
java
-cp .:JavaAIRPlug.jar MoModule psyclone=%host%:%port% name=%name%
</sys>
</executable>
<trigger after="100" type="Psyclone.System.Ready"/>
<post to="WB1" type="Other.Message.Type" />
</module>