Simulating Service-Oriented Architectures with CANoe’s ...€¦ · Simulating Service- Oriented...

Preview:

Citation preview

V1.1 | 2016-11-28

Automotive Ethernet Symposium 2017

Simulating Service-Oriented Architectures with CANoe’s Function Bus

2

Automotive Industry Trends

SoA Middleware Requirements

The CANoe Function Bus

Test Concepts

Summary

Agenda

3

Mega Trends Automotive Industry Trends

Major Changes in E/E Architecture

Automated Driving

Different sensor types On/off-board

information fusion Complex algorithms

security is a must fail operational needed

Electrification

Efficiency Start-stop, sailing, ... Hybrid Battery Electric Vehicle Multi voltage

broad range of solutions standards needed

Connectivity (IoT)

Infotainment V2X Cloud services OTA update & diagnostics

always on new business models

4

Embedded Software becomes Software Automotive Industry Trends

ADAS Autonomous Driving

Connected Car Car-to-X

Technology Drivers

Implications

Service

Service

Service

Service

Platform

Communication

Topology

Test focus

AUTOSAR/OSEK

Signal flow

Static

Device

AUTOSAR Adaptive, Linux et al.

SoA, complex data

Dynamic

Function

5

It‘s all about middleware Automotive Industry Trends

AUTOSAR Basic Approach

© AUTOSAR.org

AUTOSAR the Next Generation – The Adaptive Platform, Simon Fürst, ARS@EDCC 2015

viwi https://www.w3.org/Submission/2016/01/

http://open-services.net/specifications/

6

Automotive Industry Trends

SoA Middleware Requirements

The CANoe Function Bus

Test Concepts

Summary

Agenda

7

Asynchronous Remote Procedure Calls SoA Middleware Requirements

Client

GetItem(12)

Middleware Middleware Server

GetItem(12)

Return(42)

ECU ECU

Ethernet cable

8

Services are a composition of Methods (RPCs) Events (Notifications) Fields (Events with getter/setter methods)

Announce availability and location of services

Publish/subscribe model for events

Dynamic approach to communication Service discovery Activate/deactivate communication paths Intelligent usage of uni-, multi-, broadcast Service content is statically defined

Save bandwidth and computing resources

Easy relocation of services

SOME/IP SoA Middleware Requirements

Offer service

Subscribe eventgroup

Notifications

Call method

Method result

Client Server

9

Web Services Higher layer than SOME/IP: Built on top of HTTP Representational State Transfer (REST) paradigm Example: Volkswagen Infotainment Web Interface (viwi)

CAN FD: CAN with Flexible Data Rate Bigger datagrams Higher data rate Dynamic payload

Beyond SOME/IP SoA Middleware Requirements

GET /car/doors/ HTTP/1.1 … HTTP/1.1 200 OK … { "status": "ok", "data": [ { "name": "FrontLeft", "uri": "/car/doors/3901a278-ba17-44d6-9aef" }, { "name": "FrontRight", "uri": "/car/doors/8901870-b526-11e3-a5e2" } ] }

12

Prototyping and Integration SoA Middleware Requirements

Real ECU

Virtual ECU

Simulation node

CANoe

13

Prototyping and Integration SoA Middleware Requirements

Real ECU

Virtual ECU

Simulation node

CANoe

14

Prototyping and Integration SoA Middleware Requirements

Real ECU

Virtual ECU

Simulation node

CANoe

15

Prototyping and Integration SoA Middleware Requirements

Real ECU

Virtual ECU

Simulation node

CANoe

17

Converging point: Function Bus The CANoe Function Bus

Abstraction

client/server communication

Support services and their discovery

Address dynamic topologies

Easy switching between real and simulated components

SOME/IP <SoA>

AUTOSAR Adaptive

Virtual prototyping

AUTOSAR VFB

CANoe Function Bus

18

Function Bus Molecules: Communication Objects The CANoe Function Bus

F5 F4

F2

F1

F3

F6

F7

Logical participant / Function

Endpoint

Any pair of endpoints may

…connect distinct physical devices, or

…share a MAC address on the same PHY, or

…share an IP address, or

…connect abstract simulation code.

Communication Object

Signal

PDU

RPC

Service Methods, Events,

Fields

(like SOME/IP)

Asynchronous remote procedure

call

Protocol Data Unit

19

Communication Objects: Configuration The CANoe Function Bus

FrontLeftCAM

FrontRightCAM

RearCAM

HeadUnit

ParkAssist

M

Dyn. Clients * Dyn. Servers * System.arxml

Intelligent AUTOSAR (adaptive) import

vVIRTUALtarget

Interface Camera {

Operations:

GetCamStatus()

SetVideoFormat()

Events:

imageT NewFrame

}

Interface Definition Language / Editor

HeadUnit Virtual Target

ParkAssist Real

Simulated

Simulated

Real

FrontLeftCAM

FrontRightCAM

RearCAM

20

Communication Object: Layers The CANoe Function Bus

App. API App. API

Binding block

21

Communication Object: Layers The CANoe Function Bus

SOME/IP

TCP/UDP/IP

Ethernet

SOME/IP

TCP/UDP/IP

Ethernet

App. API App. API

Binding block

22

Communication Object: Layers The CANoe Function Bus

Web Service

HTTP/TCP/IP

Ethernet

Web Service

HTTP/TCP/IP

Ethernet

App. API App. API

Binding block

23

Communication Object in Real Environment I The CANoe Function Bus

SOME/IP

TCP/UDP/IP

Ethernet

SOME/IP

TCP/UDP/IP

Ethernet

App. API App. API

Sim. node

Binding block configured

ECU

24

Communication Object in Real Environment II The CANoe Function Bus

SOME/IP

TCP/UDP/IP

Ethernet

SOME/IP

TCP/UDP/IP

Ethernet

App. API App. API

Measurement

ECU ECU VN56xx

25

Communication Object in Simulated Environment The CANoe Function Bus

SOME/IP

TCP/UDP/IP

Ethernet

SOME/IP

TCP/UDP/IP

Ethernet

App. API App. API

Sim. node A

Abstract transmission

No need to configure those

layers

Abstract timing behaviour by transmission

models

Virtual ECU

26

Automotive Industry Trends

SoA Middleware Requirements

The CANoe Function Bus

Test Concepts

Summary

Agenda

27

CANoe

Function Bus

IL SD

SOME/IP

TCP/UDP/IP

Testing: Choosing the right layer Test Concepts

Bus

send(msg1)

on msg2 {

}

Test

Bus

Application

IL NM

TP

SUT (real or virtual)

Test

$sig1 = 1;

On sig2 {…}

IL NM

TP

Eth

Application

SUT (real or virtual)

Test

SetStatus(42)

IL SD

TCP/UDP/IP

SOME/IP

Classic domain: PDUs and signals Service-oriented Architecture domain

Application

SUT (virtual only)

Test

@sig1 = 1;

On sig2 {…}

CANoe System variables

Application

SUT (virtual only)

Test

SetStatus(42) Re-use

SUT (real or virtual)

Abstract

28

Test Side: Programming Examples Test Concepts

on key 'f' { CAM[HeadUnit,FrontLeftCam] .GetCamStatus.CallAsync(); } on called CAM[HeadUnit,FrontLeftCam] .GetCamStatus { this.status = CAM_RECORDING; this.return = 1; } on returned CAM[HeadUnit,FrontLeftCam].GetCamStatus { //… } testcase X { TestWaitForCall(…); …LatestCall.Result = 1; …LatestCall.Return(); TestWaitForReply(…); }

CAPL C# Answering Machine

public override void Start()

{

var cam = new CAM();

cam.SetConsumer(HeadUnit);

cam.SetProvider(FrontLeftCAM);

cam.CallAsync((result) => {

Output.WriteLine(“returned”);

});

}

[OnCall(typeof(CAM.GetStatus))]

void OnGetStatus(CAM.GetStatus.CC cc)

{

Execution.Wait(100);

cc.Return(1);

}

29

APIs for Testing SoA Applications Test Concepts

Service Discovery Abstraction of SOME/IP SD

Configurable automatic offers

Observable discovery states

New wait functions Await service being discovered

Await function call on server side

Await function return on client side

Await event subscription

Service Mockup Answering Machine

Configurable automatic answers

Dynamic endpoints

New handlers On service discovered

On function called

On function returned

On event subscribed

30

Core functionality for vVIRTUALtarget integration and SOME/IP simulation/modeling

available starting with CANoe 10.0 (Mid 2017)

Conclusion Summary

E/E architectures keep on changing

All major OEMs design service-oriented architectures

CANoe function bus key concepts: Providing a simulation backbone for all relevant communication paradigms Supporting virtual and real integration of SoA Prototyping and integration of classic (signal-based) systems Simplifying test cases by providing the right level of abstraction

31 © 2016. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.1 | 2016-11-17

For more information about Vector and our products please visit www.vector.com

Author: Köllner, Christian Vector Germany