Linux

in "In-Vehicle Infotainment" Systems

Motivation & Goals


  • Linux IVI are essentially driven by OEMs to 
    • reduce development costs dramatically
    • speed up innovation and time to market
    • enable faster technology update
  • Linux is an open-source operating system and therefore
    • free available
    • free of license fees
  • Increase the amount of re-usable software modules
  • Derive from existing software modules and adapt it to project-specific needs
  • Inspire open-source community to develop applications based on Linux
  • Bring together automotive with consumer electronics activities

Open-source software collaboration


  • Linux IVI systems are usually developed in collaborations to bundle and align open source activities
  • Collaboration members are
    • OEMs
    • Software suppliers
    • Hardware and middleware suppliers
  • Important initiatives are
    • GENIVI
    • Automotive Grade Linux



Beyond the operating system


  • Standardization of application layer interfaces
  • Alignment of requirements
  • Provisioning of reference implementations and proof-of-concepts
  • Common solutions for cross-cutting functionality needed, e.g.:
    • Log & Trace
    • Diagnosis
    • Startup / Shutdown
  • Application and/or HMI framework required
  • Common Middleware (IPC) solution required for well-defined data exchange between applications
  • Definition of a software development process
  • Tooling support (Configuration management, SW Design Tools, Development GUIs, etc.)

Genivi software functional units

Expert Groups (1/2)

Automotive
Diagnostic Log and Trace, Software Management, Virtualization, CAN-based networking
Connectivity
Bluetooth, Media Playback, Audio Processing, DLNA, Smart Device
HMI & Application Framework
HTML5, PlugIn Architecture, Pop-Up Management, Speech Interface
Location-Based Services
Positioning, Navigation, Traffic Provider, POI Provider

Expert Groups (2/2)


Media & Graphics

Audio Manager, Layer Manager, Graphics Back End Server, Web and Radio Tuner, Graphics API
Networking
Browser, Data Transfer, Ethernet, Inter Node Communication
System Infrastructure
Lifecycle, Persistence, User Management & Personalization, IPC, Franca IDL, Common API

Intellectual Property


Licensing

  • Development department must be supported by legal department
  • The license model of used open-source software must be understood and applied correctly

Unique Selling Points
  • Differentiation of unique features is more difficult in a system with standardized interfaces
  • Look and feel might be predetermined
  • Difficult and tedious process to extend standardized interfaces for proprietary needs

Hardware & OS Support


  • Experts are needed to port Linux Kernel to underlying hardware and processor architecture
  • Often unclear who will provide driver, if not already provide by hardware supplier
  • Since Linux Kernel has no determined Driver API, driver adaptations might be necessary from release to relase
  • Powerful tools needed for monitoring CPU usage, RAM consumption, scheduling, etc.
  • Who provides non-functional software modules such as middleware or application framework?

Integration


  • Integration of complete software stack has a high complexity, due to amount of software modules and suppliers
  • Coherent process and tooling necessary to cover entire software lifecycle from requirements management to system testing
  • Formal description of interfaces required in order to
    • generate re-occuring code (such as control & data flow)
    • decouple logical interface from technical details
    • compare real-life behavior with specification
    • create a homogeneous system architecture
    • establish a common system understanding for all stakeholders (architect, requirement manager, project leader, developer)
  • Software development process must be defined with a supporting tool environment

Experiences from Genivi


  • OEM has different goals than supplier
    • OEM wants to re-use available software modules
    • Supplier wants to re-use software modules in different platform and OS environments
    • Each supplier has already APIs for the functional units, which then needs to be adapted
  • Overall software is very unhomogeneous
  • Most supplier use legacy code, that is not natively implemented for running under Linux, but also under different operating systems
  • Several frameworks and IPCs mechanism do co-exist
  • Lots of adaptor layers are implemented
  • Interface definition is very time-consuming and unefficient

Android as competitor


  • Android is based on a Linux Kernel, but also provides
    • additional libraries
    • runtime
    • application framework
    • development environment (Eclipse-based Android SDK)
  • Open-source community is used to Android App development
  • User is familiar with look & feel from Android Apps by Smartphone and Tablet
  • Android can replace Linux or co-exist
Made with Slides.com