Skip to content
ItsRSUsSimulator_Pics.ttcn 292 KiB
Newer Older
garciay's avatar
garciay committed
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
    import from IVI language "ASN.1:1997" all;
garciay's avatar
garciay committed
    import from EVCSN_PDU_Descriptions language "ASN.1:1997" all;
garciay's avatar
garciay committed
    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
    import from DSRC language "ASN.1:1997" all;
    import from ElectronicRegistrationIdentificationVehicleDataModule language "ASN.1:1997" all;
garciay's avatar
garciay committed
    
    // LibItsBtp
    import from LibItsBtp_TypesAndValues all;
    import from LibItsBtp_Templates all;
    
    // LibItsGeoNetworking
    import from LibItsGeoNetworking_TypesAndValues all;
    
garciay's avatar
garciay committed
    // LibItsSecurity
    import from LibItsSecurity_TypesAndValues all;
    
garciay's avatar
garciay committed
    // ItsRSUsSimulator
    import from ItsRSUsSimulator_TypesAndValues all;
garciay's avatar
garciay committed
    import from ItsRSUSimulator_PicsInitConsts all;
    /**
     * @desc This group describes the RSUs installed on the track
     */
garciay's avatar
garciay committed
    group rsuParameters {
         * @desc RSU #1 - RSUs A
         * @remark Zone #1
garciay's avatar
garciay committed
        group rsu1 {
garciay's avatar
garciay committed
            /**
             * @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
                mid                   := '001C6B0D0201'O
garciay's avatar
garciay committed
            } // End of PICS_RSU_GN_ADDRESS_RSU1
garciay's avatar
garciay committed
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU1,
garciay's avatar
garciay committed
                    timestamp_    := 0,
                    latitude      := 435529150,
                    longitude     := 103010520,
garciay's avatar
garciay committed
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
garciay's avatar
garciay committed
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 5000
garciay's avatar
garciay committed
                },
garciay's avatar
garciay committed
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU1
garciay's avatar
garciay committed
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU1 := {};
        
garciay's avatar
garciay committed
        } // End of group rsu1
    
         * @desc RSU #2 - RSUs B
         * @remark Zone #2
garciay's avatar
garciay committed
        group rsu2 {
            /**
             * @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
                mid                   := '001C6B0D0202'O
            modulepar RsuParm PICS_RSU2 := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU2,
                    latitude      := 435512090,
                    longitude     := 103002510,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
garciay's avatar
garciay committed
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU2
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU2 := {};
        
garciay's avatar
garciay committed
        } // End of group rsu2
    
         * @desc RSU #3 - RSUs C
         * @remark Zone #3
            /**
             * @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
                mid                   := '001C6B0D0203'O
            modulepar RsuParm PICS_RSU3 := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU3,
                    latitude      := 435546630,
                    longitude     := 103041900,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
garciay's avatar
garciay committed
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU3
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU3 := {};
        
garciay's avatar
garciay committed
        } // End of group rsu3
    
         * @desc RSU #4 - RSUs D
         * @remark Zone #5
            /**
             * @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
                mid                   := '001C6B0D0204'O
            modulepar RsuParm PICS_RSU4 := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU4,
                    latitude      := 435582150,
                    longitude     := 103065170,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
garciay's avatar
garciay committed
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU4
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU4 := {};
        
garciay's avatar
garciay committed
        } // End of group rsu4
    
         * @desc RSU #5 - RSUs E
         * @remark Zone #8
            /**
             * @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
                mid                   := '001C6B0D0205'O
            modulepar RsuParm PICS_RSU5 := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU5,
                    latitude      := 435838400,
                    longitude     := 103249780,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
garciay's avatar
garciay committed
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU5
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU5 := {};
        
garciay's avatar
garciay committed
        } // End of group rsu5
    
         * @desc RSU #6 - RSUs F
         * @remark Zone #8
            /**
             * @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
                mid                   := '001C6B0D0206'O
            modulepar RsuParm PICS_RSU6 := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU6,
                    latitude      := 435923480,
                    longitude     := 103375540,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
garciay's avatar
garciay committed
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU6
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU6 := {};
        
garciay's avatar
garciay committed
        } // End of group rsu6
    
            /**
             * @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
                mid                   := '001C6B0D0207'O
            modulepar RsuParm PICS_RSU7 := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU7,
                    latitude      := 435550580,
                    longitude     := 103032980,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
garciay's avatar
garciay committed
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU7
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU7 := {};
        
garciay's avatar
garciay committed
        } // End of group rsu7
    
            /**
             * @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
                mid                   := '001C6B0D0208'O
            modulepar RsuParm PICS_RSU8 := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU8,
                    latitude      := 435546630,
                    longitude     := 103041900,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
garciay's avatar
garciay committed
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU8
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU8 := {};
garciay's avatar
garciay committed
        modulepar RsuParmList PICS_RSU_PARAMS := {
garciay's avatar
garciay committed
            c_PICS_RSU1,
            c_PICS_RSU2,
            c_PICS_RSU3,
            c_PICS_RSU4,
            c_PICS_RSU5,
            c_PICS_RSU6,
            c_PICS_RSU7,
            c_PICS_RSU8
garciay's avatar
garciay committed
        } // End of PICS_RSU_PARAMS
    
garciay's avatar
garciay committed
    } // End of group rsuParameters 

garciay's avatar
garciay committed
    /**
     * @desc This group describes the BEACON common settings for the RSUs CAM message broadcast
     */
    group beaconParams {
garciay's avatar
garciay committed
        /**
         * @desc Common settings
         */
        group beaconCommonSettings {
garciay's avatar
garciay committed
            modulepar UInt32 PICS_BEACON_ITS_AID                 := 141;
garciay's avatar
garciay committed
        
garciay's avatar
garciay committed
        } // End of group beaconCommonSettings
garciay's avatar
garciay committed
    
garciay's avatar
garciay committed
    } // End of group beaconParams

    /**
     * @desc This group describes the CAM common settings for the RSUs CAM message broadcast
     */
garciay's avatar
garciay committed
    group camParams {
garciay's avatar
garciay committed
            modulepar BtpPortId PICS_CAM_BTP_DESTINATION_PORT := 2001;
garciay's avatar
garciay committed
            modulepar BtpPortId PICS_CAM_BTP_SOURCE_PORT      := 0;
            modulepar UInt32 PICS_CAM_ITS_AID                 := 36;
garciay's avatar
garciay committed
        } // End of group camCommonSettings
    
garciay's avatar
garciay committed
        group camUseCase6 {
garciay's avatar
garciay committed
        
            group camUseCase6VehicleDescription {
garciay's avatar
garciay committed
                
garciay's avatar
garciay committed
                modulepar integer SIMULTANEOUS_VEHICLE_NUM        := 10;
garciay's avatar
garciay committed
                
garciay's avatar
garciay committed
                group camUseCase6VehicleTemplateDescription {
                    
                    modulepar LongPosVector PICS_UC6_VEHICLE_TEMPLATE_POSITION := {
                        gnAddr := {
                            typeOfAddress         := e_manual,
                            stationType           := e_passengerCar,
                            stationCountryCode    := 33,
                            mid                   := '001C6B0D02FF'O
                        },
                        timestamp_                                    := 0,
                        latitude                                      := 0,
                        longitude                                     := 0,
                        pai                                           := '0'B,
                        speed                                         := 30,
                        heading                                       := 0
                    } // End of PICS_UC6_VEHICLE_POSITION
                    
                    modulepar GeoArea PICS_UC6_VEHICLE_TEMPLATE_GEOAREA := {
                        shape := e_geoElip,
                        area := {
                            geoAreaPosLatitude                        := 0,
                            geoAreaPosLongitude                       := 0,
                            distanceA                                 := 5,
                            distanceB                                 := 3,
                            angle                                     := 0
                        }
                    } // End of PICS_UC6_VEHICLE_GEOAREA
                    
garciay's avatar
garciay committed
                    modulepar boolean PICS_USE_LPV := true;
garciay's avatar
garciay committed
                    
                } // End of group camUseCase6VehicleTemplateDescription 
garciay's avatar
garciay committed
                
garciay's avatar
garciay committed
            } // End of group camUseCase6VehicleDescription 
garciay's avatar
garciay committed
            group camUseCase6SyncLocation {
garciay's avatar
garciay committed
                /**
                 * @desc Coordinates of the collision point
                 */
garciay's avatar
garciay committed
                modulepar ThreeDLocation PICS_UC6_COLLISION_POINT_Z1 := {
garciay's avatar
garciay committed
                    latitude                                      := 435522970,
                    longitude                                     := 103000170,
                    elevation                                     := '0000'O
garciay's avatar
garciay committed
                } // End of PICS_UC6_COLLISION_POINT
garciay's avatar
garciay committed
                /**
                 * @desc Coordinates of the collision point
                 */
                modulepar ThreeDLocation PICS_UC6_COLLISION_POINT_Z2 := {
                    latitude                                      := 435512220,
                    longitude                                     := 103000290,
                    elevation                                     := '0000'O
                } // End of PICS_UC6_COLLISION_POINT_Z2
                
garciay's avatar
garciay committed
                /**
                 * @desc Vehicle detection area
                 */
garciay's avatar
garciay committed
                modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA_Z1 := {
garciay's avatar
garciay committed
                    northwest := {
garciay's avatar
garciay committed
                        latitude                                      := 435529170,
                        longitude                                     := 102998330
garciay's avatar
garciay committed
                    },
                    southeast := {
garciay's avatar
garciay committed
                        latitude                                      := 435522420,
                        longitude                                     := 103011400
garciay's avatar
garciay committed
                    }
garciay's avatar
garciay committed
                } // End of PICS_UC6_CAM_DETECTION_AREA_Z1
garciay's avatar
garciay committed
                /**
                 * @desc Vehicle detection area
                 */
                modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA_Z2 := {
                    northwest := {
                        latitude                                      := 435530140,
                        longitude                                     := 102984290
                    },
                    southeast := {
                        latitude                                      := 435501600,
                        longitude                                     := 103012880
                    }
                } // End of PICS_UC6_CAM_DETECTION_AREA_Z2
                
                modulepar ThreeDLocation PX_UC6_APPROACH_POINT_Z2 := {
                    latitude                                          := 435511100,
                    longitude                                         := 102988040,
                    elevation                                         := '0000'O
                };
garciay's avatar
garciay committed
                
            } // End of group camUseCase6SyncLocation 
garciay's avatar
garciay committed
        } // End of group camUseCase6
    
garciay's avatar
garciay committed
        group camUseCase7 {
garciay's avatar
garciay committed
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_UC7_GN_ADDRESS := {
                typeOfAddress                               := e_manual,
                stationType                                 := e_bus,
                stationCountryCode                          := 39,
garciay's avatar
garciay committed
                mid                                         := '001C6B0DEEEE'O
garciay's avatar
garciay committed
            } // End of PICS_UC7_GN_ADDRESS
garciay's avatar
garciay committed
            modulepar RsuParm PICS_UC7_LPV := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr                                  := c_PICS_UC7_GN_ADDRESS,
garciay's avatar
garciay committed
                    timestamp_                              := 0,
                    latitude                                := 435582150,
                    longitude                               := 103065170,
                    pai                                     := '0'B,
                    speed                                   := 0,
                    heading                                 := 10
                },
garciay's avatar
garciay committed
                stationID                                   := 7895,
                stationType := StationType_passengerCar_,
                vehicleRole := taxi,
garciay's avatar
garciay committed
                geoShape                                    := e_geoCircle,
                geoParms := {
                    radius                                  := 300
                },
                pathHistory                                 := {}
            } // End of PICS_UC7_LPV
garciay's avatar
garciay committed
            modulepar ReferencePosition PICS_UC7_COLLISION_POINT := {
                latitude                                    := 435582150,
                longitude                                   := 103065170,
                positionConfidenceEllipse                   := {
garciay's avatar
garciay committed
                    semiMajorConfidence   := 100,
                    semiMinorConfidence   := 100,
                    semiMajorOrientation  := 0
garciay's avatar
garciay committed
                },
                altitude                                    := {
                    altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
                    altitudeConfidence := alt_000_01
garciay's avatar
garciay committed
                }
garciay's avatar
garciay committed
            } // End of PICS_UC7_COLLISION_POINT
garciay's avatar
garciay committed
        
garciay's avatar
garciay committed
        } // End of group camUseCase7
    
        group camUseCase9 {
            modulepar ProtectedCommunicationZone PICS_UC9_PCZ_1 := {
                protectedZoneType        := cenDsrcTolling,
                expiryTime               := omit,
                protectedZoneLatitude    := 435838400,
                protectedZoneLongitude   := 103249780,
                protectedZoneRadius      := 100,
                protectedZoneID          := 1
            } // End of PICS_UC9_PCZ_1
            modulepar ProtectedCommunicationZonesRSU PICS_UC9_PCZ := {
                PICS_UC9_PCZ_1
            } // End of PICS_UC9_PCZ
garciay's avatar
garciay committed
        } // End of group camUseCase9
garciay's avatar
garciay committed
    } // End of group camParams 

    /**
     * @desc This group describes the DENM common settings for the each use cases and for each RSU.
     */
garciay's avatar
garciay committed
    group denmEvents {
garciay's avatar
garciay committed
            modulepar BtpPortId PICS_DENM_BTP_DESTINATION_PORT := 2002;
garciay's avatar
garciay committed
            modulepar BtpPortId PICS_DENM_BTP_SOURCE_PORT      := 0;
            modulepar UInt32 PICS_DENM_ITS_AID                 := 37;
garciay's avatar
garciay committed
            modulepar PosConfidenceEllipse PICS_DENM_POSITION_CONFIDENCE_ELLIPSE := {
                semiMajorConfidence   := 100,
                semiMinorConfidence   := 100,
                semiMajorOrientation  := 0
garciay's avatar
garciay committed
            } // End of PICS_DENM_POSITION_CONFIDENCE_ELLIPSE
garciay's avatar
garciay committed
            modulepar Altitude PICS_DENM_ALTITUDE := {
                altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
                altitudeConfidence := alt_000_01
garciay's avatar
garciay committed
            } // End of PICS_DENM_ALTITUDE
            /**
             * @desc DENM repetition interval, in ms
             */
            modulepar TransmissionInterval PICS_DENM_REPETITION_INTERVAL := 1000;
            modulepar RelevanceDistance PICS_DENM_RELEVANCE_DISTANCE := lessThan200m;
            /**
             * @desc DENM ValidityDuration
             */
            modulepar ValidityDuration PICS_DENM_VALIDITY_DURATION := 90 * 60; // 90 minutes
            /**
             * @desc DENM RelevanceTrafficDirection
             */
            modulepar RelevanceTrafficDirection PICS_DENM_RELEVANCE_TRAFFIC_DIRECTION := upstreamTraffic;
garciay's avatar
garciay committed
        } // End of group denmCommonSettings
    
        /**
         * @desc Use case #1: Z1-D1-SL/Speed limit
         */
        group denmUseCase1 {
            /**
             * @desc Use case #1: Z1-D1-EP/Event position
             */
            group denmZone1 {
                modulepar SpeedLimit PICS_SPEED_LIMIT := 30;
                    /**
                     * @desc Z1-D1-EP/POS0
                     */
                    modulepar DeltaReferencePosition PICS_Z1_D1_POS0 := {
garciay's avatar
garciay committed
                        deltaLatitude                       := 2616,
                        deltaLongitude                      := 4067,
                        deltaAltitude                       := 0
                    }; // End of PICS_Z1_D1_POS0
                    /**
                     * @desc Z1-D1-EP/POS1
                     */
                    modulepar ReferencePosition PICS_Z1_D1_EP := {
                        latitude                                    := 435525352,                               // Z1-D1-EP/latitude
                        longitude                                   := 103003415,                               // Z1-D1-EP/longitude
garciay's avatar
garciay committed
                        positionConfidenceEllipse                   := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := c_PICS_DENM_ALTITUDE
                    /**
                     * @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
                        },
                        { // 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 := {
                        {
                            { // Z1-D1-T1
                                pathPosition := {
                                    deltaLatitude                       := 4659,
                                    deltaLongitude                      := 7205,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D1-T2
                                pathPosition := {
                                    deltaLatitude                       := 510,
                                    deltaLongitude                      := 720,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D1-T3
                                pathPosition := {
                                    deltaLatitude                       := 208,
                                    deltaLongitude                      := 531,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D1-T4
                                pathPosition := {
                                    deltaLatitude                       := 154,
                                    deltaLongitude                      := 409,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D1-T5
                                pathPosition := {
                                    deltaLatitude                       := 160,
                                    deltaLongitude                      := 1041,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }
garciay's avatar
garciay committed
                        eventPosition                               := c_PICS_Z1_D1_EP,
garciay's avatar
garciay committed
                        eventHistory                                := c_PICS_Z1_D1_Hx,
                        traces                                      := c_PICS_Z1_D1_Tx,
                            lightBarSirenInUse                      := omit,
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
                                drivingLaneStatus                   := '0001'B
garciay's avatar
garciay committed
                            speedLimit                              := c_PICS_SPEED_LIMIT,
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
garciay's avatar
garciay committed
                            startingPointSpeedLimit                 := c_PICS_Z1_D1_POS0,
                            trafficFlowRule                         := passToRight,
garciay's avatar
garciay committed
                } // End of group denmZone1_D1
            
                    /**
                     * @desc Z1-D2-EP/POS2
                     */
                    modulepar ReferencePosition PICS_Z1_D2_EP := {
                        latitude                                    := 435519107,                               // Z1-D2-EP/latitude
                        longitude                                   := 102993930,                               // Z1-D2-EP/longitude
garciay's avatar
garciay committed
                        positionConfidenceEllipse                   := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := c_PICS_DENM_ALTITUDE
                    /**
                     * @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
                        },
                        { // 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 := {
                        {
                            { // Z1-D2-T1
                                pathPosition := {
                                    deltaLatitude                       := 3699,
                                    deltaLongitude                      := 5788,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D2-T2
                                pathPosition := {
                                    deltaLatitude                       := 456,
                                    deltaLongitude                      := 598,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D2-T3
                                pathPosition := {
                                    deltaLatitude                       := 450,
                                    deltaLongitude                      := 697,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D2-T4
                                pathPosition := {
                                    deltaLatitude                       := 619,
                                    deltaLongitude                      := 963,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D2-T5
                                pathPosition := {
                                    deltaLatitude                       := 510,
                                    deltaLongitude                      := 719,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }
garciay's avatar
garciay committed
                        eventPosition                               := c_PICS_Z1_D2_EP,
garciay's avatar
garciay committed
                        eventHistory                                := c_PICS_Z1_D2_Hx,
                        traces                                      := c_PICS_Z1_D2_Tx,
                            lightBarSirenInUse                      := omit,
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
                                drivingLaneStatus                   := '0011'B
garciay's avatar
garciay committed
                            speedLimit                              := c_PICS_SPEED_LIMIT,
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
garciay's avatar
garciay committed
                    } // End of PICS_Z1_D2
garciay's avatar
garciay committed
                } // End of group denmZone1_D2
            
                    /**
                     * @desc Z1-D3-EP/POS3
                     */
                    modulepar ReferencePosition PICS_Z1_D3_EP := {
                        latitude                                    := 435513421,                               // Z1-D3-EP/latitude
                        longitude                                   := 102986038,                               // Z1-D3-EP/longitude
garciay's avatar
garciay committed
                        positionConfidenceEllipse                   := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := c_PICS_DENM_ALTITUDE
                    /**
                     * @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,
                                deltaLongitude                      := 819,
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        }
                    }; // End of PICS_Z1_D3_Hx
                    /**
                     * @desc Z1-D3-Traces/Trace1
                     */
                    modulepar Traces PICS_Z1_D3_Tx := {
                        {
                            { // Z1-D3-T1
                                pathPosition := {
                                    deltaLatitude                       := 3435,
                                    deltaLongitude                      := 4483,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D3-T2
                                pathPosition := {
                                    deltaLatitude                       := 626,
                                    deltaLongitude                      := 863,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D3-T3
                                pathPosition := {
                                    deltaLatitude                       := 500,
                                    deltaLongitude                      := 541,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z1-D3-T4
                                pathPosition := {
                                    deltaLatitude                       := 564,
                                    deltaLongitude                      := 841,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }
garciay's avatar
garciay committed
                        eventPosition                               := c_PICS_Z1_D3_EP,
garciay's avatar
garciay committed
                        eventHistory                                := c_PICS_Z1_D3_Hx,
                        traces                                      := c_PICS_Z1_D3_Tx,
                        roadWorksContainerExtended := {
                            lightBarSirenInUse                      := omit,
                            closedLanes := {
                                hardShoulderStatus                  := closed,
                                drivingLaneStatus                   := '0100'B
garciay's avatar
garciay committed
                            speedLimit                              := c_PICS_SPEED_LIMIT,
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
                            startingPointSpeedLimit := {
                                deltaLatitude                       := 0,
                                deltaLongitude                      := 0,
                                deltaAltitude                       := 0
                            },
                            trafficFlowRule                         := passToLeft,
                            referenceDenms                          := {
                            }
garciay's avatar
garciay committed
                    } // End of PICS_Z1_D3
garciay's avatar
garciay committed
                } // End of denmZone1_D3
garciay's avatar
garciay committed
            } // End of group denmZone1 
        
                    /**
                     * @desc Z2-D1-EP/POS0
                     */
                    modulepar DeltaReferencePosition PICS_Z2_D1_POS0 := {
garciay's avatar
garciay committed
                        deltaLatitude                       := -676,
                        deltaLongitude                      := -6542,
                        deltaAltitude                       := 0
                    }; // End of PICS_Z2_D1_POS0
                    /**
                     * @desc Z2-D1-EP/POS1
                     */
                    modulepar ReferencePosition PICS_Z2_D1_EP := {
                        latitude                                    := 435512286,                               // Z2-D1-EP/latitude
                        longitude                                   := 102999675,                               // Z2-D1-EP/longitude
garciay's avatar
garciay committed
                        positionConfidenceEllipse                   := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := c_PICS_DENM_ALTITUDE
                    /**
                     * @desc Z2-D1-EP/EventHistory1
                     */
                    modulepar EventHistory PICS_Z2_D1_Hx := { 
                        { // Z2_D1_H1
                            eventPosition := {
                                deltaLatitude                       := 718,
                                deltaLongitude                      := 7406,
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        },
                        { // Z2_D1_H2
                            eventPosition := {
                                deltaLatitude                       := 577,
                                deltaLongitude                      := 5717,
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        }
                    }; // End of PICS_Z2_D1_Hx
                    /**
                     * @desc Z2-D1-Traces/Trace1
                     */
                    modulepar Traces PICS_Z2_D1_Tx := {
                        {
                            { // Z2-D1-T1
                                pathPosition := {
                                    deltaLatitude                       := -1377,
                                    deltaLongitude                      := -12164,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z2-D1-T2
                                pathPosition := {
                                    deltaLatitude                       := 55,
                                    deltaLongitude                      := -609,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z2-D1-T3
                                pathPosition := {
                                    deltaLatitude                       := 312,
                                    deltaLongitude                      := -587,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z2-D1-T4
                                pathPosition := {
                                    deltaLatitude                       := 358,
                                    deltaLongitude                      := -421,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            { // Z2-D1-T5
                                pathPosition := {
                                    deltaLatitude                       := 860,
                                    deltaLongitude                      := -254,
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }
garciay's avatar
garciay committed
                        eventPosition                               := c_PICS_Z2_D1_EP,
garciay's avatar
garciay committed
                        eventHistory                                := c_PICS_Z2_D1_Hx,
                        traces                                      := c_PICS_Z2_D1_Tx,
                        roadWorksContainerExtended := {
                            lightBarSirenInUse                      := omit,
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
                                drivingLaneStatus                   := '0001'B
                            },
                            restriction                             := omit,
garciay's avatar
garciay committed
                            speedLimit                              := c_PICS_SPEED_LIMIT,