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
/**
* @author ETSI / STF517
* @version $URL$
* $Id$
* @desc Test System module for ITS IVIM
*
*/
module LibItsIvim_TestSystem {
// LibCommon
import from LibCommon_Time {modulepar all};
import from LibCommon_Sync all;
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
import from IVIM_PDU_Descriptions language "ASN.1:1997" all;
import from ITS_Container language "ASN.1:1997" all;
// LibItsCommon
import from LibItsCommon_TestSystem all;
import from LibItsCommon_TypesAndValues all;
// LibItsIvim
import from LibItsIvim_TypesAndValues all;
group portDefinitions {
/**
* @desc Adapter control port
*/
type port AdapterControlPort message {
out
AcGnssPrimitive;
in
AcGnssResponse, AcGnssDistanceCovered;
} // end AdapterControlPort
/**
* @desc Upper Tester port
*/
type port UpperTesterPort message {
out
UtInitialize, UtIvimTrigger, UtIvimUpdate, UtIvimTermination, UtChangePosition, UtChangePseudonym;
in
UtInitializeResult, UtIvimTriggerResult, UtIvimUpdateResult, UtIvimTerminationResult,
UtChangePositionResult, UtChangePseudonymResult, UtIvimEventInd;
} // end UpperTesterPort
} // end portDefinitions
group interfacePorts {
group facilityPorts {
group fa1Ports {
/**
* @desc FA1 IVIM Port (IVIM/BTP/GeoNet/G5)
*/
type port IvimPort message {
in IvimInd;
out IvimReq;
} // End of port IvimPort
} // End of group fa1Ports
} // End of group facilityPorts
} // End of group interfacePorts
group componentDefinitions {
/**
* @desc ITS System Adapter
*/
type component ItsIvimSystem {
port UpperTesterPort utPort;
port AdapterControlPort acPort;
// FA1 ports
port IvimPort ivimPort;
} // end component ItsAdapter
} // End of group componentDefinitions
/**
* @desc Test component for ITS Facility layer
*/
type component ItsIvim extends ItsBaseComponent {
port AdapterControlPort acPort;
port UpperTesterPort utPort;
// FA1 ports
port IvimPort ivimPort;
//timers
//component variables
//default
var default vc_default := null;
//global variables
var SequenceNumber vc_sequenceNo := 0;
var boolean vc_ivimReceived := false;
var UtIvimEventIndList vc_utEvents := {};
var UtIvimActionIDList vc_utActionIDs := {};
} // End of component ItsIvim
group facilityPrimitives {
group fa1Primitives {
/**
* @desc FA1 IVIM Indication Primitive
*
* @member ivimMsg
*/
type record IvimInd {
IVIM msgIn,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
UInt32 gnLifetime optional,
UInt8 gnTrafficClass optional,
UInt16 btpDestinationPort optional,
UInt16 btpInfo optional,
Oct16 ssp optional,
Oct16 its_aid optional
}
with {
encode (msgIn) "LibItsIvim_asn1"
}
/**
* @desc FA1 IVIM Request Primitive
*
* @member ivimMsg
*/
type record IvimReq {
IVIM msgOut
}
with {
encode (msgOut) "LibItsIvim_asn1"
}
} // End of group fa1Primitives
} // End of group facilityPrimitives
with {
encode "LibIts_Interface"
} // end interfacePrimitives
} // End of module LibItsIvim_TestSystem