On Tue, Nov 25, 2003 at 01:41:45PM +0100, Christophe MERTZ wrote:
> 
> We are using at CENA (French Reserch Center for Air Traffic Control) a
> perl module called Ivy.pm for more than 5 years now, and this module is
> freely available since July 2000 (at least). 
> It was proven to be very powerfull for developping multi-agents
> /multi-plateform prototypes. In facts it is a software bus, very easy to
> use. It works on many languages and many architectures. A new agent on
> the bus just connect, subscribes to messages through simple regexp (part
> of the regexp being given as arguments to callback) and send messages.
> Messages are text, and as any agent can subscribe to any regexp, it is
> very easy to use and add new agents. 

Sounds good.

> Ivy is already freely available on http://www.tls.cena.fr/products/ivy

Pity the docs are so patchy.

> but has never been uploaded on the CPAN. My question relates to the
> module name. In-house (and in other reserch centers and at least one
> company), we could hardly change this module name because it is used in
> more than 50 applications and in more than 10 teams. In fact the number
> of agents is really more if we count all very small agents (maybe 100 or
> 200, hard to say).
> 
> So I can only see two ways to upload this usefull module:
>   * we upload the module with this root name: Ivy
>   * we upload the module in a subhierarchy Xxx::Ivy but we need to build
>     a wrapper for our own needs... This solution seems to be a bit
>     tricky and I fear this could be error-prone. 

It's a single module implementing a class. The wrapper ought to be no
more complicated than:

        package Ivy;
        use base Net::Ivy;
        1;

Hardly error-prone.

> Do you have some suggestions?

I'd suggest uploading as Net::Ivy and bundling an Ivy.pm as a wrapper.

> PS: Ivy.pm current implementation is based on Arrays rather than Hashes.
> The implementation could be modified to use hashes or extended to
> simplify sub-classing. This would not be done in a first CPAN
> release....

(I'm disappointed the module isn't an interface to the C library.)

Tim.

Reply via email to