-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ETSI TR 103 562 V2.1.1 (2019-12) -- -- Intelligent Transport Systems (ITS); -- Vehicular Communications; -- Basic Set of Applications; -- Analysis of the Collective Perception Service (CPS); -- Release 2 -- -- https://www.etsi.org/deliver/etsi_tr/103500_103599/103562/02.01.01_60/tr_103562v020101p.pdf -- -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CPM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) major-version-1 (1) minor-version-1(1)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS ItsPduHeader, MessageRateHz, MessageSegmentationInfo, OrdinalNumber1B, ReferencePosition, StationType, TimestampIts FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-3 (3) minor-version-1 (1)} --WITH SUCCESSORS OriginatingRsuContainer, OriginatingVehicleContainer FROM CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)} --WITH SUCCESSORS SensorInformationContainer FROM CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)} --WITH SUCCESSORS PerceptionRegionContainer FROM CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)} --WITH SUCCESSORS PerceivedObjectContainer FROM CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)} --WITH SUCCESSORS ; CollectivePerceptionMessage ::= SEQUENCE { header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cpm)}), payload CpmPayload } CpmPayload ::= SEQUENCE { managementContainer ManagementContainer, cpmContainers ConstraintWrappedCpmContainers, ... } ManagementContainer ::= SEQUENCE { referenceTime TimestampIts, referencePosition ReferencePosition, segmentationInfo MessageSegmentationInfo OPTIONAL, messageRateRange MessageRateRange OPTIONAL, ... } CPM-CONTAINER-ID-AND-TYPE ::= CLASS { &id CpmContainerId UNIQUE, &Type } WITH SYNTAX {&Type IDENTIFIED BY &id} CpmContainerId ::= INTEGER (1..16) originatingVehicleContainer CpmContainerId ::= 1 originatingRsuContainer CpmContainerId ::= 2 sensorInformationContainer CpmContainerId ::= 3 perceptionRegionContainer CpmContainerId ::= 4 perceivedObjectContainer CpmContainerId ::= 5 CpmContainers CPM-CONTAINER-ID-AND-TYPE ::= { {OriginatingVehicleContainer IDENTIFIED BY originatingVehicleContainer} | {OriginatingRsuContainer IDENTIFIED BY originatingRsuContainer} | {SensorInformationContainer IDENTIFIED BY sensorInformationContainer} | {PerceptionRegionContainer IDENTIFIED BY perceptionRegionContainer} | {PerceivedObjectContainer IDENTIFIED BY perceivedObjectContainer}, ... } WrappedCpmContainer ::= SEQUENCE { containerId CPM-CONTAINER-ID-AND-TYPE.&id( {CpmContainers} ), containerData CPM-CONTAINER-ID-AND-TYPE.&Type( {CpmContainers}{@containerId} ) } WrappedCpmContainers::= SEQUENCE SIZE(1..8,...) OF WrappedCpmContainer ConstraintWrappedCpmContainers ::= WrappedCpmContainers -- ((WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 1)})) | -- (WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 2)}))) -- ALL did not work... ((WITH COMPONENT (WITH COMPONENTS {..., containerId })) | (WITH COMPONENT (WITH COMPONENTS {..., containerId }))) MessageRateRange::= SEQUENCE{ messageRateMin MessageRateHz, messageRateMax MessageRateHz } END