Re: Annotations for side effects and stability

/ Alex Milowski <alex@milowski.org> was heard to say:
|> 3. Reorder the steps in the pipeline, e.g. parallel execution. For
|> example, running p:second before, or at the same time as, p:first in
|> this pipeline:
|>    <p:pipeline>
|>      <p:output ref="foo" />
|>      <p:step name="p:first">
|>        <p:input href="first.xml" />
|>        <p:output label="first" />
|>      </p:step>
|>      <p:step name="p:second">
|>        <p:input href="second.xml" />
|>        <p:output label="second" />
|>      </p:step>
|>      <p:step name="p:foo">
|>        <p:input name="doc1" ref="first" />
|>        <p:input name="doc2" ref="second" />
|>        <p:output label="foo" />
|>      </p:step>
|>    </p:pipeline>
|
| Yes, this should be allowed.
|
|> 4. Use cached results of the component invoked in the same way in the
|> same pipeline invocation. For example, using 'copy1' rather than 'copy2'
|> in the p:foo step in this pipeline:
|>    <p:pipeline>
|>      <p:output ref="foo" />
|>      <p:step name="p:copy">
|>        <p:input href="copy.xml" />
|>        <p:output label="copy1" />
|>      </p:step>
|>      <p:step name="p:copy">
|>        <p:input href="copy.xml" />
|>        <p:output label="copy2" />
|>      </p:step>
|>      <p:step name="p:foo">
|>        <p:input name="doc1" ref="copy1" />
|>        <p:input name="doc2" ref="copy2" />
|>        <p:output label="foo" />
|>      </p:step>
|>    </p:pipeline>
|
| I don't see how this is different than #3.  The graphs are exactly the
| same.

No, they aren't. In the first graph, two different components are run:
p:first and p:second, then p:foo. In the second graph, the same
component is run twice: p:copy and p:copy, then p:foo.

                                        Be seeing you,
                                          norm

-- 
Norman Walsh
XML Standards Architect
Sun Microsystems, Inc.

Received on Thursday, 27 April 2006 10:33:52 UTC