ItsRSUsSimulator_Pics.ttcn 288 KB
Newer Older
garciay's avatar
garciay committed
1
2
3
4
5
6
7
8
9
10
11
12
module ItsRSUsSimulator_Pics {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    
    // LibIts
    import from ITS_Container language "ASN.1:1997" all;
    import from CAM_PDU_Descriptions language "ASN.1:1997" all;
    import from DENM_PDU_Descriptions language "ASN.1:1997" all;
    import from MAPEM_PDU_Descriptions language "ASN.1:1997" all;
    import from SPATEM_PDU_Descriptions language "ASN.1:1997" all;
    import from IVIM_PDU_Descriptions language "ASN.1:1997" all;
garciay's avatar
garciay committed
13
    import from IVI language "ASN.1:1997" all;
garciay's avatar
garciay committed
14
15
    import from SREM_PDU_Descriptions language "ASN.1:1997" all;
    import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
garciay's avatar
garciay committed
16
17
    import from DSRC language "ASN.1:1997" all;
    import from ElectronicRegistrationIdentificationVehicleDataModule language "ASN.1:1997" all;
garciay's avatar
garciay committed
18
19
20
21
22
23
24
25
    
    // LibItsBtp
    import from LibItsBtp_TypesAndValues all;
    import from LibItsBtp_Templates all;
    
    // LibItsGeoNetworking
    import from LibItsGeoNetworking_TypesAndValues all;
    
garciay's avatar
garciay committed
26
27
28
    // LibItsSecurity
    import from LibItsSecurity_TypesAndValues all;
    
garciay's avatar
garciay committed
29
30
31
    // ItsRSUsSimulator
    import from ItsRSUsSimulator_TypesAndValues all;
    
32
33
34
    /**
     * @desc This group describes the RSUs installed on the track
     */
garciay's avatar
garciay committed
35
36
    group rsuParameters {
        
37
        /**
38
39
         * @desc RSU #1 - RSUs A
         * @remark Zone #1
40
         */
garciay's avatar
garciay committed
41
42
43
44
45
46
47
48
49
        group rsu1 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU1 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
garciay's avatar
garciay committed
50
                mid                   := '000ACCDDEE01'O
garciay's avatar
garciay committed
51
52
            } // End of PICS_RSU_GN_ADDRESS_RSU1
            
53
            modulepar RsuParm PICS_RSU1 := {
garciay's avatar
garciay committed
54
55
56
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU1,
                    timestamp_    := 0,
57
58
                    latitude      := 435529150,
                    longitude     := 103010520,
garciay's avatar
garciay committed
59
60
61
62
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
63
                stationID := 1111101,
garciay's avatar
garciay committed
64
65
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
garciay's avatar
garciay committed
66
67
                geoShape := e_geoCircle,
                geoParms := {
68
                    radius := 5000
garciay's avatar
garciay committed
69
70
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU1
71
            } // End of PICS_RSU1
garciay's avatar
garciay committed
72
73
74
75
76
77
78
79
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU1 := {};
            
        } // End of group rsu1
        
80
        /**
81
82
         * @desc RSU #2 - RSUs B
         * @remark Zone #2
83
         */
garciay's avatar
garciay committed
84
        group rsu2 {
85
86
87
88
89
90
91
92
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU2 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
garciay's avatar
garciay committed
93
                mid                   := '000ACCDDEE02'O
94
95
96
97
98
99
            } // End of PICS_RSU_GN_ADDRESS_RSU2
            
            modulepar RsuParm PICS_RSU2 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU2,
                    timestamp_    := 0,
100
101
                    latitude      := 435512090,
                    longitude     := 103002510,
102
103
104
105
106
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111102,
garciay's avatar
garciay committed
107
108
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
109
110
                geoShape := e_geoCircle,
                geoParms := {
111
                    radius := 5000
112
113
114
115
116
117
118
119
120
121
122
123
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU2
            } // End of PICS_RSU2
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU2 := {};
            
        } // End of group rsu2
        
        /**
124
125
         * @desc RSU #3 - RSUs C
         * @remark Zone #3
126
127
128
129
130
131
132
133
134
135
         */
        group rsu3 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU3 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
garciay's avatar
garciay committed
136
                mid                   := '000ACCDDEE03'O
137
138
139
140
141
142
            } // End of PICS_RSU_GN_ADDRESS_RSU3
            
            modulepar RsuParm PICS_RSU3 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU3,
                    timestamp_    := 0,
143
144
                    latitude      := 435546630,
                    longitude     := 103041900,
145
146
147
148
149
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111103,
garciay's avatar
garciay committed
150
151
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
152
153
                geoShape := e_geoCircle,
                geoParms := {
154
                    radius := 5000
155
156
157
158
159
160
161
162
163
164
165
166
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU3
            } // End of PICS_RSU3
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU3 := {};
            
        } // End of group rsu3
        
        /**
167
168
         * @desc RSU #4 - RSUs D
         * @remark Zone #5
169
170
171
172
173
174
175
176
177
178
         */
        group rsu4 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU4 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
garciay's avatar
garciay committed
179
                mid                   := '000ACCDDEE04'O
180
181
182
183
184
185
            } // End of PICS_RSU_GN_ADDRESS_RSU4
            
            modulepar RsuParm PICS_RSU4 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU4,
                    timestamp_    := 0,
186
187
                    latitude      := 435582150,
                    longitude     := 103065170,
188
189
190
191
192
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111104,
garciay's avatar
garciay committed
193
194
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
195
196
                geoShape := e_geoCircle,
                geoParms := {
197
                    radius := 5000
198
199
200
201
202
203
204
205
206
207
208
209
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU4
            } // End of PICS_RSU4
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU4 := {};
            
        } // End of group rsu4
        
        /**
210
211
         * @desc RSU #5 - RSUs E
         * @remark Zone #8
212
213
214
215
216
217
218
219
220
221
         */
        group rsu5 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU5 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
garciay's avatar
garciay committed
222
                mid                   := '000ACCDDEE05'O
223
224
225
226
227
228
            } // End of PICS_RSU_GN_ADDRESS_RSU5
            
            modulepar RsuParm PICS_RSU5 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU5,
                    timestamp_    := 0,
229
230
                    latitude      := 435838400,
                    longitude     := 103249780,
231
232
233
234
235
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111105,
garciay's avatar
garciay committed
236
237
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
238
239
                geoShape := e_geoCircle,
                geoParms := {
240
                    radius := 5000
241
242
243
244
245
246
247
248
249
250
251
252
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU5
            } // End of PICS_RSU5
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU5 := {};
            
        } // End of group rsu5
        
        /**
253
254
         * @desc RSU #6 - RSUs F
         * @remark Zone #8
255
256
257
258
259
260
261
262
263
264
         */
        group rsu6 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU6 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
garciay's avatar
garciay committed
265
                mid                   := '000ACCDDEE06'O
266
267
268
269
270
271
            } // End of PICS_RSU_GN_ADDRESS_RSU6
            
            modulepar RsuParm PICS_RSU6 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU6,
                    timestamp_    := 0,
272
273
                    latitude      := 435923480,
                    longitude     := 103375540,
274
275
276
277
278
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111106,
garciay's avatar
garciay committed
279
280
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
281
282
                geoShape := e_geoCircle,
                geoParms := {
283
                    radius := 5000
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU6
            } // End of PICS_RSU6
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU6 := {};
            
        } // End of group rsu6
        
        /**
         * @desc RSU #7
         */
        group rsu7 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU7 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
garciay's avatar
garciay committed
307
                mid                   := '000ACCDDEE07'O
308
309
310
311
312
313
            } // End of PICS_RSU_GN_ADDRESS_RSU7
            
            modulepar RsuParm PICS_RSU7 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU7,
                    timestamp_    := 0,
314
315
                    latitude      := 435550580,
                    longitude     := 103032980,
316
317
318
319
320
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111107,
garciay's avatar
garciay committed
321
322
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
323
324
                geoShape := e_geoCircle,
                geoParms := {
325
                    radius := 5000
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU7
            } // End of PICS_RSU7
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU7 := {};
            
        } // End of group rsu7
        
        /**
         * @desc RSU #8
         */
        group rsu8 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU8 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
garciay's avatar
garciay committed
349
                mid                   := '000ACCDDEE08'O
350
351
352
353
354
355
            } // End of PICS_RSU_GN_ADDRESS_RSU8
            
            modulepar RsuParm PICS_RSU8 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU8,
                    timestamp_    := 0,
356
357
                    latitude      := 435546630,
                    longitude     := 103041900,
358
359
360
361
362
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111108,
garciay's avatar
garciay committed
363
364
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
365
366
                geoShape := e_geoCircle,
                geoParms := {
367
                    radius := 5000
368
369
370
371
372
373
374
375
376
377
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU8
            } // End of PICS_RSU8
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU8 := {};
            
        } // End of group rsu8
garciay's avatar
garciay committed
378
                
garciay's avatar
garciay committed
379
        modulepar RsuParmList PICS_RSU_PARAMS := {
380
381
382
383
384
385
386
            PICS_RSU1,
            PICS_RSU2,
            PICS_RSU3,
            PICS_RSU4,
            PICS_RSU5,
            PICS_RSU6,
            PICS_RSU7,
garciay's avatar
garciay committed
387
            PICS_RSU8
garciay's avatar
garciay committed
388
389
390
391
        } // End of PICS_RSU_PARAMS
        
    } // End of group rsuParameters 
    
garciay's avatar
garciay committed
392
393
394
395
396
397
398
399
400
401
    /**
     * @desc This group describes the BEACON common settings for the RSUs CAM message broadcast
     */
    group beaconParams {
        
        /**
         * @desc Common settings
         */
        group beaconCommonSettings {
            
garciay's avatar
garciay committed
402
            modulepar UInt32 PICS_BEACON_ITS_AID                 := 141;
garciay's avatar
garciay committed
403
404
405
406
407
            
        } // End of group beaconCommonSettings
        
    } // End of group beaconParams
    
408
409
410
    /**
     * @desc This group describes the CAM common settings for the RSUs CAM message broadcast
     */
garciay's avatar
garciay committed
411
412
    group camParams {
        
413
414
415
416
        /**
         * @desc Common settings
         */
        group camCommonSettings {
garciay's avatar
garciay committed
417
418
419
            
            modulepar BtpPortId PICS_CAM_BTP_DESTINATION_PORT := 2001;
            
garciay's avatar
garciay committed
420
            modulepar BtpPortId PICS_CAM_BTP_SOURCE_PORT      := 0;
garciay's avatar
garciay committed
421
            
422
423
            modulepar UInt32 PICS_CAM_ITS_AID                 := 36;
            
424
        } // End of group camCommonSettings
garciay's avatar
garciay committed
425
        
garciay's avatar
garciay committed
426
        group camUseCase6 {
427
            
garciay's avatar
garciay committed
428
429
            modulepar integer SIMULTANEOUS_VEHICLE_NUM        := 10;
            
garciay's avatar
garciay committed
430
            group camUseCase6VehicleTemplateDescription {
garciay's avatar
garciay committed
431
                
garciay's avatar
garciay committed
432
                modulepar LongPosVector PICS_UC6_VEHICLE_TEMPLATE_POSITION := {
garciay's avatar
garciay committed
433
434
435
436
                    gnAddr := {
                        typeOfAddress         := e_manual,
                        stationType           := e_passengerCar,
                        stationCountryCode    := 33,
garciay's avatar
garciay committed
437
                        mid                   := '000ACCDDEEFF'O
garciay's avatar
garciay committed
438
439
440
441
442
443
444
                    },
                    timestamp_                                    := 0,
                    latitude                                      := 0,
                    longitude                                     := 0,
                    pai                                           := '0'B,
                    speed                                         := 30,
                    heading                                       := 0
445
                } // End of PICS_UC6_VEHICLE_POSITION
garciay's avatar
garciay committed
446
                
garciay's avatar
garciay committed
447
                modulepar GeoArea PICS_UC6_VEHICLE_TEMPLATE_GEOAREA := {
garciay's avatar
garciay committed
448
449
450
451
452
453
454
455
                    shape := e_geoElip,
                    area := {
                        geoAreaPosLatitude                        := 0,
                        geoAreaPosLongitude                       := 0,
                        distanceA                                 := 5,
                        distanceB                                 := 3,
                        angle                                     := 0
                    }
456
                } // End of PICS_UC6_VEHICLE_GEOAREA
garciay's avatar
garciay committed
457
                
garciay's avatar
garciay committed
458
459
                modulepar boolean PICS_USE_SPV := true;
                
garciay's avatar
garciay committed
460
461
            } // End of group camUseCase6VehicleDescription 
            
garciay's avatar
garciay committed
462
463
464
465
466
            group camUseCase6SyncLocation {
                
                /**
                 * @desc Coordinates of the collision point
                 */
garciay's avatar
garciay committed
467
468
469
470
                modulepar ThreeDLocation PICS_UC6_COLLISION_POINT := {
                    latitude                                      := 435522970,
                    longitude                                     := 103000170,
                    elevation                                     := '0000'O
garciay's avatar
garciay committed
471
472
473
474
475
476
477
                } // End of PICS_UC6_COLLISION_POINT
                
                /**
                 * @desc Vehicle detection area
                 */
                modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA := {
                    northwest := {
garciay's avatar
garciay committed
478
479
                        latitude                                      := 435529170,
                        longitude                                     := 102998330
garciay's avatar
garciay committed
480
481
                    },
                    southeast := {
garciay's avatar
garciay committed
482
483
                        latitude                                      := 435522420,
                        longitude                                     := 103011400
garciay's avatar
garciay committed
484
485
486
487
488
                    }
                } // End of PICS_UC6_CAM_DETECTION_AREA
                
            } // End of group camUseCase6SyncLocation 
            
garciay's avatar
garciay committed
489
        } // End of group camUseCase6
490
        
garciay's avatar
garciay committed
491
492
493
494
495
496
497
498
499
        group camUseCase7 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_UC7_GN_ADDRESS := {
                typeOfAddress                               := e_manual,
                stationType                                 := e_bus,
                stationCountryCode                          := 39,
garciay's avatar
garciay committed
500
                mid                                         := '001C6B0DEEEE'O
garciay's avatar
garciay committed
501
502
503
504
            } // End of PICS_UC7_GN_ADDRESS
            
            modulepar RsuParm PICS_UC7_LPV := {
                longPosVector := {
garciay's avatar
garciay committed
505
                    gnAddr                                  := PICS_UC7_GN_ADDRESS,
garciay's avatar
garciay committed
506
507
508
509
510
511
512
                    timestamp_                              := 0,
                    latitude                                := 435582150,
                    longitude                               := 103065170,
                    pai                                     := '0'B,
                    speed                                   := 0,
                    heading                                 := 10
                },
garciay's avatar
garciay committed
513
514
515
                stationID                                   := 7895,
                stationType := StationType_passengerCar_,
                vehicleRole := taxi,
garciay's avatar
garciay committed
516
517
518
519
520
521
522
523
524
525
526
                geoShape                                    := e_geoCircle,
                geoParms := {
                    radius                                  := 300
                },
                pathHistory                                 := {}
            } // End of PICS_UC7_LPV
            
            modulepar ReferencePosition PICS_UC7_COLLISION_POINT := {
                latitude                                    := 435582150,
                longitude                                   := 103065170,
                positionConfidenceEllipse                   := {
garciay's avatar
garciay committed
527
528
                    semiMajorConfidence   := 100,
                    semiMinorConfidence   := 100,
garciay's avatar
garciay committed
529
530
531
532
533
534
                    semiMajorOrientation  := HeadingValue_wgs84North_
                },
                altitude                                    := {
                    altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
                    altitudeConfidence := unavailable
                }
garciay's avatar
garciay committed
535
            } // End of PICS_UC7_COLLISION_POINT
garciay's avatar
garciay committed
536
537
538
            
        } // End of group camUseCase7
        
539
540
        group camUseCase9 {
            
garciay's avatar
garciay committed
541
            modulepar ProtectedCommunicationZone PICS_UC9_PCZ_1 := {
542
543
                protectedZoneType        := cenDsrcTolling,
                expiryTime               := omit,
544
545
                protectedZoneLatitude    := 435838400,
                protectedZoneLongitude   := 103249780,
garciay's avatar
garciay committed
546
                protectedZoneRadius      := 100,
547
                protectedZoneID          := 1
garciay's avatar
garciay committed
548
            } // End of PICS_UC9_PCZ_1
549
            
garciay's avatar
garciay committed
550
551
552
            modulepar ProtectedCommunicationZonesRSU PICS_UC9_PCZ := {
                PICS_UC9_PCZ_1
            } // End of PICS_UC9_PCZ
553
            
garciay's avatar
garciay committed
554
        } // End of group camUseCase9
555
        
garciay's avatar
garciay committed
556
    } // End of group camParams 
garciay's avatar
garciay committed
557
    
558
559
560
    /**
     * @desc This group describes the DENM common settings for the each use cases and for each RSU.
     */
garciay's avatar
garciay committed
561
562
    group denmEvents {
        
563
564
565
566
        /**
         * @desc Common settings
         */
        group denmCommonSettings {
garciay's avatar
garciay committed
567
568
569
            
            modulepar BtpPortId PICS_DENM_BTP_DESTINATION_PORT := 2002;
            
garciay's avatar
garciay committed
570
            modulepar BtpPortId PICS_DENM_BTP_SOURCE_PORT      := 0;
garciay's avatar
garciay committed
571
            
572
573
            modulepar UInt32 PICS_DENM_ITS_AID                 := 37;
            
garciay's avatar
garciay committed
574
            modulepar PosConfidenceEllipse PICS_DENM_POSITION_CONFIDENCE_ELLIPSE := {
575
576
                semiMajorConfidence   := 100,
                semiMinorConfidence   := 100,
garciay's avatar
garciay committed
577
578
579
580
581
582
583
584
                semiMajorOrientation  := HeadingValue_wgs84North_
            } // End of PICS_DENM_POSITION_CONFIDENCE_ELLIPSE
            
            modulepar Altitude PICS_DENM_ALTITUDE := {
                altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
                altitudeConfidence := unavailable
            } // End of PICS_DENM_ALTITUDE
            
585
586
587
588
589
            /**
             * @desc DENM repetition interval, in ms
             */
            modulepar TransmissionInterval PICS_DENM_REPETITION_INTERVAL := 1000;
            
590
591
592
            /**
             * @desc DENM RelevanceDistance
             */
593
            modulepar RelevanceDistance PICS_DENM_RELEVANCE_DISTANCE := lessThan200m;
594
            
595
596
597
598
599
            /**
             * @desc DENM ValidityDuration
             */
            modulepar ValidityDuration PICS_DENM_VALIDITY_DURATION := 90 * 60; // 90 minutes
            
600
601
602
603
604
            /**
             * @desc DENM RelevanceTrafficDirection
             */
            modulepar RelevanceTrafficDirection PICS_DENM_RELEVANCE_TRAFFIC_DIRECTION := upstreamTraffic;
            
605
        } // End of group denmCommonSettings
garciay's avatar
garciay committed
606
        
607
608
609
610
611
612
613
614
615
616
        /**
         * @desc Use case #1: Z1-D1-SL/Speed limit
         */
        group denmUseCase1 {
            
            /**
             * @desc Use case #1: Z1-D1-EP/Event position
             */
            group denmZone1 {
                
617
618
                modulepar SpeedLimit PICS_SPEED_LIMIT := 30;
                
619
620
                group denmZone1_D1 {
                    
621
622
623
624
                    /**
                     * @desc Z1-D1-EP/POS0
                     */
                    modulepar DeltaReferencePosition PICS_Z1_D1_POS0 := {
garciay's avatar
garciay committed
625
626
                        deltaLatitude                       := 2616,
                        deltaLongitude                      := 4067,
627
628
629
                        deltaAltitude                       := 0
                    }; // End of PICS_Z1_D1_POS0
                    
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
                    /**
                     * @desc Z1-D1-EP/POS1
                     */
                    modulepar ReferencePosition PICS_Z1_D1_EP := {
                        latitude                                    := 435525352,                               // Z1-D1-EP/latitude
                        longitude                                   := 103003415,                               // Z1-D1-EP/longitude
                        positionConfidenceEllipse                   := PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := PICS_DENM_ALTITUDE
                    }; // End of PICS_Z1_D1_EP
                    
                    /**
                     * @desc Z1-D1-EP/EventHistory1
                     */
                    modulepar EventHistory PICS_Z1_D1_Hx := { 
                        { // Z1_D1_H1
                            eventPosition := {
                                deltaLatitude                       := -2546,
                                deltaLongitude                      := -3697,
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
garciay's avatar
garciay committed
652
                        },
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
                        { // Z1_D1_H2
                            eventPosition := {
                                deltaLatitude                       := -3699,
                                deltaLongitude                      := -5788,
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        }
                    }; // End of PICS_Z1_D1_Hx
                    
                    /**
                     * @desc Z1-D1-Traces/Trace1
                     */
                    modulepar Traces PICS_Z1_D1_Tx := {
                        {
669
670
671
672
673
674
675
                            { // Z1-D1-T1
                                pathPosition := {
                                    deltaLatitude                       := 4659,
                                    deltaLongitude                      := 7205,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
676
                            },
677
678
679
680
681
682
683
                            { // Z1-D1-T2
                                pathPosition := {
                                    deltaLatitude                       := 510,
                                    deltaLongitude                      := 720,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
684
                            },
685
686
687
688
689
690
691
                            { // Z1-D1-T3
                                pathPosition := {
                                    deltaLatitude                       := 208,
                                    deltaLongitude                      := 531,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
692
                            },
693
694
695
696
697
698
699
                            { // Z1-D1-T4
                                pathPosition := {
                                    deltaLatitude                       := 154,
                                    deltaLongitude                      := 409,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
700
                            },
701
702
703
704
705
706
707
708
                            { // Z1-D1-T5
                                pathPosition := {
                                    deltaLatitude                       := 160,
                                    deltaLongitude                      := 1041,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }
709
710
711
712
713
714
715
716
717
                        }
                    }; // End of PICS_Z1_D1_Tx
                    
                    modulepar DenmParm PICS_Z1_D1 := {
                        eventPosition                               := PICS_Z1_D1_EP,
                        causeCodeType                               := CauseCodeType_roadworks_,
                        eventHistory                                := PICS_Z1_D1_Hx,
                        traces                                      := PICS_Z1_D1_Tx,
                        roadWorksContainerExtended := {
garciay's avatar
garciay committed
718
                            lightBarSirenInUse                      := omit,
719
720
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
garciay's avatar
garciay committed
721
                                drivingLaneStatus                   := '0001'B
722
723
                            },
                            restriction                             := omit,
724
                            speedLimit                              := PICS_SPEED_LIMIT,
725
726
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
727
                            startingPointSpeedLimit                 := PICS_Z1_D1_POS0,
garciay's avatar
garciay committed
728
                            trafficFlowRule                         := passToRight,
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
                            referenceDenms                          := omit
                        }
                    } // End of PICS_Z1_D1
                    
                } // End of group denmZone1_D1
                
                group denmZone1_D2 {
                    
                    /**
                     * @desc Z1-D2-EP/POS2
                     */
                    modulepar ReferencePosition PICS_Z1_D2_EP := {
                        latitude                                    := 435519107,                               // Z1-D2-EP/latitude
                        longitude                                   := 102993930,                               // Z1-D2-EP/longitude
                        positionConfidenceEllipse                   := PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := PICS_DENM_ALTITUDE
                    }; // End of PICS_Z1_D2_EP
                    
                    /**
                     * @desc Z1-D2-EP/EventHistory2
                     */
                    modulepar EventHistory PICS_Z1_D2_Hx := { 
                        { // Z1_D2_H1
                            eventPosition := {
                                deltaLatitude                       := -2750,
                                deltaLongitude                      := -4251,
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
garciay's avatar
garciay committed
759
                        },
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
                        { // Z1_D2_H2
                            eventPosition := {
                                deltaLatitude                       := -2936,
                                deltaLongitude                      := -3641,
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        }
                    }; // End of PICS_Z1_D2_Hx
                    
                    /**
                     * @desc Z1-D2-Traces/Trace2
                     */
                    modulepar Traces PICS_Z1_D2_Tx := {
                        {
776
777
778
779
780
781
782
                            { // Z1-D2-T1
                                pathPosition := {
                                    deltaLatitude                       := 3699,
                                    deltaLongitude                      := 5788,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
783
                            },
784
785
786
787
788
789
790
                            { // Z1-D2-T2
                                pathPosition := {
                                    deltaLatitude                       := 456,
                                    deltaLongitude                      := 598,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
791
                            },
792
793
794
795
796
797
798
                            { // Z1-D2-T3
                                pathPosition := {
                                    deltaLatitude                       := 450,
                                    deltaLongitude                      := 697,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
799
                            },
800
801
802
803
804
805
806
                            { // Z1-D2-T4
                                pathPosition := {
                                    deltaLatitude                       := 619,
                                    deltaLongitude                      := 963,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
807
                            },
808
809
810
811
812
813
814
815
                            { // Z1-D2-T5
                                pathPosition := {
                                    deltaLatitude                       := 510,
                                    deltaLongitude                      := 719,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }
816
817
818
819
820
821
822
823
824
                        }
                    }; // End of PICS_Z1_D2_Tx
                    
                    modulepar DenmParm PICS_Z1_D2 := {
                        eventPosition                               := PICS_Z1_D2_EP,
                        causeCodeType                               := CauseCodeType_roadworks_,
                        eventHistory                                := PICS_Z1_D2_Hx,
                        traces                                      := PICS_Z1_D2_Tx,
                        roadWorksContainerExtended := {
garciay's avatar
garciay committed
825
                            lightBarSirenInUse                      := omit,
826
827
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
garciay's avatar
garciay committed
828
                                drivingLaneStatus                   := '0011'B
829
830
                            },
                            restriction                             := omit,
831
                            speedLimit                              := PICS_SPEED_LIMIT,
832
833
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
834
                            startingPointSpeedLimit                 := omit,
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
                            trafficFlowRule                         := passToRight,
                            referenceDenms                          := omit
                        }
                        
                    } // End of PICS_Z1_D2
                    
                } // End of group denmZone1_D2
                
                group denmZone1_D3 {
                    
                    /**
                     * @desc Z1-D3-EP/POS3
                     */
                    modulepar ReferencePosition PICS_Z1_D3_EP := {
                        latitude                                    := 435513421,                               // Z1-D3-EP/latitude
                        longitude                                   := 102986038,                               // Z1-D3-EP/longitude
                        positionConfidenceEllipse                   := PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := PICS_DENM_ALTITUDE
                    }; // End of PICS_Z1_D3_EP
                    
                    /**
                     * @desc Z1-D3-EP/EventHistory1
                     */
                    modulepar EventHistory PICS_Z1_D3_Hx := { 
                        { // Z1_D3_H1
                            eventPosition := {
                                deltaLatitude                       := -1158,
                                deltaLongitude                      := -45,
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        },
                        { // Z1_D3_H2
                            eventPosition := {
                                deltaLatitude                       := -1299,
garciay's avatar
garciay committed
871
                                deltaLongitude                      := 819,
872
873
874
875
876
877
878
879
880
881
882
883
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        }
                    }; // End of PICS_Z1_D3_Hx
                    
                    /**
                     * @desc Z1-D3-Traces/Trace1
                     */
                    modulepar Traces PICS_Z1_D3_Tx := {
                        {
884
885
886
887
888
889
890
                            { // Z1-D3-T1
                                pathPosition := {
                                    deltaLatitude                       := 3435,
                                    deltaLongitude                      := 4483,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
891
                            },
892
893
894
895
896
897
898
                            { // Z1-D3-T2
                                pathPosition := {
                                    deltaLatitude                       := 626,
                                    deltaLongitude                      := 863,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
899
                            },
900
901
902
903
904
905
906
                            { // Z1-D3-T3
                                pathPosition := {
                                    deltaLatitude                       := 500,
                                    deltaLongitude                      := 541,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
907
                            },
908
909
910
911
912
913
914
915
                            { // Z1-D3-T4
                                pathPosition := {
                                    deltaLatitude                       := 564,
                                    deltaLongitude                      := 841,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }
916
917
918
919
920
921
922
923
924
925
926
927
                        }
                    }; // End of PICS_Z1_D3_Tx
                    
                    modulepar DenmParm PICS_Z1_D3 := {
                        eventPosition                               := PICS_Z1_D3_EP,
                        causeCodeType                               := CauseCodeType_roadworks_,
                        eventHistory                                := PICS_Z1_D3_Hx,
                        traces                                      := PICS_Z1_D3_Tx,
                        roadWorksContainerExtended := {
                            lightBarSirenInUse                      := omit,
                            closedLanes := {
                                hardShoulderStatus                  := closed,
garciay's avatar
garciay committed
928
                                drivingLaneStatus                   := '0100'B
929
930
                            },
                            restriction                             := omit,
931
                            speedLimit                              := PICS_SPEED_LIMIT,
932
933
934
935
936
937
938
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
                            startingPointSpeedLimit := {
                                deltaLatitude                       := 0,
                                deltaLongitude                      := 0,
                                deltaAltitude                       := 0
                            },
garciay's avatar
garciay committed
939
940
941
                            trafficFlowRule                         := passToLeft,
                            referenceDenms                          := {
                            }
942
943
944
945
946
947
948
                        }
                        
                    } // End of PICS_Z1_D3
                    
                } // End of denmZone1_D3
                
            } // End of group denmZone1 
garciay's avatar
garciay committed
949
            
950
951
952
953
            group denmZone2 {
                
                group denmZone2_D1 {
                    
954
955
956
957
                    /**
                     * @desc Z2-D1-EP/POS0
                     */
                    modulepar DeltaReferencePosition PICS_Z2_D1_POS0 := {
garciay's avatar
garciay committed
958
959
                        deltaLatitude                       := -676,
                        deltaLongitude                      := -6542,
960
961
962
                        deltaAltitude                       := 0
                    }; // End of PICS_Z2_D1_POS0
                    
963
964
965
966
                    /**
                     * @desc Z2-D1-EP/POS1
                     */
                    modulepar ReferencePosition PICS_Z2_D1_EP := {
967
968
                        latitude                                    := 435512286,                               // Z2-D1-EP/latitude
                        longitude                                   := 102999675,                               // Z2-D1-EP/longitude
969
970
971
972
973
974
975
976
977
978
                        positionConfidenceEllipse                   := PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := PICS_DENM_ALTITUDE
                    }; // End of PICS_Z2_D1_EP
                    
                    /**
                     * @desc Z2-D1-EP/EventHistory1
                     */
                    modulepar EventHistory PICS_Z2_D1_Hx := { 
                        { // Z2_D1_H1
                            eventPosition := {
979
980
                                deltaLatitude                       := 718,
                                deltaLongitude                      := 7406,
981
982
983
984
985
986
987
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        },
                        { // Z2_D1_H2
                            eventPosition := {
988
989
                                deltaLatitude                       := 577,
                                deltaLongitude                      := 5717,
990
991
992
993
994
995
996
997
998
999
1000
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        }
                    }; // End of PICS_Z2_D1_Hx
                    
                    /**
                     * @desc Z2-D1-Traces/Trace1
                     */
                    modulepar Traces PICS_Z2_D1_Tx := {
For faster browsing, not all history is shown. View entire blame