Newer
Older
* @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 LibItsGeoNetworking_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 LibItsCommon_TypesAndValues all;
// LibItsGeoNetworking
import from LibItsGeoNetworking_TypesAndValues all;
// LibItsSecurity
import from LibItsSecurity_TestSystem all;
import from LibItsIpv6OverGeoNetworking_TypesAndValues all;
/**
* @desc Adapter control port
*/
type port AdapterControlPort message {
AcGnPrimitive, AcGn6Primitive, AcGnssPrimitive, AcSecPrimitive;
//FIXME RGY As discussed, boolean results are replaced by a top-level union of results
// AcGnResponse, AcGn6Response, AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
AcGnResponse, AcGn6Response, AdapterControlResults;
/**
* @desc Upper Tester port
*/
type port UpperTesterPort message {
UtGnInitialize, UtGnChangePosition, UtAutoInteropTrigger, UtGnTrigger;
} // 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 {
//FIXME RGY ItsMtc can extend ItsBaseGeoNetworking instead of ItsSecurityBaseComponent, as it contains
// everything defined here but vc_componentTable and already extends ItsSecurityBaseComponent
// also, ItsBaseMtc already extends ServerSyncComp
// type component ItsMtc extends ItsBaseMtc, ServerSyncComp, ItsSecurityBaseComponent { // TODO Extend ItsBaseMtc with ItsSecurityBaseComponent? {
type component ItsMtc extends ItsBaseMtc, ItsBaseGeoNetworking {
/*FIXME RGY all these objects are inherited from ItsBaseGeoNetworking, they shall not be defined again: see $6.2.10.2
var ComponentTable vc_componentTable := {};
// UT indications
var UtGnEventIndList vc_utInds := {};
var boolean vc_utDefaultActive := true;
var boolean vc_acDefaultActive := true;
var boolean vc_gnDefaultActive := true;
/**
* @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 {
// UT indications
var UtGnEventIndList vc_utInds := {};
var boolean vc_utDefaultActive := true;
var boolean vc_acDefaultActive := true;
var boolean vc_gnDefaultActive := true;
/**
* @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 := 0;
var PositionTable vc_positionTable := {};
var GeoAreaTable vc_areaTable := {};
var charstring vc_componentName := "";
var default vc_neighbourDefault;
var integer vc_multipleMessagesCount := 0;
MacAddress macDestinationAddress,
//encode "RAW";
variant "FIELDORDER(msb)"
MacAddress macDestinationAddress,
UInt32 its_aid
//encode "RAW";
variant "FIELDORDER(msb)"
group misc {
type record ComponentEntry {
charstring componentName,
ItsGeoNetworking gnComponent optional
}
type record of ComponentEntry ComponentTable;
} // end misc