User Tools

Site Tools


agl-roadmap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
agl-roadmap [2020/02/06 15:22]
waltminer [From CIAT EG]
agl-roadmap [2021/03/11 12:21] (current)
YAMAGUCHINaoto
Line 3: Line 3:
 The official AGL Roadmap is maintained in Jira. [[https://​jira.automotivelinux.org/​issues/?​filter=10401 |This link]] will show the latest project list in Jira. More information on how AGL uses Jira for project management can be found [[start:​using-jira|here]]. ​ The official AGL Roadmap is maintained in Jira. [[https://​jira.automotivelinux.org/​issues/?​filter=10401 |This link]] will show the latest project list in Jira. More information on how AGL uses Jira for project management can be found [[start:​using-jira|here]]. ​
  
-===== 2019 Roadmap/ Workplan from SAT =====+===== Roadmap/ Workplan from SAT ===== 
 + 
 +Beginning in [[https://​docs.google.com/​spreadsheets/​d/​1WsFPh_-2wAYE8NvKlBGywYixhhJz9EBlbUR02r0UWF8/​edit?​usp=sharing | 2021 Feature Planning by Expert Group]] will be managed in a Google Sheet.  
 +  
 +Updated 01 March 2021
  
     * **Happy Halibut and Itchy Icefish on Yocto 2.6 (thud)**     * **Happy Halibut and Itchy Icefish on Yocto 2.6 (thud)**
-    * Components to move from agl-devel to agl-extras +    * **Jumping Jellyfish, Kooky Koi, Lucky Lamprey, and Magic Marlin on Yocto 3,1 (dunfell)**  
-      * 4a + 
-     ​Review Reference Hardware System Architecture document and consider its implications for the software architecture. ​ +    * Candidate ​Components to move from meta-agl-devel to meta-agl 
-     * Move RHSA to doc site.  +      * Voice core components ​ 
-     * Finish the documentation site improvements and increase the amount of documentation by 100% +      PipeWire ​ 
-     * Move to groups.io  +      meta-agl-profile-graphical-html5 ​
-     * **Add video support to mediaplayer binding.**+
      * Video player and in-vehicle video architecture that allow third-party plug-ins, rear view camera, Autonomous vehicles, encrypted data such as widevine (from Google) for Netflix, Hulu, Android, etc.      * Video player and in-vehicle video architecture that allow third-party plug-ins, rear view camera, Autonomous vehicles, encrypted data such as widevine (from Google) for Netflix, Hulu, Android, etc.
-     * Finish AGL spec 2.0 +
-     * Web App Manager maturity ​+
      * Speech API maturity      * Speech API maturity
-     * Home Screen and Window Manager re-architecture ​+
      * Instrument Cluster reference device improvements and maturity      * Instrument Cluster reference device improvements and maturity
-     * Create Telematics reference device +     * New reference board for 2020Switch ​to RHSA board.
-     * New reference board for 2019CES 2020 board should be M3 again or move to H3?  Need information from RHSA.+
      * Smartphone connectivity - no OS solution that allows integration of proprietary solutions such as CarPlay or Android Auto.  We do not have all of the components (video and audio especially) that are required for these integrations. What do we need to add?      * Smartphone connectivity - no OS solution that allows integration of proprietary solutions such as CarPlay or Android Auto.  We do not have all of the components (video and audio especially) that are required for these integrations. What do we need to add?
 +     * Long-Term Stable updates, proposal and agreement on a roadmap ot make each UCB components LTS
 +     * Improve collaboration with other projects to resolve many issues.ELISA,​ Yocto, OE, CIP
 +     * Increase production readiness based on OEM and Tier One gap analysis of missing features in UCB. 
 +       * Toyota code drop and other contributions from Tier One and OEM members
 +     * Increase QA and testing by increasing code coverage of our existing automated and manual tests
 +     * Apis
 +       * Define an AGL APIs description format and implement command line tools to generates C/C++ code skeleton and JSON marshaling/​un-marshaling and API documentation (SPEC-1903)
 +     * Signaling
 +       * Implement a per-signal (or per-class) permission model
 +       * Define & agree on Key Performance Indicator to ensure QA validation
 +     * Vehicle to Cloud
 +       * Propose an identity model to manage local/​remote identity to enable smartphone cooperation etc
 +       * Add MQTT as native transport for AGL
 +     * Security / Application Framework
 +       * Finalize and improve token logic in order to support smartphone replication ​
 +       * Set-up Firewall (in relation with the App. Framework)
 +       * Implement Security Manager hosted and maintained by AGL
 +       * Turn on widget signing and security enforcement
 +       * App. Framework: allow customers extensions (plugable transport / security / protocol) and make sustainable LTS source code
 +       * add support for legacy applications (for example support AGL Java client) and add LXC/systemd container to run 3rd party or legacy apps. 
 +       * Implement a secured single port reverse proxy
 +       * Better handling of reconnections (add connection session persistence,​ keep alive, ...)
 +       * Move from widget (now deprecated by W3C) to RPM package format for AGL services and applications
 +       * Add support for Javascript and Python bindings
 +     * Power resource & boot management
 +       * Integrate a boot configuration manager to reduce boot time, monitor, select boot mode, ...
 +       * Leverage TPM, trusted apps to secure key AGL services (App Framework, Identity, ...)
 +       * Support sleep on RAM and cryogenics for apps
 +     * System
 +       * minimize AGL footprint to support small systems (eg. small ECUs running cluster or telematic AGL profile)
 +       * Add real time capabilities on APIs (priorities,​ predictable execution) to guarantee QoS
  
 +==== From Instrument Cluster EG ==== 
 +   * Updated 11 Mar 2021 
 +     * Audio Management (Inter container management) 
 +       * Start at 2020. Now working. 
 +         * Ref. [[https://​jira.automotivelinux.org/​browse/​SPEC-3471|this issue]] 
 +     * Improvement for DRM lease improvement 
 +       * Maintenance for AGL upstream. 
 +       * Add DRM lease support to AGL compositor 
 +         * Ref. [[https://​jira.automotivelinux.org/​browse/​SPEC-3838|this issue]] 
 +       * V4L2 overlay support 
 +     * <​del>​Fast Boot</​del>​ Dropped 
 +     * OSS reference implementation for the RTOS combinations.  
 +       * Develop this task with L.F. mentorship in our plan. 
 +       * Implement RTOS with real-time function (ex. CAN communication) and inter OS communication using Bosch iccom. 
 +         * Ref. {{sat_meetings:​gsoc_sat.pdf}} 
 +       * Rename and upstreaming of Bosch iccom. 
 +     * AGL IC integration (Qualified IC profile) 
 +       * Adding board support 
 +         * IC EG members may realize to the qualified ic profile at only one reference board. ​ When we want to add another board, need to another work. 
 +     * OSS assessment 
 +     * New IC components 
 +       * Will be discuss. 
 +     * Non volatile RAM disk development. 
 +       * PRAMFS was stopped maintenance. ​ Need to same solution. In case of IVI PR, that same situations. 
 +       * Non volatile RAM block device?.
  
 ==== From App FW and Security EG ==== ==== From App FW and Security EG ====
  
-     * **HTML5 apps** +   Updated 24 Feb 2021 
-       ​* ​HTML5 home screen +     Open questions for IVI PR effort  
-       ​* ​Chromium+       Continued use of systemd ​  
 +       Linux Security Module for AGL (SMACK, SELinux, AppArmor, or none). None implies leaving the LSM to the product developer. ​ Choosing one effectively locks in the Product developer to a solution.  
 +       API mechanism. Continue to use OpenAPI or change to a different mechanism for platform services. Ideally we have an IDL that autogenerates the API code. (grpc, OpenAPI, or another) 
 +       ​* ​Long-term use of Qt 
 +       ​* ​IPC should be defined and selected. ​
  
      * Security workflow. Now that we have the building blocks in place, turn on security and put in place a mechanism for developers to sign applications,​ load them.      * Security workflow. Now that we have the building blocks in place, turn on security and put in place a mechanism for developers to sign applications,​ load them.
-     * Define the list of privileges we are going to enforce in the security model. ​   
-     * {{:​ff-partial-yellow.png?​nolink&​75|FF-PARTIAL}} **Running apps not as root/ multi-user** 
-     * {{:​ff-partial-yellow.png?​nolink&​75|FF-PARTIAL}} Distinction between platform services (e.g., nfc, telephone) and user services that run inside a user context (e.g., media player and lightmedia scanner) ​ 
      * Changes necessary at binder level for V2C (SSL transport)      * Changes necessary at binder level for V2C (SSL transport)
-     ​* ​{{:​ff-partial-yellow.png?​nolink&​75|FF-PARTIAL}} Application signing ​and installation mechanism +     ​* ​App Signing ​and Installation ​Mechanism
-       * {{:​ff-ready-brightgreen.png?​nolink&​75|FF-READY}} ​Mechanism ​for checking signature is in place.  +
-       * Require all apps to be signed in GG+
        * Developer workflow is needed for managing keys        * Developer workflow is needed for managing keys
-       * Development mode and Production mode for app management ​+       * Development mode and Production mode for app management
      * Secure applications running on a remote device such as mobile phone or tablet that are rendered on the IVI system.      * Secure applications running on a remote device such as mobile phone or tablet that are rendered on the IVI system.
-     * {{:​ff-ready-brightgreen.png?​nolink&​75|FF-READY}} Binder APIv3 (enable dynamic APIs) + 
-     * Improved Developer workflow for debugging apps including  +
-       * {{:​ff-partial-yellow.png?​nolink&​75|FF-PARTIAL}} Round trip download/​debug/​fix/​download apps.  +
-       * {{:​ff-partial-yellow.png?​nolink&​75|FF-PARTIAL}} **Supervision daemon for apps and services for development mode.** Allows a developers to have a central place monitor IPC in real time. Builds on the current monitor service that is available for binders. Extends its availability to startup and allows more general monitoring without requiring detailed knowledge of what is available in a specific binder. +
- +
-     * **Task manager app** to allow developers to see what tasks/​process are running in an app. Allow for killing apps.   +
-       * Review AGL spec 1.0 to determine what requirements are there for managing home screen and apps. Something like iphone where a double-tap on home button allows swiping up of apps to kill them.  +
-     * Terminal app on home screen +
- +
-     * Introduce resource widgets to share content/ resources across multiple apps. +
      * App Launcher for web apps and strategy for managing code that can be downloaded on the fly by HTML5      * App Launcher for web apps and strategy for managing code that can be downloaded on the fly by HTML5
      * App Framework API and strategy to stop non-privilege apps that are currently in the background (e.g., SIGTERM). Do those apps save their state so they can restart quickly? ​      * App Framework API and strategy to stop non-privilege apps that are currently in the background (e.g., SIGTERM). Do those apps save their state so they can restart quickly? ​
      * App Framework binder communications shall be able to manage return from sleep mode.       * App Framework binder communications shall be able to manage return from sleep mode. 
-     * Connection glitches in multi-ECU system shall be properly handled. ​ 
-     * **XDS features** 
-       * {{:​ff-ready-brightgreen.png?​nolink&​75|FF-READY}} v1.1.0 - targeted release date: AMM (2018 February 20th) 
-         * Board console/​terminal integration within XDS dashboard 
-         * Documentation improvement of debug section 
-       * {{:​ff-ready-brightgreen.png?​nolink&​75|FF-READY}} v6.0.0 - targeted release date: ALS  (2018 June 20th) 
-         * Monitoring integration 
-       * v7.0.0 ​ 
-         * Improved development cycle (based on partial Widget installation) 
-         * First step to support package manager for SDKs (Yomo) 
  
-     ​* ​**GG Priorities for App FW**+     * App Life Cycle
        * Complete application lifecycle definition to prepare for all apps moving to new app lifecycle in HH        * Complete application lifecycle definition to prepare for all apps moving to new app lifecycle in HH
          * Background app awareness on the home screen - (e.g. Current song on media player, phone call in progress, # messages unread)          * Background app awareness on the home screen - (e.g. Current song on media player, phone call in progress, # messages unread)
          * Kill apps individually from life cycle manager          * Kill apps individually from life cycle manager
          * Need to define state diagram for app life cycle          * Need to define state diagram for app life cycle
- + 
-       * **HTML5 app support as necessary** +
-       * Multi-user use case+
        * API for abstraction of hardware mechanism for signing apps, packages, etc.         * API for abstraction of hardware mechanism for signing apps, packages, etc. 
-       ​* ​HeadlessTelematics use case +       * //Modularization of application-framework-main to improve key management, maintainability and building across multiple platforms.//  
-       * Unit testing for app framework +         ​* ​//Split off the keys from the App FW. Currently are [[https://​git.automotivelinux.org/​src/​app-framework-main/​tree/​certs | here]]//
-       ​* ​Modularization of application-framework-main to improve key management, maintainability and building across multiple platforms.  +
-         * Split off the keys from the App FW. Currently are [[https://​git.automotivelinux.org/​src/​app-framework-main/​tree/​certs | here]]+
          * Allow keys to be changed by the device developers - git repo and recipe for keys          * Allow keys to be changed by the device developers - git repo and recipe for keys
          * Library (or binding) to plug in key management to the app FW.           * Library (or binding) to plug in key management to the app FW. 
Line 84: Line 116:
          * Sign at build time in AGL CI system with a check at run time           * Sign at build time in AGL CI system with a check at run time 
  
 +   * **Web Apps/ HTML 5**
 +     * Upstream Chromium Webview the API required by Web Application Manager
 +     * Simplify the communication between Chromium and WAM
 +     * Make WAM upstream independent of WebOSE Chromium (use baseline Chromium for easier maintence)
 +     * Integration between WAM and the new Window Manager
 +     * Web apps - Complete the integration with the new security model
 +     * Web Apps - Improve application life cycle
 +     * Web Apps - Support for containerization of the HMTL5 demo platform
 +     * Web Apps - Improvements on the demo-webapp libraries for theming and websockets integration
 +     * Additional demo apps
 ==== From Graphics EG ==== ==== From Graphics EG ====
 +Updated 29 Jul 2020
 +
 +Our responsibilities have been almost completed in 2019. Our individual activities are not planned for next year.
 +The remaining activities will be addressed in IC-EG.
 +
      * Graphic      * Graphic
        * **Finish Window Manager and Homescreen work**        * **Finish Window Manager and Homescreen work**
-         * Home Screen API / service +         * Home Screen API / service ​-Complete for JJ 
-           * UI for Qt +           * UI for Qt - Complete for JJ 
-           * UI for HTML5+           * UI for HTML5 - in-flight for JJ
          * High level API for virtual keyboard in english and Japanese          * High level API for virtual keyboard in english and Japanese
          * Pop-up support          * Pop-up support
Line 120: Line 167:
        * Speech and Text to Speech Services collaboration        * Speech and Text to Speech Services collaboration
          * Policy management between mic input and Media player output          * Policy management between mic input and Media player output
- 
-   * Questions for EG from SAT: 
-     * Do we remove support for IVI protocol is favor of XDG? 
-       * Answer: No. Cannot deprecate IVI protocol unless extensions to XDG are made.  ​ 
- 
-     * What is the roadmap for Wayland/​Weston versions for 2018? 
-       * SAT recommends following Yocto. ​ 
  
  
Line 163: Line 203:
  
 ==== From Virtualization EG ==== ==== From Virtualization EG ====
 +     * VirtIO Porting
 +       * Add VirtIO frontend (OASIS v1.1) to AGL
 +       * Create documents to illustrate how to enable VirtIO
 +       * Add VirtIO support and provide reference implementation on AGL reference hardware.
 +       * EG Demo in ALS
      * AGL virtualization support (HOST)      * AGL virtualization support (HOST)
        * Add support for open-source hypervisors in meta-egvirt for both ARM and Intel AGL platforms. In this way, at compilation time it will be possible to select the hypervisor to use        * Add support for open-source hypervisors in meta-egvirt for both ARM and Intel AGL platforms. In this way, at compilation time it will be possible to select the hypervisor to use
Line 178: Line 223:
      * VMs/AGL profiles communication      * VMs/AGL profiles communication
        * define, design and develop a common API to enable communication/​interaction between different VMs/AGL profiles        * define, design and develop a common API to enable communication/​interaction between different VMs/AGL profiles
-     * CES2019 demonstrator integration 
-       * include virtualization in the CES2019 demo, in a way that all the new features developed in 2018 are demonstrated 
-         * showcase at least two operating systems running concurrently (e.g., two AGL profiles), interacting and exchanging data with each other 
  
  
agl-roadmap.1581002557.txt.gz · Last modified: 2020/02/06 15:22 by waltminer