On 10/4/2013 2:09 AM, ThanhDK wrote:
> Thanks Marshall for your detailed response. Really appreciate it.
>
> I have a few more inquiries:
>
>> Later, UIMA introduced the concept of a CAS Multiplier.  This generalized the
>> Collection Reader a bit, allowing it to be anywhere in a pipeline, not just 
>> at
>> the beginning.
> Thanks for the info. I had a look at the CAS Multiplier and saw that it
> implements the interface AnalysisComponent
> http://uima.apache.org/d/uimaj-2.4.2/apidocs/org/apache/uima/analysis_component/AnalysisComponent.html
>
> So my question is what is the relationship between this interface and the
> AnalysisEngine interface
> http://uima.apache.org/d/uimaj-2.4.2/apidocs/org/apache/uima/analysis_engine/AnalysisEngine.html
>
> Conceptually speaking, AE should be subclass of AC but this doesn't seem to
> be the case?
UIMA, as a framework, has 2 "sides".  On one side, it supports "components". 
These components have to be structured to follow the component interfaces.

On the other side, there's the caller of the UIMA Framework.  That's, for
instance, a Java "Main" class, or a Servlet, or ...

>From that side, we have other interfaces, and the AnalysisEngine is one of 
>them.

If you read the docs, this chapter,
http://uima.apache.org/d/uimaj-2.4.2/tutorials_and_users_guides.html#ugr.tug.aae,
 is
about the first side - writing the components.
This chapter,
http://uima.apache.org/d/uimaj-2.4.2/tutorials_and_users_guides.html#ugr.tug.application,
is about the other side - the Application side, which calls the UIMA framework.

HTH. -Marshall
>
>> Later, it became clear that the Collection Reader and Cas Consumer were just
>> parameterizations of normal Analysis Engines, so they were replaced by 
>> those. 
>> The older classes still work, though.
> Do you mind elaborating on the "parameterizations" part?
>
>> So the current way to do what your asking is to use an Analysis Engine
> specified
>> as a Cas Multiplier to generate the CASes flowing in the pipeline, and to
> use an
>> Analysis Engine set up like a Cas Consumer (for instance, specify the
> properties
>> in the <operationalProperties> element to indicate that
>> multipleDeploymentAllowed is false (to cause all the CASes to flow into
> this one
>> instance, if that's what's needed).
> Again, when you say AE specified as a CAS Multiplier, how does the
> inheritance relationship work?
>
> Thanks again for your help.
>
> Regards
>
>
>
>
>
>

Reply via email to