Folie 1 - TTCN-3

Download Report

Transcript Folie 1 - TTCN-3

Testing distributed C2X systems with TTCN-3
Jürgen Großmann
Fraunhofer FOKUS
Kaiserin-Augusta-Allee 31
10589 Berlin
Tel: +49-30-3463-7390
Email: [email protected]
Ilja Radusch, Carsten Neumann, Andreas Hinnerichs (Fraunhofer FOKUS),
Stephan Pietsch, Bogdan Stanca-Kaposta (Testing Technologies IST GmbH)
TTCN-3 User Conference 2011
7 – 9 June 2011 - Bled, Slovenia
16.07.2015 | 1
Hier steht die Fußzeile
V2X Systems
safety, efficiency, comfort
GPS/Galileo
UMTS/GPRS
ITS G5
IVS
802.11 b/g and ITS G5
IVS
IRS
•
IRS
Different communication technologies
-
•
WiFi 802.11 b / g, 802.11 p
UMTS / GPRS
GPS / Galileo
Distributed dynamic system
16.07.2015 | 2
Testing distributed C2X applications – T3UC 2011
ICS
The results presented here have been developed as part of the project simTD.
The project simTD is funded by the Federal Ministries of
Economics and Technology (BMWi) and the Federal Ministries of Education
and Research (BMBF) in Germany. The project is supported by the Federal
Ministry of Transport, Building and Urban Affairs.
16.07.2015 | 3
Testing distributed C2X applications – T3UC 2011
Characteristics of 802.11p
•
•
•
•
Unicast: data transport service from a single node (source) to just a single
node (target) by communicating directly or via multiple hops to geographical
addresses.
Topologically-scoped broadcast (TSB): data transport service from a single
node (source) to all nodes in an ad-hoc network.
Single-Hop Broadcast (SHB): special situation of the topological broadcast.
Messages are distributed to the immediate neighbours and not redirected
by multi-hop communications.
Geographically-scoped broadcast (GBC): data transport service from a
single node (source) to node in a specific geographical area.
16.07.2015 | 4
Testing distributed C2X applications – T3UC 2011
Systematic verification and validation of simTD systems
validation of the system:
utility, efficiency, usability
System test
Specification
verification of the system:
efficiency, functionality,
availability
Integration test
Design
verification of simTD
platform and features:
functionality, robustness,
efficiency, reliability
Module test
Implementation
16.07.2015 | 5
Testing distributed C2X applications – T3UC 2011
Challenges
•
•
•
•
•
•
•
Providing Test for several levels of integration (software integration,
software / hardware integration, system integration)
Support for various types of testing (functional testing, protocol testing,
robustness testing)
Independent of proprietary interfaces and vehicle manufacturer’s
technologies (test shall run on systems that are used by different vehicle
manufacturers)
Distributed test development in over 20 development teams
Analysis of complex data and protocols (e.g. complex C2X messages)
Continuous stimulation with vehicle data (e.g. velocity, position etc.)
Distributed system with heterogeneous components
16.07.2015 | 6
Testing distributed C2X applications – T3UC 2011
Testing scope of the test bench
•
Testing C2X scenarios in a laboratory environment
-
•
continuous integration
acceptance and regression testing
Support for test automation
For example, obstacle avoidance
•
•
Vehicle is stopped and sends obstacle avoidance
messages
Verification that the following vehicles receive the
messages and display the warning
16.07.2015 | 7
Testing distributed C2X applications – T3UC 2011
Realization of the test bed
template C2XMessage c2xMessage(in
id := sid,
payload := {
protocolVersion := 1,
actionID := 100,
cancelationFlag := false,
generationTime := {t, 0},
validityDuration := 100,
referencePosition := {longitude := {isE,
protocolMsg := pm
}
}
ICT
LSS
IRS
IVS
Test Control
IVS
For example, obstacle avoidance
•
•
Vehicle is stopped and sends obstacle avoidance
messages
Verification that the following vehicles receive the
messages and display the warning
16.07.2015 | 8
Testing distributed C2X applications – T3UC 2011
HM
I
The test bed in the FOKUS automotive laboratory
16.07.2015 | 9
Hier steht die Fußzeile
Architecture of the target hardware
Communication Unit (CCU)
2G/3G
WLan
C2X Protocols
Security
CAN
Wireless
Manager
GPS
VAPI*
Router API
Application Unit (AU)
Logging
API
COM Client
LDM
VAPI
Client
C2X Applications
HMI Controller
* The Vehicle API (VAPI) is provided by Volkswagen
16.07.2015 | 10
Testing distributed C2X applications – T3UC 2011
Systematic testing approach (overview)
•
•
•
Testing a single C2X application: The IVS system is stimulated using the Vehicle
API (VAPI) with speed and position data that simulate a complete car ride. After about
two seconds, the vehicle stopped and put the hazard lights on. It is verified if the
system generates a suitable obstacle avoidance messages and if the message is
sent.
Testing of Distributed C2X applications on one IVS or more IVS or on an IVS
and IRS: The system is stimulated with speed and position data for two vehicles
using the VAPI of the respective IVS. Vehicle 1 drives on the highway at a constant
speed, vehicle 2 will follow with 15 delay on the same route. Vehicle 2 reduces the
vehicle speed to zero and sets the hazard lights. The expected behaviour, vehicle 1
sends an obstacle avoidance and vehicle 2 warns the driver
Testing the protocol layer (802.11 p): The test of geographically-scoped broadcast
communication is based on three IVS. All IVS will be stimulated with plausible vehicle
data (e.g. constant speed and vehicle distance 300m). Using the communication
interface of the vehicle 1 the test system sends a message (e.g. obstacle avoidance),
which is addressed to a particular geographical area. It will be checked if the vehicle
will receive the message when passing the area.
16.07.2015 | 11
Testing distributed C2X applications – T3UC 2011
Architecture of the test bed
•
•
Tool-independent interface (TPAPI)
Stimulating the system:
-
•
Traces: simulating the vehicle state and its change over time
C2X messages: selective triggering of events
Automated evaluation of the system output:
-
Detection and analysis of incoming messages
Detection of HMI activities
Analysis of log messages
IRS
IVS2
Test-PC
IVS1
VehicleSpeed,150
Simulator
Another
Testtool
Test
Executable
(TTCN-3)
16.07.2015 | 12
COM
TP
API
VAPI
TC
LDM
C2X Applications
Logging
API
Logs
Testing distributed C2X applications – T3UC 2011
HMI Controller
Why TTCN-3
•
•
•
•
Standardized and used in the standardization of C2X protocols
Established concepts with mature tool support:
- Test specification language with well-defined syntax and semantics
(textual and graphical)
- Concepts to define and maintain heavily structured data and data
patterns (TTCN-3 templates)
- Graphical logging
High potential for test automation
Extendable to provide a commonly used set of test function and a user
friendly interface
- Coordinate and control the inputs for up to 5 different stations (IVS 3x
and 2x IRS)
- Trace player to easily play trace data
- Access to the configuration interface of the simTD system
16.07.2015 | 13
Testing distributed C2X applications – T3UC 2011
AntiLockBrakeSystem,
BrakeActuation,
BrakingPressure,
ClutchSwitchActuation,
CruiseControlSystemState,
CurrentGear,
DirectionOfDriving,
DoorPosition,
<item>
ElectronicStabilityProgram,
<date>24.06.2010 11:01:05.864</date>
EngineSpeed,
ExteriorTemperature,
<FuelConsumption>
FogLight,
<InstantaneousValuePerMilage>2.55</InstantaneousValuePerMilage>
FrontLights,
<InstantaneousValuePerTime>0.74</InstantaneousValuePerTime>
FuelConsumption,
GasConsumption,
<TotalValue>2.55</TotalValue>
GearSelection,
</FuelConsumption>
HazardWarningSystem,
<VehicleSpeed>
Horn,
LateralAcceleration,
<VehicleSpeed>78.43</VehicleSpeed>
LongitudinalAcceleration,
</VehicleSpeed>
ModelName,
<YawVelocity>
ModelType,
Odometer,
<YawVelocity>-1.18</YawVelocity>
PanicBraking,
</YawVelocity>
PedalForce,
</item>
RainIntensity,
RearFogLight,
SimTD_EmergencyLighting,
SimTD_EmergencyResponseType
SimTD_FilteredPosition,
SimTD_ImprovedLocating,
SimTD_PublicTransportParameter
SimTD_PublicTransportState,
SimTD_RawPosition,
SimTD_Siren,
16.07.2015 | 14
Testing distributed C2X applications – T3UC 2011
SimTD_SpecialVehicleType,
SimTD_TurnPrediction,
Providing the vehicle state
C2X messages (CAM, DENM)
template Message simpleMessage(int mID,
PositionVector_TYPE originatorPos,
C2XAppPayload_TYPE p) := {
sourceId := 306999566,
messageId := mID,
contentType := 31,
contentSubType := 0,
packetType := 3,
transportOptions := {trafficClass := 0,
priority := 0,
repetitionInteval := 0,
lifeTime := 41789530309280},
secOptions := {cryption := "NONE",
signature_ := "NONE",
plausibility := "NONE"},
template Message hiwaMessage(int mID, PositionVector_TYPE originatorPos) := {
type_ := "received",
item := {type_ := 3, payloadLength := 15000},
sourceId := 306999566,
messageId := mID,
contentType := 31,
contentSubType := 0,
packetType := 3,
transportOptions := {trafficClass := 0, priority := 0, repetitionInteval := 0, lifeTime := 41789530309280},
secOptions := {cryption := "NONE", signature_ := "NONE", plausibility := "NONE"},
destination := {
type_ := "UNDEFINED",
nodeId := 0,
latitude1 := - 900000000,
longitude1 := - 1800000000,
latitude2 := - 900000000,
longitude2 := - 1800000000,
size := 0
},
originator := {originatorPosition := originatorPos, senderPosition := originatorPos, medium := "AUTO"},
C2XAppPayload := {
protocolVersion := 0,
actionID := 0,
cancelationFlag := {bool := false},
generationTime := {timeStamp := 1282050379, milliSec := 72},
validityDuration := 604799,
referencePosition := {
longitude := 92371197, latitude := 490046194, elevation := 0, heading := omit, streetName := omit, positionConfidence := omit, elevationConfidence := omit, roadSegmentID := omit
},
protocolMsg := {
content := {
decEnvNotification := {
management := {reliability := 50, isNegation := {bool := false}, dataReference := omit},
event := {
trafficFlowEffect := {effectCode := 3, tendency := omit, lengthAffected := omit, averageSpeedAbsolute := 500, delay := omit, segmentSpeedLimit := omit, prognosisTime := omit},
causeCode := 31,
directCause := {severity := 2, subCause := 2, lengthEffected := 500, laneRestriction := 3, numberOfLanes := 1}
},
taggedList := {content := {}},
location := {
locationRef := {
content := {
trace := {
referencePosition := {
longitude := 92371197, latitude := 490046194, elevation := 0, heading := omit, streetName := omit, positionConfidence := omit, elevationConfidence := omit, roadSegmentID := omit
},
approaches := {
content := {
{PositionList := {content := {{OffsetPosition2D := {longOffset := - 13166, latOffset := - 14775}}}}},
{PositionList := {content := {{OffsetPosition2D := {longOffset := - 11981, latOffset := - 15185}}}}},
{PositionList := {content := {{OffsetPosition2D := {longOffset := - 9424, latOffset := - 15960}}}}},
{PositionList := {content := {{OffsetPosition2D := {longOffset := - 5752, latOffset := - 16696}}}}}
}
},
extension_ := omit,
endPosition := omit,
extensionRange := omit,
roadSegmentList := omit
}
}
},
destinationArea := {content := {rectangle := {pos1Lon := 130000000, pos1Lat := 520000000, pos2LonOff := 8100000, pos2LatOff := 500000, width := 1000}}}
}
}
}
}
}
}+++
16.07.2015 | 15
Testing distributed C2X applications – T3UC 2011
C2X message templates
template Message sMessage(C2XAppPayload_TYPE p) := {
sourceId := ?,
messageId :=?,
contentType := 31,
contentSubType := 0,
packetType := ?,
transportOptions := {trafficClass := ?,
priority := ?,
repetitionInteval := ?,
lifeTime := ?},
secOptions := ?,
template Message hiwaMessage(int mID, PositionVector_TYPE originatorPos) := {
type_ := "received",
item := {type_ := 3, payloadLength := 15000},
sourceId := 306999566,
messageId := mID,
contentType := 31,
contentSubType := 0,
packetType := 3,
transportOptions := {trafficClass := 0, priority := 0, repetitionInteval := 0, lifeTime := 41789530309280},
secOptions := {cryption := "NONE", signature_ := "NONE", plausibility := "NONE"},
destination := {
type_ := "UNDEFINED",
nodeId := 0,
latitude1 := - 900000000,
longitude1 := - 1800000000,
latitude2 := - 900000000,
longitude2 := - 1800000000,
size := 0
},
originator := {originatorPosition := originatorPos, senderPosition := originatorPos, medium := "AUTO"},
C2XAppPayload := {
protocolVersion := 0,
actionID := 0,
cancelationFlag := {bool := false},
generationTime := {timeStamp := 1282050379, milliSec := 72},
validityDuration := 604799,
referencePosition := {
longitude := 92371197, latitude := 490046194, elevation := 0, heading := omit, streetName := omit, positionConfidence := omit, elevationConfidence := omit, roadSegmentID := omit
},
protocolMsg := {
content := {
decEnvNotification := {
management := {reliability := 50, isNegation := {bool := false}, dataReference := omit},
event := {
trafficFlowEffect := {effectCode := 3, tendency := omit, lengthAffected := omit, averageSpeedAbsolute := 500, delay := omit, segmentSpeedLimit := omit, prognosisTime := omit},
causeCode := 31,
directCause := {severity := 2, subCause := 2, lengthEffected := 500, laneRestriction := 3, numberOfLanes := 1}
},
taggedList := {content := {}},
location := {
locationRef := {
content := {
trace := {
referencePosition := {
longitude := 92371197, latitude := 490046194, elevation := 0, heading := omit, streetName := omit, positionConfidence := omit, elevationConfidence := omit, roadSegmentID := omit
},
approaches := {
content := {
{PositionList := {content := {{OffsetPosition2D := {longOffset := - 13166, latOffset := - 14775}}}}},
{PositionList := {content := {{OffsetPosition2D := {longOffset := - 11981, latOffset := - 15185}}}}},
{PositionList := {content := {{OffsetPosition2D := {longOffset := - 9424, latOffset := - 15960}}}}},
{PositionList := {content := {{OffsetPosition2D := {longOffset := - 5752, latOffset := - 16696}}}}}
}
},
extension_ := omit,
endPosition := omit,
extensionRange := omit,
roadSegmentList := omit
}
}
},
destinationArea := {content := {rectangle := {pos1Lon := 130000000, pos1Lat := 520000000, pos2LonOff := 8100000, pos2LatOff := 500000, width := 1000}}}
}
}
}
}
}
}+++
16.07.2015 | 16
Testing distributed C2X applications – T3UC 2011
Testing the characteristics of the protocol layer 802.11 p
Geographically-scoped broadcast
1. Configuration: 3 IVS
2. All IVS are stimulated with plausible vehicle data using the VAPI (e.g. constant speed
and vehicle distance 600m).
3. Vehicle 3 sends a message (e.g. obstacle avoidance), which is addressed to a
specific geographical area (e.g. 1200m ahead).
4. Check if vehicle 1 states the reception of the message and vehicle 2 not.
destination := {
type_ := "circle",
nodeId := 0,
latitude1 := latVehicle1,
longitude1 := longVehicle1,
size := 300 }
16.07.2015 | 17
Testing distributed C2X applications – T3UC 2011
Testing one IVS: obstacle avoidance
Reading trace data
haltVehicleT.start(2.0); emergencyAction := false;
alt {
[] tracesPort.receive(item:?) -> value lastTraceMsg {
if (not
{
• emergencyAction)
the system is stimulated
with speed and position
Waiting
for
obstacle
lastFilteredPosition := lastTraceMsg.SimTD_FilteredPosition;}
data that simulate a car ride.
if detection
(emergencyAction){
• after about 2 seconds, the vehicle
and
lastTraceMsg.SimTD_EmergencyLighting
:= stopped
{
Replay of modified
EmergencyLighting
{boollights.
:= true}}; …}
turned on the :=
hazard
trace data
ivsPort.send(lastTraceMsg);
repeat;}
• it is checked whether the system creates a perfect
[] loggingPort.receive(ereignisWarnung) -> value ccMsg {
obstacle warning and sent
responseTimer.stop;
setverdict(pass, "EinsatzfahrzeugWarnung received.");}
[] loggingPort.receive(LogEntry:?) -> value genericLogEntry {
repeat;}
[] haltVehicleT.timeout {
emergencyAction := true;
repeat;}
Obstacle detection
}
16.07.2015 | 18
Testing distributed C2X applications – T3UC 2011
Summary and outlook
•
•
•
•
•
Test system is implemented and is currently being used in simTD:
TTCN-3 Framework distributed to the partners
Tool: TTworkbench from Testing Technologies
Carrying out the tests on the virtual system (testing applications on a VM)
Carrying out the tests on the physical system
•
Next Steps:
- Further testing activities in particular to common features of 802.11p
- Integration of simulators for the generation of vehicle data
- Dissemination and exploitation of ideas within other FOT projects, in
standardization (ETSI) and with industrial partners
16.07.2015 | 19
Testing distributed C2X applications – T3UC 2011
Contact
Jürgen Großmann
Fraunhofer FOKUS
Kaiserin-Augusta-Allee 31,10589 Berlin
Tel: +49-30-3463-7390
[email protected]
16.07.2015 | 20
Hier steht die Fußzeile