Create the AGL App Framework

Description

The AGL Application Framework requirements are included in version 1.0 of the System Requirements Spec. The UCB does not have an application framework that conforms to the requirements. This project will revisit those requirements in light of the UCB work that was done in 2015 and look at existing solutions to determine if there is a good starting point or whether AGL should create one from scratch.

Background:
Originally AGL was using Tizen IVI and its Application Framework. Now that Tizen IVI is no longer supported AGL needs to determine how to proceed. Drawing on the lessons learned from Tizen IVI, GENIVI, Android, other ecosystems, AGL will choose an Application Framework that best meets the automotive communities needs.

Environment

None
100% Done
Loading...

Activity

Stephane Desneux 
January 25, 2017 at 2:38 PM

Appfw was released in BB and CC

Stephane Desneux 
June 3, 2016 at 7:23 PM

App Fw repositories have been migrated to AGL Gerrit and a release branch has been created:

  • src/app-framework-main : main service

  • src/app-framework-binder: binder daemon

  • src/app-framework-demo: examples, demos, app templates ...

The layer meta-app-framework which was available in the repository staging/meta-iot-agl should be migrated to AGL/meta-agl for integration in the main AGL distro. 3 patches have been pushed for review for this purpose:

These patches basically add the recipes to build the app framework services and also adjust the templates to:

  • add the necessary layers in bblayers.conf

  • add some options related to SMACK in local.conf

  • include a new package group named agl-app-framework in the images

  • include a package group with examples in agl-demo-platform images

The result of this on the live images are::

  • SMACK is active but default rules apply and don't block much things as most of the services run as root (this should be fixed progressively)

  • a new package agl-users is installed and creates specific users (driver and passenger) to handle various use cases and have a real user environment without much privileges

  • 2 new services are running (af-system-main and af-user-main) to handle package install/uninstall at system level and apps lifecycle (start/pause/resume/stop) at user level

  • 1 binder is running in agl-demo-platform images to handle requests related to application framework and a homescreen application is available (afm-client)

The staging layers have been tested successfully on Porter board, Minnowboard Max and Qemu machines. Also, internally, we've been working on AGL with these modified images regularly synced with upstream AGL every day since the end of last February without any extra issue.

Stephane Desneux 
May 31, 2016 at 1:05 PM

App Framework 1.0 will be released soon. I'll ask for git repos to be created in gerrit (src area)

Walt Miner 
March 30, 2016 at 1:40 PM

Should also review the Tizen lessons learned paper from IoT.bzh

http://iot.bzh/download/public/2015/tizen-security-lessons-learnt-initial.pdf

Stephane Desneux 
March 17, 2016 at 2:11 PM
(edited)

For a global overview, of the App Framework developed by IoT.bzh; please have a look at the presentation AGL-2.0 Security Architecture Proposal.

The current source code is available on our github account:

Documentation for each component is stored inside each repository.

We also maintain an extra layer to build images with security, appfw and other improvements not yet in mainline AGL:

WARNING: this is still WIP (work in progress)

Fixed

Details

Assignee

Reporter

Fix versions

Labels

Priority

Epic Name

Created March 11, 2016 at 5:25 PM
Updated July 27, 2020 at 5:31 AM
Resolved January 25, 2017 at 2:38 PM