Newer
Older
/**
* @author ETSI / STF405
* @version $URL$
* $Id$
* @desc Module containing type and value definitions for DENM
*
*/
module LibItsDenm_TypesAndValues {
//LibIts
import from DENM_PDU_Descriptions language "ASN.1:1997" all;
import from CAM_PDU_Descriptions language "ASN.1:1997" all;
/**
* @desc Indication of whether event cancellation has to be raised by the test system or iut
*/
type enumerated Trigger {
e_ets(0),
e_iut(1)
}
} // end group actionTypes
group denmConstants {
const ItsPduHeader.protocolVersion c_protocolVersionDenm := 0;
const DataVersion c_dataVersionCancellation := 255;
group trafficFlowEffects {
const TrafficFlowEffect c_tfeTrafficFlowUnknown := 1;
const TrafficFlowEffect c_tfeFreeTrafficFlow := 2;
const TrafficFlowEffect c_tfeSlowTraffic := 3;
const TrafficFlowEffect c_tfeHeavyTraffic := 4;
const TrafficFlowEffect c_tfeQueuingTraffic := 5;
const TrafficFlowEffect c_tfeStationaryTraffic := 6;
const TrafficFlowEffect c_tfeNoTrafficFlow := 7;
} // end group causeCodes
const DENM_PDU_Descriptions.CauseCode c_causeReserved := 0;
const DENM_PDU_Descriptions.CauseCode c_causeTrafficJam := 1;
const DENM_PDU_Descriptions.CauseCode c_causeAccident := 2;
const DENM_PDU_Descriptions.CauseCode c_causeRoadWork := 3;
const DENM_PDU_Descriptions.CauseCode c_causeHazardousDrivingCondition := 25;
const DENM_PDU_Descriptions.CauseCode c_causeWrongWayDriving := 35;
const DENM_PDU_Descriptions.CauseCode c_causeRescueOnTheWay := 36;
const DENM_PDU_Descriptions.CauseCode c_causeExtremWeatherCondition := 42;
const DENM_PDU_Descriptions.CauseCode c_causeVisibilityReduced := 43;
const DENM_PDU_Descriptions.CauseCode c_causePrecipitation := 45;
const DENM_PDU_Descriptions.CauseCode c_causeSlowVehicle := 62;
const DENM_PDU_Descriptions.CauseCode c_causeDangerousDriving := 101;
const DENM_PDU_Descriptions.CauseCode c_causeIntersectionViolation := 102;
const DENM_PDU_Descriptions.CauseCode c_causeVehicleProblem := 103;
const DENM_PDU_Descriptions.CauseCode c_causeIntersectionCollision := 104;
const DENM_PDU_Descriptions.CauseCode c_causeHazardousLocation := 105;
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
group subCauseCodes {
const SubCauseCode c_subCauseUnknown := 0;
const SubCauseCode c_subCauseHardBrakeVehicle := 1;
const SubCauseCode c_subCauseStopSignViolation := 1;
const SubCauseCode c_subCauseTrafficLightViolation := 2;
const SubCauseCode c_subCauseTurningRegulationViolation := 3;
const SubCauseCode c_subCauseBrakeDownVehicle := 1;
const SubCauseCode c_subCauseVehicleSpeedReducedWithSafetyLightsOn := 2;
const SubCauseCode c_subCauseLeftTurnCollisionRisk := 1;
const SubCauseCode c_subCauseRightTurnCollisionRisk := 2;
const SubCauseCode c_subCauseCrossingCollisionRisk := 3;
const SubCauseCode c_subCauseMergingCollisionRisk := 4;
const SubCauseCode c_subCauseDangerousCurve := 1;
const SubCauseCode c_subCauseObstacleOnTheRoad := 2;
const SubCauseCode c_subCauseHeavyRain := 1;
const SubCauseCode c_subCauseHeavySnow := 2;
const SubCauseCode c_subCauseStrongSideWind := 1;
const SubCauseCode c_subCauseStrongWindFromBack := 2;
const SubCauseCode c_subCauseLowRoadAdhesion := 1;
const SubCauseCode c_subCauseBlackIce := 2;
const SubCauseCode c_subCauseBadVisibilityDueToFrost := 1;
const SubCauseCode c_subCauseBadVisibilityDueToStorm := 4;
const SubCauseCode c_subCauseEmergencyVehicle := 1;
const SubCauseCode c_subCauseMedicalAssistanceVahicle := 2;
} // end group subCauseCodes
} // end group denmConstants
group denmTimeConstants {
// in milliseconds
const TimeStamp c_duration20000ms := 20000;
const TimeStamp c_duration40000ms := 40000;
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
group utCommonPrimitives {
/**
* @desc Upper Tester message to initialize IUT
*/
type union UtInitialize {
UtDenmInitialize utDenmInitialize
}
/**
* @desc Upper Tester message describing an action/event
*/
type union UtEvent {
UtDenmEvent utDenmEvent
}
/**
* @desc Upper Tester message to trigger an action on IUT
*/
type record UtTrigger {
UtEvent utEvent
}
/**
* @desc Upper Tester message to check event/status on IUT
*/
type record UtCheck {
UtEvent utEvent
}
/**
* @desc Upper Tester response message
*/
type boolean UtResult;
}
with {
encode "LibItsCommon_TypesAndValues"
}
/**
* @desc Upper Tester message to initialize DENM IUT
*/
type record UtDenmInitialize {
}
/**
* @desc Upper Tester message to trigger an action on DENM IUT
*/
type record UtDenmTrigger {
UtDenmEvent utEvent
/**
* @desc Upper Tester message to check event/status on DENM IUT
*/
type record UtDenmCheck {
UtDenmEvent utEvent
/**
* @desc Upper Tester message describing a DENM action/event
*/
Situation situation,
EventOption eventOption optional
}
type record UpdateEventExpiry {
ActionID eventActionId,
/**
* @desc Upper Tester options for DENM action/event
*/
ActionID eventCancellation,
ActionID eventNegation,
UpdateEventExpiry updateEventExpiry,
TrafficFlowEffect eventTrafficFlowEffect,
Situation eventLinkedCause,
TimeStamp eventExpirationTime,
EventTimeFrequency eventExpirationTimeFrequency,
DecentralizedSituation.eventCharact eventCharact,
Severity eventSeverity,
DecentralizedSituationManagement.reliability eventReliability
/**
* @desc Upper Tester time/frequency option for DENM action/event
*/
type record EventTimeFrequency {
TimeStamp expirationTime,
DecentralizedSituationManagement.frequency frequency
}
} // end utPrimitives