Software Engineering Project DAT255

This page is intended as a getting started guide for students taking the Chalmers course “Software Engineering Project” DAT255.

Getting started

The AGA SDK is built in pure Java and most of the code does not depend on Android. Advantages with this approach has been faster development and easier platform testing. All Android specific code is contained in a wrapper-layer called Automotive-Service. Because of this it is possible to use the internal Java code within an application without running it on an AGA device. When you build the application like this the AGA functionality is contained within the application itself and not in the system. Disadvantages is that the platform does not handle fanout of messages to multiple apps, driver distraction does not come as a broadcast and you will have to translate hardware button events yourself.

Two development options:

  1. Using JAR files
  2. Building application with the AGA SDK and deploying to an AGA ROM

You can use any development environment that you like when developing for AGA. As long as they support Android development. In the AGA project we are using both Eclipse with the Google ADT and the Android Studio. Both these IDEs can be found on

Building application using JAR files

If you chose to use JAR-files when you develop there are five files that you need to bundle with your application.

  1. SDP, internal protocol for passing data and handling subscriptions and provides.
  2. VIL, vehicle interface layer is an abstraction layer that the vehicle manufacturer implements.
  3. Automotive-API, the actual interface the application uses.
  4. slf4j-api.jar download from
  5. slf4j-simple.jar part of the same package as 4.

Android will automatically add all *.jar files in the /libs folder so add them there. When these are added you should be able to see packages such as com.swedspot and android.swedspot in your application.

To use the interface and get data from a vehicle you can follow this guide. Develop_an_Android_application_for_JAR_files

Building application using AGA SDK

Information about how to do this can be found on page: Develop an Android application

Using simulator

In AGA there are default implementations that exposes a socket interface to receive vehicle data. When deployed within an actual car this data would come from e.g. the CAN bus. During development one can connect a simulator that can provide this vehicle data.

Read more at the Simulator page and see what signals are available at Signal IDs.

Driver distraction

AGA gives vehicle manufacturers the possibility to change number of driver distraction levels. Prebuilt with with the AGA 1.0 release are five levels. To be compatible with the SICS guidelines in this course you should consider level 0 to be standstill and the other levels as driving.


All JAR files and other artifacts can be found in the AGA 1.0 release notes page. Release Notes AGA 1.0 2014-09-01.