Subject: UIMA-AS Client API Change Discussion

The UimaAsynchronousEngine interface has only two sendAndReceive() methods.

There was only one change made to the sendXXX API since UIMA-AS inception.
change under discussion here would be the second one.

The sendCAS ( CAS cas, Map options )  has an advantage of keeping the API
simple and extensible but it kinda hides the parameters. The user must
documentation to discover what options are available and how to use them
sync or async, target or not, etc.
Granted, the UIMA-AS initialize(Map options) uses this style already :)

This new method will create ambiguity since:

sendAndReceiveCAS(CAS cas, List<AnalysisEnginePerformanceMetrics>


Map<String, Object> options = new HashMap<String,Object>();
options.put(MODE,SYNCHRONOUS );
options.put(METRICS, new ArrayList<AnalysisEnginePerformanceMetrics>());
sendCAS(cas, options);

are equivalent, and the second one being quite verbose.

What should we say in the documentation?  Which style should the user use?
Perhaps we can say that
the new code should use sendCAS(cas, options) since it is more extensible
and ready for future changes
to this API

On Tue, Dec 12, 2017 at 2:15 PM, Burn Lewis <[EMAIL PROTECTED]> wrote: