LibItsV2G_Templates.ttcn 3.94 KB
Newer Older
reinaortega's avatar
reinaortega committed
/**
 *  @author   ETSI / STFS46
 *  @version  $URL: svn+ssh://vcs.etsi.org/TTCN3/LIB/LibIts/trunk/ttcn/V2G/LibItsV2G_Templates.ttcn $
 *            $Id: LibItsV2G_Templates.ttcn 429 2012-03-13 16:11:47Z reinaortega $
 *  @desc     V2G application layer protocols Templates
 *
 */
module LibItsV2G_Templates {
    
    // LibIts
    import from LibItsV2G_TestSystem all;
    import from LibItsV2G_TypesAndValues all;
    import from LibItsV2G_Pixits all;
    
    //XSD
    import from iso_15118_2_2010_MsgDef all;
    import from iso_15118_2_2010_MsgDataTypes all;
reinaortega's avatar
reinaortega committed
        
    group v2gPrimitivesTemplates {

        
    
        group utPrimitives {
            
            /**
             * @desc Initializes the V2G IUT. 
             */
            template (value) UtInitialize m_v2gInitialize := {
                utV2Ginitialize := {
                }
            }
            
             /**
             * @desc Upper Tester template for checking that V2G payload has been transmitted to upper layer
             * @param p_payload Payload to be checked
             */
            template (value) UtEvent m_checkPayload(in V2G_Message.Body p_body) := {
reinaortega's avatar
reinaortega committed
                utV2Gevent := {
                    v2gBody := p_body
reinaortega's avatar
reinaortega committed
                }
            }
            
        } // end utPrimitives
        
    } // v2gPrimitivesTemplates
    
    group v2gPduTemplates {
    	
		/**
		* @desc    Receive template for V2G Message (V2Gport Primitive)
		* @param   p_v2gMsg V2G Message to be received
		*/
	   template V2Gind mw_v2gMessageInd (
		   in template (present) V2G_Message p_v2gMsg
	   ) := { 
		   v2gIn := p_v2gMsg 
	   };

	   		/**
		* @desc    Receive template for SDP Message (V2Gport Primitive)
		* @param   p_sdpMsg SDP Message to be received
		*/
	   template V2Gind mw_sdpMessageInd (
		   in template (present) Sdp_Message p_sdpMsg
	   ) := { 
		   sdpIn := p_sdpMsg 
	   };

	   /**
		* @desc    Send template for V2G Message (V2Gport Primitive)
		* @param   p_v2gMsg V2G Message to be sent
		*/    
	   template (value) V2Greq m_v2gReq (
		   in template (value) V2G_Message p_v2gMsg
	   ) := { 
		   v2gOut := p_v2gMsg 
	   };
	   
	   //      E X A M P L E 
	   /**
		* @desc    Receive template for V2G Message for Session Request
		*/
	   template V2G_Message mw_v2gMsg_sessionRequest (in template (present) sessionIDType_TYPE p_sId,
	     in template (present) evccIDType_TYPE p_evccId ):= {
			   SessionID := p_sId,
			   Notification := omit,
			   Signature := omit
		   Body := {
			   BodyElement := omit//p_evccId

	} // end v2gPduTemplates

	group sdpMessageTemplates {   
		/**
         * @desc    Receive template for Generic Header SDP
         */
		template Sdp_Header mw_sdpGenericHeader := {
			protocolVersion := ?,
			inverseProtocolVersion := ?,
			payloadType := ?,
			payloadLength := ?
		/**
         * @desc    Receive template for Generic Payload of a SDP Request Message
         */
		template Sdp_Request mw_sdpGenericPayloadRequest := {
			security := ?,
			transportProtocol := ?
		}

	    /**
         * @desc    Receive template for Header SDP Request Message
		 * @see		mw_sdpGenericHeader
         */
		template Sdp_Header mw_sdpHeaderRequest modifies mw_sdpGenericHeader := {
			protocolVersion := c_protocolVersion1,
			inverseProtocolVersion := c_inverseProtocolVersion1,
			payloadType := c_sdpRequestMessagePayloadType,
			payloadLength := 2
		}

		/**
         * @desc    Receive template for SDP Message
		 * @param p_sdpH	Header of the message
		 * @param p_sdpP	Payload of the message
         */
		template Sdp_Message mw_sdpRequestMessage (in template Sdp_Header p_sdpH,
		in template Sdp_Request p_sdpP) := {
			sdpHeader := p_sdpH,
			sdpPayload := {
				sdpRequest := p_sdpP
			}
reinaortega's avatar
reinaortega committed

    } // end sdpMessageTemplates
reinaortega's avatar
reinaortega committed
    
    
} // end LibItsV2G_Templates