I think you're on the right track.

You can add additional fields to your generated JCas cover class, such as
something like a Java Hash Map.
Provided your users haven't disabled the JCas caching, this will work.

Some caveats:

In the general UIMA design, any particular part of a pipeline is supposed to be
"remotable" - that is, converted to a service call to an external service.  When
this is done, the CAS is "serialized" to the remote.  This serialization won't
serialize any of the additional custom fields you may have added to your
JCasGen'd cover class definition.  One way around this is to have a fall-back
which recreates the info if not present.

The same "serialization" issue applies if you manually serialize the Cas to some
file.

Would this approach fit your situation?  If not, please explain a bit more
detail (e.g., why it doesn't fit... :-) ).

-Marshall


On 8/24/2015 9:53 AM, Peter Klügl wrote:
> Hi,
>
> first of all, thanks Marshall :-)
>
> Am 24.08.2015 um 15:08 schrieb Marshall Schor:
>> I assume you talking about this.svd.useFSCache :-) This has been disabled 
>> for as
>> long as I can recall. 
>> [...]
>>
>> There is currently no option to cache FSs for just some types, other than to
>> create a JCas cover class for those types and run with JCas enabled.
> Let me rephrase it: Is it a realistic option for us to introduce
> something like that?
>
> What do you mean with the second part of the sentence? I am currently
> looking for ways to share information for the same CAS between analysis
> engines. Should it be possible to use normal java fields of JCas cover
> classes for this purpose? My annotations are recreated all the time and
> thus I am loosing the field values ...
>
> Best,
>
> Peter
>
>
>> -Marshall
>>
>> On 8/24/2015 7:42 AM, Peter Klügl wrote:
>>> Hi,
>>>
>>> what is the current status on FS caching in svd? The comment says that
>>> it is not maintained. If activated, an NPE is thrown because the fsArray
>>> was never initialized. This could be solved by initializing it with a
>>> non-empty array. (I could create an issue and fix it, if wanted).
>>>
>>> In my current (extremely restricted) test bed, the memory consumption
>>> and runtime drop both by about 30% with fs caching.
>>>
>>> I do not have a overview yet: Could there be problems with other parts
>>> of UIMA if we use the caching?
>>>
>>> with a big Ruta hat on:
>>> Is it an option for us to active the caching on the fly for a specific
>>> type only?
>>>
>>> Best,
>>>
>>> Peter
>>>
>>>
>>>
>

Reply via email to