|
| What
is Psyclone? |
|
|
Psyclone is a great general-purpose
platform for for constructing large, heterogeneous systems with
multiple processes that communicate via message passing and data
streams. We think of Psyclone as an A.I.O.S
- artificial intelligence operating system.
Psyclone uses a simple publish-subscribe
mechanism which allows you to quickly create modules that can interact,
as well as enable quick connection of separate programs, written
in the same or different programming languages. Psyclone builds
on several open-source projects including CoreLibrary
and OpenAIR.
It is also based on
We
have built Psyclone to be a foundation for what we believe will
be the next revolution in A.I. systems: integration. If you are
interested in participating in that revolution, we are sure you'll
find Psyclone a useful addition to your library of tools for helping
you get there.
CMLabs
is dedicated to continue the development of Psyclone over the next
decade, spawning not only interesting projects but also useful products,
cool inventions and academic discoveries. |
| Why
should I use Psyclone? |
|
|
|
If you need to do one or
more of the following:
- Combine two or more computer
programs written in two languages;
- decompose a piece of software into two or more modules;
- have programs talk that run on different computers;
- monitor and visualize interaction between three, four, five,
five hundred, or five thousand separate software 'modules', where
a module can be anything from a few hundred to several thousand
or tens of thousands lines of code;
- build systems with a mixture of home-grown and off-the-shelf
software components;
- incrementally build a system out a set of "black boxes"
that over time get decomposed and augmented and increased in number;
...Psyclone is the right solution. The fact that Psyclone is geared
to work well for AI-ish problems increases its relevance to projects
in this field. For example, making a generic adapter for a virtual
world that hooks into Psyclone makes it much easier to connect any
other system to that world, as well as to each other, because of
Psyclone's many mechanisms for making "re-wiring" such
a system easy as pie, compared to the alternatives. |
| What
are the main features of Psyclone? |
|
|
| Psyclone implements standard
features in a superior way that makes it attractive to use:
- Powerful publish/subscribe
- Contextual triggers and timers
- Efficient TCP/IP transmission of messages between modules; in-memory
transmission, if sender and receiver are in the same executable
- Predictable behavior over firewalls
- Seamless distribution of processes and modules on multiple computers
- Complete XML compliancy
Beyond the above, Psyclone has
numerous features and benefits that make it stand out from other
systems. Among these are:
- Context-driven global behavior
- Priority-based message subscription and delivery
- Web page with previous messages and module status on display
(great for debugging)
- Retrieval of previous messages, by up-front subscription and
dynamically
- Global configuration of whole system in one place
- System wide message broadcast for particular types
- Seamless integration of media streams (audio, video) and symbolic
messages
- Support for multiple media-enhanced blackboards (whiteboards)
|
| Does
Psyclone implement an "agent language"? |
|
|
|
No. Psyclone does not yet define any "agent languages", it simply
provides a very powerful publish-subscribe environment with a general
message format (in XML), data stream format and time-management
model. |
| How
can I learn to use Psyclone? |
|
|
|
The Psyclone Tutorial
provides step-by-step help in getting started, as well as advanced
instructions. Code examples are provided for Java and C++. |
| Is
Psyclone proprietary? What is the license? |
|
|
|
Psyclone is available under various licenses, including an academic
commercial license, an industrial commercial license, and a non-commercial
library (NCL) license that is free. Always read the licenses for
software you use. |
| Can
Psyclone be used for other than A.I. projects? |
|
|
Yes. Psyclone is, and will
continue to be, a relatively general-purpose system for managing
the interaction of multiple software entities, both stand-alone
and internal. As it matures, the A.I. roots of Psyclone will become
increasingly obvious. However, many of the software design principles
useful for A.I. projects will be extremely useful for any project
that requires the management of multiple, interacting semi-independent
entities. |
| What
is MINDMAKERS.ORG? Why is Psyclone available there? |
|
|
|
MINDMAKERS.ORG is an
organization of researchers dedicated to the development of broad
A.I. projects and humanoid development. It is open to all with an
interest in building thinking systems. A number of projects will
become available there over time, many of them using Psyclone AIRPlugs
for hooking up multiple modules, executables, and machines to create
large, complex interactive, intelligent systems.
CMLabs
makes Psyclone available there to support and further A.I. research
all over the globe, and to promote the re-use of A.I. components,
fostering a continuum in the development of thinking machines. |
| Does
the psyDaemon take up a lot of resources when idle or when running? |
|
|
|
No. The daemon is a way to
provide automatic startup when a Psyclone system is running on many
computers. When it is idle it takes up no more resources than other
services on your computer, such as a file system or a tcp/ip service.
|
| The
psyDaemon stays up after started. That can burden the client, e.g.
a cell phone, or the server if the psydaemon closes? |
|
|
| No. The Daemon is not running
on the client, it is a way to provide automatic startup of processes
when a Psyclone system is running on many computers. The client
is a very thin program that communicates with the server using the
OpenAIR protocol. (No daemons or any other program will run on the
client, only the client program itself, using the AIR library to
communicate.) The OpenAIR protocol is very lightweight and will
not burden the client. |
|