�FOSS collaboration �through API-first principles
Magnus Feuer | MBition | 2023-03-08
Internal
Part I
Mercedes‘ API-First Principles
Internal
How do we coordinate software development across �multiple ECUs, departments, and carlines?
“
Internal
Principles derived from our MB.OS Manifesto
Use abstraction to decouple software from hardware
1
3
4
2
Separate APIs from their implementation
Evolve specification with implementation
Center around a machine-executable definition of done
Internal
Principle 1 | Use abstraction to decouple platform from hardware
Command & Control
Sensor
Actuator
Integration ECU – MB.OS Abstraction
Integration ECU – Carline Specific
IVI, ADAS, TCU, …
MB.OS Network Layer
High-level commands
Real-time control loop management
Real-time actuator control
Internal
Principle 2 | Separate APIs from implementations
fm-tuner-test.yml v1.5
fm-tuner-api.yml 2.3
fm-tuner-iface.hpp
fm-tuner-iface.cpp
fm-tuner-impl.cpp 2.8
Auto-tests
Generates
Wraps
fm-tuner-mock.cpp 2.3
Wraps
Internal
Principle 3 | Evolve Specification with Implementation
Updated API Spec
Updated Test spec
Network and Language bindings
Mockup code
Automated integration tests
Implementation
Automated call flow tests
Documentation
Release
Updated�Requirements
Internal
Principle 4 | Center around a machine-executable definition of done
SW Element
Component
Subsystem
Component Test Script
Aggregate Test Script
Integration Test Script
API
API
API
Internal
What do we want to achieve?
Internal
Part II
API First and Open Source
Internal
Create Open Vehicle API Standards
Internal
Left-shift testing with a new class of tools
Test Scripts
Test Manager
Mockup Code
Code Under Test
Internal
Leverage FOSS for innovation
Cloud
In-Vehicle
Internal
MBition and Open Source
Internal
What is next?
Internal
Magnus Feuer | MBition | magnus.feuer@mercedes-benz.com
Thank you!
Internal