[Pipet Devel] NetInputs and NetOutputs

J.W. Bizzaro bizzaro at geoserve.net
Mon Jun 19 18:54:54 EDT 2000


Brad Chapman wrote:
> 
> Jeff wrote:
> > Conceptually and graphically, it's very simple: Unconnected pipes
> > in a subnet mean the I/O is redirected from/to the parent network.
> > In Pied/Piper, all "dangling" pipes are reproduced at (mapped
> > onto) the parent node's icon (this is not implemented yet).  To
> > "close" a pipe or create a "dead end", the user must "hide" it
> > (also not implemented).  In Peep, the user will need to issue a
> > "close" or "cap" command to do the equivalent.
> 
> Okay, this makes complete sense. Thanks! I'll work on adding support
> for this in the dl so that the xml files model this kind of behavior.

About DL support: We'll need commands like "create_link" and "destroy_link"
("link" is Overflow terminology, which we should use, and a "pipe" is a type
of link).  As an example of why the UI needs to follow the commands of the DL
(although that may seem backward), imagine the user entering a subnet and
disconnecting a link.  The UI tells the DL......

   UI: "DL, disconnect this link"

But, now that there is an unconnected link in a subnet, the subnet's parent
node (the node that represents the subnet -- contained in the "supernet") gets
that link added to it (for Pied, the link is added to the icon).  (This is
what I described to you earlier.)  So, what happens?  First, the DL tells the
UI to go ahead and disconnect the link:

    DL: "UI, disconnect this link"

The UI does it, but THE PARENT NODE NEEDS A LINK ADDED:

    DL: "UI, create a link on the parent"

THIS IS NOT MERELY ECHOING BACK THE COMMANDS BY THE DL AS A CONFIRMATION! 
This is something the DL has come up with on its own.  This is why the DL is
smart while the UI is dumb, and why the UI has to listen to the DL!

> > (You don't see NetConditions however, since it is used "internally"
> > by the Iterator)
> 
> Right, I still need to add stuff for handling Iterators and haven't
> even gotten into this yet.

About iterations: The idea of using iterators with data passed around the
Internet (not just within the Overflow system) is interesting.  Say that you
want to pass some data to a remote processor in a loop until a condition is
met.  But, where should the logic/controller for this reside?  Do we need to
(re)implement this in the BL layer, or should the user make a PL subnet to
handle this?  Thoughts?  Talk amongst yourselves :-)

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




More information about the Pipet-Devel mailing list