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


Reply via email to