100 likes | 208 Views
Introduction to Psyclone. Gudny R Jonsdottir Center for Analysis & Design of Intelligent Agents Reykjavik University. Psyclone. A platform for building hybrid modular, distributed systems Middleware for message passing
E N D
Introduction to Psyclone Gudny R Jonsdottir Center for Analysis & Design of Intelligent Agents Reykjavik University
Psyclone A platform for building hybrid modular, distributed systems Middleware for message passing Mediated publish-subscribe communication with direct module-to-module interaction support Manual & automatic retrieve of old messages
Psyclone Bridges platforms and programming languages Different operating systems Different programming languages C++, Java and C# now; more in the future Distributed (multiple computer) module execution
Psyclone Explicit modularity through whiteboards Semantic message- and stream-based data exchange model Message content: text, xml, … Stream content: audio, video, …
Psyclone messages Message types (subject) Dot-delimited strings, where each segment indicates a node in a tree/graph From most general to most specific Input.Perc.MulM.Interp.Person.LookingAt.Object Output.Plan.Task Output.Plan.Task.InProgress Output.Plan.Task.Done Output.Plan.Act.InProgress Message body Text, preferrably XML
The psySpec Central management of system configuration Whiteboard declaration Module declaration
PsyProbe Web-based monitoring of system at run-time with host:port in web browser Manual messages for debugging purposes
Contexts and Phases Contexts = global states Psylone.System.Ready DiP.Off DiP.On.I-have-turn DiP.On.Other-has-turn Phases = module-specific states Module Starting up Module Ready Module working on ..... Messages specified for each context & phase
AIRPlugs Code libraries that implement the OpenAIR message and routing protocol Easily added to new or existing applications public class PlugExample { JavaAIRPlug m_plug; public PlugExample(String p_name, String p_host, int p_port) { m_plug = new JavaAIRPlug(p_name,p_host,p_port); if( !m_plug.init() ) { System.out.println( p_name + ": Could not connect to the Server on " + p_host + " on port " + p_port + "..." ); System.exit( -1 ); } System.out.println( p_name + ": connected to server on " + p_host + " on port " + p_port + "..." ); m_plug.postMessage("WBPerception","RU.S1.Internal.Perception.OutOfAir","","English",""); } *AirPlugs are available for Java, C++, C#
Preperations for Project 1 Gola cluster: 192.168.101.1-9 We will use 5 and 6 Use Putty.exe to connect to gola Running psyclone psyclone spec=bla.xml port=10001-n