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 > > > > > >
