[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