[Css-csts] Inconsistencies in UNBIND behavior
Yves.Doat at esa.int
Yves.Doat at esa.int
Mon Feb 4 02:41:27 EST 2008
Dear John,
Thank you for your comment.
In the release 0.12 the association was not yet consolidated and I did not
update the state table. I considered your comments and updated the table
as follows:
IF “positive result”
THEN (+unbindReturn)
{unbind}
{clean up}
-> 1
ELSE (-unbindReturn)
-> 2.1
This presentation is in line with the rest of the table. Please let me
know if you agree.
Best regards
Yves
__________________________________________________
Head Ground Infrastructure Baseband Section (OPS-GIB)
ESA/ESOC Robert-Bosch Strasse 5
D-64293 Darmstadt, Germany
Tel.: +49 (6151) 90.2288 Fax:+49 (6151) 90.3046
Internet: http://www.esa.int/
__________________________________________________
"John Pietras" <john.pietras at gst.com>
Sent by: css-csts-bounces at mailman.ccsds.org
22/01/2008 21:38
To
<css-csts at mailman.ccsds.org>
cc
Subject
[Css-csts] Inconsistencies in UNBIND behavior
Members of the CSTSWG ---
There seem to be inconsistencies between the way that the UNBIND operation
is defined and the way that it is subsequently used in the various
procedures, at least as documented in the 0.11 version of the Procedures
Definition specification.
Under the UNBIND operation definition (section 4.6), section 4.6.2.2.1
states “If the result is ‘negative result’ and none of the diagnostic
defined in 4.4.2.7 is suitable, the diagnostic parameter may be used by
specific transfer services or specialized procedures to convey additional
information.”
and section 4.6.2.3 states:
“The unbind-reason shall take one of the following values::
a) ‘end’—the user has performed all expected activities and is
releasing the association normally: the provider may delete the service
instance and release all its resources associated with it;
NOTE – If unbind-reason is ‘end’, any subsequent attempt to invoke BIND
will fail even if the service instance provision period has not expired,
since the service provider may release the resources allocated to that
service instance.
b) ‘suspend’—the user is suspending usage of this service instance
for an unspecified period of time; the user may or may not re-bind to the
provider to continue data transfer at some time prior to the end of the
service instance provision period;
c) ‘version not supported’—the user does not support the version
of the service proposed by the provider in the return from BIND: this
value of unbind-reason shall be used only if the UNBIND is the first
operation invoked following the BIND;
d) ‘other reason’—the reason for the release will have to be found
by other means.”
In the Association Control procedure definition section (5.4), the state
table for the Association Control procedure (table 5-3) specifies the
behavior in response to an UNBIND invocation of a procedure instance in
the ‘bound’/‘ready state’ as:
(+UnbindReturn)
-> 1
IF “end”
THEN
{unbind}
{clean up}
ELSE [ignore]
There seem to be several problems with this behavior.
First, it does not allow the possibility of a negative result
(-UnbindReturn), although the definition of the UNBIND clearly supports
such a possibility.
Second, by this definition, the compound action {unbind} only occurs when
“end” is the unbind-reason. This is not a very good name for the compound
action, because a reader would naturally assume that an action called
{unbind} will always occur as part of a successful UNBIND operation.
Perhaps a name like {end service instance} could be used.
Third, shouldn’t some or all of the actions that comprise the {clean up}
compound action occur for the other unbind-reasons as well? I’m thinking
in particular about the various timers - aren’t they suspended whenever
the service instance is unbound?
Finally, the sequence of actions seems out of place; i.e., the state
transitions to state 1 and then {unbind} (or {end service instance}) and
{clean up} occur (if unbind-reason = “end”), otherwise something is to be
ignored. The UNBIND invocation itself should be ignored if it is invalid,
but as currently written this is not a possibility. On the other hand,
maybe the ELSE is simply intended to say “don’t do anything else beside
going to state 1 if the bind-reason is not ‘end’”, but in that case
[ignore] seems to be the wrong action.
If we then look at the Buffered Data Delivery procedure(5.6), the behavior
of a procedure instance in response to an ‘unbind’ event is defined in all
cases as {clean up}, regardless of the unbind-reason. Is this the correct
behavior, or should the behavior of the non-Association Control procedures
also be governed by the unbind-reason?
Best regards,
John
John Pietras
Global Science & Technology, Inc. (GST)
7855 Walker Drive
Suite 200
Greenbelt, Maryland, USA
20770-3239
Direct: +1-240-542-1155
GST Main: +1-301-474-9696
Fax: +1-301-474-5970_______________________________________________
Css-csts mailing list
Css-csts at mailman.ccsds.org
http://mailman.ccsds.org/cgi-bin/mailman/listinfo/css-csts
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ccsds.org/pipermail/css-csts/attachments/20080204/aa1a810b/attachment.htm
More information about the Css-csts
mailing list