Commit 8af92b84 authored by tepelmann's avatar tepelmann
Browse files

Merge with branch STF484_VALIDATION.

parent 77387595
Loading
Loading
Loading
Loading
+24 −17
Original line number Diff line number Diff line
@@ -14,69 +14,63 @@ module LibItsCam_Pics {
        
        /**
         * @desc Is IUT a public transport vehicle 
         * @see  ETSI TS 102 868-1 v0.0.1 A.2/1
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_PUBLICTRANS := false;
        
        /**
         * @desc Is IUT a special transport vehicle 
         * @see  ETSI TS 102 868-1 v0.0.1 A12/2
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_SPECIALTRANS := false;
        
        /**
         * @desc Is IUT a dangerous goods vehicle 
         * @see  ETSI TS 102 868-1 v0.0.1 A.2/3
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_DANGEROUSGOODS := false;
        
        /**
         * @desc Is IUT a road works vehicle 
         * @see  ETSI TS 102 868-1 v0.0.1 A.2/4
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_ROADWORKS := false;
        
        /**
         * @desc Is IUT a rescue vehicle 
         * @see  ETSI TS 102 868-1 v0.0.1 A.2/5
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_RESCUE := false;
        
        /**
         * @desc Is IUT an emergency vehicle 
         * @see  ETSI TS 102 868-1 v0.0.1 A.2/6
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_EMERGENCY := false;
        
        /**
         * @desc Is IUT a safety car vehicle 
         * @see  ETSI TS 102 868-1 v0.0.1 A.2/7
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_SAFETY_CAR := false;
        
        /**
         * @desc Does IUT support 'lowFrequencyContainer' in CamParameters?
         * @see  ETSI TS 102 868-1 v0.0.1 A.8/3
         */
        modulepar boolean PICS_LOWFREQUENCYCONTAINER := true;
        
        /**
         * @desc Does IUT support 'specialVehicleContainer' in CamParameters?
         * @see  ETSI TS 102 868-1 v0.0.1 A.8/4
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_SPECIALVEHICLECONTAINER := true;
        
        /**
         * @desc Maximum time interval between CAM generations (in seconds).
         *       Default value, as per base standard: 1.0s 
         * @see  ETSI TS 102 868-1 v0.0.1 A.22/1
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar float PICS_T_GENCAMMAX := 1.000;
        
        /**
         * @desc Minimum time interval between CAM generations (in seconds).
         *       Default value, as per base standard: 0.1s 
         * @see  ETSI TS 102 868-1 v0.0.1 A.22/2
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar float PICS_T_GENCAMMIN := 0.100;
        
@@ -85,10 +79,23 @@ module LibItsCam_Pics {
         *       according to the requirements of the 
         *       Decentralized Congestion Control(DCC).
         *       Default value, as per base standard: 0.1s 
         * @see  ETSI TS 102 868-1 v0.0.1 A.22/4
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar float PICS_T_GENCAMDCC := 0.100;
        
        /**
         * @desc Support for CAM generation
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_CAM_GENERATION := true;

        /**
         * @desc Support for CAM reception
         * @see  ETSI TS 102 868-2 Table 3
         */
        modulepar boolean PICS_CAM_RECEPTION := true;

        
    } // end camPics
    
} // end LibItsCam_Pics
+51 −2
Original line number Diff line number Diff line
@@ -7,6 +7,9 @@
 */
module LibItsCam_Templates {
    
    // 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;
@@ -24,12 +27,58 @@ module LibItsCam_Templates {
        
        /**
         * @desc    Receive template for CAM Message (CamPort Primitive)
         * @param   p_camMsg CAM Message to be sent
         * @param   p_camMsg    Expected CAM Message
         */
        template CamInd mw_camInd (
            in template (present) CAM p_camMsg
        ) := { 
            msgIn := p_camMsg 
            msgIn := p_camMsg,
            gnNextHeader := *,
            gnHeaderType := *,
            gnHeaderSubtype := *,
            gnLifetime := *,
            gnTrafficClass := *,
            btpDestinationPort := *,
            btpInfo := * 
        };
        
        /**
         * @desc    Receive template for CAM Message (CamPort Primitive)
         * @param   p_camMsg            Expected CAM Message
         * @param   p_gnNextHeader      GN next header value
         * @param   p_gnHeaderType      GN header type value
         * @param   p_gnHeaderSubtype   GN header subtype value
         * @param   p_gnLifetime        GN packet lifetime value (ms)
         * @param   p_gnTrafficClass    GN traffic class value
         */
        template CamInd mw_camIndWithGnParameters (
            in template (present) CAM p_camMsg,
            in template UInt8 p_gnNextHeader := *,
            in template UInt8 p_gnHeaderType := *,
            in template UInt8 p_gnHeaderSubtype := *,
            in template UInt32 p_gnLifetime := *,
            in template UInt8 p_gnTrafficClass := *
        ) modifies mw_camInd := { 
            gnNextHeader := p_gnNextHeader,
            gnHeaderType := p_gnHeaderType,
            gnHeaderSubtype := p_gnHeaderSubtype,
            gnLifetime := p_gnLifetime,
            gnTrafficClass := p_gnTrafficClass    
        };
        
        /**
         * @desc    Receive template for CAM Message (CamPort Primitive)
         * @param   p_camMsg                Expected CAM Message
         * @param   p_btpDestinationPort    BTP destination port value
         * @param   p_btpInfo               BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
         */
        template CamInd mw_camIndWithBtpParameters (
            in template (present) CAM p_camMsg,
            in template UInt16 p_btpDestinationPort := *,
            in template UInt16 p_btpInfo := *
        ) modifies mw_camInd := { 
            btpDestinationPort := p_btpDestinationPort,
            btpInfo := p_btpInfo     
        };

        /**
+10 −2
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ module LibItsCam_TestSystem {
    // LibCommon
    import from LibCommon_Time {modulepar all};
    import from LibCommon_Sync all;
    import from LibCommon_BasicTypesAndValues all;
    
    // LibIts
    import from CAM_PDU_Descriptions language "ASN.1:1997" all;
@@ -104,7 +105,14 @@ module LibItsCam_TestSystem {
             * @desc FA1 CAM Indication Primitive 
             */
            type record CamInd {
                CAM msgIn
                CAM     msgIn,
                UInt8   gnNextHeader optional,
                UInt8   gnHeaderType optional,
                UInt8   gnHeaderSubtype optional,
                UInt32  gnLifetime optional,
                UInt8   gnTrafficClass optional,
                UInt16  btpDestinationPort optional,
                UInt16  btpInfo optional
            }
            with {
                encode (msgIn) "LibItsCam_asn1"
+50 −2
Original line number Diff line number Diff line
@@ -7,6 +7,9 @@
 */
module LibItsDenm_Templates {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
     
    // LibIts
    import from ITS_Container language "ASN.1:1997" all;
    import from DENM_PDU_Descriptions language "ASN.1:1997" all;
@@ -55,9 +58,54 @@ module LibItsDenm_Templates {
            template (present) DENM p_denMsg
        ) := {
            msgIn := p_denMsg,
            receptionTime := *
            gnNextHeader := *,
            gnHeaderType := *,
            gnHeaderSubtype := *,
            gnLifetime := *,
            gnTrafficClass := *,
            btpDestinationPort := *,
            btpInfo := * 
        }

        /**
         * @desc    Receive template for DEN Message (DenmPort Primitive)
         * @param   p_denMsg            The expected DEN Message
         * @param   p_gnNextHeader      GN next header value
         * @param   p_gnHeaderType      GN header type value
         * @param   p_gnHeaderSubtype   GN header subtype value
         * @param   p_gnLifetime        GN packet lifetime value (ms)
         * @param   p_gnTrafficClass    GN traffic class value
         */
        template DenmInd mw_denmIndWithGnParameters (
            template (present) DENM p_denMsg,
            in template UInt8 p_gnNextHeader := *,
            in template UInt8 p_gnHeaderType := *,
            in template UInt8 p_gnHeaderSubtype := *,
            in template UInt32 p_gnLifetime := *,
            in template UInt8 p_gnTrafficClass := *
        ) modifies mw_denmInd := { 
            gnNextHeader := p_gnNextHeader,
            gnHeaderType := p_gnHeaderType,
            gnHeaderSubtype := p_gnHeaderSubtype,
            gnLifetime := p_gnLifetime,
            gnTrafficClass := p_gnTrafficClass    
        };
        
        /**
         * @desc    Receive template for DEN Message (DenmPort Primitive)
         * @param   p_denMsg                The expected DEN Message
         * @param   p_btpDestinationPort    BTP destination port value
         * @param   p_btpInfo               BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
         */
        template DenmInd mw_denmIndWithBtpParameters (
            template (present) DENM p_denMsg,
            in template UInt16 p_btpDestinationPort := *,
            in template UInt16 p_btpInfo := *
        ) modifies mw_denmInd := { 
            btpDestinationPort := p_btpDestinationPort,
            btpInfo := p_btpInfo     
        };
        
        group utPrimitives {
            
            /**
+9 −2
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ module LibItsDenm_TestSystem {
    // LibCommon
    import from LibCommon_Time {modulepar all};
    import from LibCommon_Sync all;
    import from LibCommon_BasicTypesAndValues all;

    // LibIts
    import from DENM_PDU_Descriptions language "ASN.1:1997" all;    
@@ -110,7 +111,13 @@ module LibItsDenm_TestSystem {
             */
            type record DenmInd {
                DENM    msgIn,
                TimestampIts receptionTime optional
                UInt8   gnNextHeader optional,
                UInt8   gnHeaderType optional,
                UInt8   gnHeaderSubtype optional,
                UInt32  gnLifetime optional,
                UInt8   gnTrafficClass optional,
                UInt16  btpDestinationPort optional,
                UInt16  btpInfo optional
            }
            with {
                encode (msgIn) "LibItsDenm_asn1"
Loading