[Oslc-Automation] Action resources - implementation patterns
Martin P Pain
martinpain at uk.ibm.com
Tue Jan 7 07:13:56 EST 2014
Responses inline
> > > 2: In the final paragraph of [1], a statement is made: "However, as
> > "This" refers to the SHOULD in that same paragraph. The "already
>
> OK; I'll assume that some clarification either has been or will be
> made, given that I just proved by example that it can parse incorrectly
;-)
It now says "However, as already stated, implementations **MUST NOT**
assume that actions with exactly the same set of `rdf:type` values are
equivalent, as providers might have solely used generic types and not
identified the specifics of - and therefore the subtle differences between
- the actions."
Although I admit this is quite a complex sentence, so perhaps we just drop
it all in favour of the earlier sentence "Implementations **MUST NOT**
assume that actions with the same action types are semantically
equivalent".
> > > 3: In the RDF body pattern [4], we say "It is possible for bindings
...
> I suggest "an http:body" --> "at least one http:body" in these cases
> (not having looked at the revisions - so... grain of salt).
The empty body pattern now says:
For any action binding that uses this interaction pattern:
* at least one `rdf:type` property **MUST** have the value `http:Request`,
and
* at least one `http:body` property **MUST** have the value `rdf:nil`.
> > > 4: In the RDF body pattern [4] and resource shape pattern [2], we
...
> I suggest "a single binding", since I read 'a' sometimes as 1:1 and
> sometimes as 1:*, depending on context.
> So this is really: if you mean 1:1, club me in the head with it.
Done
5 and 6 covered by email in other thread.
>
> > 11. In the "what are actions?" section [13] it now says "without
> > knowing anything about R other than its URI and (perhaps) how to
> > construct HTTP requests given instructions". However, "how to
> > construct HTTP requests given instructions" is not really "about R".
> > Unless you mean "consumers must be able to retrieve R's triples".
>
> Ha! I hear the parens in a different place. Knowing what (I think)
> it says, I hear it as:
> "without
> > knowing anything about R other than its URI and
> > (perhaps) how to construct [generic] HTTP requests given [generic]
> instructions"
> not as
> > knowing anything about R other than its URI and (perhaps) how to
> construct [generic] HTTP requests [against/to R]
> > given [generic] instructions"
As it is worded at the moment, the "how to construct..." phrase must be
qualified by "other than", otherwise it is saying "Without knowing how to
construct HTTP requests", which is wrong - they must know this. If it is
qualified by "other than" we're saying "Without knowing anything about R
other than {how to construct HTTP requests, and its URI}". My previous
intention for this sentence (I can't remember who originally wrote it
though) was to emphasise the part about "consumers do not need to
understand its type, properties, lifecycle, etc" rather than what they do
need to know. In other words, they can execute actions against resources
from any domain that uses Actions by merely knowing the Actions spec
(assuming they use the core interaction patterns) rather than knowing all
the individual domain specs.
> > 13. Under "instructions for executing currently available actions"
> > [16] these words: "A consumer executes an action by following a
> > single interaction pattern that it supports, and applying
> > information supplied in the action binding to the pattern. A consumer
MAY
> > use any interaction pattern whose identification rule is matched by
> > the action binding. " seem to suggest that a consumer MAY use an
> > interaction pattern that it supports even if its rule did not match.
> > Otherwise what is that MAY saying other than that they also might
> > not? While it does not make sense for consumers to do so, should we
> > include a MUST somewhere? e.g. "A consumer MUST use one of the
> > interaction pattern(s) whose identification rules are matched by the
> > action binding it has chosen."?
>
> This was attempting to cover the case where a single binding matches
> n>1 interaction patterns, and saying "we don't care which you
> choose, of those you support that match the binding".
> Were you perhaps reading "A consumer MAY use any interaction pattern
> whose identification rule is matched" to say "use an" instead of "use
any"?
> In which case "use any ...pattern(s)" or "use any (of possibly
> multiple matching) ..." might help?
For me, the problem is that we're never saying that they MUST use one of
them. There's nothing that prohibits them from using none of them (as if
they MAY use any, that suggests to me that they might not use any, as they
don't have to obey a MAY). If they use none of them, they're not executing
the pattern. So it feels like there should be a MUST, so you can look down
the MUSTs to see the find the minimum that you need to do to execute the
pattern.
How about something like: "A consumer executes an action by following a
single interaction pattern, applying information supplied in the action
binding to the pattern. Out of the patterns that it supports, the consumer
MUST use a pattern whose identification rule is matched by the binding. If
multiple patterns match, the consumer MAY use any interaction pattern
whose identification rule is matched by the action binding."
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-automation_open-services.net/attachments/20140107/77a02ed0/attachment-0003.html>
More information about the Oslc-Automation
mailing list