FAQ

 

Index

 

BIG PICTURE
What is Psyclone?
Why should I use Psyclone?
What are the main features of Psyclone?
Does Psyclone implement an "agent language"?
How can I learn to use Psyclone?
Is Psyclone proprietary? What is the license?
Can Psyclone be used for other than A.I. projects?
What is MINDMAKERS.ORG? Why is Psyclone available there?

TECHNICAL DETAILS
We want a module that can start the communication with the psyclone server, ask for some data stored in the server and close the connection when done. Can this be done?
Does the psyDaemon take up a lot of resources when idle or when running?
The psyDaemon stays up after started. That can burden the client, e.g. a cell phone, or the server if the psydaemon closes?

 

 

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.

 

We want a module that can start the communication with the psyclone server, ask for some data stored in the server and close the connection when done. Can this be done?

Yes. The data can either be stored on Whiteboards (short term data) or accessed from external databases (catalogs or a single access module).

 

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.