You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Marshall Schor <ms...@schor.com> on 2008/01/30 13:26:57 UTC
Possible design change for Capability Language Flow to consider needed
inputs?
Suppose I have a capability language flow for an aggregate having 2
delegates where the aggregate's capability spec says it outputs type
Toutput.
Let's say the delegate #2 has a capability spec saying it outputs
Toutput,
but needs Tinput as an input, and the aggregate's Capability spec
*doesn't* include Tinput as an input.
Let's say delegate#1 has a capability spec saying it outputs Tinput,
the input needed by delegate#2
The current logic in CapabilityLanguageFlowController.computeSequence
would build a flow having only delegate #2, because it doesn't currently
consider the need for some flow elements to produce input types needed
by later delegates.
I'm not sure if this is worth fixing, or, if it should just be
documented as a limitation. A proper fix might take some work - as it
should consider sequencing to insure needed inputs are produced before
they're needed. Any opinions?
Also, currently, it is possible that
CapabilityLanguageFlowController.computeSequence can fail to find a flow
that produces all of the types listed in the Output Spec for its
aggregate. In this case, it produces a partial flow - one in which some
(perhaps 0) annotators will run, and not produce all the outputs
needed. Currently this is not flagged as an error, or logged. Should
it be?
-Marshall