On Sun, Sep 11, 2016 at 3:38 PM, Peter Klügl <[email protected]>
wrote:

> Hi,
>
>
> Am 09.09.2016 um 23:24 schrieb Joern Kottmann:
> > My point is about b when someone is using Jcas the compile time static
> > typing is forcing these types into me type system and the classes have to
> > be on my classpath. It is impossible to use Jcas and not force the types
> > into other people's type systems. And my opinion is that this is just
> wrong.
>
> I disagree. For me, the type system is the part of API of the component.
> You need the API in order to use the component.
>
> > A framework like Uima has to make it easy to reuse components and in my
> > opinion strict compile time typing makes that really difficult to
> achieve.
>
> Components are already very reusable if they use the same typesystem.
> Again, that has nothing to do with compile time typing.
>
> And, this is not the only purpose but there are many more, e.g., allow
> the developer to create large maintainable pipelines.
> In my opinion, components in UIMA are much more reusable because of the
> static typing, not just throw-away prototypes.



I strongly disagree here I think the really static type system (and with
JCas even compile time static) in UIMA makes it hard reuse a component,
because I need to write explicit type system converters in many cases to be
able to use them.

The alternative to this would be a type system which is much less static
(or dynamic) and APIs to write AEs which can adapt well to similar but
different user defined type systems. This could be achieved by allowing
type system mappings, by adding explicit support for adapters in the
framework, allowing dynamic definition of types,

Together with Thilo I wrote a paper which speaks a bit about this topic
(see at 6.4):
http://www.aclweb.org/anthology/W14-5209

You have a different view and that is ok, and other people here too.



> >
> > But maybe I am wrong and people have some good examples of Jcas based AEs
> > which are nice to reuse in a simple custom pipeline.
> >
>
> I am not interested in simple pipelines. I do not need UIMA for that. I
> need UIMA for pipelines with dozens of components developed by different
> people.
>
>
If have a large pipeline you will end up writing two converters if you use
an AE which can't adapt to your type system, one to convert to the AEs type
system, this one you place before, and one to convert back from the AE type
system to yours. I was speaking here about a simple example, and not a
simple pipeline.


Jörn

Reply via email to