Commit d8f627af authored by YannGarcia's avatar YannGarcia
Browse files

First build of AtsMBR

parent ef603ae2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
module ItsMbr_TpFunctions.ttcn {
module ItsMbr_TpFunctions {

} // End of module ItsMbr_TpFunctions
+162 −152
Original line number Diff line number Diff line
@@ -7,8 +7,18 @@ module LibItsMbr_Templates {
  // LibHelpers
  import from LibHelpers_Functions all;

  // LibItsCommon
  import from LibItsCommon_TypesAndValues all;

  // LibMbr
  import from LibItsMbr_TypesAndValues all;

  // LibIts
    import from EtsiTs103759Data language "ASN.1:1997" all;
  import from EtsiTs103759Core language "ASN.1:1997" all;
  import from EtsiTs103759BaseTypes language "ASN.1:1997" all;
  import from EtsiTs103759CommonObservations language "ASN.1:1997" all;
  import from EtsiTs103759AsrCam language "ASN.1:1997" all;
  import from Ieee1609Dot2BaseTypes language "ASN.1:1997" all;

  group mbrPrimitives {

@@ -30,7 +40,7 @@ module LibItsMbr_Templates {
      btpInfo       := *,
      ssp         := *,
      its_aid       := *
        };
    }
    
    /**
     * @desc  Receive template for EtsiTs103759Data Message (MbrPort Primitive)
@@ -54,7 +64,7 @@ module LibItsMbr_Templates {
      gnHeaderSubtype := p_gnHeaderSubtype,
      gnLifetime := p_gnLifetime,
      gnTrafficClass := p_gnTrafficClass  
        };
    }
    
    /**
     * @desc  Receive template for CA Message (DenmPort Primitive)
@@ -65,11 +75,11 @@ module LibItsMbr_Templates {
    template MbrInd mw_mbrIndWithSecurityParameters(
                                                    template (present) EtsiTs103759Data p_mbrMsg,
                                                    template Bit256 p_ssp := *,
                                                        template UInt32 p_its_aid := c_its_aid_EtsiTs103759Data
                                                    template UInt32 p_its_aid := c_its_aid_MBR
                                                    ) modifies mw_mbrInd := { 
      ssp       := p_ssp,
      its_aid     := p_its_aid
        };
    }
    
    /**
     * @desc  Receive template for EtsiTs103759Data Message (MbrPort Primitive)
@@ -84,7 +94,7 @@ module LibItsMbr_Templates {
                                               ) modifies mw_mbrInd := { 
      btpDestinationPort := p_btpDestinationPort,
      btpInfo := p_btpInfo   
        };
    }

    /**
     * @desc  Send template for EtsiTs103759Data Message (MbrPort Primitive)
@@ -94,14 +104,14 @@ module LibItsMbr_Templates {
                                      in template (value) EtsiTs103759Data p_mbrMsg
                                      ) := { 
      msgOut := p_mbrMsg 
        };
    }

    group mbrUtPrimitives {

      /**
       * @desc Initializes the CAM IUT. 
       */
            template (value) UtMbrInitialize m_camInitialize := {
      template (value) UtMbrInitialize m_mbrInitialize := {
        hashedId8 := '0000000000000000'O
      }
      
@@ -135,24 +145,24 @@ module LibItsMbr_Templates {
      report        := p_report 
    } // End of template mw_etsiTs103759Data

        template (value) MbSingleObservation
    //template (value) MbSingleObservation
  } // End of group etsiTs103759Data

  group camObservation { // FIXME To be checked

        template (value) AidSpecificReport m_cam_specific_report(
                                                                 in template (value) SetMbObsCamBeacon p_content
                                                                 ) := {
            aid     := c-AsrCam,
            content := p_content
        } // End of template m_cam_specific_report

        template (present) AidSpecificReport mw_cam_specific_report(
                                                                    template (present) SetMbObsCamBeacon p_content := ?
                                                                    ) := {
            aid     := c-AsrCam,
            content := p_content
        } // End of template mw_cam_specific_report
    // template (value) AidSpecificReport m_cam_specific_report(
    //                                                          in template (value) C_ASR_SINGLE_OBS p_content
    //                                                          ) := {
    //   aid   := c_AsrCam,
    //   content := p_content
    // } // End of template m_cam_specific_report

    // template (present) AidSpecificReport mw_cam_specific_report(
    //                                                             template (present) C_ASR_SINGLE_OBS p_content := ?
    //                                                             ) := {
    //   aid   := c_AsrCam,
    //   content := p_content
    // } // End of template mw_cam_specific_report

  } // End of group camObservation

+99 −0
Original line number Diff line number Diff line
module LibItsMbr_TypesAndValues {

  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_DataStrings all;

  // LibIts
  import from EtsiTs103759Core language "ASN.1:1997" all;
  import from EtsiTs103759CommonObservations language "ASN.1:1997" all;
  import from Ieee1609Dot2BaseTypes language "ASN.1:1997" all;

  group utPrimitives {

    /**
    * @desc Upper Tester message to initialize IUT 
    * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
    */
    type record UtMbrInitialize {
      Oct8 hashedId8 
    } with {
      variant "FIELDORDER(msb)"
    }

    type union UtMbrTrigger {
      IdMbObs idMbObs
    } with {
      variant ""
    }

    /**
    * @desc Upper Tester results message of the MBR IUT
    * @member utMbrInitializeResult        -
    * @member utMbrTriggerResult       -
    */
    type union UtMbrResults {
      boolean utMbrInitializeResult,
      boolean utMbrTriggerResult
    } with {
      variant ""
    } // End of type UtMbrResults

    /**
    * @desc Upper Tester message to check event/status on MBR IUT 
    */
    type record UtMbrEventInd {
      EtsiTs103759Data mbrMsg
    } with {
      encode (mbrMsg) "LibItsMbr_asn1"
    }

    /**
    * @desc List of Upper Tester messages to check event/status on CAM IUT 
    */
    type record of UtMbrEventInd UtMbrEventIndList;
      
  } with {
    encode "UpperTester"
    variant ""
  } // End of group utPrimitives

  group facilityPrimitives {
      
    /**
    * @desc MBR Indication Primitive 
    */
    type record MbrInd {
      EtsiTs103759Data msgIn,
      UInt64           recvTime,
      UInt8            gnNextHeader optional,
      UInt8            gnHeaderType optional,
      UInt8            gnHeaderSubtype optional,
      UInt32           gnLifetime optional,
      UInt8            gnTrafficClass optional,
      UInt16           btpDestinationPort optional,
      UInt16           btpInfo optional,
      Bit256           ssp optional,
      UInt32           its_aid optional
    } with {
      encode (msgIn) "OER"
    }
    
    /**
    * @desc MBR Request Primitive 
    */
    type record MbrReq {
      EtsiTs103759Data msgOut
    } with {
      encode (msgOut) "OER"
    }
    
  } with {
    encode "LibIts_Interface"
  } // End of group facilityPrimitives
   
  type record InfoPortData {
    octetstring data
  } // End of type InfoPortData

} with {
  variant ""
  encode "LibItsMbr"
} // End of module LibItsMbr_TypesAndValues
Compare e31cdb32 to 0a0d4ca5
Original line number Diff line number Diff line
Subproject commit e31cdb32fb389456de442a7a268bd6c5d1db6d15
Subproject commit 0a0d4ca5e8390372d8b9e48a829420659cc86248
+75 −89
Original line number Diff line number Diff line
/**
 *    @author     ETSI / TTF T027
 *    @version     $Url$
 *                $Id$
 *    @desc        Test System module for MBR MBR
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
 *
 */
module LibItsMbr_TestSystem language "TTCN-3:2010 Real Time and Performance Testing" {

  // LibCommon
@@ -5,7 +16,7 @@ module LibItsMbr_TestSystem language "TTCN-3:2010 Real Time and Performance Test
  import from LibCommon_DataStrings all;

  // LibIts
    import from EtsiTs103759Data language "ASN.1:1997" all;
  import from EtsiTs103759Core language "ASN.1:1997" all;

  // LibItsCommon
  import from LibItsCommon_TestSystem all;
@@ -14,93 +25,68 @@ module LibItsMbr_TestSystem language "TTCN-3:2010 Real Time and Performance Test
  // LibItsMbr
  import from LibItsMbr_TypesAndValues all;

    group portDefinitions {
  // LibItsGeoNetworking
  import from LibItsGeoNetworking_TestSystem all;
  import from LibItsGeoNetworking_TypesAndValues all;
  
        /**
         * @desc Adapter control port
         */
        type port AdapterControlPort message {
            out
                AcGnssPrimitive, AcSecPrimitive;
            in
                AdapterControlResults;
        } // end AdapterControlPort
  // LibItsSecurity
  import from LibItsSecurity_TestSystem all;
  
        /**
         * @desc Upper Tester port
         */
        type port UpperTesterPort message {
            out
                UtMbrInitialize, UtMbrTrigger;
            in
                UtMbrResults, UtMbrEventInd;
        } // end UpperTesterPort
        
    } // end portDefinitions

    group interfacePorts {
  // LibHttp
  import from LibHttp_TestSystem all;
  
        group facilityPorts {
            
            group fa1Ports {
  group portDefinitions {

    /**
                 * @desc FA1 MBR Port (MBR/BTP/GeoNet/RadioNetwork) 
     * @desc Upper Tester port
     */
                type port MbrPort message {
                    in MbrInd;
                    out MbrReq;
                } // End of port MbrPort
    type port UpperTesterMbrPort message {
      out UtMbrInitialize, UtMbrTrigger;
      in UtMbrResults, UtMbrEventInd;
    } // End of UpperTesterMbrPort
    
            } // end fa1Ports
    type port InfoPort message {
      inout InfoPortData
    } with {
      extension "internal"
    } // End of InfoPort
    
        } // End of group facilityPorts
    
    } // End of group interfacePorts
  } // End of group portDefinitions

  group componentDefinitions {
        
    /**
         * @desc ITS System Adapter
     * @desc System component
     */
        type component ItsMbrSystem {
            
            port UpperTesterPort utPort;
            port AdapterControlPort acPort;
            
            // FA1 ports
            port MbrPort mbrPort;
    type component ItsMbrHttpSystem extends HttpTestAdapter{
    } // End of component ItsMbrHttpSystem
    
        } // end component ItsAdapter
        
    } // End of group componentDefinitions
    type component ItsMbrItssSystem extends ItsMbrHttpSystem {
      port UpperTesterMbrPort utPort;
      port GeoNetworkingPort geoNetworkingPort;
    } // End of component ItsMbrItssSystem
    
    /**
     * @desc Test component for ITS Facility layer 
     * @desc Test component for MBR entities execpt ITS-S
     */
    type component ItsMbr extends ItsBaseComponent {

        port UpperTesterPort utPort;
        port AdapterControlPort acPort;
    type component ItsMbrHttp extends ItsSecurityBaseComponent, HttpComponent {
      port InfoPort infoPort;
    } // End of component ItsMbrHttp
    
        // FA1 ports
        port MbrPort mbrPort;
        //timers
        
        //component variables
        var MbrInd vc_mbrMsg;
        
        //default
        var default vc_default := null;
        
        //global variables
        var boolean vc_mbrReceived := false;
    /**
     * @desc Test component for ITS-S entity
     */
    type component ItsMbrItss extends ItsMbrHttp {
      port UpperTesterMbrPort utPort;
      port GeoNetworkingPort geoNetworkingPort;

        var UtMbrEventIndList vc_utEvents := {};
      // UT indications
      var UtGnEventIndList vc_utInds := {};
      var UtMbrEventIndList vc_utInds_mbr := {};
      
      var boolean vc_utDefaultActive := true;
        var boolean vc_mbrDefaultActive := true;
    } // End of component ItsMbrItss
    
    } // End of component ItsMbr
  } // End of group componentDefinitions

} // End of module LibItsMbr_TestSystem
Loading