[Pipet Devel] Re: Overflow/Loci/GMS collaboration

J.W. Bizzaro bizzaro at geoserve.net
Mon Mar 13 22:46:00 EST 2000

Jean-Marc Valin wrote:
> There's another option that might be worth considering: "plugging" the GMS (or
> Loci) core on top of the Overflow core. I don't think it would be that hard,
> since we already have a node that can exec an executable and return it's stdout.

That's along the line of what GMS has accomplished and Loci has been trying to
accomplish.  This is something we'll need to discuss since we have 3 ideas
about how this can be done.

But if Overflow were to be a node in GMS, Overflow would have to handle input
from and output to the outside world.  I imagine Overflow might need a special
node for doing that.  An idea that we had for Loci, was that unconnected lines
on a workspace would represent data that would flow to and from the outside. 
And since Loci was going to nest workspace in a workspace in a workspace,
etc., and each nested workspace is itself a node, unconnected lines would mean
data flows to a parent.  I'd like to see us do that in our collaboration.

> A nice feature we have (I didn't see it in Loci/GMS, but maybe it's there too)
> is "subnets" and "iterators", which allow the C equivalent of functions
> (reusable in any "program") and loops. For example, this allows me "for each
> file in a list", "for each 10 ms frame in the file", to calculate a
> powerspectrum.

Loci was going to (again, much of the design hasn't been implemented)
represent connected nodes as linked XML.  The linked XML would then be parsed
by an interpreter, which would allow for data flow controls (loops, etc.) to
be inserted.  The only thing we haven't figured out is how to determine the
conditions for flow control (e.g., what data is used with an if-then
control?).  Remember, Loci wanted to be able to deal with any type of data.

> Another consideration, besides the GUI and the core, is the object system. In
> Overflow, all nodes return a pointer (reference counted) to an Object, which is
> the base class for all other types (Int, String, Vector, ...). Åll these types
> can be saved/parsed to file. Do you have something similar in Loci, or are you
> using files without caring for the content of the file? (or something else)

Loci wasn't going to care about the content of the file.  We were going to use
XML meta-data to accompany each node, and that could be saved to a file.  I'd
like to hear what Jarl has to say about this and how GMS does it.

> As for the GUI, I don't think it's a priority for now... we might end up
> rewriting one that best handles the new core (if we merge the 3 projects). Or we
> can always keep 3 different GUIs that use the same core differently...

Well, I okayed this with our one other dedicated coder (Brad), and we want
Loci to provide a consistent (and very cool, I might add) GUI across the
projects.  So, we'll back off of the infrastucture coding and dedicate
ourselves to user interface and general design issues.

> Last thing, let's see how much time we have. For the next year, I'm gonna code a
> lot for Overflow, since I use it for my master (in speech processing). What
> about you and the GMS guys?

Oh, I just got my Master's and won't be back in school for the Ph.D. program
until September.  So, I have lots of time for the next 6 months.  And, if I
may speak for Brad, he wants to use such an application for his thesis work,
so he's very anxious to keep things moving.  From Loci's point-of-view,
merging or collaborating with GMS and Overflow could take away a year or more
of development time (Plus, otherwise, all 3 projects would have a great deal
of redundency between them).

                      |           J.W. Bizzaro           |
                      |                                  |
                      | http://bioinformatics.org/~jeff/ |
                      |                                  |
                      |        BIOINFORMATICS.ORG        |
                      |           The Open Lab           |
                      |                                  |
                      |    http://bioinformatics.org/    |

More information about the Pipet-Devel mailing list