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 [2018/09/13 22:10]
waltminer [From App FW and Security 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]]. ​
  
-===== 2018 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)** 
 +    * **Jumping Jellyfish, Kooky Koi, Lucky Lamprey, and Magic Marlin on Yocto 3,1 (dunfell)**  
 + 
 +    * Candidate Components to move from meta-agl-devel to meta-agl 
 +      * Voice core components  
 +      * PipeWire  
 +      * meta-agl-profile-graphical-html5  
 +     * 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. 
 + 
 +     * Speech API maturity 
 + 
 +     * Instrument Cluster reference device improvements and maturity 
 +     * New reference board for 2020? Switch to RHSA board. 
 +     * 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?.
  
-    * **Funky Flounder on YP rocko**, Grumpy Guppy <​del>​on YP sumo</​del>​ 
-    * Do we move some APIs from meta-agl-demo into meta-agl or meta-agl-extra?​ 
-     * **Revisit the development process and gerrit usage to make improvements based on lessons learned and expanded developer base.** ​ 
-     * **Review the scope of PulseAudio to minimize its usage to what is absolutely necessary.** (SPEC-1220) 
-     * Review Reference Hardware System Architecture document and consider its implications for the software architecture. ​ 
-     * Move RHSA to doc site.  
-     * Document the documentation workflow and documentation versioning 
-     * Propose a replacement for ask.automotivelinux.org. Probably stack overflow 
-       * ask has been deprecated. Need someone to create a label in stack overflow for us.  
-     * Add additional simplified SOTA mechanism (A/B via rauc) 
-     * **Add video support to mediaplayer binding 
-** 
 ==== 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
-       **HTML5 ​app support as necessary*+         Background ​app awareness on the home screen - (e.g. Current song on media player, phone call in progress, # messages unread) 
-       ​Multi-user use case+         Kill apps individually from life cycle manager 
 +         ​Need to define state diagram for app life cycle 
 + 
        * 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 72: 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  +         * Home Screen API / service -Complete for JJ 
-         ​* ​Home Screen keyboard ​for english and Japanese+           * UI for Qt - Complete for JJ 
 +           * UI for HTML5 - in-flight for JJ 
 +         ​* ​High level API for virtual keyboard in english and Japanese
          * Pop-up support          * Pop-up support
 +           * Virtual keyboard placement and removal
 +           * Alerts
          * Focus management for out of focus apps          * Focus management for out of focus apps
-         ​* ​Background app awareness on the homescreen ​(e.gCurrent song on media player, # messages unread) +         ​* ​Multi-resolution display support 
-         * Add new apps to home screen (not hardcoded)+           * Fix scaling issues across different display sizes  
 +           * Landscape vsportrait  
 + 
 +  
 +         * Add new apps to home screen (not hardcoded) ​- SPEC-1734
          * Management of apps that overflow the screen - slider or multiple pages or folders          * Management of apps that overflow the screen - slider or multiple pages or folders
-         * Improved secondary display ​suport ​+         * Improved secondary display ​support ​
          * Transition Animation          * Transition Animation
-         * Hardware plane management; Rear veiw camera, smart phone connection,,,​+           * Need to define use cases and requirements 
 +           * Handled by Qt Compositor if we continue to use it for demos.  
 +           * Will need to rethink if we switch compositors 
 +         * Hardware plane management; Rear view camera, smart phone connection,,,​
          * User interactive response; vibration of screen, beep,,,          * User interactive response; vibration of screen, beep,,,
        * Upstream to Wayland/​Weston        * Upstream to Wayland/​Weston
Line 97: 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?  ​ 
-     * How do we get LG involved in this group? 
-     * What is the roadmap for Wayland/​Weston versions for 2018? 
-       * SAT recommends following Yocto. ​ 
  
  
 ==== From Connectivity EG ==== ==== From Connectivity EG ====
 +
 +Updated 06 Feb 2020
 +
      * Vehicle Signaling ​      * Vehicle Signaling ​
-       * {{:​ff-ready-brightgreen.png?​nolink&​75|FF-READY}} **Signal composer stabilization an improvements** 
-       * {{:​ff-ready-brightgreen.png?​nolink&​75|FF-READY}} API to define new virtual messages at run-time 
-       * {{:​ff-partial-yellow.png?​nolink&​75|FF-PARTIAL}} Extend low level binding to hardware other than CAN. Need to determine what the next target hardware should be.  
        * Factory programming of CAN message set based on final vehicle configuration. Requires multiple vehicle message dictionaries to be present in the code.         * Factory programming of CAN message set based on final vehicle configuration. Requires multiple vehicle message dictionaries to be present in the code. 
-       ​* ​**Add GPS data to virtual signal composer** +       ​* ​Content encryption within vehicle for streaming services or Blue Ray content. ​ 
-       ​* ​**Sensor data collection and include in signal composer** +       ​* ​Better support for translation from CANoe to AGL message sets. 
-       ​* ​**V2C interface** +       ​* ​Any other standard message set tools that we should support?
-       * **Improved performance using Denso Ten baseline as presented at ALS 2018**+
  
      * Bluetooth improvements      * Bluetooth improvements
-       ​* ​{{:​ff-ready-brightgreen.png?​nolink&​75|FF-READY}} **Bluetooth ​binding rewrite** for stability and robustness ​ +       ​* ​Add support for proprietary chip stacks based on work done on other projects in support of AGL. Supports production readiness 
-       ​* ​{{:ff-ready-brightgreen.png?​nolink&​75|FF-READY}} **PBAP/​Contacts binding** +       * Bluetooth ​Low Energy (BLE) support 
-       * BLE binding ​+ 
 +     Tuner  
 +       ​* ​Update tuner API based on Denso-Ten gap analysis.  
      * WiFi improvements      * WiFi improvements
-       * {{:​ff-ready-brightgreen.png?​nolink&​75|FF-READY}} **WiFi binding rewrite** for stability and robustness +       * AP Mode 
-       * **AP mode** +
-       * **Additional Wifi dongle support** +
-       * 802.11p support +
-       * Investigate LPWAN support for automotive +
-     * WWAN binding +
-       * Support current QMI  modems via either modemmanager or ofono+
      * Telephony app improvements      * Telephony app improvements
-       ​* ​Show missed call, last outgoing, last incoming call log info +       ​* ​Need to do more extensive testing of the Telephony app now that audio is working better. 
-       * Contacts integrated into dialing, caller ID, and call log info +
-     * NFC binder and NFC for user identification +
-     * Hardwired connection to telephone for **Telematics use cases**+
      * Network management binding      * Network management binding
-       ​* ​GG priorities ​in bold +       ​* ​Conman is probably not appropriate for production use cases, but we need requirements from Tier Ones and OEMS.  Do we switch to network manager or wait for someone to push code to us that already works in a production environment?​ 
-       ​* ​General network connectivity above connman ​to manage connectivity including ​**IPv4/v6 configuration**, bridging, tethering, network QOS and switching +       ​* ​Hardwired connection ​to telephone for **Telematics use cases** 
-       ​* ​**Add configuration ​support for networking into settings app**+       ​* ​Multiple simultaneous telephone ​support ​(wired + BT) for telematics use cases
        * User profiles to allow authorized users to configure interfacing        * User profiles to allow authorized users to configure interfacing
-       * Support multiple low-level interface binding backends including **Ethernet, WiFi**, BT PAN, and WWAN 
- 
-     * For 2018 - evaluate usage of connman versus network manager/​modem manager for long-term especially for 4G and complex use cases. 
  
  
Line 147: 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 162: 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 
  
  
 ==== From CIAT EG ==== ==== From CIAT EG ====
-     * Lab in a box 
-       * Board management 
-       * Board on developer'​s desk 
-     * Improved publishing of test results 
-     * Additional tests 
-       * Applications 
-       * {{:​ff-partial-yellow.png?​nolink&​75|FF-PARTIAL}} App Services 
-       * Platform 
-       * BSPs 
-     * Fuego integration 
  
 +Updated 06 February 2020
 +
 +  * Improved publishing of test results
 +    * Email Reports
 +      * improve format and feedback to gerrit
 +  * Additional tests
 +    * Applications
 +      * build and test different wgt types (normal, debug, test, coverage)
 +  * Fuego integration
 +    * Support to run tests as lava jobs (from within Fuego)
 +  * Images in build matrix
 +    * more variants! (plan is to use qemux86-64 for this)
 +      * e.g. sota enabled
 +      * agl-demo-platform-html5 (html5-only UI)
 +      * cluster profile/​image
 +      * telematic profile/​image
 +  * move from jenkins-job-builder to a .jenkinsci or yaml based job description
 ==== From Navi EG ==== ==== From Navi EG ====
      * AGL Navigation API      * AGL Navigation API
agl-roadmap.1536876654.txt.gz · Last modified: 2018/09/13 22:10 by waltminer