[Css-csts] Comparison old and new Version of the CSTS-FW for the TD Prototype
Sylvain Gully
Sylvain.Gully at dlr.de
Wed Mar 1 15:54:39 UTC 2017
Hello together,
we decided in our last teleconference to find out if it could be
possible to use the CSTS-FW ESA API (from 2015) in the CSTS-TD prototype
with the new version of the TD book. Now I found some time to make the
comparison of the ASN1 between following CSTS-FW versions:
- 921x1r2_20150708 (version for CSTS-FW ESA API)
- 921x1r2_20160901 (actual version)
I had only time to check the FW ASN1 that is used by the TD service, but
not yet the state machines. I found some differences.
Perhaps somebody with a better understanding for the framework than I
can have a look at these 4 differences and make a commitment if this
could be a show stopper for our idea?
1) Differences found in BindInvocation / serviceInstanceIdentifier
------------------------------------------------------------------
Old version of serviceInstanceIdentifier:
ServiceInstanceIdentifier ::= SEQUENCE
{ spacecraftId PublishedIdentifier
, facilityId PublishedIdentifier
, serviceType FunctionalResourceType
, serviceInstanceNumber FunctionalResourceInstanceNumber
}
New version of serviceInstanceIdentifier:
ServiceInstanceIdentifier ::= SEQUENCE
{ spacecraftId PublishedIdentifier
, facilityId PublishedIdentifier
, serviceType PublishedIdentifier
, serviceInstanceNumber IntUnsigned
}
Differences:
1.a :) serviceType was in old version from type 'FunctionalResourceType'
and is in new version from type "PublishedIdentifier"
This is not a problem because 'FunctionalResourceType' ::=
'PublishedIdentifier'
1.b :( serviceInstanceNumber was in old version from type
'FunctionalResourceInstanceNumber' and is in new version from type
"IntUnsigned"
This could be a problem because of the following:
FunctionalResourceInstanceNumber ::= IntPos ::= INTEGER (1 ..
4294967295)
IntUnsigned ::= INTEGER (0 .. 4294967295)
2) Differences found in ReturnBuffer / notifyInvocation / eventValue /
qualifiedValues / valid / typeAndValue (or SEQUENCE OF TypeAndValue) (or
SET OF TypeAndValue)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Old version of TypeAndValue:
TypeAndValue ::= CHOICE
{ integer [0] SEQUENCE OF INTEGER
, integerPositive [1] SEQUENCE OF IntPos
, intUnsigned [2] SEQUENCE OF IntUnsigned
, duration [3] SEQUENCE OF Duration
, characterString [4] SEQUENCE OF VisibleString
, boolean [5] SEQUENCE OF BOOLEAN
, octetString [6] SEQUENCE OF OCTET STRING
, float [7] SEQUENCE OF REAL
, time [8] SEQUENCE OF Time
, enumerated [9] SEQUENCE OF Enumerated
, objectIdentifier [10] SEQUENCE OF OBJECT IDENTIFIER
, typeAndValueExtension [100] Embedded
}
New version of TypeAndValue:
TypeAndValue ::= CHOICE
{ integer [0] SEQUENCE OF INTEGER
, integerPositive [1] SEQUENCE OF IntPos
, intUnsigned [2] SEQUENCE OF IntUnsigned
, duration [3] SEQUENCE OF Duration
, characterString [4] SEQUENCE OF VisibleString
, boolean [5] SEQUENCE OF BOOLEAN
, octetString [6] SEQUENCE OF OCTET STRING
, float [7] SEQUENCE OF REAL
, time [8] SEQUENCE OF Time
, enumerated [9] SEQUENCE OF INTEGER
, objectIdentifier [10] SEQUENCE OF OBJECT IDENTIFIER
, publishedIdentifier [11] SEQUENCE OF PublishedIdentifier
, typeAndValueExtension [100] Embedded
}
Differences:
2.a :) enumerated was in old version from type 'SEQUENCE OF Enumerated'
and is in new version from type "SEQUENCE OF INTEGER"
This should not be a problem because in the old version Enumerated
::= IntUnsigned ::= INTEGER (0 .. 4294967295) and in the new version it
is defined as INTEGER, but it is an enumeration so the range of value
should be enough. I don't know if it could make a difference in the
encoding/decoding?
2.b :( In the old version the choice [11] has not existed. So if we use
an event that has a refence to an OBJECT INDENTIFER in the new version,
this could be a big problem with the old framework!!!
Best Regards,
Sylvain
PS: next week I will have a look at the state machine differences
between both versions of the CSTS-FW
More information about the CSS-CSTS
mailing list