TWiki
>
IVOA Web
>
IvoaApplications
>
SampProgress
>
SampRfcDiscussionV11
(revision 21) (raw view)
Edit
Attach
---+ RFC Discussion This page will be used to encapsulate the discussion of the SAMP RFC from December 8, 2008 through January 16, 2009. Comments and responses will be included below. The SAMP protocol and its implementations are described in the documents linked to the SampProgress page. Since the document is in a public source code repository, interested viewers will be able to see the changes which are made as a consequence of these comments - see SampDoc for details. Please add your comments here directly, or send mail to either the general [[mailto:apps@ivoa.net][Applications]] or specific [[mailto:apps-samp@ivoa.net][SAMP]] mailing lists. <hr> ---++ Comments: ---+++ Comments from IVOA.BobHanisch * Most of my comments on this document are editorial in nature proper use of which and that, punctuation, and so on. I will be happy to share a detailed mark-up with the editors. To first order, almost all uses of which are incorrect and need to be replaced with that. I strongly prefer the Oxford comma (apples, bananas, and oranges), which is the standard for the astronomical literature in the US, but I know that in some countries and in newspapers this is not used. Wikipedia has a nice discourse on this: http://en.wikipedia.org/wiki/Serial_comma . * These comments boil down to American/English English distinctions. Discussed in private emails. * A general concern, though, is that it is not clear when the document is using the special words must, should, may, etc., in accord with RFC 2119 and when it is not. Sometimes the words appear in all-caps, but usually they do not. Sometimes the word can is used and it is ambiguous whether this means may, should, or must. And sometimes should it used when it seems like it really is a must. I note a few particular problems below, and others are in my more detailed mark-up. * Some of these addressed as detailed below. Otherwise I've been through the text and capitalised these terms where they are used in the sense of RFC 2119. * Section 1.3 introduces the term publish, but then it is almost immediately abandoned and replaced by send. Are these synonyms, or am I misunderstanding the intent? * This section is, by way of supplying context, discussing some messaging models which are related to what SAMP does, but SAMP does not exactly match any of the four models discussed here. Although the notion of "subscription" is one which we do use as part of the description of how SAMP works, the notion of "publication" is not (partly because SAMP permits sends directed to a single recipient as well as ones directed to all subscribed recipients, and this does not seem to be well captured by the terminology of publication). So: no, "publish" is not to be considered a synonym of "send" here. I have reworded this paragraph, though not the rest of the text, slightly as follows, avoiding use of the word "send": _"A publish/subscribe (pub/sub) messaging system supports an event driven model where information producers and consumers participate in message passing. SAMP applications ``publish'' a message, while consumer applications ``subscribe'' to messages of interest and consume events. The underlying messaging system routes messages from producers to consumers based on the message types in which an application has registered an interest."_ Is this any better? * In Section 3.3, the string data type is described as a sequence of characters, with the examples being ASCII hex codes, it would appear. But this is not explicit and needs to be. * Definition reworded: _" =string= --- a scalar value consisting of a sequence of characters; each character is an ASCII character with hex code 09, 0a, 0d or 20-7f"_ * In 3.8 there is an example of the use of can: The message can be encoded as a map with the following REQUIRED keys... I am not sure what the developer is supposed to make of this. If the keys are REQUIRED, isnt this a must? * The thinking was that this is one way to encode the abstract message object (one might think of others), and the references to this section from sections 3.11 and 3.12 are what require that this particular encoding is used for the purposes of the SAMP API. However, I've now clarified this in 3.8 by writing instead: _"A message is encoded for SAMP transmission as a =map= with the following REQUIRED keys"_ , and made a similar alteration in sec 3.9. * In 3.11, p. 22, 2nd bullet, there is another example: mtype may not include wildcards. It seems that must is the correct verb. There are several more mays in subsequent bullets that need to be clarified. * "may not" changed to "MUST NOT" in that case. The other "may"s you have marked are _"May only be invoked by a Callable Client"_ . It doesn't make sense to replace May by MUST in these cases (the client is not under obligation to invoke these operations), so I have reworded: _"An error results if the invoking client is not Callable"_ (though I'm dubious that this improves clarity). * On p.23, just above 3.12, it says ...should complete...quickly. What is quickly? There needs to be some point of reference, like in less time than something else, or so as not to block some other operation, or something similar. * This wasn't intended to be a well-defined restriction, more of a fuzzy indication of what could be expected. However, I've replaced it by the following more specific text: _"Of these operations, only =callAndWait()= involves blocking communication with another client. The others SHOULD be implemented in such a way that clients can expect them to complete, and where appropriate return a value, on a timescale short compared to user response time."_ * In 3.12, p. 22, the section is called Operations a Callable Client Must Support, but immediately we see may language and a description of operations that the hub invokes. I find this to be confusing. * I've replaced the first sentence with the following: _"This section lists the operations which a client MUST support in order to be classified as callable. The hub uses these operations when it wishes to pass information to a callable client."_ * On p. 24, there is another ...should complete quickly with no context. * Since these operations do not return values, I have removed this sentence. * 3.13, p. 24, ends with ... it is not to be used by the hub to signal a failed call. Must not? Should not? * Changed to _MUST NOT_ . * Section 4.2, it is not clear if these are musts or shoulds. * Since it's discussing an API, I don't think there is much ambiguity. However, I have added a _MUST_ at the start of the section. * Section 5, p. 31, the term UCD needs to be defined and referenced. * Reference added. * Section 5.3, p. 33, the first paragraph is informal and not specific. Make a decision about how and where to document MTypes and describe it here clearly. * Section 5.4.1, all messages are described as should, but they seem like must. Response: * Bob, thank you for your careful reading. Some of your comments I agree with, and some I'm still thinking about. "Detailed markup" received with thanks - more responses to come. -- IVOA.MarkTaylor - 19 Jan 2009 <hr/> ---+++ Comments from IVOA.JesusSalgado * The document is clear from the technical point of view. However, to be fully useful for external developers, the note/document where current MTypes are listed must be provided. * In fact, because of the already existing well-written client and hub packages provided to the community, the SAMP architecture is quite transparent to the client developer and the tricky part of SAMP is now the implementation of the relevant messages per application, so the MTypes list and description is, at least, as important as the SAMP general design and it complements it. * In the document (section 5.3), it is mentioned that these MTypes could appear in an IVOA Note (instead of a document) to avoid administrative overhead. However, the UCD controller vocabulary (a similar document) is a formal document, so a more formal approach is still feasible. A possible intermediate solution could be a formal document with the already accepted messages and a working list of new MTypes waiting to be formally approved in note or web format. Response: * A similar comment has been made above by Bob and below by Christophe. We will discuss the best way to address this (on the apps-samp list, for those interested) and provide a response shortly. -- IVOA.MarkTaylor - 19 Jan 2009 <hr/> ---++ Comments from Working and Interest Groups: ---++++ Applications This draft reflects the consensus of the Working Group. There are, as far as I know, no substantive controversies. IVOA.TomMcGlynn ---++++ Data Access Layer ---++++ Data Modeling ---++++ Grid & Web Services ---++++ Resource Registry ---++++ Semantics ---++++ VO Event The IVOA might consider standardizing nomenclature for pubsub. VOEvent has brokers. SAMP has hubs. Defining a hub as a broker for routing seems a bit redundant. I guess a hub would be a broker that never talks to another broker? A solid draft - complete and self-consistent. That's a "yea" (even a "yay!") from us. RobSeaman ---++++ VO Query Language I approve the document. PedroOsuna. ---++++ VOTable PLASTIC proved to be a basic interoperability component in VO; and the SAMP document adds the possibility of understanding the underlied protocol. Well written in comprehensive terms. I approve the document. IVOA.FrancoisOchsenbein ---++++ Data Curation & Preservation No additional comments from DCP. BobHanisch ---++++ OGF Astro-RG ---++++ Theory Approved from TIG. HerveWozniak ---++++ TCG The document is well written, with clear reference and examples for implementation. Taking into account the already wide acceptance of PLASTIC, Annex A is particularly useful. In section 5.3 MTypes Vocabulary, should we directly define the NOTE of web page where the list of (existing and increasing) "samp" MTypes would reside ? I approve the document. IVOA.ChristopheArviset <br/> <!-- * Set ALLOWTOPICRENAME = %MAINWEB%.TWikiAdminGroup -->
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r43
|
r23
<
r22
<
r21
<
r20
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r21 - 2009-01-20
-
MarkTaylor
IVOA
Log in
or
Register
IVOA.net
Wiki Home
WebChanges
WebTopicList
WebStatistics
Twiki Meta & Help
IVOA
Know
Main
Sandbox
TWiki
TWiki intro
TWiki tutorial
User registration
Notify me
Working Groups
Applications
Data Access Layer
Data Model
Distributed Services & Protocols
Registry
Semantics
Interest Groups
Data Curation
Education
Knowledge Discovery
High Energy
Operations
Radio Astronomy
Solar System
Time Domain
Committees
Stds&Procs
www.ivoa.net
Documents
Events
Members
XML Schema
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback