Commit 2568d946 authored by ASN.1 Checker's avatar ASN.1 Checker
Browse files

Documentation update

parent 66b70171
Loading
Loading
Loading
Loading
+125 −96
Original line number Diff line number Diff line
# <a name="EtsiTs103759AsrCam"></a>ASN.1 module EtsiTs103759AsrCam
OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) cam(36) major-version-1(1) minor-version-1(1)}_
OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) cam(36) major-version-1(1) minor-version-2(2)}_

## Imports:
* **[EtsiTs103759BaseTypes](EtsiTs103759BaseTypes.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) base-types(3) major-version-1(1) minor-version-1 (1)} WITH SUCCESSORS*<br/>
@@ -13,6 +13,7 @@ AsrCam ::= TemplateAsr {{SetMbObsTgtsCam}, {SetMbEvCam}}
```

### <a name="IdCamTgt"></a>IdCamTgt
This data type is for identifying target classes for CAM.
```asn1
IdCamTgt ::= Uint8
```
@@ -27,6 +28,23 @@ c-CamTgt-LongAccCommon IdCamTgt ::= 5
```

### <a name="SetMbObsCamBeacon"></a>SetMbObsCamBeacon
This is a set of observations for the target class c-CamTgt-BeaconCommon,
 where the trigger conditions for different observations are as follows.

* Beacon-IntervalTooSmall<br>
  The difference between the generation 
   time of two consecutive CAMs is less than 80% of the value specified in TS
   103 900 v2.0.0 section 6.1.3. The difference is calculated as the difference 
   between the two values of generationDeltaTime. The two CAMs presented 
   shall have the difference in the generationTime from the security 
   headerInfo be less than 65,535 milliseconds, and the generationTime in the 
   second CAM greater than the generationTime in the first. If the 
   generationDeltaTime value in the second CAM is less than the 
   generationDeltaTime in the first, 65,536 milliseconds shall be added to 
   the value in the second for purposes of determining the difference between 
   the two generationDeltaTime values.  
   

```asn1
SetMbObsCamBeacon C-ASR-SINGLE-OBS ::= {
  obs-Beacon-IntervalTooSmall,
@@ -35,6 +53,18 @@ SetMbObsCamBeacon C-ASR-SINGLE-OBS ::= {
```

### <a name="SetMbObsCamStatic"></a>SetMbObsCamStatic
This is a set of observations for the target class c-CamTgt-StaticCommon,
 where the trigger conditions for different observations are as follows.

* Static-Change<br>
  Any change in the values of one or more of the 
   following fields: performanceClass, specialTransportType, stationType, 
   vehicleLength, vehicleRole, vehicleWidth. 
   **Semantics of the BIT STRING**: performanceClass(0), 
   specialTransportType(1), stationType(2), vehicleLength(3), vehicleRole(4), 
   vehicleWidth(5).
   

```asn1
SetMbObsCamStatic C-ASR-SINGLE-OBS ::= {
  obs-Static-Change,
@@ -43,6 +73,8 @@ SetMbObsCamStatic C-ASR-SINGLE-OBS ::= {
```

### <a name="SetMbObsCamSecurity"></a>SetMbObsCamSecurity
This is a set of observations for the target class c-CamTgt-SecurityCommon,
 where the trigger conditions for different observations are as follows.

Values:
* **obs-Security-MessageIdIncWithHeaderInfo** |<br>
@@ -51,6 +83,43 @@ Values:
* **obs-Security-MessageIncWithSsp** |<br>
* **obs-Security-HeaderTimeOutsideCertificateValidity** |<br>
* **obs-Security-MessageLocationOutsideCertificateValidity** |<br>
* Security-MessageIdIncWithHeaderInfo<br>
  The messageID is inconsistent
   with the security headerInfo, e.g., messageId = cam(2) but psid in the 
   security headerInfo is not equal to 36, the PSID value of CAM.

* Security-HeaderIncWithSecurityProfile<br>
  The security headerInfo is 
   inconsistent with the security profile specified in ETSI TS 103 097 V2.1.1
   (2021-10), e.g., generationTime is absent in the security headerInfo but 
   is required to be present in the security profile.

* Security-HeaderPsidIncWithCertificate<br>
  The psid in the security 
   headerInfo is not contained in the appPermissions of the certificate, e.g., 
   psid in the security headerInfo is equal to 36, but the appPermissions in the
   certificate does not include the value 36.

* Security-MessageIncWithSsp<br>
  The message payload is inconsistent 
   with the SSP in the certificate, as specified in TS 103 900 v2.0.0,e.g., 
   publicTransportContainer is present in the specialVehicleContainer but the
   relevant SSP in the certificate does not permit publicTransportContainer.

* Security-HeaderTimeOutsideCertificateValidity<br>
  The generationTime
   in the security headerInfo is outside the validityPeriod in the certificate.

* Security-MessageLocationOutsideCertificateValidity<br>
  The 
   referencePosition in the message is outside the region in the certificate. 

* Security-HeaderLocationOutsideCertificateValidity<br>
  The 
   generationLocation in the security headerInfo is outside the region in the 
   certificate. 
   

```asn1
SetMbObsCamSecurity C-ASR-SINGLE-OBS ::= {
  obs-Security-MessageIdIncWithHeaderInfo |
@@ -65,6 +134,15 @@ SetMbObsCamSecurity C-ASR-SINGLE-OBS ::= {
```

### <a name="SetMbObsCamPosition"></a>SetMbObsCamPosition
This is a set of observations for the target class c-CamTgt-PositionCommon,
 where the trigger conditions for different observations are as follows.

* Position-ChangeTooLarge<br>
  The speed calculated from the change in 
   referencePosition of two consecutive CAMs meets the trigger conditions of 
   Speed-ValueTooLarge-VehicleType.
   

```asn1
SetMbObsCamPosition C-ASR-SINGLE-OBS ::= {
  obs-Position-ChangeTooLarge,
@@ -73,10 +151,44 @@ SetMbObsCamPosition C-ASR-SINGLE-OBS ::= {
```

### <a name="SetMbObsCamSpeed"></a>SetMbObsCamSpeed
This is a set of observations for the target class c-CamTgt-SpeedCommon,
 where the trigger conditions for different observations are as follows.

Values:
* **obs-Speed-ValueTooLarge-VehicleType** |<br>
* **obs-Speed-ValueTooLarge-DriveDirectionReverse** |<br>
* Speed-ValueTooLarge-VehicleType<br>
  The trigger conditions depend on
   the stationType as follows:
     - `passengerCar(5)`: The speedValue is greater than 14,000. 
   **Rationale**: Currently, the fastest car in the world has a top speed
   that is less than 500 km/h, i.e., 13,889 cm/s.
     - `motorcycle(4), bus(6), lightTruck(7), heavyTruck(8), trailer(9)`: The 
   speedValue is greater than 8,500. 
   **Rationale**: Currently, the top speed on most popular cars is less than
   300 km/h, i.e., 8,333 cm/s.
     - `unknown(0), pedestrian(1), cyclist(2), moped(3), specialVehicles(10), 
   tram(11)` : The speedValue is greater than 3,000.
   **Rationale**: Currently, non-highway speed limits are usually well below
   100 km/h, i.e., 2,778 cm/s.
     - `roadSideUnit(15)`: The speedValue is greater than 0.
   **Rationale**: Road side units shouldn't be transmitting while being
   transported.

* Speed-ValueTooLarge-DriveDirectionReverse<br>
  The driveDirection is 
   backward (1) and the speedValue is greater than 3,000.
   **Rationale**: Usually, backward drives are far less than 50m long, and
   with maximum possible acceleration of 9 m/s<sup>2</sup> (see trigger conditions for
   LongAcc-ValueTooLarge), max attainable speed is the square root of 
   (2 * 9 * 50) in m/s, which is equal to 3,000 cm/s.

* Speed-ChangeTooLarge<br>
  The acceleration calculated from the change 
   in speedValue of two consecutive CAMs meets the trigger conditions of 
   LongAcc-ValueTooLarge.
   

```asn1
SetMbObsCamSpeed C-ASR-SINGLE-OBS ::= {
  obs-Speed-ValueTooLarge-VehicleType |
@@ -87,6 +199,16 @@ SetMbObsCamSpeed C-ASR-SINGLE-OBS ::= {
```

### <a name="SetMbObsCamLongAcc"></a>SetMbObsCamLongAcc
This is a set of observations for the target class c-CamTgt-LongAccCommon,
 where the trigger conditions for different observations are as follows.

* LongAcc-ValueTooLarge<br>
  The longitudinalAcceleration is greater 
   than 90 dm/s<sup>2</sup>. (Typical `\mu` (coefficient of friction between asphalt and 
   rubber) is 0.9, so maximum possible acceleration is 0.9*9.8 m/s<sup>2</sup>, i.e., 
   88.2 dm/s<sup>2</sup>.)
   

```asn1
SetMbObsCamLongAcc C-ASR-SINGLE-OBS ::= {
  obs-LongAcc-ValueTooLarge,
@@ -95,100 +217,7 @@ SetMbObsCamLongAcc C-ASR-SINGLE-OBS ::= {
```

### <a name="SetMbObsTgtsCam"></a>SetMbObsTgtsCam
This is a complete set of observations for CAM. Application-specific
 trigger conditions and other relevant information are specified below.

 - _SetMbObsCamBeacon_:
   - `Beacon-IntervalTooSmall`: The difference between the generation 
 time of two consecutive CAMs is less than 80% of the value specified in TS
 103 900 v2.0.0 section 6.1.3. The difference is calculated as the difference 
 between the two values of generationDeltaTime. The two CAMs presented 
 shall have the difference in the generationTime from the security 
 headerInfo be less than 65,535 milliseconds, and the generationTime in the 
 second CAM greater than the generationTime in the first. If the 
 generationDeltaTime value in the second CAM is less than the 
 generationDeltaTime in the first, 65,536 milliseconds shall be added to 
 the value in the second for purposes of determining the difference between 
 the two generationDeltaTime values.  

 - _SetMbObsCamStatic_:
   - `Static-Change`: Any change in the values of one or more of the 
 following fields: performanceClass, specialTransportType, stationType, 
 vehicleLength, vehicleRole, vehicleWidth.
     - `Semantics of the BIT STRING`: performanceClass(0), 
 specialTransportType(1), stationType(2), vehicleLength(3), vehicleRole(4), 
 vehicleWidth(5).
 

 - _SetMbObsCamSecurity_:
   - `Security-MessageIdIncWithHeaderInfo`: The messageID is inconsistent
 with the security headerInfo, e.g., messageId = cam(2) but psid in the 
 security headerInfo is not equal to 36, the PSID value of CAM.

   - `Security-HeaderIncWithSecurityProfile`: The security headerInfo is 
 inconsistent with the security profile specified in ETSI TS 103 097 V2.1.1
 (2021-10), e.g., generationTime is absent in the security headerInfo but 
 is required to be present in the security profile.

   - `Security-HeaderPsidIncWithCertificate`: The psid in the security 
 headerInfo is not contained in the appPermissions of the certificate, e.g., 
 psid in the security headerInfo is equal to 36, but the appPermissions in the
 certificate does not include the value 36.

   - `Security-MessageIncWithSsp`: The message payload is inconsistent 
 with the SSP in the certificate, as specified in TS 103 900 v2.0.0,e.g., 
 publicTransportContainer is present in the specialVehicleContainer but the
 relevant SSP in the certificate does not permit publicTransportContainer.

   - `Security-HeaderTimeOutsideCertificateValidity`: The generationTime
 in the security headerInfo is outside the validityPeriod in the certificate.

   - `Security-MessageLocationOutsideCertificateValidity`: The 
 referencePosition in the message is outside the region in the certificate. 

   - `Security-HeaderLocationOutsideCertificateValidity`: The 
 generationLocation in the security headerInfo is outside the region in the 
 certificate.

 - _SetMbObsEtsiOnlyPosition_:
   - `Position-ChangeTooLarge`: The speed calculated from the change in 
 referencePosition of two consecutive CAMs meets the trigger conditions of 
 Speed-ValueTooLarge-VehicleType.

 - _SetMbObsEtsiOnlySpeed_:
   - `Speed-ValueTooLarge-VehicleType`: The trigger conditions depend on
 the stationType as follows:

     - `passengerCar(5)`: The speedValue is greater than 14,000. (Currently, the
 fastest car in the world has a top speed that is less than 500 km/h, i.e., 
 13,889 cm/s.) 

     - `motorcycle(4), bus(6), lightTruck(7), heavyTruck(8), trailer(9)`: The 
 speedValue is greater than 8,500. (Currently, the top speed on most popular
 cars is less than 300 km/h, i.e., 8,333 cm/s.)

     - `unknown(0), pedestrian(1), cyclist(2), moped(3), specialVehicles(10), 
 tram(11)` : The speedValue is greater than 3,000. (Currently, non-highway 
 speed limits are usually well below 100 km/h, i.e., 2,778 cm/s.)

     - `roadSideUnit(15)`: The speedValue is greater than 0. (Road side units 
 shouldn't be transmitting while being transported.)

   - `Speed-ValueTooLarge-DriveDirectionReverse`: The driveDirection is 
 backward (1) and the speedValue is greater than 3,000. (Usually, backward 
 drives are far less than 50m long, and with maximum possible acceleration of 
 9 m/s<sup>2</sup> (see trigger conditions for LongAcc-ValueTooLarge), max attainable 
 speed is $`\sqrt{2*9*50}`$ m/s, i.e., 3,000 cm/s.)

   - `Speed-ChangeTooLarge`: The acceleration calculated from the change 
 in speedValue of two consecutive CAMs meets the trigger conditions of 
 LongAcc-ValueTooLarge.

 - _SetMbObsEtsiOnlyLongAcc_:
   - `LongAcc-ValueTooLarge`: The longitudinalAcceleration is greater 
 than 90 dm/s<sup>2</sup>. (Typical $`\mu`$ (coefficient of friction between asphalt and 
 rubber) is 0.9, so maximum possible acceleration is 0.9*9.8 m/s<sup>2</sup>, i.e., 
 88.2 dm/s<sup>2</sup>.)
This is a complete set of observations for CAM.
```asn1
SetMbObsTgtsCam C-ASR-OBS-BY-TGT ::= {
  {MbSingleObservation{{SetMbObsCamBeacon}}   BY 
@@ -208,7 +237,7 @@ SetMbObsTgtsCam C-ASR-OBS-BY-TGT ::= {
```

### <a name="SetMbEvCam"></a>SetMbEvCam
This data type defines the IOS for CAM Evidence.
This data type defines the IOS for CAM evidence.
```asn1
SetMbEvCam C-ASR-EV ::= {
  ...