summaryrefslogtreecommitdiff
path: root/doc/ivy-perl-1.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ivy-perl-1.html')
-rw-r--r--doc/ivy-perl-1.html116
1 files changed, 0 insertions, 116 deletions
diff --git a/doc/ivy-perl-1.html b/doc/ivy-perl-1.html
deleted file mode 100644
index b6b2c92..0000000
--- a/doc/ivy-perl-1.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
- <TITLE>The Ivy Perl library guide: General information</TITLE>
- <LINK HREF="ivy-perl-2.html" REL=next>
-
- <LINK HREF="ivy-perl.html#toc1" REL=contents>
-</HEAD>
-<BODY>
-<A HREF="ivy-perl-2.html">Next</A>
-Previous
-<A HREF="ivy-perl.html#toc1">Contents</A>
-<HR>
-<H2><A NAME="s1">1. General information</A></H2>
-
-<H2><A NAME="ss1.1">1.1 What is Ivy?</A>
-</H2>
-
-<P>
-<P>Ivy is a software bus designed at CENA (France). A software bus is a system
-that allows software applications to exchange information with the illusion of
-broadcasting that information, selection being performed by the receiving
-applications. Using a software bus is very similar to dealing with events in a
-graphical toolkit: on one side, messages are emitted without caring about who
-will handle them, and on the other side, one decide to handle the messages that
-have a certain type or follow a certain pattern. Software buses are mainly aimed
-at facilitating the rapid development of new agents, and at managing a dynamic
-collection of agents on the bus: agents show up, emit messages and receive some,
-then leave the bus without blocking the others.
-<P>
-<H3>Architecture and principles</H3>
-
-<P>As opposed to other software buses, Ivy does not depend on a centralised
-server. Actually, Ivy is mostly a communication convention between processes,
-implemented through a collection of libraries in several languages.
-<P>
-<P>
-<P>From the programmer's point of view, Ivy is an information broadcasting
-channel. The main functions are:
-<P>
-<UL>
-<LI> connecting to a bus.<EM> Example: Ivy::start (-loopMode =>
- 'local', -ivyBus => '2011', -appName => "toto" );</EM></LI>
-<LI> sending a message.<EM> Example: Ivy::sendMsgs ("HELLO WORLD")</EM></LI>
-<LI> bind a message pattern to a callback function.<EM> Example:
- Ivy::bindRegexp ("^HELLO (.*)", [\&cb])</EM></LI>
-<LI> the main loop.<EM> MainLoop</EM></LI>
-</UL>
-<P>Ivy's
-decentralised connection scheme probably incurs limitations in terms of how many
-applications can be connected to an Ivy bus, but this simplifies management a
-lot. Basically, an Ivy bus is just a set of applications that decide to
-communicate together. The only conventions between these applications are:
-<OL>
-<LI> the use of the Ivy protocol (for obvious reasons)</LI>
-<LI> a bus address, made of a broadcast port number (a bit like a citizen band
-channel) and a set of networks addresses</LI>
-</OL>
-
-When an application wants to connect to a bus, it sends a broadcast message on the
-networks specified in the bus address, so that all applications present on those
-networks and listening on the specified port number connect to it. It then
-becomes part of the bus, and listens like the other ones.
-<P>The messages are exchanged in text format, and bindings are based on regular
-expressions with captures. If an application subscribes to
-<CODE>HELLO (.*)</CODE> and if another application emits the message <CODE>HELLO WORLD</CODE>, a
-callback will be called in the first application with <CODE>WORLD</CODE> as an argument.
-<P>
-<P>
-<H3>Using Ivy</H3>
-
-<P>You can use Ivy through applications that have been provided to you. This is the
-case for <CODE>ivyprobe</CODE>, an Ivy agent that allows you to examine the messages
-exchanged on a given bus and to send messages on that bus. You can refer to the
-web site <CODE>http:</CODE> for a list of available agents. However, what you will
-usually want to do is to develop your own applications. In order to do that you
-can use an Ivy connection kit, that is a library that implements Ivy.
-<P>
-<P>
-<P>Libraries that implement Ivy are available in the following environments:
-<UL>
-<LI> in C on Unix and Windows platforms, with its own communication library</LI>
-<LI> in C++ on Windows platforms</LI>
-<LI> in C++ on Unix platforms, integrated with the Uch communication library</LI>
-<LI> in C++ on Unix platforms, integrated with OpenInventor</LI>
-<LI> in C++ on Macintosh</LI>
-<LI> in Perl and in Perl/Tk</LI>
-<LI> integrated with Object Caml on Unix platforms</LI>
-<LI> in Scheme on Unix platforms</LI>
-<LI> in Java</LI>
-</UL>
-<P>
-<P>Connecting your application to an Ivy bus just consists in choosing the
-appropriate library, add the appropriate message emission and reception calls to
-your code, use the main loop provided in the library or make the necessary
-integrations, and get your code running!
-<P>
-<H2><A NAME="ss1.2">1.2 The Ivy Perl library</A>
-</H2>
-
-<P>The Ivy Perl library (aka Ivy-Perl or ivy-perl) is a Perl library that allows you to connect
-applications to an Ivy bus. You can use it to write applications in Perl or any
-other language that supports Perl extensions (Perl/Tk for instance). This guide documents how you can do
-that.
-<P>The Ivy Perl library is known to compile and work in WindowsNT and Linux
-environments. It should be easy to use on most Posix environments.
-<P>The Ivy Perl library was originally developed by Alexandre Bustico at CENA. It
-is maintained by the CENA-Toulouse team.
-<P>
-<HR>
-<A HREF="ivy-perl-2.html">Next</A>
-Previous
-<A HREF="ivy-perl.html#toc1">Contents</A>
-</BODY>
-</HTML>