Newer
Older
*
*/
module LibItsGeoNetworking_TestSystem {
// LibCommon
import from LibCommon_Time {modulepar all};
import from LibCommon_Sync all;
import from LibCommon_BasicTypesAndValues {
import from LibItsCommon_TypesAndValues all;
// LibItsGeoNetworking
import from LibItsGeoNetworking_TypesAndValues all;
import from LibItsGeoNetworking_Functions all;
// LibItsSecurity
import from LibItsSecurity_TestSystem all;
import from LibItsIpv6OverGeoNetworking_TypesAndValues all;
/**
* @desc Adapter control port
*/
type port AdapterControlPort message {
AcGnResponse, AcGn6Response;
} // end AdapterControlPort
/**
* @desc Upper Tester port
*/
type port UpperTesterPort message {
UtInitialize, UtChangePosition, UtGnTrigger;
UtInitializeResult, UtChangePositionResult, UtGnTriggerResult, UtGnEventInd;
} // end UpperTesterPort
} // end portDefinitions
group networkAndTransportPorts {
group nt2Ports {
*/
type port GeoNetworkingPort message {
in GeoNetworkingInd;
out GeoNetworkingReq;
} // end GeoNetworkingPort
} // End of group nt2Ports
} // End of group networkAndTransportPorts
} // End of group interfacePorts
group componentDefinitions {
type component ItsMtc extends ItsBaseMtc, ServerSyncComp, ItsSecurityBaseComponent { // TODO Extend ItsBaseMtc with ItsSecurityBaseComponent? {
var ComponentTable vc_componentTable := {};
/**
* @desc ITS System Adapter
*/
type component ItsGeoNetworkingSystem {
port UpperTesterPort utPort;
port AdapterControlPort acPort;
// NT2 ports
port GeoNetworkingPort geoNetworkingPort;
} // end ItsGeoNetworkingSystem
} // End of group componentDefinitions
type component ItsBaseGeoNetworking extends ItsBaseComponent, ItsSecurityBaseComponent { // TODO Extend ItsBaseComponent with ItsSecurityBaseComponent?
/**
* @desc Test component for ITS Network and Transport layer
*/
type component ItsGeoNetworking extends ItsBaseGeoNetworking {
// NT2 ports
port GeoNetworkingPort geoNetworkingPort;
//variables for Gn
var UInt16 vc_localSeqNumber := f_getInitialSequenceNumber();
var PositionTable vc_positionTable := {};
var GeoAreaTable vc_areaTable := {};
var charstring vc_componentName := "";
var default vc_neighbourDefault;
var integer vc_multipleMessagesCount := f_getMessageCount();
// UT indications
var UtGnEventIndList vc_utInds := {};
GeoNetworkingPdu msgIn,
MacAddress macDestinationAddress
GeoNetworkingPdu msgOut,
MacAddress macDestinationAddress
group misc {
type record ComponentEntry {
charstring componentName,
ItsGeoNetworking gnComponent optional
}
type record of ComponentEntry ComponentTable;
} // end misc