[Css-csts] Issues regarding procedure-instance-identifier

John Pietras john.pietras at gst.com
Thu Jan 27 16:10:01 EST 2011


Yves,

I just came across a few issues in the CSTS FW regarding the
procedure-instance-identifier that I hadn't noticed before.

 

A. Paragraph 3.3.2.5.1 states:

"The procedure-instance-identifier shall consist of:

a)      the procedure-type (e.g. Buffered Data Delivery);

b)      the procedure role:

1)      the role of the Association Control procedure is always
association control;

2)      the role of any other procedure is either prime procedure
instance or secondary procedure instance;

c)      for secondary procedures: the procedure instance number;

d)     for prime procedure instance, the procedure instance number
contains a null value."

 

As currently constructed, this section begs the question of whether
there is a procedure instance number when the procedure is Association
Control. I looked at the corresponding ASN.1 and found:

ProcedureInstanceId        ::=  SEQUENCE

{    procedureType        ProcedureType

,    procedureInstanceNumber    CHOICE

{    primeProcedure  [0] NULL

,    secondaryProcedure [1]     IntPos

,    associationControl [2]     NULL

}

}

 

Although the ASN.1 answers the question about procedure instance number
for the AC procedure, there is inconsistency between the text and the
ASN.1. E.g., there is no mention of "role" in the ASN.1, although it is
encoded (in a sense, backwards) as part of the procedureInstanceNumber
parameter. 

 

I'd like to suggest the following changes to clarify the text and make
the ASN.1 more-closely map to it.

- Change paragraph 3.3.2.5.1 to read:

"The procedure-instance-identifier shall consist of:

a)      the procedure-type (e.g. Buffered Data Delivery);

b)      the procedure role:

3)      the role of the Association Control procedure is always
association control;

4)      the role of any other procedure is either prime procedure
instance or secondary procedure instance;

c)      for secondary procedures: the procedure instance number;

d)     for the prime procedure instance and the association control
roles, there is no procedure instance number." 

 

[I suggest "there is no procedure instance number" instead of "the
number contains a null value" because numbers are not null - that's an
ASN.1 way of saying that the number doesn't exist or isn't applicable]

 

- Change the corresponding ASN.1 to read

ProcedureInstanceId        ::=  SEQUENCE

{    procedureType        ProcedureType

,    procedureRole   CHOICE

{    primeProcedure  [0]      NULL

,    secondaryProcedure [1]     ProcedureInstanceNumber

,    associationControl [2]     NULL

}

}

procedureInstanceNumber  ::= IntPos

 

B. Paragraph 3.3.2.5.2 states "The procedure-type shall uniquely
identify the type of procedure: when invoking for the first time a
procedure in a service, the invoker shall specify the procedure type and
instance number;"  I am confused by the second half of this statement
("when invoking for the first time a procedure in a service, the invoker
shall specify the procedure type and instance number"). It seems to be
saying that only the first invocation associated with a procedure
instance (e.g., a START invocation) contains the procedure type and
instance number (and role?). But these are contained in every PDU, so I
don't understand what this is trying to say.

 [Also, the paragraph should end in a period (".") and not a semicolon
(";")]

 

Best regards,

John

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ccsds.org/pipermail/css-csts/attachments/20110127/888781c4/attachment.html


More information about the Css-csts mailing list