uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marshall Schor <...@schor.com>
Subject UIMA shared external resources with config parameters
Date Tue, 18 Oct 2016 21:28:39 GMT
Several Jiras talk about wanting external shared resources that can be
configured using the standard UIMA configuration settings and parameters.

For example: https://issues.apache.org/jira/browse/UIMA-2979.

Currently, there is one UIMA external resource descriptor that supports this,
which is the configurableDataResourceSpecifier.  It has a resourceMetaData
sub-element, which, in turn, has the configurationParameters and
configurationParameterSettings elements.

There is an alternate, simpler approach to configuring external resources, now
available (as of UIMA 2.9.0) - using direct access to the External Configuration
parameters.  See section in the UIMA Reference book.  The idea is that
each External Resource would define its own set of key-value parameter settings,
and retrieve them at run time.

The normal UIMA Configuration parameter mechanism is overlayed with lots of
complex functionality.  Some examples of this include supporting overrides in
UIMA Aggregates, grouping of sets of alternative values with both some common
parameters and some non-common ones (where the group can be programmatically
picked at run time (e.g., by the document language), extra meta data (such as
type, flags (e.g. mandatory)), and so forth.

This extra complexity was created for use cases where these configuration
parameters were interpreted with respect to a UIMA Context (that is, where the
parameters were associated with a particular position within an aggregation
hierarchy for a pipeline).  I think that some of these mechanisms probably don't
work correctly, if applied to the nested configuration parameter specs inside
the resourceMetaData of a configurableDataResourceSpecifier.

I'm thinking it would not be worth the trouble to add support to allow full
support for UIMA Configuration Parameters and settings in External Resources,
because I think the (now available) External Configuration capabilities provide
sufficient capability for this, and fit better with the basic idea of External
Resources as being shared objects for a pipeline (or set of pipelines).

I'd be interested to hear other views, especially if you think External
Resources is adequate, or insufficient for this.


View raw message