Newer
Older
* @desc Test System module for ITS DENM
*
*/
module LibItsDenm_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 DENM_PDU_Descriptions language "ASN.1:1997" all;
import from ITS_Container language "ASN.1:1997" all;
// LibItsCommon
import from LibItsCommon_TypesAndValues all;
// LibItsDenm
import from LibItsDenm_TypesAndValues all;
/**
* @desc Adapter control port
*/
type port AdapterControlPort message {
out
AcGnssPrimitive, AcSecPrimitive;
AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
} // end AdapterControlPort
/**
* @desc Upper Tester port
*/
type port UpperTesterPort message {
out
UtInitialize, UtDenmTrigger, UtDenmUpdate, UtDenmTermination, UtChangePosition, UtChangePseudonym;
UtInitializeResult, UtDenmTriggerResult, UtDenmUpdateResult, UtDenmTerminationResult,
UtChangePositionResult, UtChangePseudonymResult, UtDenmEventInd;
} // end UpperTesterPort
} // end portDefinitions
group interfacePorts {
group facilityPorts {
group fa1Ports {
/**
* @desc FA1 DENM Port (DENM/BTP/GeoNet/G5)
*/
type port DenmPort message {
in DenmInd;
out DenmReq;
} // End of port DenmPort
} // End of group fa1Ports
} // End of group facilityPorts
} // End of group interfacePorts
group componentDefinitions {
/**
* @desc ITS System Adapter
*/
type component ItsDenmSystem {
port UpperTesterPort utPort;
port AdapterControlPort acPort;
// FA1 ports
port DenmPort denmPort;
} // end component ItsAdapter
} // End of group componentDefinitions
/**
* @desc Test component for ITS Facility layer
*/
type component ItsDenm extends ItsBaseComponent {
port AdapterControlPort acPort;
port UpperTesterPort utPort;
// FA1 ports
port DenmPort denmPort;
//timers
//component variables
//default
var default vc_default := null;
//global variables
var UtDenmEventIndList vc_utEvents := {};
var UtDenmActionIDList vc_utActionIDs := {};
var boolean vc_utDefaultActive := true;
var boolean vc_denmDefaultActive := true;
} // End of component ItsDenm
group facilityPrimitives {
group fa1Primitives {
/**
* @desc FA1 DENM Indication Primitive
*
* @member denmMsg
*/
type record DenmInd {
DENM msgIn,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
UInt32 gnLifetime optional,
UInt8 gnTrafficClass optional,
UInt16 btpDestinationPort optional,
UInt16 btpInfo optional,
Bit128 ssp optional,
UInt32 its_aid optional
}
with {
encode (msgIn) "LibItsDenm_asn1"
}
/**
* @desc FA1 DENM Request Primitive
*
* @member denmMsg
*/
type record DenmReq {
}
with {
encode (msgOut) "LibItsDenm_asn1"
}
} // End of group fa1Primitives
} // End of group facilityPrimitives
with {
encode "LibIts_Interface"
} // end interfacePrimitives
} // End of module LibItsDenm_TestSystem