Draft VOEvent 2.1
Dave Morris
dave.morris at metagrid.co.uk
Sun Nov 5 16:09:35 CET 2017
Hi all,
On 2017-11-03 13:43, Roy Williams wrote:
> The real problem though, lies with VOEvent itself being (a)
> tied to XML and (b) in a state of flux.
On 2017-11-04 15:51, Rob Seaman wrote:
> I suspect that anybody who has navigated a standard through the IVOA
> process would agree with Roy!
I'm sorry guys, but I'm afraid I disagree.
First, regarding the issue of the existing XML schema; I have seen no
evidence to suggest that the XML based schema is causing problems for
the VOEvent community.
In fact, I was impressed and encouraged by the number of projects I met
at a recent conference on transients and alerts who were either already
using, or planning to use, the current XML based VOEvent tools to
develop networks for coordinating follow up responses to transient
events.
As far as I can remember, none of the projects even mentioned XML as an
issue.
Next, the suggestion that an urgent and immediate transition to JSON is
imperative for whatever reason is, to my mind, unfounded.
To a great extent, the actual on the wire format is irrelevant. Both XML
and JSON are text based formats, so they will both need to expand
numeric values into strings of ASCII characters, with the associated
loss of precision, and they will both need to use some form of encoding
like base64 to embed binary objects such as images.
However, this misses an important point. None of our scientists should
ever encounter the raw on-the-wire data format. Software for
implementing the science use cases should be developed based on higher
level libraries such as the FourPiSky voevent-parse toolkit, which
represents event messages as Python objects, not as XML or JSON.
The fact that it might be easier to write a low-level parser in a
particular language for one data format rather than another may
influence our choice of formats in the future. But it is nowhere near
enough evidence to justify disrupting an existing, working system that
people are using in live production networks.
Third, the suggestion that we should drop everything and convert to Avro
in a mad rush to be ready for the ZTF/LSST streams as soon as they
become available is unrealistic for several reasons.
Not least of which is because the ZTF/LSST teams themselves are still
experimenting with how to use Avro. I think we need to allow the
ZTF/LSST team space to evolve their designs from their current
experiments towards a production ready design before we decide to bet
the future IVOA standard on it.
So far, the only people I know of who have direct experience with Avro
are the ZTF/LSST team, and they are not ready to publish anything yet.
It is also important to note that based on the current plans LSST are
only distributing the Avro based fire-hose streams to a limited number
of community brokers, who will then filter the streams into smaller
lower bandwidth streams of more specific event types.
When this was discussed at the IVOA meeting in Santiago, the expectation
was that in most cases the community brokers would probably issue their
downstream alerts using the existing VOEvent format and protocol.
This would enable users to plan and develop their software using the
existing tools and test it using the existing VOEvent network to be
ready to receive the new types of event when they become available.
It is also important to note that the LSST project is not external to
the IVOA. They are participating members of the IVOA and scientists and
engineers from LSST were active in, and in some cases lead, the
discussions at the conference in Santiago.
We should not see them as an external threat developing ad-hoc designs
that will fragment the community. They are part of this community, and
we should work with them to develop the next generation of VOEvent.
However, at this stage I think the conversation should be about
prototypes and experiments, not standards and specifications.
If we are concerned about how to prepare for this new generation of
alert streams, then I suggest we can ask the LSST team to make a
presentation at the next IVOA conference. Based on what I have heard
from talking with them, I think they may already be planning on
presenting something at the May interop anyway.
In addition, those of us who are working on developing community brokers
for the LSST streams can play our part in ensuring that the message
content of ZTF/LSST alerts are compatible with VOEvent, by proposing
changes to both the VOEvent and the ZTF/LSST schema to bring them closer
together.
If, as a result of that, we discover specific structures or patterns in
XML schema that we should avoid using because they would make a
transition to a new format more difficult then I agree we should take
care to avoid them where ever possible.
We should use the lessons learned from our Avro prototypes and
experiments to inform the evolution of the 2.x XML schema, but I don't
think the prospect of Avro/Kafka based systems in the future should
prevent us evolving the existing XML based standards in the mean time.
I think we should continue to evolve the 2.x XML schema in response to
specific science use cases.
As long as we ensure that minor point version changes 2.1, 2.2 etc. are
backwards compatible with the existing tools and libraries, then I see
this as part of the natural evolution that happens with any IVOA
standard.
I also want to reassure astronomers who are already using the existing
2.x schema, and the associated tools and libraries, like Comet and
FourPiSky, that their work will continue to be supported in the future.
When Pierre and Baptiste contacted me about their ideas for changes to
the 2.x schema based on their specific use case, I encouraged them to
present their proposals to the community for discussion. The suggestion
that it should be proposed as a new version (2.1) of the standard came
from me.
On the other hand, if we can incorporate some or all of their proposals
by issuing an errata, then I'm all for that, it would take less time and
involve a lot less paperwork.
As far as I am concerned, as long as they are compatible with the
existing 2.x schema, do not disrupt the systems already in place, and
solve well defined science use cases, then I think we should welcome
their proposals.
If there are specific XML constructs that we know will make it difficult
to migrate to another format such as Avro at a later date, then I agree
we should avoid using them wherever possible.
However, I don't believe that the prospect of ZTF/LSST using Avro for
their alert streams in the future should prevent us from evolving the
existing VOEvent standards to meet current science use cases now.
Evolving the current standards to meet current science use cases, and
developing prototypes to learn about new technologies like Avro are not
exclusive.
We should be able to do both at the same time.
Regards,
Dave
--------
Dave Morris
Research Software Engineer
Wide Field Astronomy Unit
Institute for Astronomy
University of Edinburgh
--------
More information about the voevent
mailing list