autosar adaptive platform - vector · 3 adaptive autosar use cases introduction and use cases u...

19
V0.3 | 2017-07-11 What is the AUTOSAR Adaptive Platform? Overview, architecture and use cases. AUTOSAR Adaptive Platform

Upload: danghuong

Post on 25-Apr-2018

361 views

Category:

Documents


28 download

TRANSCRIPT

Page 1: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

V0.3 | 2017-07-11

What is the AUTOSAR Adaptive Platform? Overview, architecture and use cases.

AUTOSAR Adaptive Platform

Page 2: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

2

u Introduction and Use Cases

Overview and Objectives

Workflow and Architecture

Functional Clusters

Activities and Roadmap

Conclusion

Agenda

Page 3: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

3

Adaptive AUTOSAR Use Cases

Introduction and Use Cases

u 2D/3D accel. support in POSIX systems

u Video Codecs, Streaming support, multi-media library, etc…

Infotainment

Connectivity

u “App-Store” for automotive applications

u Installation and update over the air

Dynamic Software Platform

u Car-2-X (LTE, WiFi, GPS, etc.)

u Multimedia (USB, SD-Card, NFC, etc.)

source: fotolia

u Image- and preprocessing of Camera/Radar/LIDAR

u Sensor Fusion and Machine Learning

Highly Automated Driving

Page 4: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

4

Definition of Adaptive AUTOSAR

Introduction and Use Cases

u As a partner of the Automotive industry AUTOSAR saw the necessity to define a new platform

u It was clear that future cars will have heterogenous architectures

u The existing architectures

had to be complemented

by another one

Adaptive AUTOSAR

Deeply Embedded

Architecture

Infotainment Architecture

Dynamic Architecture

Page 5: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

5

New Platform Requirements

Introduction and Use Cases

Adaptive Platform

Good Hardware Abstraction

Interoperability with Classic

Update of Software

Service Oriented Architecture

Easy configuration Common Methodology

for Classic and Adaptive

Security

Safety

Connection to non-AUTOSAR Services

Multi/Many Core support

Diagnostics

Libraries for high performance computing

Realtime

File handling

New Programming Model

Faster Development Cycles

u The new platform has to

fulfill

u Existing requirements

u Changed requirements

u New requirements

Page 6: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

6

u Paradigm change due to the use of

u OO programming in C++

u Service-Oriented-Architecture (SOA)

u POSIX operating system

u Planned dynamics > incremental deployment

> Configuration changes during runtime

u Software is organized in Cluster.

u A Cluster Specification is reduced to the description of APIs and semantics (e.g. through state machines).

u No constraints on the SW architecture of a platform implementation

u No internal technical architecture description

Charactersitics

Overview and Objectives

Page 7: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

7

AUTOSAR Classic Platform - CP

AUTOSAR Product Comparison

Overview and Objectives

AUTOSAR Adaptive Platform - AP

Real Time Requirements

Computing Power

Safety Critical

u All modules completely specified

u Developed in C

u Whole stack compiled and linked in one piece

u Will still remain in the current focus

u Less modules, only API specification

u It is the intention to give more room for different implementations

u Developed in C++

u Software components as POSIX processes

u Service oriented communication (SOME/IP)

Page 8: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

8

Application Code Service Description (ARXML)

Tools and Workflow

Workflow and Architecture

libara

libsomeip

Logic

SOME/IP Config

AppSWCTypes

Port

Auth

ori

ng T

ool

Com

piler

Soft

ware

Configura

tion M

anagem

ent

ServiceInterface ServiceInterface ServiceInterface

Vehicle

SOMEIPd

ComServer

Diag

EM

Installed APP

Application Manifest (JSON)

BIN

Instance Manifest(s) (JSON)

Installed APP

Application Manifest (JSON)

BIN

Instance Manifest(s) (JSON)

POSIX IPC

BSD Sock

Deploy Package

/opt/myApp/

Application Manifest

./etc/MANIFEST.arxml

BIN

./bin/myApp

Instance Manifest(s)

./etc/instance1.arxml

./etc/instance2.arxml

Genera

tors

Port Port

Static

Proxies / Skeletons

SOME/IP Serializer

E2E Serializer

POSIX IPC

Generated

Page 9: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

9

Adaptive Architecture

Workflow and Architecture

Applications

Platform

POSIX OS

SCM Service

App1

POSIX Process

Persistency EM (Execution

Manager)

ara::com ara::em ara::pers

ara::com ara::em ara::pers

Diagnostic Service

ara::com ara::em ara::pers

Middleware ara::com SOMEIPd Service Discovery

App2

POSIX Process

ara::com ara::em ara::pers

Shared Memory

ara::em

BSD Socket BSD Socket for DoIP

Page 10: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

10

Adaptive Applications

Workflow and Architecture

Manifest

Instance Config

u Application

> Multi-threaded

> Execution states

> Manifest contains platform related information (recovery action, dependencies to services or libraries)

> Instance config contains application specific static information (variant, options, )

u Interfaces

> ara::com for communication with adaptive services (Basic Services and User Applications)

> PSE51 is the usable OS API subset

> The Adaptive AUTOSAR Foundation clusters (Execution Management, Persistency, etc.) are available via direct APIs

App1

POSIX Process

INIT:

RUN:

SHUTDOWN: Thre

ad

Thre

ad

Thre

ad

Adaptive AUTOSAR Services

Adaptive AUTOSAR

Foundation

ara::com Direct API PSE51

C++ Stdlib

POSIX OS

Page 11: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

11

Ovwerview ara::com

Functional Clusters

u Service-oriented communication

u Location-transparent

u Supports multiple communication bindings

u AUTOSAR Model defines available bindings for each service provider and consumer

u Explicit support for optimized shared memory implementations

Services

APP 1 APP 2

ara::com

u Applications connected at runtime (Service Discovers)

u Find Service Instances dynamically without hardwiring in model

u Connection between proxies and skeletons can be recovered

u Real-time support: Developers’ choice of polling or event-driven processing of communication

Page 12: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

12

Data serialization

u Today, signals are “serialized” statically to fit the PDU layout specified in the database

u Especially in the ADAS domain, there are more and more data elements of dynamic length

u A static PDU layout considers the worst case scenario > “Empty” signals are transmitted

Scalable Service-Oriented Middleware over IP – Data Serialization (SOME/IP)

u (De-)Serialization during runtime > Signals and PDUs of dynamic length

> Don’t specify the PDU layout in a database

> Transmit only the relevant and currently available data elements

> Save bandwidth

> Save computing resources

Service-Oriented Communication

Functional Clusters

Signals PDU

DB

struct

Structured data PDU

(Byte stream)

uint32 val1

float32 val2

int8 arr[1..9]

uint8 val3

val1_1

val1_2

val2_1

val2_2

val2_3

val2_4

val1_3

val1_4

arr len

arr_1

arr_2

val3_1

SOME/IP

Page 13: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

13

Build up communication relationships during runtime

u Don’t send meaningless data and send data only when there is a need

u Reduce bandwidth usage (unicast)

u Save processing resources especially at receiver side

u The location of the sender shall be flexible

u Variant handling

Scalable Service-Oriented Middleware over IP – Service Discovery (SOME/IP-SD)

u What is a service? > Methods: Remote Procedure Calls

> Events: Publish/Subscribe, get notifications

u Service provider (server): Announce the availability and location of an offered service (broadcast)

u Service consumer (client): Subscribe to event groups to get notifications

Service-Oriented Communication (2)

Functional Clusters

Offer service

Call method

Get return values

Subscribe to event group

Get notifications

S C

Offer service

Page 14: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

14

Startup

u OS launches Execution Manager (EM) (PID1, “init”)

u EM inspects system for installed applications

u E.g., scan filesystem in /opt/ for Application Manifests

u EM runs startup applications (fork(), exec())

u e.g., bring up IP stack

u EM consults Machine State Manager to determine desired Machine State

u Machine State defines set of Applications desired to run

u EM starts/stops applications to reach desired machine state (fork(), exec(), signal(SIGTERM))

u EM configures scheduling parameters & resource limits

u Configuration Data obtained from Application Manifest

u EM monitors for machine state changes or process termination

Execution Management Overview

Functional Clusters

ECU running

Page 15: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

15

Diagnostic Manager

Diagnostic Manager - Overview

Functional Clusters

ara::com

Application (Software Components)

Diagnostic Event monitoring and notification

Diagnostic Request Diagnostic Response

Diagnostic Service Callbacks

Tester

u Main Tasks

u Communication with Tester

u Event Memory Management

u Configurable via AUTOSAR Diagnostic Extract (DEXT)

u Extendable during runtime…

u Uses ara::com interfaces

Page 16: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

16

u In AUTOSAR Adaptive the Persistency cluster provides a library based implementation to access non-volatile memory to Adaptive Applications so that data can be stored non volatilely.

u Key-Value Storage

u Multiple values stored in one storage location

u Addressing of single values by using a key as identifier

u Multiple storage locations/databases can be used

u Database format not specified by AUTOSAR

u Stream Storage

u Raw access to storage locations/files

u Used for access to files in any format

u API derived from C++ Standard Library std::fstream classes

Functional Overview

Functional Clusters

Application

Key-Value Storage Location

Stream Storage Location

ara::per KeyValueStorage

ara::per arafstream

ara::per KvsType

ara::per KvsType

Page 17: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

17

Planned Adaptive Roadmap

Activities and Roadmap

ASR Release 17.3: > Execution

Management > Communication/

Middleware > DLT > Diagnostics > Operating System > Persistency

ASR Release 17.10: > Package Management > HW Acceleration > Signal based

communication > Safety and Platform

Health Management > Security Features

ASR Release 18.03: > SW-Lockstep > FR + LIN Bus > Crypto Hardware

ASR Release 18.10: > Vehicle API > Container Support

Adaptive MICROSAR 18.06: Development release Based on 17.10 Feature set

Adaptive MICROSAR 19.01: Development release Based on 18.03 Feature set

2017 2018 2019 2020

Adaptive MICROSAR 19.06: Production release Based on 18.10 Feature set

Deliveries based on Adaptive AUTOSAR Code

Vector Adaptive modules replace community source parts gradually as development is progressing

Page 18: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

18

Conclusion

Conclusion

u The new Adaptive Platform complements

the existing Classic Platform

u The Classic Platform will be still necessary to

implement deeply embedded functionalities

while the Adaptive Platform will run high

level parts of functions

u Implementing a new Architecture was the

right decision to handle future use cases

u Vector will continue to contribute to AUTOSAR

and provide implementations and tools for

Classic and Adaptive AUTOSAR

Page 19: AUTOSAR Adaptive Platform - Vector · 3 Adaptive AUTOSAR Use Cases Introduction and Use Cases u 2D/3D accel. support in POSIX systems u Video Codecs, Streaming support, multi-media

19 © 2017. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.3 | 2017-07-11

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

Author: Stefan Albrecht Vector Germany