Skip to content
ItsRSUsSimulator_Pics.ttcn 287 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 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;
    
    /**
     * @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 {
            
            /**
             * @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                   := '000ACCDDEE01'O
garciay's avatar
garciay committed
            } // End of PICS_RSU_GN_ADDRESS_RSU1
            
garciay's avatar
garciay committed
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU1,
                    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
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU1
garciay's avatar
garciay committed
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU1 := {};
            
        } // 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                   := '000ACCDDEE02'O
            } // End of PICS_RSU_GN_ADDRESS_RSU2
            
            modulepar RsuParm PICS_RSU2 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU2,
                    timestamp_    := 0,
                    latitude      := 435512090,
                    longitude     := 103002510,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
                },
                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
        
        /**
         * @desc RSU #3 - RSUs C
         * @remark Zone #3
         */
        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
                mid                   := '000ACCDDEE03'O
            } // End of PICS_RSU_GN_ADDRESS_RSU3
            
            modulepar RsuParm PICS_RSU3 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU3,
                    timestamp_    := 0,
                    latitude      := 435546630,
                    longitude     := 103041900,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
                },
                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
        
        /**
         * @desc RSU #4 - RSUs D
         * @remark Zone #5
         */
        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
                mid                   := '000ACCDDEE04'O
            } // End of PICS_RSU_GN_ADDRESS_RSU4
            
            modulepar RsuParm PICS_RSU4 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU4,
                    timestamp_    := 0,
                    latitude      := 435582150,
                    longitude     := 103065170,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
                },
                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
        
        /**
         * @desc RSU #5 - RSUs E
         * @remark Zone #8
         */
        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
                mid                   := '000ACCDDEE05'O
            } // End of PICS_RSU_GN_ADDRESS_RSU5
            
            modulepar RsuParm PICS_RSU5 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU5,
                    timestamp_    := 0,
                    latitude      := 435838400,
                    longitude     := 103249780,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
                },
                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
        
        /**
         * @desc RSU #6 - RSUs F
         * @remark Zone #8
         */
        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
                mid                   := '000ACCDDEE06'O
            } // End of PICS_RSU_GN_ADDRESS_RSU6
            
            modulepar RsuParm PICS_RSU6 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU6,
                    timestamp_    := 0,
                    latitude      := 435923480,
                    longitude     := 103375540,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
                },
                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
                mid                   := '000ACCDDEE07'O
            } // End of PICS_RSU_GN_ADDRESS_RSU7
            
            modulepar RsuParm PICS_RSU7 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU7,
                    timestamp_    := 0,
                    latitude      := 435550580,
                    longitude     := 103032980,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
                },
                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
                mid                   := '000ACCDDEE08'O
            } // End of PICS_RSU_GN_ADDRESS_RSU8
            
            modulepar RsuParm PICS_RSU8 := {
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU8,
                    timestamp_    := 0,
                    latitude      := 435546630,
                    longitude     := 103041900,
garciay's avatar
garciay committed
                stationType := StationType_roadSideUnit_,
                vehicleRole := roadOperator,
                    radius := 5000
                },
                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
                
garciay's avatar
garciay committed
        modulepar RsuParmList PICS_RSU_PARAMS := {
            PICS_RSU1,
            PICS_RSU2,
            PICS_RSU3,
            PICS_RSU4,
            PICS_RSU5,
            PICS_RSU6,
            PICS_RSU7,
garciay's avatar
garciay committed
            PICS_RSU8
garciay's avatar
garciay committed
        } // End of PICS_RSU_PARAMS
        
    } // 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 {
        
        /**
         * @desc Common settings
         */
        group beaconCommonSettings {
            
garciay's avatar
garciay committed
            modulepar UInt32 PICS_BEACON_ITS_AID                 := 141;
garciay's avatar
garciay committed
            
        } // End of group beaconCommonSettings
        
    } // 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
        group camUseCase6 {
garciay's avatar
garciay committed
            group camUseCase6VehicleTemplateDescription {
garciay's avatar
garciay committed
                
garciay's avatar
garciay committed
                modulepar LongPosVector PICS_UC6_VEHICLE_TEMPLATE_POSITION := {
garciay's avatar
garciay committed
                    gnAddr := {
                        typeOfAddress         := e_manual,
                        stationType           := e_passengerCar,
                        stationCountryCode    := 33,
garciay's avatar
garciay committed
                        mid                   := '000ACCDDEEFF'O
garciay's avatar
garciay committed
                    },
                    timestamp_                                    := 0,
                    latitude                                      := 0,
                    longitude                                     := 0,
                    pai                                           := '0'B,
                    speed                                         := 30,
                    heading                                       := 0
                } // End of PICS_UC6_VEHICLE_POSITION
garciay's avatar
garciay committed
                
garciay's avatar
garciay committed
                modulepar GeoArea PICS_UC6_VEHICLE_TEMPLATE_GEOAREA := {
garciay's avatar
garciay committed
                    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
                
            } // End of group camUseCase6VehicleDescription 
            
garciay's avatar
garciay committed
            group camUseCase6SyncLocation {
                
                /**
                 * @desc Coordinates of the collision point
                 */
                modulepar TwoDLocation PICS_UC6_COLLISION_POINT := {
                    latitude                                      := 433310000,
                    longitude                                     := 101803000
                } // End of PICS_UC6_COLLISION_POINT
                
                /**
                 * @desc Vehicle detection area
                 */
                modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA := {
                    northwest := {
                        latitude                                      := 435523210,
                        longitude                                     := 103000210
                    },
                    southeast := {
                        latitude                                      := 435528290,
                        longitude                                     := 103010320
                    }
                } // End of PICS_UC6_CAM_DETECTION_AREA
                
            } // End of group camUseCase6SyncLocation 
            
garciay's avatar
garciay committed
        } // End of group camUseCase6
garciay's avatar
garciay committed
        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
                mid                                         := '000ACCDDEEEE'O
garciay's avatar
garciay committed
            } // End of PICS_UC7_GN_ADDRESS
            
            modulepar RsuParm PICS_UC7_LPV := {
                longPosVector := {
garciay's avatar
garciay committed
                    gnAddr                                  := 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
            
            modulepar ReferencePosition PICS_UC7_COLLISION_POINT := {
                latitude                                    := 435582150,
                longitude                                   := 103065170,
                positionConfidenceEllipse                   := {
                    semiMajorConfidence   := SemiAxisLength_oneCentimeter_,
                    semiMinorConfidence   := SemiAxisLength_oneCentimeter_,
                    semiMajorOrientation  := HeadingValue_wgs84North_
                },
                altitude                                    := {
                    altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
                    altitudeConfidence := unavailable
                }
            }
            
        } // End of group camUseCase7
        
        group camUseCase9 {
            
            modulepar ProtectedCommunicationZone PICS_USECASE9_PCZ_1 := {
                protectedZoneType        := cenDsrcTolling,
                expiryTime               := omit,
                protectedZoneLatitude    := 435838400,
                protectedZoneLongitude   := 103249780,
                protectedZoneRadius      := 255,
                protectedZoneID          := 1
            } // End of PICS_USECASE9_PCZ_1
            
            modulepar ProtectedCommunicationZonesRSU PICS_USECASE9_PCZ := {
                PICS_USECASE9_PCZ_1
            } // End of PICS_USECASE9_PCZ
            
garciay's avatar
garciay committed
        } // End of group camUseCase7
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,
garciay's avatar
garciay committed
                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
            
            /**
             * @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;
            
        /**
         * @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 := {
                        deltaLatitude                       := 4659,
                        deltaLongitude                      := 7205,
                        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
                        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
                        },
                        { // 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
                            }
                        }
                    }; // 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 := {
                            lightBarSirenInUse                      := omit,
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
                                drivingLaneStatus                   := '0001'B
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
                            startingPointSpeedLimit                 := PICS_Z1_D1_POS0,
                            trafficFlowRule                         := passToRight,
                            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
                        },
                        { // 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
                            }
                        }
                    }; // 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 := {
                            lightBarSirenInUse                      := omit,
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
                                drivingLaneStatus                   := '0011'B
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
                            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,
                                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
                            }
                        }
                    }; // 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,
                                drivingLaneStatus                   := '0100'B
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
                            startingPointSpeedLimit := {
                                deltaLatitude                       := 0,
                                deltaLongitude                      := 0,
                                deltaAltitude                       := 0
                            },
                            trafficFlowRule                         := passToLeft,
                            referenceDenms                          := {
                            }
                        }
                        
                    } // End of PICS_Z1_D3
                    
                } // End of denmZone1_D3
                
            } // End of group denmZone1 
                    /**
                     * @desc Z2-D1-EP/POS0
                     */
                    modulepar DeltaReferencePosition PICS_Z2_D1_POS0 := {
                        deltaLatitude                       := -1377,
                        deltaLongitude                      := -12164,
                        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
                        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 := {
                                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,