You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Abstraction

This chapter provides requirements for the function of the Services Launch / Termination function.

When using IVI, it’s required that not only the system is launched at boot time, but also the services that will be used are launched. This is because the necessary services need to be launched for the user to use the application and for the system to work. Similarly, when the system terminates, the services that have been already launched should also be terminated.

Use cases

In the following table, use cases which need the system launch / termination for services are described.

#Item

1

A user starts the car, then the IVI starts, and the home screen is launched (the services required to launch the home screen are launched when the IVI starts).

2

A user gets into the car, uses the navigation system, and sets the destination. The user starts the navigation application, enters the destination, and the time required and route are displayed.

3

A user makes a hands-free phone call while driving the car. When the user finishes the call and hands-free is terminated, the service that is no longer needed is also terminated.

4

A user arrives at the destination and stops the car. The IVI system stops and the activated services are terminated.

Functional Requirements

This table includes the functional requirements of Services Launch / Termination module.

#ItemDescription

1

Service launch(Use case #1, 2)

The target services to be launched other than the services that start as standard when the system starts should be controllable.

2

To change which services to be launched, the targets should be configurable. 

3

The order in which the target services are launched should be controllable. 

4

To change the order, it should be configurable. 

5

Automatically continue to launch the functions of the previously used application when the IVI is launched. 

6

Service termination(Use case #3, 4)

It should be possible to control whether or not to terminate the service even after the application has been stopped.

7

Whether or not to stop #6 services should be configurable.

8

The order of termination process should be controllable.

9

The order of termination process should be changeable.

Service Launch / Termination in Basesystem

Reference implementation in Basesystem

In the implementation of Basesystem, the function modules for launching and terminating resident services and non-resident services are separated. System manager launches and terminates resident services and Task manager launches and terminates non-resident services.

System manager

When System manager is started, it launches the resident services other than System manager in line with the order in the Configuration file in System manager. The services can be grouped and System manager launches the services per the group.
Also, System manager terminates the other services in line with the order in the Configuration file. The system shutdown is processed based on Hardware requests, the service requests and malfunction detections etc.

Task manager

Task manager launches and terminates the non-resident service.This function is provided as a process and launched by System manager. Task manager provides the service launch interface to HMI application and launches the service if requested. 

Reference code

System manager

https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging/basesystem.git;a=tree;f=service/system/system_manager;hb=refs/heads/master

Task manager

https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging/basesystem.git;a=tree;f=service/system/task_manager;h=0d795ded146125a0f28b363e8e0821210d1be209;hb=refs/heads/master

  • No labels