Professional Documents
Culture Documents
Computer Networks
journal homepage: www.elsevier.com/locate/comnet
a r t i c l e
i n f o
Article history:
Available online 21 June 2011
Keywords:
Test methodology
Vehicle-2-X communication
Environment stubbing
Intersection related applications
Proof of concept
a b s t r a c t
Intelligent Transportation Systems based on Vehicle-2-X communication have been a
major research topic for several years. Meanwhile, deployment strategies for the used
Vehicle-2-X systems need to be developed not only to coordinate the market introduction
but also to manage the manufacturers development projects to achieve market-ready
products. Such development processes include among others testing periods as major
tasks. Thus, the deployment of market-ready Vehicle-2-X system demands for test methodologies designed for that purpose.
Among the rst introduced Vehicle-2-X applications, intersection related ones will play a
major role because of their information ows simplicity. So, the near future calls for test
methodologies particularly for those applications because testing is important for the
development of market-ready systems. For that reason, a test methodology is presented
which treats systems implementing intersection related Vehicle-2-X applications as systems under test. The stimulation of the system under test is based on input streams and
the evaluation is based on output streams. In addition, results of a proof of concept using
the Audi travolution system are enclosed.
2011 Elsevier B.V. All rights reserved.
1. Introduction
Novel Intelligent Transportation Systems (ITS) based on
Vehicle-2-X (V2X) communication comprises vehicles-tovehicle and vehicle-to-infrastructure communication in order to accomplish the next level of cooperative advanced
driver assistance systems (ADAS). According to [13] the intended applications can be categorized into: safety, transport efciency, and infotainment/other applications. The
applications themselves gain high complexity levels because V2X communication will be realized by different
communication technologies and has to cope with a highly
dynamic and non-deterministic environment and trafc
situations. According to [2,4], at least in Europe, the communication network will consist of Ad-Hoc communication
based on Dedicated Short Range Communication (DSRC) (e.g.
WiFi using IEEE 802.11 p [5] or ETSI ES 202 663 [6]) and cellular mobile communication (e.g. 3G and beyond).
3155
3156
3.1. Information ow
ICS
Intersection related applications comprise a special
type of V2X applications which are perfectly convenient
for the introduction phase of V2X communication systems.
That is the case because of the simplicity of the information ow. If DSRC is used, the information ow consists
of a unidirectional broadcast of single-hop transmissions
from the intersections IRSs to vehicles IVSs (see Fig. 1).
If cellular mobile communication is used, IVSs build up cellular mobile communication connections and download
the required information about near intersections from
an ICS (see Fig. 2). However, this does not change the information ow within vehicles substantially.
The relevant information to realize intersection related
V2X applications comprise the intersection topology per
intersection (for example see Fig. 12) and the signal state
timing per each lane of each intersection (for example see
Fig. 11) [1820]. Both are represented by messages which
are introduced in Section 2.3. The intersection topologies
are modeled by an intersection ID, vectorized driving lanes,
driving lane numbers, suitable connection points, stop
lines, and more. The signal state timing data are modeled
by an intersection ID, lane numbers, minimum time to
change, maximum time to change, likely time to change,
and more. Both message types are broadcasted periodically
by intersections IRSs or could be downloaded from ICSs.
Although the vehicles Electronic Control Units (ECUs)
provide relevant information to realize intersection related
V2X applications which is currently already exchanged by
vehicle internal bus systems like the CAN-Bus. Typical relevant vehicle internal information are among others: vehicle speed, single wheel speed, engine speed, yaw rate,
direction indicator status, or fog light status. So, the access
of those data could easily be realized by vehicle manufactures and, thus, be used by V2X implementations.
Finally, an IVS collects all those information from its
vehicle and its environment and uses it to realize the applications functionalities. In addition, the applications could
use additional facilities of vehicles (e.g. HMI or signaling
tones) to interact with the drivers. Examples of those
applications are described in the following Section 3.2.
3.2. Examples of applications
According to [3,9,21], typical intersection related applications are among other:
IVS
ECU
IRS
IRS
1..*
<<flow>>
backbone
ICS
<<flow>> 0..*
cellular mobile
0..*
IVS
<<flow>> 1..*
vehicle intern
ECU
IVS
ECU
IRS
IRS
0..*
<<flow>>
DSRC
IVS
<<flow>>
vehicle intern
1..*
ECU
According to [22], test levels ordinary comprise component testing (unit testing), integration testing, system testing, and acceptance testing; whereas, the transitions are
smooth (see Fig. 3). As component testing and low-level
integration testing targets low-level functional testing
and low-level non-functional testing close to software
implementations, test methodologies for these parts of test
levels are already available (see [2225]). So, testing
activities closely related to software implementations of
V2X applications should be organized analog to common
acceptance testing
system testing
integration testing
functional and
non-functional testing
component testing
low-level
Fig. 3. Test levels with test types.
3157
3158
cesses and not merely the results of the thing being simulated [35].
Summing up, test strategies and test architectures for
intersection related V2X applications have to fulll all or
at least a subset of the above established requirements.
In case that just a subset is fullled, not all test needs could
be satised. E.g., the test approach, presented in Section 5,
uses a two-layered strategy to use real-world traces for
test input stimulation, whereas, the rst layer realizes
not all requirements.
5. Approach
In this section, an approach on how to test intersection
related V2X applications is presented. The approach
emphasizes the points identied in Section 4:
test levels: high-level integration testing and system
testing,
test types: high-level functional and non-functional
testing,
system characteristics: test input modication and statistical test output evaluation.
Moreover, the approachs design fulll the requirements established in Section 4.3 by adapting a channel
and stream concept.
5.1. Identication of system under test
For testing functional and non-functional aspects of distributed systems, like intersection related V2X applications, all involved components have to be considered.
However, as described in Section 3, most of the complexity
of intersection related V2X applications is located in IVSs.
Hence, IRSs are also completely new products; those types
of stations should also be tested. However, the complexity
of the IRSs application implementations does not reach
the difculty of the IVSs application implementations. Furthermore, ECUs are already well tested and not modied
because they are only information sources. So, they do
not need extra testing in terms of testing intersection
related V2X applications. For all those reasons, most
testing activities have to take IVSs into account. Therefore,
IVSs are treated as System Under Test (SUT) in the test
methodology.
5.2. Test strategy
The test strategy comprises the following two points:
stimulations of SUTs to stress test cases, and evaluation
of test results. The realization of these is shown for intersection related V2X applications in the following subsections. Since both points are closely related to the channel
and stream concept, the next subsection describes how
this concept could be applied for intersection related V2X
applications. The following subsection treats stimulation
and evaluation techniques, and the last subsection handles
denitions of assessment strategies.
3159
P : R U
with p 2 P
and p ht; ui
and
S : PN
with
p2P
s2S
t2R
u2U
N 2 N [ f0g
message
stream
time stamp
message content or value, and
number of messages (N = jSj)
with
a; b; c; d 2 N
Mcon,1, . . . ,
Mcon,a
Isi,1,. . .,Isi,b:
Ocon,1, . . . ,
Ocon,c
Osi,1, . . . ,
Osi,d
Ind 2 N
indices
sets of modications of conventional
input streams Icon,n
sets of system-internal input
parameters
conventional output streams
system-internal output streams, and
index set to distinguish different test
runs
non-functional
testing
test type
functional testing
modification of
input streams
static dynamic
both
(non-static)
not
on
outside
targeted inside
bound- bound- boundaries
aries
aries
gather output
variation
evaluation of
output stream
output stream
property
no
rawstream
review
yes
correctness
of timing
3160
Fig. 5 depicts how input streams and their modications could be applied to SUTs. The additional timing modications T cause positive or negative delays of the
modied input streams to create new test cases by using
the same input streams (requirement 9 of Section 4.3).
Thus, a set of Ts could be seen as a conguration of different test cases using the same input streams. However, this
construct is not in scope of this section but will be picked
up in Section 5.3.
Additionally, it could be seen in Fig. 5 and (3) that there
is a distinction between conventional and system-internal
channels. On the one hand, conventional channels are also
part of the nal product. So, a is set to the nal products
number of input channels and c is set to the number of recorded nal products output channels. On the other hand,
system-internal channels are not part of the nal product
but may be necessary to adjudicate a test verdict.
To construct test cases, the morphologic box whose rst
column treats the test cases test type is used. For functional
testing, only conventional input streams and sometimes
the ow of internal communication interfaces is relevant.
So, b is set to 0 and d is set to the number of additionally,
probed internal communication channels. In contrast, for
non-functional testing, also ows of system-internal output
streams like:
CPU load,
memory usage,
network I/O, or
event count
are important. Additionally, to have inuence on systeminternal parameters (e.g. additional CPU load) is relevant
to target the test goals: performance testing, load testing,
stress testing, and reliability testing as already postulated
in Section 4.2. So, b is set to the number of modied system-internal parameters (e.g. additional CPU load for stress
testing) and d is set to the number of relevant, recorded system-internal output streams (e.g. resulting CPU load).
At second, it has to be decided if inuences of modications of input streams should be taken into account. If inuences of input stream modications are not targeted, all sets
Mcon,i = {} with i = 1, . . . , a are empty. Otherwise, the sets
Mcon,i contain potential modications of the corresponding
input streams Icon,i (see Fig. 5). Since inuences of those input stream modications to the systems outputs could not
conventional
Icon,1
IVS
value
timing
Mcon,1
Tcon,1
Mcon,a
Tcon,a
system internal
Isi,1
Icon,a
ITS Stack
Ocon,1
Ocon,c
Osi,1
be resolved analytically, randomized algorithms for determining the modications may be applied [30].
Moreover, there are these two types of input streams
regarding their variation over time:
input streams which are static within one test run (e.g.
intersection topologies), and
input streams which are not static within one test run
(e.g. time to green/red of trafc light signal timings).
This effects the modication of input streams as stated
so far. For the static type of input streams, a single modication of the input stream (e.g. shift) is chosen per test run.
For the non-static type of input streams, modications of
input streams (e.g. noise, glitches, drift, message loss, or
additional messages) have to be dened as mapping over
a non-modied input stream I = PN, p 2 P, and time t 2 R
such that f : R P ! P with p0 = f(t, p).
Before modications of input streams are determined, it
has to be chosen, if the modications are inside, on, or out of
the specied tolerances. In the rst case, all modications
are inside their ranges of tolerances. In the second case,
at least one modication is chosen exactly on its tolerance
boundaries. In the last case, at least one modication is out
of its specied tolerances.
Next, V2X applications have to deal with many nondeterministic effects like communication channel disturbances, ego-positioning inaccuracies (e.g. limited GPS
accuracy), measurement inaccuracies, or non-deterministic run-time platforms. Those effects might cause variations of output streams even when reapplying the same
test case. For gathering those output variations, it is suggested to reapply a test cases input streams several times
in the exactly same fashion. The index set Ind provides the
possibility to distinguish the different test runs.
Additionally, the evaluation of output streams could
either be done by humans reviewing the raw output
streams or by using metrics and assessment strategies. Tables 1 and 2 list not exhaustive lists of metrics and assessment strategies for the evaluation of the correctness of the
streams values and the evaluation of the correctness of the
streams timing for single and multiple test runs. Since
streams combine the properties used in the tables, the
evaluation of streams requires a combination of the tables
metrics and assessment strategies.
5.2.3. Denition of assessment strategies
By using the previous denitions of messages (1),
streams (2), and test cases (3), it is possible to dene
assessment strategies formally. To show how this approach works, the approach is demonstrated with the following two examples:
(1) evaluation of distribution of points in time where
messages appear, and
(2) evaluation of inuences of input data tolerances.
System
(OS, HW, ...)
Isi,b
Fig. 5. Input and output of IVSs.
Osi,d
3161
Assessment strategies
Single run
Multiple runs
Time stamp of
appearance
Ratio
Descriptive statistics
Lack of samples
Ratio
Table 2
Metrics and assessment strategies for messages of streams.
Metrics
Assessment strategies
Single run
Multiple runs
Test result
Descriptive statistics
Derivatives of values
Descriptive statistics
Descriptive statistics
Hl;x
k :
1 n hl;ii
hl;ii
hl;ii
l
tc 2 TCI jN con;1 2 ^ ucon;1;1
jTClI j
GONG ^ uhl;ii
con;1;2
o
BRAKE ^ w k 6 thl;ii
con;1;x < w k 1 ;
with
D
D
EE
tchl;ii hl; ii ! ohl;ii
2 TClI ;
con;1
D
E
hl;ii
thl;ii
;
u
;
.
.
.
;
t hl;ii
con;1;1
con;1;1
hl;ii
con;1;N con;1
; uhl;ii
hl;ii
con;1;Ncon;1
:
8
3162
N con;1
l 2 Isi,1
i 2 Ind
k 2 N [ f0g
TClI
tchl,ii
hl;ii
ocon;1
w 2 R>0
Mcon,2 = = Mcon,a = {},
b = 0, c = 1, and d = 0
slatitude
south
slongitude
east
slongitude
west
T xmin : minseqcon;1;x ;
10
T xmax : maxseqcon;1;x
11
according to [40]:
12
with
13
3163
(1)
(2)
(3)
(4)
timing
Mcon,1
Tcon,1
Icon,2
original
trace
value
timing
Mcon,2
Tcon,2
split
modified
trace
merge
Icon,n
value
timing
Mcon,n
Tcon,n
TestHull
IRS
ICS
ECUs
Local.
<<flow>>
<<flow>>
<<flow>>
<<flow>>
DSRC
CeMo
ViBus
GPS
<<flow>>
<<flow>>
<<flow>>
IVS
<<flow>>
Rec.
<<flow>>
3164
TestManagement
TestReport
TestEvaluation
<<flow>>
<<flow>>
CAN
V2XGate
<<flow>>
Ethernet
UMTS
modem
<<flow>>
USB
TestHull
<<flow>>
TestController
<<flow>>
<<flow>>
<<write>>
TestSuit
<<read>>
ECUs
CarGate
Ethernet
<<flow>>
CarPC
<<flow>>
DVI
HMI
IVS
Fig. 8. Test management.
6. Proof of concept
To proof the concept described in the previous section,
the two examples presented in Section 5.2.3 were used.
As IVS, a CarPC which executes the RVW implementation
from the Audi travolution predevelopment project was
used. First, a short description of the Audi travolution system architecture, the used test system architecture and the
used input streams is given. At second, the input stream
modications and the results of the test runs are presented
for both examples. Furthermore, it has to be mentioned
that only DSRC communication and no cellular mobile
communication is used in this proof of concept.
6.1. Environment
6.1.1. Travolution system architecture
As depicted in Fig. 9, the Audi travolution system architecture consists of the following components:
CarPC The CarPC acts as IVS and executes the
Audi travolution software. Additionally,
the CarPC generates the visualization
which could be seen in the drivers
instruments display and in the display
located in the center of the instrument
panel.
CarGate The CarGate connects the CarPC to the
relevant vehicles CAN-Busses and thus
to the other ECUs. Moreover, the CarGate
includes a GPS receiver which is used for
the positioning of the vehicle.
V2XGate The V2XGate receives the DSRC messages
from the trafc lights and forwards them
to the CarPC. Communication in the
opposite direction is possible but not
used.
UMTS modem The UMTS modem is used to establish
connections to servers which act as ICSs
and are available over internet. Those
servers are used by some applications as
alternatives to the DSRC communication.
As well as for the V2XGate, communication in the opposite direction is possible
but not used.
HMI The vehicles HMI displays the visualizations generated by the CarPC. For that
purpose, there is one display which is
in kph
vehicle speed
50
45
40
35
30
25
10
20
30
40
time
in sec
40
time
in sec
in degree
40
20
-20
-40
-60
-80
10
20
30
3165
time in sec
30
red
green
orange
20
green
yellow
25
15
10
5
20
30
time
in sec
40
Fig. 11. IRSs signal phase timing input trace plot with graph showing the time to the next switch (black line) and the present trafc light signal state
(background).
ce
PS
tra
23.9 sec.
S
30.0 sec.
app
roa
20.0 sec.
egr
ch
ess
10.0 sec.
0.0 sec.
200 m
Fig. 12. Intersection topology consisting of the center point (cross), approaches, egresses, and the GPS trace.
1
For interpretation of color in Fig. 12, the reader is referred to the web
version of this article.
3166
6.2. Examples
This sub section picks up both examples introduced in
Section 5.2.3, whereas, Section 6.2.1 uses the rst and
example and Section 6.2.2 uses the second one.
6.2.1. Example 1
As foreseen in Example 1 in Section 5.2.3, the input
streams were applied in exactly the same fashion several
times. In order to not exceed the scope of this proof of concept, only the following two additional CPU load conditions
were used:
no additional CPU load, and
two threads calculating the 35th bonacci number in
endless loops in parallel.
For both additional CPU load conditions, the input
streams were applied N = 300 times. The resulting histogram plots for the points in time where the BRAKE signal
appeared are depicted in Fig. 13. In the context of this subsection, the difference in time between the 0.02-quantile
and the 0.98-quantile is used as denition of the term
tvariation.
It can be seen that the Audi travolution system reacts
onto the applied input streams in normal load conditions
within a variation of tvariation = 271 ms, whereas, the BRAKE
signal arises as foreseen approximately 2 s before the
vehicle crosses the stop line. In nontypical heavy load conditions, the Audi travolution system reacts reliably within a
variation of tvariation = 812 ms. Finally, it has to be mentioned
that in all test runs the BRAKE signal appeared and, thus, no
histograms for faulty test results can be generated.
However, this system behavior was not considered as
sufcient. So, after inspecting the involved software components, a non-optimal decision in the software design.
After a redesign and modication of this software component, the measurements were repeated. As it could easily
be seen in Fig. 14, the Audi travolution RVW implementation acts now more deterministic. If the Audi travolution
system runs now in normal load conditions, the variation
amounts now to tvariation = 174 ms, whereas, in heavy load
conditions the variation amounts now to tvariation = 642 ms.
6.2.2. Example 2
As foreseen in Example 2 in Section 5.2.3, modications
of the intersections center point shifted within its boundaries were used. Since no exact boundary specications
had been available, the following three ranges for
latitude longitude
slatitude
, and slongitude
were used:
west
north ; ssouth ; seast
5 m,
3 m, and
1m
for shifting the intersections center point in longitude
and latitude direction. So, for each test run, values for the
uniform distributed random variables for shifting the
intersections center point ware determined.
The resulting not required in this example histograms
are depicted in Fig. 15 and the statistical valuations are pos-
Prob.
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
21.0
no additional load
21.5
22.0
22.5
23.0
23.5
time in
24.0 sec
Prob.
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
21.0
no additional load
21.5
22.0
22.5
23.0
23.5
time in
24.0 sec
7. Related work
Hence, testing of V2X communication systems is currently a topic of major research interest; many parties
Prob. shift
3167
0.5
Range
T x2
min :
T x2
max :
x2
T 0:25quan:
T x2
0:50quan:
T x2
0:75quan:
5 m
3 m
1 m
14.84
14.95
21.00
24.67
23.10
21.96
21.53
21.69
21.74
21.75
21.75
21.80
21.91
21.85
21.86
Acknowledgements
0.4
0.3
non-zero
0.2
0.1
0.0
14
16
Prob. shift
18
20
22
time
in sec
24
0.5
0.4
0.3
non-zero
0.2
0.1
0.0
14
16
Prob. shift
18
20
22
time
in sec
24
0.5
0.4
0.3
zero
0.2
0.1
0.0
14
16
18
20
22
24
time
in sec
Fig. 15. Histograms for example 2 for points in time where BRAKE
massages appeared (x = 2); bar width w = 0.2 s, number of test runs
N = 300 in each case.
Table 3
Results of example 2, each value in seconds, N = 300.
References
[1] H. Hartenstein, K.P. Laberteaux, A tutorial survey on vehicular ad hoc
networks, IEEE Communications Magazine (2008) 164171.
[2] Car 2 Car Communication Consortium, Manifesto: Overview of the
C2C-CC System, 2007. <http://www.car-to-car.org/>.
[3] ETSI, ETSI TR 102 638, Basic set of applications, Denitions, V1.1.1,
2009.
3168