I am working on some modifications to the XMI deserializer that will
allow the following scenario:

1) A CAS is serialized to XMI.
2) Copies of the XMI documents are sent to multiple remote services
3) Each remote service appends to the CAS (does not delete or modify
existing stuff) and responds with a new serialized XMI CAS)
4) The multiple XMI responses are all merged back into a single CAS instance

This would permit multiple remote services that don't depend on each
other to run in parallel, assuming they only append to the CAS (which
is common).  Of course there's other work on the runtime needed to
actually do the parallel invocations, but XMI serializer support is a
prerequisite.

The basic XMI deserializer changes aren't too complicated.  First,
when the CAS is originally serialized in step 1, we make available to
the caller the maximum xmi:id value in that CAS (this is mostly
already done, we just need to add a public accessor for this value).
Next, we allow passing this value to the deserializer as an optional
argument that essentially says "deserialize only XMI elements whose
xmi:id is greater than the specified value".

Any comments on this approach?

-Adam

Reply via email to