LibItsCam_TestSystem.ttcn 5.51 KB
Newer Older
reinaortega's avatar
reinaortega committed
/**
garciay's avatar
garciay committed
 *    @author   ETSI / STF405 / STF449 / STF484 / STF517
filatov's avatar
filatov committed
 *    @version  $URL$
 *              $Id$
 *    @desc     Test System module for ITS CAM
garciay's avatar
garciay committed
 *    @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.
reinaortega's avatar
reinaortega committed
 *
 */
module LibItsCam_TestSystem {
    
    // LibCommon
filatov's avatar
filatov committed
//    import from LibCommon_Time {modulepar all};
//    import from LibCommon_Sync all;
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings all;
reinaortega's avatar
reinaortega committed
    
garciay's avatar
garciay committed
    // LibIts
reinaortega's avatar
reinaortega committed
    import from CAM_PDU_Descriptions language "ASN.1:1997" all;
filatov's avatar
filatov committed
//    import from DENM_PDU_Descriptions language "ASN.1:1997" all;
reinaortega's avatar
reinaortega committed
    
garciay's avatar
garciay committed
    // LibItsCommon
    import from LibItsCommon_TestSystem all;
    import from LibItsCommon_TypesAndValues all;    
garciay's avatar
garciay committed
    
    // LibItsCam
    import from LibItsCam_TypesAndValues all;
    
reinaortega's avatar
reinaortega committed
    group portDefinitions {
    
        /**
         * @desc Adapter control port
         */
        type port AdapterControlPort message {
            out
                AcGnssPrimitive, AcSecPrimitive;
//FIXME RGY As discussed, list of boolean result responses is collected into a top-level union
//                AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
                AdapterControlResults;
        } // end AdapterControlPort
        
reinaortega's avatar
reinaortega committed
        /**
         * @desc Upper Tester port
         */
        type port UpperTesterPort message {
            out 
                UtInitialize, UtCamTrigger, UtChangePosition, UtActivatePositionTime, UtDeactivatePositionTime;
reinaortega's avatar
reinaortega committed
            in 
//FIXME RGY As discussed, list of boolean result responses is collected into a top-level union
//                UtInitializeResult, UtCamTriggerResult, UtChangePositionResult, UtActivatePositionTimeResult, UtDeactivatePositionTimeResult, UtCamEventInd;
                UtCommonResults, UpperTesterCamResults, UtCamEventInd;
reinaortega's avatar
reinaortega committed
        } // end UpperTesterPort
        
    } // end portDefinitions

    group interfacePorts {

        group facilityPorts {
            
            group fa1Ports {
    
                /**
                 * @desc FA1 CAM Port (CAM/BTP/GeoNet/G5) 
                 */
                type port CamPort message {
                    in CamInd;
                    out CamReq;
                } // End of port CamPort
                
            } // end fa1Ports
                
        } // End of group facilityPorts
    
    } // End of group interfacePorts
        
    group componentDefinitions {

        /**
         * @desc ITS System Adapter
         */
        type component ItsCamSystem {
            
            port UpperTesterPort utPort;
            port AdapterControlPort acPort;
reinaortega's avatar
reinaortega committed
            
            // FA1 ports
            port CamPort camPort;

        } // end component ItsAdapter
        
    } // End of group componentDefinitions
    
    /**
     * @desc Test component for ITS Facility layer 
     */
    type component ItsCam extends ItsBaseComponent {

        port UpperTesterPort utPort;
        port AdapterControlPort acPort;
reinaortega's avatar
reinaortega committed
        
        // FA1 ports
        port CamPort camPort;
        //timers
        
        //component variables
garciay's avatar
garciay committed
        var CamInd vc_camMsg;
        
reinaortega's avatar
reinaortega committed
        //default
        var default vc_default := null;
        
        //global variables
        var boolean vc_camReceived := false;

        var UtCamEventIndList vc_utEvents := {};
reinaortega's avatar
reinaortega committed
        
garciay's avatar
garciay committed
        var boolean vc_utDefaultActive := true;
        var boolean vc_camDefaultActive := true;
        
reinaortega's avatar
reinaortega committed
    } // End of component ItsCam
    
    group facilityPrimitives {
            
        group fa1Primitives {
            
            /**
             * @desc FA1 CAM Indication Primitive 
             */
            type record CamInd {
                CAM         msgIn,
                UInt8       gnNextHeader optional,
                UInt8       gnHeaderType optional,
                UInt8       gnHeaderSubtype optional,
                UInt32      gnLifetime optional,
                UInt8       gnTrafficClass optional,
                UInt16      btpDestinationPort optional,
                UInt16      btpInfo optional,
                Bit256      ssp optional,
reinaortega's avatar
reinaortega committed
            }
            with {
filatov's avatar
filatov committed
//                 variant ""
garciay's avatar
garciay committed
                 encode (msgIn) "PER"//LibItsCam_asn1
filatov's avatar
filatov committed
/*
garciay's avatar
garciay committed
                 encode (gnNextHeader) "RAW"
                 encode (gnHeaderType) "RAW"
                 encode (gnHeaderSubtype) "RAW"
                 encode (gnLifetime) "RAW"
                 encode (gnTrafficClass) "RAW"
                 encode (btpDestinationPort) "RAW"
                 encode (btpInfo) "RAW"
                 encode (ssp) "RAW"
                 encode (its_aid) "RAW"
filatov's avatar
filatov committed
*/
reinaortega's avatar
reinaortega committed
            }
                
            /**
             * @desc FA1 CAM Request Primitive 
             */
            type record CamReq {
reinaortega's avatar
reinaortega committed
            }
            with {
filatov's avatar
filatov committed
//                 variant ""
garciay's avatar
garciay committed
                 encode (msgOut) "PER"//LibItsCam_asn1
reinaortega's avatar
reinaortega committed
            }
            
        } // end fa1Primitives
            
    } // End of group facilityPrimitives
    with {
        encode "LibIts_Interface"
    } // end interfacePrimitives    
     
} // End of module LibItsCam_TestSystem