I didn't mean to imply that the existing annotator capability
declarations would be sufficient by themselves to determine the
logical dependencies.
I meant that to "configure" this flow controller you would provide the
dependency information somehow, similar to how you currently provided
a linear "fixed flow". This could be config information on the FC
itself, or maybe something additional added to the descriptors of
annotators being used.
I meant generic in the sense that the FC implementation would be generic.
Regards,
Nick
Quoting Richard Eckart de Castilho <[email protected]>:
On 16.04.2015, at 02:07, Nick Hill <[email protected]> wrote:
I envisage a generic flow controller which would be configured with
some dependency information rather than a fixed flow (for example
annotator C depends on annotators A and B, D depends on C, E
depends on A, etc). It would then optimally "compress" their
execution using a prescribed # threads. I.e. any given annotator
would get processed as soon as it's dependency annotators had
completed.
Just as a side note: unfortunately, generic is relative. Somewhere
in the UIMA core, afaik there is a flow controller already that
takes into account capabilities. Unfortunately, capabilities are
static information. If a component dynamically loads some model and
depending on the model loaded produces different information (e.g. a
pos tagger dynamically loading a suitable model for the language in
the CAS), it is currently not possible to express this via
capabilities. Other dependency information is currently not
available in UIMA as far as I know.
-- Richard