ItsRSUsSimulator_Pics.ttcn 286 KB
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;
    
    // ItsRSUsSimulator
    import from ItsRSUsSimulator_TypesAndValues all;
    
    /**
     * @desc This group describes the RSUs installed on the track
     */
garciay's avatar
garciay committed
    group rsuParameters {
        
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
            } // End of PICS_RSU_GN_ADDRESS_RSU1
            
garciay's avatar
garciay committed
                gnAddress := PICS_RSU_GN_ADDRESS_RSU1,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU1,
                    timestamp_    := 0,
                    latitude      := 435510500,
                    longitude     := 102987300,
garciay's avatar
garciay committed
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
garciay's avatar
garciay committed
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                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
        
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,
                mid                   := 'AABBCCDDEE02'O
            } // End of PICS_RSU_GN_ADDRESS_RSU2
            
            modulepar RsuParm PICS_RSU2 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU2,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU2,
                    timestamp_    := 0,
                    latitude      := 435512090,
                    longitude     := 103002510,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111102,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                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
         */
        group rsu3 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU3 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEE03'O
            } // End of PICS_RSU_GN_ADDRESS_RSU3
            
            modulepar RsuParm PICS_RSU3 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU3,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU3,
                    timestamp_    := 0,
                    latitude      := 435512090,
                    longitude     := 103002510,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111103,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                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
         */
        group rsu4 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU4 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEE04'O
            } // End of PICS_RSU_GN_ADDRESS_RSU4
            
            modulepar RsuParm PICS_RSU4 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU4,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU4,
                    timestamp_    := 0,
                    latitude      := 435582150,
                    longitude     := 103065170,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111104,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                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
         */
        group rsu5 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU5 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEE05'O
            } // End of PICS_RSU_GN_ADDRESS_RSU5
            
            modulepar RsuParm PICS_RSU5 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU5,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU5,
                    timestamp_    := 0,
                    latitude      := 435563500,
                    longitude     := 103047450,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111105,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                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
         */
        group rsu6 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU6 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEE06'O
            } // End of PICS_RSU_GN_ADDRESS_RSU6
            
            modulepar RsuParm PICS_RSU6 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU6,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU6,
                    timestamp_    := 0,
                    latitude      := 435570660,
                    longitude     := 103019170,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111106,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                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,
                mid                   := 'AABBCCDDEE07'O
            } // End of PICS_RSU_GN_ADDRESS_RSU7
            
            modulepar RsuParm PICS_RSU7 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU7,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU7,
                    timestamp_    := 0,
                    latitude      := 435550580,
                    longitude     := 103032980,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111107,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                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,
                mid                   := 'AABBCCDDEE08'O
            } // End of PICS_RSU_GN_ADDRESS_RSU8
            
            modulepar RsuParm PICS_RSU8 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU8,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU8,
                    timestamp_    := 0,
                    latitude      := 435546630,
                    longitude     := 103041900,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111108,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                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
        
        /**
         * @desc RSU #9
         */
        group rsu9 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU9 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEE09'O
            } // End of PICS_RSU_GN_ADDRESS_RSU9
            
            modulepar RsuParm PICS_RSU9 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU9,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU9,
                    timestamp_    := 0,
                    latitude      := 435541280,
                    longitude     := 103015780,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111109,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU9
            } // End of PICS_RSU9
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU9 := {};
            
        } // End of group rsu9
        
        /**
         * @desc RSU #10
         */
        group rsu10 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU10 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEE0A'O
            } // End of PICS_RSU_GN_ADDRESS_RSU10
            
            modulepar RsuParm PICS_RSU10 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU10,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU10,
                    timestamp_    := 0,
                    latitude      := 435535520,
                    longitude     := 103010390,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111110,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU10
            } // End of PICS_RSU10
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU10 := {};
            
        } // End of group rsu10
        
        /**
         * @desc RSU #11
         */
        group rsu11 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU11 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEE0B'O
            } // End of PICS_RSU_GN_ADDRESS_RSU11
            
            modulepar RsuParm PICS_RSU11 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU11,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU11,
                    timestamp_    := 0,
                    latitude      := 435528780,
                    longitude     := 103008650,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111111,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU11
            } // End of PICS_RSU11
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU11 := {};
            
        } // End of group rsu11
        
        /**
         * @desc RSU #12
         */
        group rsu12 {
            
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU12 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
                stationCountryCode    := 33,
                mid                   := 'AABBCCDDEE0C'O
            } // End of PICS_RSU_GN_ADDRESS_RSU12
            
            modulepar RsuParm PICS_RSU12 := {
                gnAddress := PICS_RSU_GN_ADDRESS_RSU12,
                longPosVector := {
                    gnAddr        := PICS_RSU_GN_ADDRESS_RSU12,
                    timestamp_    := 0,
                    latitude      := 43553123,
                    longitude     := 10302479,
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111112,
                geoShape := e_geoCircle,
                geoParms := {
                    radius := 500
                },
                pathHistory := PICS_RSU_PATH_HISTORY_RSU12
            } // End of PICS_RSU12
            
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU12 := {};
            
        } // End of group rsu12
garciay's avatar
garciay committed
        
        modulepar RsuParmList PICS_RSU_PARAMS := {
            PICS_RSU1,
            PICS_RSU2,
            PICS_RSU3,
            PICS_RSU4,
            PICS_RSU5,
            PICS_RSU6,
            PICS_RSU7,
            PICS_RSU8,
            PICS_RSU9,
            PICS_RSU10,
            PICS_RSU11,
            PICS_RSU12
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 {
            
            modulepar UInt32 PICS_BEACON_ITS_AID                 := 38;
            
        } // 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 camUseCase6SyncLocation {
                
                modulepar LongPosVector PICS_UC6_DETECTION_POINT := {
                    gnAddr := {
                        typeOfAddress         := e_manual,
                        stationType           := e_unknown,
                        stationCountryCode    := 0,
                        mid                   := '000000000000'O
                    },
                    timestamp_                                    := 0,
                    latitude                                      := 1234,
                    longitude                                     := 1234,
                    pai                                           := '0'B,
                    speed                                         := 0,
                    heading                                       := 0
                }
                
                /**
                 * @desc Maximum synchronisation area to start sending CAM
                 */
                modulepar float PICS_UC6_DETECTION_EPSILLON := 19.0;    // 2.0;
garciay's avatar
garciay committed
            } // End of group camUseCase6SyncLocation 
            
            group camUseCase6VehicleDescription {
                
                modulepar LongPosVector PICS_UC6_VEHICLE_POSITION := {
                    gnAddr := {
                        typeOfAddress         := e_manual,
                        stationType           := e_passengerCar,
                        stationCountryCode    := 33,
                        mid                   := 'AABBCCDDEEFF'O
                    },
                    timestamp_                                    := 0,
                    latitude                                      := 0,
                    longitude                                     := 0,
                    pai                                           := '0'B,
                    speed                                         := 30,
                    heading                                       := 0
                }
                
                modulepar GeoArea PICS_UC6_VEHICLE_GEOAREA := {
                    shape := e_geoElip,
                    area := {
                        geoAreaPosLatitude                        := 0,
                        geoAreaPosLongitude                       := 0,
                        distanceA                                 := 5,
                        distanceB                                 := 3,
                        angle                                     := 0
                    }
                }
                
            } // End of group camUseCase6VehicleDescription 
            
            modulepar Usecase6VehiclePositions PICS_USECASE6_VEHICLE_POSITIONS := {
                {
                    latitude                                    := 435525352,
                    longitude                                   := 103003415,
                    positionConfidenceEllipse                   := {
                        semiMajorConfidence   := SemiAxisLength_oneCentimeter_,
                        semiMinorConfidence   := SemiAxisLength_oneCentimeter_,
                        semiMajorOrientation  := HeadingValue_wgs84North_
                    },
                    altitude                                    := {
                        altitudeValue := AltitudeValue_referenceEllipsoidSurface_,
                        altitudeConfidence := unavailable
                    }
                }
            }
            
        } // End of group camUseCase6
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   := 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
            
            /**
             * @desc DENM repetition interval, in ms
             */
            modulepar TransmissionInterval PICS_DENM_REPETITION_INTERVAL := 1000;
            
            modulepar RelevanceDistance PICS_DENM_RELEVANCE_DISTANCE := lessThan200m;
            
            /**
             * @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                      := LightBarSirenInUse_sirenActivated_,
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
                                drivingLaneStatus                   := '10'B
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
                            startingPointSpeedLimit                 := PICS_Z1_D1_POS0,
                            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                      := LightBarSirenInUse_lightBarActivated_,
                            closedLanes := {
                                hardShoulderStatus                  := availableForDriving,
                                drivingLaneStatus                   := '1100'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,