48
Automotive Grade Linux Accelerating Connected Car Software Development Open Source Forum Japan November 15, 2017 Dan Cauchy, Executive Director, AGL

Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Embed Size (px)

Citation preview

Page 1: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Automotive Grade Linux Accelerating Connected Car

Software Development

Open Source Forum Japan November 15, 2017

Dan Cauchy, Executive Director, AGL

Page 2: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Why do so many people do this?

Slide 2

Page 3: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

It’s not just about the cars anymore,

automakers are in the software business >

Page 4: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

It’s not just about the cars anymore,

automakers are in the software business >

"Our thesis is … the entire experience of being in the car will be defined by software.” – Marc Andreessen, Silicon Valley Investor, CNBC Interview, May 22nd, 2017

Page 5: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

A B C

Fragmentation Hinders Innovation

Page 6: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Automotive Grade Linux

Collaborating to build the car of the future through rapid innovation

http://AutomotiveLinux.org

Slide 6

Page 7: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

What is AGL?

● Non-profit

● Open source Linux-based collaborative project

● Hosted at Linux Foundation

● Focused on rapid innovation of vehicle software

Slide 7

Page 8: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

• Build a single software platform for the entire industry

• Develop 70-80% of the starting point for a production project

• Reduce fragmentation by combining the best of open source

• Develop an ecosystem of developers, suppliers, expertise all using a single platform

Slide 8

Project Goals

AGL is a “Code First” organization! Specifications lead to fragmentation!

Page 9: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Autonomous Driving

Advanced Driver

Assistance Systems

(ADAS)

Functional

Safety

Heads-up Display (HUD)

Infotainment Instrument

Cluster

Telematics/

Connectivity

the only organization addressing

all software in the car

Page 10: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL Growth

AGL now has 110 members!

10 OEMs are members of AGL

Over 60% growth in past year

850+ developers on AGL mailing list

Slide 10

Page 11: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Automaker Support for AGL

Page 12: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL Members - Total of 110 companies!

Page 13: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL is now 3rd largest Collab Project at Linux Foundation!

Page 14: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL in the Media

The media is paying attention to AGL!

Slide 14

Page 15: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

> AGL in the 2018 Toyota Camry

Shipping now, Lexus to follow later

Camry image for depiction purposes only, actual vehicle may vary.

Page 16: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Automotive Grade Linux

AGL Advisory Board

AGL Steering Committee

Pro

ject

Pro

ject System Architecture Team

Exp

ert

Gro

up

Pro

ject

Exp

ert

Gro

up

Exp

ert

Gro

up

Pro

ject

Bottom up approach, most decision making is in the hands of the Expert Groups Advisory Board responsible for overall direction, budget Steering Committee oversees AGL technical activities System Architecture Team oversees end-to-end consistency Expert Groups can run one or more projects Projects may be directly managed by SAT, SC, AB – e.g. Marketing activities, development funding

AGL Governance

Slide 16 E

xp

ert

Gro

up

Exp

ert

Gro

up

Page 17: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL Infrastructure ● Single Sign on Using LF Identity

● Yocto 2.x based Build System

● Git repositories with Gerrit code review

● https://gerrit.automotivelinux.org

● JIRA used for Project Management and Bug Tracking

● https://jira.automotivelinux.org

● Jenkins Continuous Integration ● All code changes built by Jenkins prior

to merging

● Daily snapshot builds https://download.automotivelinux.org/AGL/snapshots/master/

Slide 17

meta-agl - meta-agl - meta-agl-bsp - meta-ivi-common - meta-agl-security

meta-agl-extra • meta-iot-appfw • meta-qt5

meta-agl-demo

- meta-poky - meta-oe - meta-<BSP>

meta-agl-devel • meta-agl-sota • meta-<BSP>

AGL Extra Features

AGL Demonstrator Code

AGL Core Distribution

AGL Community Development

Page 18: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Slide 18

AGL VALUES

Standardized open operating system, middleware, services and application framework • Not under the control of any one company • Developed collaboratively by many companies • Lower cost by sharing development work of the common bits

AGL decreases time to market and can provide functionality similar to the smart phone with periodic over-the-air updates

AGL enables an ecosystem of “AGL Ready” suppliers for hardware, software, UI, services, apps • AGL enables a global app developer ecosystem • Hit the ground running on new projects

Open

Robust

Ecosystem

AGL: the De Facto Industry Standard

Page 19: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Community: Mailing List Subscribers

• Healthy community!

• 851 developers on Automotive-Discussions list

• 47% growth year-to-date

Slide 19

Page 20: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Community: Mailing list traffic

● Healthy community!

● 1690 posts year-to-date

● 6.2 posts per day

● Great technical discussions on the list

● Developers helping each other on daily basis

Slide 20

4.2 Per Day

5.2 Per Day

6.2 Per Day

Page 21: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL UCB RELEASES

Slide 21

Page 22: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Thanks for all the fish…

• AGL Releases:

AA – Agile Albacore – Jan 2016

BB – Brilliant Blowfish – July 2016

CC – Charming Chinook – Dec 2016

DD – Daring Dab – July 2017

Slide 22

Page 23: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Daring Dab Highlights • Released July 28, 2017 • Updated to Yocto 2.2 (morty) • App Framework enhancements • App FW Service Binders • SDK enhancements • SOTA updates • Security updates • Many application improvements • Added ARM 64 bit support

Slide 23

Page 24: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Daring Dab Patch Releases

Jul Aug Sep Oct Nov Dec Jan Feb

Daring Dab

Stabilize Patch Updates

App Development

Final Release

7.28

4.0.1 9.18

4.0.2 10.15

4.0.3 12.11

4.0.4 02.13

Page 26: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL Documentation

• Documentation site:

http://docs.automotivelinux.org/

• Markdown with web publishing for all AGL documentation

• Use git/gerrit for version control and reviews

Slide 26

Page 27: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

SDK for App Developers

• Docker image to eliminate host dependency issues

• Available for reference boards with published images that include graphics drivers

• Enables rapid AGL application development Support for Qt (HTML5 planned in Q1 2018!)

• Documentation

• No Yocto knowledge is needed or assumed for SDK users

Slide 27

Page 28: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Extensive Board Support • Reference BSPs – Fully supported by manufacturer, CI,

daily builds, etc. • Renesas R-Car 3 – M3 board (ARM64) • Renesas R-Car 2 - Porter board (ARM32) • Intel - MinnowBoard Turbot and Joule (Intel64) • TI - Jacinto 6 - Vayu board (ARM32) • QEMU Emulation (Intel64)

• Community BSP – Best effort support by AGL • Raspberry PI v2 and v3 (ARM32) • NXP – i.MX6 – SABRE Automotive (ARM32) • Qualcomm – Dragonboard 410-c (ARM64) • TI BeagleBone Black (ARM32) • Qualcomm SnapDragon 820 (ARM64)

Slide 28

Page 29: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

ELECTRIC EEL

Slide 29

Page 30: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

UCB 5.0 - Electric Eel

New Profiles

Slide 31

Instrument

Cluster

Telematics/

Headless

Page 31: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Electric Eel

Jul Aug Sep Oct Nov Dec Jan

Electric Eel

New Features Developed Stabilize Patch

Updates

App Development

RC1 9.30

RC2 10.30

Final Release 12.15

RC3 11.30

5.0.1 CES 2018

Page 32: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL EXPERT GROUPS

Slide 33

“You don’t have to be an expert to work in an Expert Group” – Walt Miner, AGL Community Manager

Page 33: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Expert Groups

• Current AGL Expert Groups (EG) • Application Framework and Security

• Connectivity

• Continuous Integration and Automated Test

• Graphics and UI

• Navigation

• Virtualization

• Reference Hardware System Architecture

Slide 34

Page 34: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Virtualization (EG-VIRT)

• First milestone achieved • Built in support for KVM hypervisor for R-Car M3

• Code merged

• EG-VIRT is a key component in our vision of the complete cockpit architecture

• Run AGL side-by-side with legacy RTOS

• In discussions with hypervisor companies – they plan to join this effort

Slide 35

Page 35: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Reference Hardware System Arch EG

• EG led by Mazda with Toyota, Suzuki, Honda, Subaru participating

• First draft of document is ready!

• Document published on AGL wiki

• Defines key hardware components and interfaces

• Will be used to drive the creation of new HW boards and software requirements

Slide 36

Page 36: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Established a good base! What’s next?

AA – Agile Albacore – Jan 2016

BB – Brilliant Blowfish – July 2016

CC – Charming Chinook – Dec 2016

DD – Daring Dab – July 2017

Slide 37

It’s time to move up the stack, services, applications.

Page 37: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Proposed Expert Groups

• Vehicle to Cloud (V2C)

• Voice Recognition

• Content Delivery (Streaming Music/Video)

• Security Vulnerability Action Team

• Functional Safety Expert Group

Slide 38

Page 38: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

New: V2C Expert Group

• Creation of a Vehicle to Cloud Expert Group

• Split out the following from Connectivity EG • Cloud Connectivity (e.g. Iotivity)

• Connected Car

• Remote Vehicle Interactions

• ForgeRock volunteered to lead this effort

• Recruiting other AGL members to get involved!

• Recruiting new members

Slide 39

Page 39: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Proposed: Voice Recognition EG

• Nuance and Voicebox have joined AGL

• In discussion with other major players

• Vision is to form a Voice Rec Expert Group

• Define industry standard Voice Rec APIs and service binders

• Goal is for application providers to easily integrate Voice Rec within their Apps without needing to know anything about voice rec

Slide 40

Page 40: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Proposed: Content Delivery Streaming EG

• In discussion with major content delivery companies

• Vision is to form a content delivery Expert Group

• Define industry standard content streaming APIs to interface seamlessly with content providers

Slide 41

Page 41: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Proposed: Security Vulnerability Team

• The AGL Advisory Board has reviewed a proposal to create an AGL Security Vulnerability process

• Setup process to secretly share newly found vulnerabilities related to AGL code

• AGL would apply with the appropriate software security organizations to get early notifications

• AGL would act upon those notifications and provide fixes/patches • Denso is leading this effort – thank you! • Next step:

• Need to define the process and get buy-in • Need to put in place some security experts that can do this

work for AGL

Slide 42

Page 42: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Proposed: Functional Safety

• ISO26262 and/or other relevant certifications

• Continues to be a hot topic

• AGL Advisory Board approved that we move forward

• Get experts involved and define our roadmap

• Many companies want to get involved

• Next step: • Recruit expert(s)

• Identify requirements and roadmap

• Form an Expert Group for this activity

Slide 43

Page 43: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

Automotive Linux Summit 2017 Tokyo

650 people across 223 companies and 30 countries!

Slide 46

Advanced Driver Information Technology

Page 44: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AGL at CES 2018 – Venetian Las Vegas

Slide 47

Venetian Hotel Ballroom – 3 rooms combined

Page 45: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

CES Evening Reception

• Private cocktail evening reception

• Thurs Jan 11th 5-8pm

• Invitation only

• We will setup an RSVP form online

• Will require a code to request an invitation

• AGL Members will be able to invite their employees, partners, clients, etc.

Slide 49

Page 46: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

CONNECT WITH AGL

Slide 51

Page 48: Automotive Grade Linux · PDF fileYocto 2.x based Build System ... 5.2 Per Day 6.2 ... • Enables rapid AGL application development Support for Qt

AutomotiveLinux.org >

AGL is “Code First”