Commit 1d0ac5bc authored by garciay's avatar garciay
Browse files

Review IVIM, MAPEM/SPATEM and SREM/SSEM

parent 2281dff3
......@@ -58,12 +58,12 @@ module LibItsIvim_Functions {
* @desc Requests to bring the IUT in an initial state
* @param p_init The initialisation to trigger.
*/
function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsIvim {
function f_utInitializeIut(template (value) UtIvimInitialize p_init) runs on ItsIvim {
utPort.send(p_init);
tc_wait.start;
alt {
[] utPort.receive(UtInitializeResult:true) {
[] utPort.receive(UtIvimResults: { utIvimInitializeResult := true }) {
tc_wait.stop;
log("*** " & testcasename() & ": INFO: IUT initialized ***");
}
......@@ -89,15 +89,15 @@ module LibItsIvim_Functions {
in template (value) UtIvimTrigger p_event
) runs on ItsIvim return IviIdentificationNumber {
var IviIdentificationNumber v_iviIdentificationNumber;
var UtIvimTriggerResult v_result;
var UtIvimResults v_result;
utPort.send(p_event);
tc_wait.start;
alt {
[] utPort.receive(UtIvimTriggerResult:?) -> value v_result {
[] utPort.receive(UtIvimResults: { utIvimTriggerResult := ? }) -> value v_result {
tc_wait.stop;
v_iviIdentificationNumber := v_result.iviIdentificationNumber;
if ( not v_result.result ) {
v_iviIdentificationNumber := v_result.utIvimTriggerResult.iviIdentificationNumber;
if ( not v_result.utIvimTriggerResult.result ) {
f_selfOrClientSyncAndVerdict("IVIM Trigger failed", e_error);
}
}
......@@ -125,14 +125,17 @@ module LibItsIvim_Functions {
in template (value) UtIvimUpdate p_event
) runs on ItsIvim return IviIdentificationNumber {
var IviIdentificationNumber v_iviIdentificationNumber;
var UtIvimUpdateResult v_result;
var UtIvimResults v_result;
utPort.send(p_event);
tc_wait.start;
alt {
[] utPort.receive(UtIvimUpdateResult:?) -> value v_result {
[] utPort.receive(UtIvimResults: { utIvimUpdateResult := ? }) -> value v_result {
tc_wait.stop;
v_iviIdentificationNumber := v_result.iviIdentificationNumber;
v_iviIdentificationNumber := v_result.utIvimUpdateResult.iviIdentificationNumber;
if ( not v_result.utIvimUpdateResult.result ) {
f_selfOrClientSyncAndVerdict("IVIM Update failed", e_error);
}
}
[] a_utDefault() {
//empty on purpose
......@@ -159,7 +162,7 @@ module LibItsIvim_Functions {
utPort.send(p_event);
tc_wait.start;
alt {
[] utPort.receive(UtIvimTerminationResult:?) {
[] utPort.receive(UtIvimResults: { utIvimTerminationResult := ? }) {
tc_wait.stop;
}
[] tc_wait.timeout {
......@@ -449,4 +452,4 @@ module LibItsIvim_Functions {
} // End of group miscellaneousFunctions
} // End of module LibItsIvim_Functions
\ No newline at end of file
} // End of module LibItsIvim_Functions
......@@ -132,7 +132,7 @@ module LibItsIvim_Templates {
/**
* @desc Send template for Upper Tester event initialization
*/
template (value) UtInitialize m_ivimStructureInitialize := {
template (value) UtIvimInitialize m_ivimStructureInitialize := {
hashedId8 := '0000000000000000'O
} // End of template m_ivimStructureInitialize
......@@ -419,7 +419,7 @@ module LibItsIvim_Templates {
*/
template (present) Provider mw_provider(
template (present) CountryCode p_countryCode := ?,
template (present) IssuerIdentifier p_providerIdentifier := ?
template (present) AVIAEIIssuerIdentifier p_providerIdentifier := ?
) := {
countryCode := p_countryCode,
providerIdentifier := p_providerIdentifier
......@@ -597,4 +597,4 @@ module LibItsIvim_Templates {
} // End of group roadConfigurationContainerGroup
} // End of module LibItsIvimTemplates
\ No newline at end of file
} // End of module LibItsIvimTemplates
......@@ -35,9 +35,9 @@ module LibItsIvim_TestSystem {
*/
type port AdapterControlPort message {
out
AcGnssPrimitive, AcSecPrimitive;
AcSecPrimitive;
in
AcGnssResponse, AcGnssDistanceCovered, AcSecResponse;
AdapterControlResults;
} // end AdapterControlPort
/**
......@@ -45,10 +45,9 @@ module LibItsIvim_TestSystem {
*/
type port UpperTesterPort message {
out
UtInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination, UtChangePosition, UtChangePseudonym;
UtIvimInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination;
in
UtInitializeResult, UtIvimTriggerResult, UtIvimUpdateResult, UtIvimTerminationResult,
UtChangePositionResult, UtChangePseudonymResult, UtIvimEventInd;
UtIvimResults, UtIvimEventInd;
} // end UpperTesterPort
} // end portDefinitions
......
......@@ -11,6 +11,10 @@
*/
module LibItsIvim_TypesAndValues {
// LibCommon
import from LibCommon_DataStrings all;
import from LibCommon_BasicTypesAndValues all;
// LibIts
import from IVIM_PDU_Descriptions language "ASN.1:1997" all;
import from IVI language "ASN.1:1997" all;
......@@ -53,6 +57,33 @@ module LibItsIvim_TypesAndValues {
group utPrimitives {
/**
* @desc Upper Tester message to initialize IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
type record UtIvimInitialize {
Oct8 hashedId8
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester results message of the IVIM IUT
* @member utIvimInitialize -
* @member utIvimTriggerResult -
* @member utIvimUpdateResult, -
* @member utIvimChangePositionResult -
* @member utIvimChangePseudonymResult -
*/
type union UtIvimResults {
boolean utIvimInitializeResult,
UtIvimTriggerResult utIvimTriggerResult,
UtIvimUpdateResult utIvimUpdateResult,
UtIvimTermination utIvimTerminationResult
} with {
variant ""
} // End of type UtIvimResults
/**
* @desc Upper Tester message to request triggering of an event at IUT
*/
......@@ -62,7 +93,9 @@ module LibItsIvim_TypesAndValues {
TimestampIts repetitionInterval optional/*,
IVIManagementContainer.connectedIviStructures connectedIviStructures optional,
IviStructure.optional_ optional_ optional*/
}
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester result message of request of triggering of an event at IUT
......@@ -70,7 +103,9 @@ module LibItsIvim_TypesAndValues {
type record UtIvimTriggerResult {
boolean result,
IviIdentificationNumber iviIdentificationNumber
}
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to update an event at IUT
......@@ -82,7 +117,9 @@ module LibItsIvim_TypesAndValues {
TimestampIts validTo optional,
IVIManagementContainer.connectedIviStructures connectedIviStructures optional,
IviStructure.optional_ optional_ optional
}
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester result message of an update request of an event on Ivim IUT
......@@ -90,19 +127,43 @@ module LibItsIvim_TypesAndValues {
type record UtIvimUpdateResult {
boolean result,
IviIdentificationNumber iviIdentificationNumber
}
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to request the termination of an event at IUT
*/
type record UtIvimTermination {
IviIdentificationNumber iviIdentificationNumber
}
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester result message of termination of an event on Ivim IUT
*/
type boolean UtIvimTerminationResult;
/**
* @desc Upper Tester message to change the position of IUT. Values a relatives
*/
type record UtIvimChangePosition {
Int32 latitude,
Int32 longitude,
Int32 elevation
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to change the pseudonym of the DENM IUT
*/
type record UtIvimChangePseudonym {
// empty on purpose
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to check event/status on Ivim IUT
......@@ -126,6 +187,7 @@ module LibItsIvim_TypesAndValues {
}
with {
encode "UpperTester"
variant ""
}
}
with {
......
......@@ -39,12 +39,12 @@ module LibItsMapemSpatem_Functions {
* @desc Requests to bring the IUT in an initial state
* @param p_init The initialisation to trigger.
*/
function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsMapemSpatem {
function f_utInitializeIut(template (value) UtMapemSpatemInitialize p_init) runs on ItsMapemSpatem {
utPort.send(p_init);
tc_wait.start;
alt {
[] utPort.receive(UtInitializeResult:true) {
[] utPort.receive(UtMapemSpatemResults: { utMapemSpatemInitializeResult := true }) {
tc_wait.stop;
log("*** " & testcasename() & ": INFO: IUT initialized ***");
}
......@@ -71,7 +71,7 @@ module LibItsMapemSpatem_Functions {
utPort.send ( p_event );
tc_wait.start;
alt {
[] utPort.receive ( UtMapemSpatemTriggerResult:? ) -> value v_result {
[] utPort.receive ( UtMapemSpatemResults: { utMapemSpatemTriggerResult := ? }) -> value v_result {
tc_wait.stop;
if ( not v_result ) {
f_selfOrClientSyncAndVerdict("MapSpat Trigger failed", e_error);
......@@ -334,4 +334,4 @@ module LibItsMapemSpatem_Functions {
} // End of group receiveFunctions
} // End of module LibItsMapemSpatem_Functions
\ No newline at end of file
} // End of module LibItsMapemSpatem_Functions
......@@ -17,6 +17,7 @@ module LibItsMapemSpatem_Pixits {
// LibIts
import from DSRC language "ASN.1:1997" all;
import from DSRC_REGION_noCircular language "ASN.1:1997" all;
// LibItsMapemSpatem
import from LibItsMapemSpatem_TypesAndValues all;
......
......@@ -20,6 +20,7 @@ module LibItsMapemSpatem_Templates {
import from MAPEM_PDU_Descriptions language "ASN.1:1997" all;
import from SPATEM_PDU_Descriptions language "ASN.1:1997" all;
import from DSRC language "ASN.1:1997" all;
import from DSRC_REGION_noCircular language "ASN.1:1997" all;
// LibItsCommon
import from LibItsCommon_Functions all;
......@@ -212,7 +213,7 @@ module LibItsMapemSpatem_Templates {
* @desc Send template for Upper Tester event initialization
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
template (value) UtInitialize m_mapemSpatemInitialize := {
template (value) UtMapemSpatemInitialize m_mapemSpatemInitialize := {
hashedId8 := '0000000000000000'O
}
......
......@@ -47,9 +47,9 @@ module LibItsMapemSpatem_TestSystem {
*/
type port UpperTesterPort message {
out
UtInitialize, UtMapemSpatemTrigger;
UtMapemSpatemInitialize, UtMapemSpatemTrigger;
in
UtInitializeResult, UtMapemSpatemTriggerResult, UtMapemEventInd , UtSpatemEventInd;
UtMapemSpatemResults, UtMapemEventInd , UtSpatemEventInd;
} // end UpperTesterPort
} // end portDefinitions
......
......@@ -30,12 +30,40 @@ module LibItsMapemSpatem_TypesAndValues {
group utPrimitives {
/**
* @desc Upper Tester message to initialize IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
type record UtMapemSpatemInitialize {
Oct8 hashedId8
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester results message of the MAPEM/SPATEM IUT
* @member utMapemSpatemInitialize -
* @member utMapemSpatemTriggerResult -
* @member utMapemSpatemUpdateResult, -
* @member utMapemSpatemChangePositionResult -
* @member utMapemSpatemChangePseudonymResult -
*/
type union UtMapemSpatemResults {
boolean utMapemSpatemInitializeResult,
boolean utMapemSpatemTriggerResult
} with {
variant ""
} // End of type UtMapemSpatemResults
/**
* @desc Upper Tester message to request triggering of an event at IUT
*/
type record UtMapemSpatemTrigger {
Event event
} with {
variant "FIELDORDER(msb)"
}
type enumerated Event {
startTLMService (0),
stopTLMService (1),
......@@ -45,18 +73,14 @@ module LibItsMapemSpatem_TypesAndValues {
mapemRepL10s (5),
mapemRepG10s (6)
}
/**
* @desc Upper Tester result message of request of triggering of an event at IUT
*/
type boolean UtMapemSpatemTriggerResult;
/**
* @desc Upper Tester message to check event/status at IUT
*/
type record UtMapemEventInd {
MAPEM mapeMsg
} with {
encode (mapeMsg) "LibItsMapemSpatem_asn1"
MAPEM mapeMsg
} with {
encode (mapeMsg) "LibItsMapemSpatem_asn1"
}
/**
......@@ -79,6 +103,8 @@ module LibItsMapemSpatem_TypesAndValues {
type record of UtSpatemEventInd UtSpatemEventIndList;
} with {
encode "UpperTester"
variant ""
}
} // End of module LibItsMapemSpatem_TypesAndValues
\ No newline at end of file
} with {
encode "LibItsMapemSpatem"
} // End of module LibItsMapemSpatem_TypesAndValues
......@@ -39,12 +39,12 @@ module LibItsSremSsem_Functions {
* @desc Requests to bring the IUT in an initial state
* @param p_init The initialisation to trigger.
*/
function f_utInitializeIut(template (value) UtInitialize p_init) runs on ItsSremSsem {
function f_utInitializeIut(template (value) UtSremInitialize p_init) runs on ItsSremSsem {
utPort.send(p_init);
tc_wait.start;
alt {
[] utPort.receive(UtInitializeResult:true) {
[] utPort.receive(UtSremResults: { utSremInitializeResult := true }) {
tc_wait.stop;
log("*** " & testcasename() & ": INFO: IUT initialized ***");
}
......@@ -66,17 +66,16 @@ module LibItsSremSsem_Functions {
function f_utTriggerEvent(
in template (value) UtSremTrigger p_event
) runs on ItsSremSsem {
var UtSremTriggerResult v_result;
utPort.send ( p_event );
tc_wait.start;
alt {
[] utPort.receive ( UtSremTriggerResult:? ) -> value v_result {
[] utPort.receive ( UtSremResults: { utSremTriggerResult := true }) {
tc_wait.stop;
}
[] utPort.receive ( UtSremResults: { utSremTriggerResult := false }) {
tc_wait.stop;
if ( not v_result ) {
f_selfOrClientSyncAndVerdict("SREM Trigger failed", e_error);
}
f_selfOrClientSyncAndVerdict("SREM Trigger failed", e_error);
}
[] tc_wait.timeout {
log("*** " & testcasename() & ": INFO: Could not receive expected UT message from IUT in time ***");
......@@ -98,17 +97,16 @@ module LibItsSremSsem_Functions {
function f_utUpdateEvent(
in template (value) UtSremUpdate p_event
) runs on ItsSremSsem {
var UtSremUpdateResult v_result;
utPort.send ( p_event );
tc_wait.start;
alt {
[] utPort.receive ( UtSremUpdateResult:? ) -> value v_result {
[] utPort.receive ( UtSremResults: { utSremUpdateResult := true }) {
tc_wait.stop;
if ( not v_result ) {
f_selfOrClientSyncAndVerdict("SREM Update failed", e_error);
}
}
[] utPort.receive ( UtSremResults: { utSremUpdateResult := false }) {
tc_wait.stop;
f_selfOrClientSyncAndVerdict("SREM Update failed", e_error);
}
[] tc_wait.timeout {
log("*** " & testcasename() & ": INFO: Could not receive expected UT message from IUT in time ***");
......@@ -391,4 +389,4 @@ module LibItsSremSsem_Functions {
} // End of group miscellaneousFunctions
} // End of module LibItsSremSsem_Functions
\ No newline at end of file
} // End of module LibItsSremSsem_Functions
......@@ -210,7 +210,7 @@ module LibItsSremSsem_Templates {
* @desc Send template for Upper Tester event initialization
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
template (value) UtInitialize m_sremSsemInitialize := {
template (value) UtSremInitialize m_sremSsemInitialize := {
hashedId8 := '0000000000000000'O
}
......
......@@ -39,7 +39,7 @@ module LibItsSremSsem_TestSystem {
out
AcSecPrimitive;
in
AcSecResponse;
AdapterControlResults;
} // end AdapterControlPort
/**
......@@ -47,9 +47,9 @@ module LibItsSremSsem_TestSystem {
*/
type port UpperTesterPort message {
out
UtInitialize, UtSremTrigger, UtSremUpdate;
UtSremInitialize, UtSremTrigger, UtSremUpdate;
in
UtInitializeResult, UtSremTriggerResult, UtSremUpdateResult, UtSremEventInd , UtSsemEventInd;
UtSremResults, UtSremEventInd , UtSsemEventInd;
} // end UpperTesterPort
} // end portDefinitions
......
......@@ -30,19 +30,42 @@ module LibItsSremSsem_TypesAndValues {
group utPrimitives {
/**
* @desc Upper Tester mes`sage to initialize IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
type record UtSremInitialize {
Oct8 hashedId8
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester results message of the Srem/Ssem IUT
* @member utSremInitialize -
* @member utSremTriggerResult -
* @member utAutoInteropTriggerResult -
* @member utSremChangePositionResult -
*/
type union UtSremResults {
boolean utSremInitializeResult,
boolean utSremTriggerResult,
boolean utSremUpdateResult
} with {
variant ""
} // End of type UtSremResults
/**
* @desc Upper Tester message to request triggering of an event at IUT
*/
type record UtSremTrigger {
BasicVehicleRole basicVehicleRole,
RequestImportanceLevel requestImportanceLevel
}
} with {
variant "FIELDORDER(msb)"
}
type record of UtSremTrigger UtSremTriggerList;
/**
* @desc Upper Tester result message of request of triggering of an event at IUT
*/
type boolean UtSremTriggerResult;
/**
* @desc Upper Tester message to request updating of an event at IUT
......@@ -51,11 +74,9 @@ module LibItsSremSsem_TypesAndValues {
RequestID requestID,
BasicVehicleRole basicVehicleRole,
RequestImportanceLevel requestImportanceLevel
}
/**
* @desc Upper Tester result message of request of triggering of an event at IUT
*/
type boolean UtSremUpdateResult;
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to check event/status at IUT
......@@ -89,6 +110,9 @@ module LibItsSremSsem_TypesAndValues {
} with {
encode "UpperTester"
variant ""
}
} // End of module LibItsSremSsem_TypesAndValues
\ No newline at end of file
} with {
encode "LibItsSremSsem"
} // End of module LibItsSremSsem_TypesAndValues
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment