Newer
Older
* @desc Test System module for ITS CAM
* @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 LibItsCam_TestSystem {
// LibCommon
// import from LibCommon_Time {modulepar all};
// import from LibCommon_Sync all;
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
import from CAM_PDU_Descriptions language "ASN.1:1997" all;
// import from DENM_PDU_Descriptions language "ASN.1:1997" all;
// LibItsCommon
import from LibItsCommon_TestSystem all;
import from LibItsCommon_TypesAndValues all;
// LibItsCam
import from LibItsCam_TypesAndValues all;
/**
* @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
/**
* @desc Upper Tester port
*/
type port UpperTesterPort message {
out
UtInitialize, UtCamTrigger, UtChangePosition, UtActivatePositionTime, UtDeactivatePositionTime;
//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;
} // 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;
// 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;
// FA1 ports
port CamPort camPort;
//timers
//component variables
//default
var default vc_default := null;
//global variables
var boolean vc_camReceived := false;
var UtCamEventIndList vc_utEvents := {};
var boolean vc_utDefaultActive := true;
var boolean vc_camDefaultActive := true;
} // 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,
UInt32 its_aid optional
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"
}
/**
* @desc FA1 CAM Request Primitive
*/
type record CamReq {
CAM msgOut
}
} // end fa1Primitives
} // End of group facilityPrimitives
with {
encode "LibIts_Interface"
} // end interfacePrimitives
} // End of module LibItsCam_TestSystem