ItsRSUsSimulator_Pics.ttcn 21.2 KB
Newer Older
garciay's avatar
garciay committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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;
    import from SREM_PDU_Descriptions language "ASN.1:1997" all;
    import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
    
    // LibItsBtp
    import from LibItsBtp_TypesAndValues all;
    import from LibItsBtp_Templates all;
    
    // LibItsGeoNetworking
    import from LibItsGeoNetworking_TypesAndValues all;
    
    // ItsRSUsSimulator
    import from ItsRSUsSimulator_TypesAndValues all;
    
    group rsuParameters {
        
        group rsu1 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU1 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEEFF'O
            } // End of PICS_RSU_GN_ADDRESS_RSU1
            
            modulepar RsuParm PICS_RSU_1 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU1,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU1,
                    timestamp_    := 0,
                    latitude      := 435517392,
                    longitude     := 103018217,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111111,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU1
            } // End of PICS_RSU_1
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU1 := {};
            
        } // End of group rsu1
        
        group rsu2 {
            // TODO To be done
        } // End of group rsu1
        
        modulepar RsuParmList PICS_RSU_PARAMS := {
            PICS_RSU_1
            // TODO To be done
        } // End of PICS_RSU_PARAMS
        
    } // End of group rsuParameters 
    
    group camParams {
        
        group camCommonParams {
            
            modulepar BtpPortId PICS_CAM_BTP_DESTINATION_PORT := 2001;
            
garciay's avatar
garciay committed
83
            modulepar BtpPortId PICS_CAM_BTP_SOURCE_PORT      := 0;
garciay's avatar
garciay committed
84
85
86
87
88
89
90
91
92
93
94
            
        } // End of group camCommonParams
        
    } // End of group rsuParameters 
    
    group denmEvents {
        
        group denmCommonParams {
            
            modulepar BtpPortId PICS_DENM_BTP_DESTINATION_PORT := 2002;
            
garciay's avatar
garciay committed
95
            modulepar BtpPortId PICS_DENM_BTP_SOURCE_PORT      := 0;
garciay's avatar
garciay committed
96
97
98
99
100
101
102
103
104
105
106
107
            
            modulepar PosConfidenceEllipse PICS_DENM_POSITION_CONFIDENCE_ELLIPSE := {
                semiMajorConfidence   := SemiAxisLength_oneCentimeter_,
                semiMinorConfidence   := SemiAxisLength_oneCentimeter_,
                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
            
108
109
110
111
112
            /**
             * @desc DENM repetition interval, in ms
             */
            modulepar TransmissionInterval PICS_DENM_REPETITION_INTERVAL := 1000;
            
garciay's avatar
garciay committed
113
114
115
116
117
118
        } // End of group denmCommonParams
        
        group denmZone1 {
            
            modulepar DenmParm PICS_Z1_D1_EP := {
                eventPosition   := {
garciay's avatar
garciay committed
119
120
121
122
                    latitude                                := 435517392,
                    longitude                               := 103018217,
                    positionConfidenceEllipse               := PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                    altitude                                := PICS_DENM_ALTITUDE
garciay's avatar
garciay committed
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
                },
                causeCodeType   := CauseCodeType_roadworks_,
                eventHistory    := {
                    {
                        eventPosition := {
                            deltaLatitude                   := -3295,
                            deltaLongitude                  := -2347,
                            deltaAltitude                   := 0
                        },
                        eventDeltaTime                      := omit,
                        informationQuality                  := 0
                    },
                    {
                        eventPosition := {
                            deltaLatitude                   := -719,
                            deltaLongitude                  := -7055,
                            deltaAltitude                   := 0
                        },
                        eventDeltaTime                      := omit,
                        informationQuality                  := 0
                    }
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
                },
                roadWorksContainerExtended := {
                    lightBarSirenInUse                      := omit,
                    closedLanes := {
                        hardShoulderStatus                  := availableForDriving,
                        drivingLaneStatus                   := '0001'B
                    },
                    restriction                             := omit,
                    speedLimit                              := 30,
                    incidentIndication                      := omit,
                    recommendedPath                         := omit,
                    startingPointSpeedLimit := {
                        deltaLatitude                       := 0,
                        deltaLongitude                      := 0,
                        deltaAltitude                       := 0
                    },
                    trafficFlowRule                         := passToRight,
                    referenceDenms                          := omit
garciay's avatar
garciay committed
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
                }
            } // End of PICS_Z1_D1_EP
            
            modulepar DenmParm PICS_Z1_D2_EP := {
                eventPosition := {
                    latitude := 435517392,
                    longitude := 103018217,
                    positionConfidenceEllipse := PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                    altitude := PICS_DENM_ALTITUDE
                },
                causeCodeType   := CauseCodeType_roadworks_,
                eventHistory    := {
                    {
                        eventPosition := {
                            deltaLatitude                   := -3295,
                            deltaLongitude                  := -2347,
                            deltaAltitude                   := 0
                        },
                        eventDeltaTime                      := omit,
                        informationQuality                  := 0
                    },
                    {
                        eventPosition := {
                            deltaLatitude                   := -719,
                            deltaLongitude                  := -7055,
                            deltaAltitude                   := 0
                        },
                        eventDeltaTime                      := omit,
                        informationQuality                  := 0
                    }
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
                },
                roadWorksContainerExtended := {
                    lightBarSirenInUse                      := omit,
                    closedLanes := {
                        hardShoulderStatus                  := availableForDriving,
                        drivingLaneStatus                   := '0011'B
                    },
                    restriction                             := omit,
                    speedLimit                              := 30,
                    incidentIndication                      := omit,
                    recommendedPath                         := omit,
                    startingPointSpeedLimit := {
                        deltaLatitude                       := 0,
                        deltaLongitude                      := 0,
                        deltaAltitude                       := 0
                    },
                    trafficFlowRule                         := passToRight,
                    referenceDenms                          := omit
garciay's avatar
garciay committed
210
                }
garciay's avatar
garciay committed
211

garciay's avatar
garciay committed
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
            } // End of PICS_Z1_D2_EP
            
            modulepar DenmParm PICS_Z1_D3_EP := {
                eventPosition := {
                    latitude := 435517392,
                    longitude := 103018217,
                    positionConfidenceEllipse := PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                    altitude := PICS_DENM_ALTITUDE
                },
                causeCodeType   := CauseCodeType_roadworks_,
                eventHistory    := {
                    {
                        eventPosition := {
                            deltaLatitude                   := -3295,
                            deltaLongitude                  := -2347,
                            deltaAltitude                   := 0
                        },
                        eventDeltaTime                      := omit,
                        informationQuality                  := 0
                    },
                    {
                        eventPosition := {
                            deltaLatitude                   := -719,
                            deltaLongitude                  := -7055,
                            deltaAltitude                   := 0
                        },
                        eventDeltaTime                      := omit,
                        informationQuality                  := 0
                    }
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
                },
                roadWorksContainerExtended := {
                    lightBarSirenInUse                      := omit,
                    closedLanes := {
                        hardShoulderStatus                  := closed,
                        drivingLaneStatus                   := '01'B
                    },
                    restriction                             := omit,
                    speedLimit                              := 30,
                    incidentIndication                      := omit,
                    recommendedPath                         := omit,
                    startingPointSpeedLimit := {
                        deltaLatitude                       := 0,
                        deltaLongitude                      := 0,
                        deltaAltitude                       := 0
                    },
                    trafficFlowRule                         := passToRight,
                    referenceDenms                          := omit
garciay's avatar
garciay committed
259
                }
garciay's avatar
garciay committed
260

garciay's avatar
garciay committed
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
            } // End of PICS_Z1_D3_EP
            
        } // End of group denmZone1 
        
        group denmZone2 {
            // TODO To be done
        } // End of group denmZone2
        
        group denmUseCase1 {
            
            modulepar DenmEventsParmsUseCase PICS_DENM_PARMS_UC1_RWW := {
                PICS_Z1_D1_EP,
                PICS_Z1_D2_EP,
                PICS_Z1_D3_EP
            } // End of PICS_DENM_PARMS_UC1_RWW
            
        } // End of group denmUseCase1 
        
        group denmUseCase2 {
            // TODO To be done
        } // End of group denmUseCase2 
            
        modulepar DenmEventsParmsUseCaseRsu PICS_DENM_EVENTS_RSU := {
            PICS_DENM_PARMS_UC1_RWW
        } // End of PICS_DENM_EVENTS_RSU
        
    } // End of group denmEvents 
    
    group mapemEvents {
        
        group mapemCommonParams {
            
garciay's avatar
garciay committed
293
            modulepar BtpPortId PICS_MAPEM_BTP_DESTINATION_PORT  := 2003;
garciay's avatar
garciay committed
294
            
garciay's avatar
garciay committed
295
            modulepar BtpPortId PICS_MAPEM_BTP_SOURCE_PORT       := 0;
garciay's avatar
garciay committed
296
297
298
            
            modulepar BtpPortId PICS_SPATEM_BTP_DESTINATION_PORT := 2004;
            
garciay's avatar
garciay committed
299
            modulepar BtpPortId PICS_SPATEM_BTP_SOURCE_PORT      := 0;
garciay's avatar
garciay committed
300
301
302
303
            
        } // End of group mapemCommonParams
        
        group mapemZone1 {
garciay's avatar
garciay committed
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
            
            modulepar MapemParm PICS_MAPEM_PARMS_RSU_1 := {
                intersections := {
                    { // Start of intersection #0
                        name                                := "PICS_MAPEM_PARMS_RSU_1",
                        id := {
                            region                          := 0,
                            id                              := 0
                        },
                        revision                            := 0,
                        refPoint := {
                            lat                             := 435517392,
                            long                            := 103018217,
                            elevation                       := omit,
                            regional                        := omit
                        },
                        laneWidth                           := omit,
                        speedLimits                         := omit,
                        laneSet := {
                            { // Start of Lane #1
                                laneID                      :=  1,
                                name                        := omit,
                                ingressApproach             := 1,
                                egressApproach              := 1,
                                laneAttributes := {
                                    directionalUse          := '10'B,
                                    sharedWith              := '0000000000'B,
                                    laneType := {
                                        vehicle             := '00000000'B
                                    },
                                    regional                := omit
                                },
                                maneuvers                   := omit,
                                nodeList := {
                                    nodes := {
                                        {
                                            delta := {
                                                node_XY1 := {
                                                    x       := -10,
                                                    y       := 10
                                                }
                                            },
                                            attributes      := omit
                                        },
                                        {
                                            delta := {
                                                node_XY1 := {
                                                    x       := -10,
                                                    y       := 10
                                                }
                                            },
                                            attributes      := omit
                                        }
                                    }
                                },
                                connectsTo := {
                                    {
                                        connectingLane := {
                                            lane            := 1,
                                            maneuver        := omit
                                        }, 
                                        remoteIntersection  := omit,  
                                        signalGroup         := 1,    
                                        userClass           := omit, 
                                        connectionID        := omit
                                    }
                                },
                                overlays                    := omit,
                                regional                    := omit
                            }, // End of Lane #1
                            { // Start of Lane #2
                                laneID                      :=  1,
                                name                        := omit,
                                ingressApproach             := 1,
                                egressApproach              := 2,
                                laneAttributes := {
                                    directionalUse          := '01'B,
                                    sharedWith              := '0000000000'B,
                                    laneType := {
                                        vehicle             := '00000000'B
                                    },
                                    regional                := omit
                                },
                                maneuvers                   := omit,
                                nodeList := {
                                    nodes := {
                                        {
                                            delta := {
                                                node_XY1 := {
                                                    x       := -10,
                                                    y       := 10
                                                }
                                            },
                                            attributes      := omit
                                        },
                                        {
                                            delta := {
                                                node_XY1 := {
                                                    x       := -10,
                                                    y       := 10
                                                }
                                            },
                                            attributes      := omit
                                        }
                                    }
                                },
                                connectsTo                  := omit,
                                overlays                    := omit,
                                regional                    := omit
                            } // End of Lane #1
                        }, // End of LaneSet
                        preemptPriorityData                 := omit,
                        regional                            := omit
                    } // End of intersection #0
                }, // End of field intersections
                roadSegments := omit
            }
            
garciay's avatar
garciay committed
422
423
424
        } // End of group mapemZone1 
        
        group mapemZone2 {
garciay's avatar
garciay committed
425
426
427
428
            
            modulepar MapemParm PICS_MAPEM_PARMS_RSU_2 := {
            }
            
garciay's avatar
garciay committed
429
430
        } // End of group mapemZone2 
        
garciay's avatar
garciay committed
431
432
433
434
        modulepar MapemParmList PICS_MAPEM_PARMS_RSUs := {
            PICS_MAPEM_PARMS_RSU_1,
            PICS_MAPEM_PARMS_RSU_2
        } // End of PICS_MAPEM_PARMS_RSU
garciay's avatar
garciay committed
435
436
437
438
439
440
441
442
443
        
    } // End of group mapemEvents 
    
    group ivimEvents {
        
        group ivimCommonParams {
            
            modulepar BtpPortId PICS_IVIM_BTP_DESTINATION_PORT := 2005;
            
garciay's avatar
garciay committed
444
            modulepar BtpPortId PICS_IVIM_BTP_SOURCE_PORT      := 0;
garciay's avatar
garciay committed
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
            
        } // End of group ivimCommonParams
        
        group ivimZone1 {
            // TODO To be done
        } // End of group ivimZone1 
        
        group ivimZone2 {
            // TODO To be done
        } // End of group ivimZone2 
        
        group ivimUseCase1 {
            // TODO To be done
        } // End of group ivimUseCase1 
        
        group ivimUseCase2 {
            // TODO To be done
        } // End of group ivimUseCase2 
            
    } // End of group ivimEvents 
    
    group generationFrequencies {
        
garciay's avatar
garciay committed
468
469
470
471
472
473
        modulepar boolean PICS_GENERATE_CAM := true;
        
        modulepar boolean PICS_GENERATE_DENM := true;
        
        modulepar boolean PICS_GENERATE_IVIM := true;
        
garciay's avatar
garciay committed
474
475
476
        modulepar boolean PICS_GENERATE_MAPEM := true;
        
        modulepar boolean PICS_GENERATE_SPATEM := true;
garciay's avatar
garciay committed
477
478
479
        
        modulepar boolean PICS_GENERATE_SSEM := true;
        
garciay's avatar
garciay committed
480
481
482
483
484
485
486
487
        /**
         * @desc CAM frequency timer
         */
        modulepar float PICS_CAM_FREQUENY       := 0.1;
        
        /**
         * @desc DENM frequency timer
         */
488
        modulepar float PICS_DENM_FREQUENY      := int2float(PICS_DENM_REPETITION_INTERVAL) / 1000.0;
garciay's avatar
garciay committed
489
490
491
492
        
        /**
         * @desc MAPEM frequency timer
         */
garciay's avatar
garciay committed
493
        modulepar float PICS_MAPEM_FREQUENY     := 2.0;
garciay's avatar
garciay committed
494
495
496
497
        
        /**
         * @desc SPATEMM frequency timer
         */
garciay's avatar
garciay committed
498
        modulepar float PICS_SPATEM_FREQUENY    := 2.0;
garciay's avatar
garciay committed
499
500
501
502
        
        /**
         * @desc IVIM frequency timer
         */
garciay's avatar
garciay committed
503
        modulepar float PICS_IVIM_FREQUENY      := 2.0;
garciay's avatar
garciay committed
504
505
506
507
        
    } // End of group generationFrequencies 
    
} // End of module ItsRSUsSimulator_Pics