Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
113
114
115
116
117
118
119
120
121
122
123
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
module LibItsRtcmem_Templates {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
import from ITS_Container language "ASN.1:1997" all;
import from RTCMEM_PDU_Descriptions language "ASN.1:1997" all;
import from DSRC language "ASN.1:1997" all;
// LibItsCommon
import from LibItsCommon_TypesAndValues all;
import from LibItsCommon_Functions all;
import from LibItsCommon_ASN1_NamedNumbers all;
// LibItsRtcmemSsem
import from LibItsRtcmem_TestSystem all;
import from LibItsRtcmem_TypesAndValues all;
import from LibItsRtcmem_Pixits all;
group primitivesTemplates {
/**
* @desc Send template for RTCMEM Message (RtcmemSsemPort Primitive)
* @param p_rtcmemMsg The RTCMEM Message to be sent
*/
template (value) RtcmemReq m_rtcmemReq(
in template (value) RTCMEM p_rtcmemMsg
) := {
msgOut := p_rtcmemMsg
}
/**
* @desc Receive template for RTCMEM Message (RtcmemSsemPort Primitive)
* @param p_rtcmemMsg The expected RTCMEM Message
*/
template (present) RtcmemInd mw_rtcmemInd(
template (present) RTCMEM p_rtcmemMsg
) := {
msgIn := p_rtcmemMsg,
gnNextHeader := *,
gnHeaderType := *,
gnHeaderSubtype := *,
gnLifetime := *,
gnTrafficClass := *,
btpDestinationPort := *,
btpInfo := *,
ssp := *,
its_aid := *
}
/**
* @desc Receive template for RTCMEM Message (RtcmemSsemPort Primitive)
* @param p_rtcmemMsg The expected RTCMEM Message
* @param p_gnNextHeader GN next header value
* @param p_gnHeaderType GN header type value
* @param p_gnHeaderSubtype GN header subtype value
* @param p_gnLifetime GN packet lifetime value (ms)
* @param p_gnTrafficClass GN traffic class value
*/
template (present) RtcmemInd mw_rtcmemIndWithGnParameters(
template (present) RTCMEM p_rtcmemMsg,
in template UInt8 p_gnNextHeader := *,
in template UInt8 p_gnHeaderType := *,
in template UInt8 p_gnHeaderSubtype := *,
in template UInt32 p_gnLifetime := *,
in template UInt8 p_gnTrafficClass := *
) modifies mw_rtcmemInd := {
gnNextHeader := p_gnNextHeader,
gnHeaderType := p_gnHeaderType,
gnHeaderSubtype := p_gnHeaderSubtype,
gnLifetime := p_gnLifetime,
gnTrafficClass := p_gnTrafficClass
}
/**
* @desc Receive template for RTCMEM Message (RtcmemSsemPort Primitive)
* @param p_rtcmemMsg Expected RTCMEM Message
* @param p_btpDestinationPort BTP destination port value
* @param p_btpInfo BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A)
*/
template (present) RtcmemInd mw_rtcmemIndWithBtpParameters(
template (present) RTCMEM p_rtcmemMsg,
template UInt16 p_btpDestinationPort := *,
template UInt16 p_btpInfo := *
) modifies mw_rtcmemInd := {
btpDestinationPort := p_btpDestinationPort,
btpInfo := p_btpInfo
};
/**
* @desc Receive template for RTCMEM Message (RtcmemSsemPort Primitive)
* @param p_rtcmemMsg The expected RTCMEM Message
* @param p_ssp SSP value
* @param p_its_aid ITS-AID value
*/
template (present) RtcmemInd mw_rtcmemIndWithSecurityParameters(
template (present) RTCMEM p_rtcmemMsg,
template Bit256 p_ssp := *,
template UInt32 p_its_aid := *
) modifies mw_rtcmemInd := {
ssp := p_ssp,
its_aid := p_its_aid
}
}
group utPrimitives {
/**
* @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) UtRtcmemInitialize m_rtcmemInitialize := {
hashedId8 := '0000000000000000'O
}
/**
* @desc Send template for Upper Tester Trigger event
*/
template (omit) UtRtcmemTrigger m_utTriggerEvent(
in MsgCount p_msgCnt,
in RTCM_Revision p_rev := rtcmRev3,
in RTCMmessageList p_msgs,
in template (omit) MinuteOfTheYear p_timeStamp := omit,
in template (omit) FullPositionVector p_anchorPoint := omit,
in template (omit) RTCMheader p_rtcmHeader := omit
) := {
msgCnt := p_msgCnt,
rev := p_rev,
msgs := p_msgs,
timeStamp := p_timeStamp,
anchorPoint := p_anchorPoint,
rtcmHeader := p_rtcmHeader
}
}
group rtcmemPduTemplates {
/**
* @desc Send template for RTCMEM PDU
* @param p_map The RTCMEM Message
*/
template (value) RTCMEM m_rtcmemPdu(
in template (value) RTCMcorrections p_rtcmc
) := {
header := m_itsPduHeader( - , - ,LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_messageID_rtcem_),
rtcmc := p_rtcmc
}
/**
* @desc Receive template for RTCMEM PDU
* @param p_rtcmc The RTCMEM Message
*/
template (present) RTCMEM mw_rtcmemPdu(
template (present) RTCMcorrections p_rtcmc := ?
) := {
header := mw_itsPduHeaderRtcmem,
rtcmc := p_rtcmc
}
} // End of group rtcmemPduTemplates
group headerTemplates {
/**
* @desc Default send template for ITS PDU header
* @param p_stationID The source station ID (Default: test system station id)
* @param p_protocolVersion The protocol version (Default: current RTCMEM protocol version)
* @param p_messageID The message Id (Default: RTCMEM id)
*/
template (value) ItsPduHeader m_itsPduHeader(
in template (value) StationID p_stationID := f_getTsStationId(),
in template (value) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_,
in template (value) ItsPduHeader.messageID p_messageID
) := {
protocolVersion := p_protocolVersion,
messageID := p_messageID,
stationID := p_stationID
}
/**
* @desc Default receive template for ITS PDU header
* @param p_stationID The expected station id (Default: any)
* @param p_protocolVersion The expected protocol version (Default: current RTCMEM protocol version)
* @param p_messageID The expected message id (Default: RTCMEM message id)
*/
template ItsPduHeader mw_itsPduHeader(
template (present) StationID p_stationID := ?,
template (present) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_,
template (present) ItsPduHeader.messageID p_messageID := ?
) := {
protocolVersion := p_protocolVersion,
messageID := p_messageID,
stationID := p_stationID
}
/**
* @desc Default receive template for ITS PDU header
* @param p_stationID The expected station id (Default: any)
* @param p_protocolVersion The expected protocol version (Default: current RTCMEM protocol version)
* @param p_messageID The expected message id (Default: SREM id)
*/
template ItsPduHeader mw_itsPduHeaderRtcmem(
template (present) StationID p_stationID := ?,
template (present) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_,
template (present) ItsPduHeader.messageID p_messageID := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_messageID_srem_
) := {
protocolVersion := p_protocolVersion,
messageID := p_messageID,
stationID := p_stationID
}
/**
* @desc Default receive template for the station id
*/
template (present) StationID mw_anyStationId := ?;
} // End of group headerTemplates
group rtcmemTemplatesRecv {
/**
* @desc Receive template for RTCMEM Message
*/
template (present) RTCMcorrections mw_defaultRtcmem := {
msgCnt := ?,
rev := ?,
timeStamp := *,
anchorPoint := *,
rtcmHeader := *,
msgs := ?,
regional := *
}
} // End of group rtcmemTemplatesRecv
} // End of module LibItsRtcmem_Templates