VOEvent working draft published: version, param
Matthew Graham
mjg at cacr.caltech.edu
Fri Jun 24 15:30:28 PDT 2005
Tony Linde wrote:
>Hi Rob,
>
>
>
>>Providing a general purpose mechanism for grouping and typing
>>keyword=value pairs using <Param> is precisely the key
>>compromise that will bring VOEvent to life. Other VO
>>
>>
>
>It is the use of <param> that will kill VOEvent before it even has a chance
>to live. To produce an approach which guarantees that receiving applications
>will fail is not going to engender any confidence in the IVOA's ability to
>produce standards that are consistent with the real world.
>
>The only way you can avoid the guarantee of failure is by wrapping the
>definition of the <param> in so many ifs and buts about who can create names
>and what they must look like that the spec will make the EU constitution
>look simple and easy to use.
>
>
>
>>facility suggested for VOConcept. And in particular, we do
>>not have the time to wait for schemata to be developed for
>>all possible instrumentation and observing modes that may
>>generate sky transient alerts. I fear that you underestimate
>>the sheer terror of the thought of trying to fully
>>characterize the behavior of even a simple astronomical
>>instrument. And each new instrument becomes more-and-more
>>clever and more-and-more complex.
>>
>>
>
>I've no idea what VOConcept is. And you do not have to wait for schemata of
>any sort. It takes less time to create a private schema and use it in your
>own VOEvent record than it does to code up all the name-value string pairs
>in your transmitting applications. And hugely less time for the receiving
>applications.
>
>No-one is asking for the whole behaviour of the instrument to be
>characterized. In the same time it takes a person to dream up the names for
>the name-value pairs, you can create a schema the same way. And then you
>save a lot more time coding up your sending application.
>
>
>
>>experienced "writers of transmitting server software and
>>receiving applications" who I expect would be least receptive
>>at this point of backpedaling toward a VOEvent specification
>>that requires an explicit new extension schema be written for
>>each instrument supported.
>>
>>
>
>Are you really telling me that your highly experienced developers, who have
>probably spent years creating complex software, are incapable of stringing
>together a few elements into an xml schema? Even I can do that! I would
>think they'd be more frustrated at the likelihood of their data being
>misread and misinterpreted because we've taken a short-cut to the distant
>past and embedded xml-ised CSVs into the spec they're forced to adhere to.
>
>
>
>>The issue is precisely how to balance elegance of expression (words
>>like "cleanest") with elegance of process (words like "quickest").
>>
>>
>
>There is no issue of balance. With schema extensions you get both, with
><param> you get neither.
>
>
>Roy referred to the fact that <param> appears in the VOTable spec. I'm happy
>to admit that VOTable has worked under the initial circumstances of the
>early VObs efforts. It works simply because it is always at the end of a
>chain: all the interpreting is done by people. But VOTable always fails when
>it is sent from one application to another. We've hit just that problem with
>the workflows in AstroGrid: since none of the information (like <param>
>name-value pairs) is formally defined, it cannot be formally interpreted by
>an application - it always takes a human to do the interpreting.
>
>If you are saying that VOEvent records are *never* going to be sent to
>applications for interpreting and actioning and that they will only ever be
>sent to humans (or to tools which will only be used directly by humans like
>the VOTable tools) then <param> might be used (but will still take more work
>than extension schemas). But if you expect a VOEvent record to ever be
>interpreted by software which will kick off another action, like directing a
>telescope or running a data search, without direct human intervention, then
><param> is simply not suitable.
>
>Cheers,
>Tony.
>
>
>
>>-----Original Message-----
>>From: Rob Seaman [mailto:seaman at noao.edu]
>>Sent: 24 June 2005 20:57
>>To: Tony Linde
>>Cc: voevent at ivoa.net
>>Subject: Re: VOEvent working draft published: version, param
>>...
>>
>>
>
>
>
Hi,
Let's assume that the VOEvent schema has something like:
<xs:element name="Group" type="voe:GroupType"/>
<xs:complexType name="GroupType">
<xs:sequence>
<xs:element name="Param" type="voe:ParamType" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string"/>
</xs:complexType>
<xs:complexType name="ParamType">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
<xs:attribute name="unit" type="xs:string"/>
<xs:attribute name="ucd" type="xs:string"/>
</xs:complexType>
which will happily validate:
<Group type="GRB_INTEN">
<Param name="cnts" value="73288" unit="ct" ucd="phot.count" />
<Param name="peak" value="1310" unit="ct/s"
ucd="arith.rate;phot.count" />
</Group>
/
/Now there is nothing to stop me defining an extension:
<xs:complexType name="GRB_INTEN">
<xs:complexContent>
<xs:restriction base="voe:GroupType">
<xs:sequence>
<xs:element name="Param" type="voe:GRB_INTEN_PARAM" minOccurs="0"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="GRB_INTEN_PARAM">
<xs:complexContent>
<xs:restriction base="voe:ParamType">
<xs:attribute name="name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="cnts"/>
<xs:enemeration value="peak"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute>
<xs:attribute name="value">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d*"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute>
<xs:attribute name="unit">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ct"/>
<xs:enemeration value="ct/s"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute>
<xs:attribute name="ucd">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="phot.count"/>
<xs:enemeration value="arist.rate;phot.count"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
and then doing:
<Group type="GRB_INTEN" xsi:type="GRB_INTEN">
<Param name="cnts" value="73288" unit="ct" ucd="phot.count" />
<Param name="peak" value="1310" unit="ct/s"
ucd="arith.rate;phot.count" />
</Group>
/
/and now it is formally defined and strongly typed.
Cheers,
Matthew
More information about the voevent
mailing list