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

Compare with Current View Page History

« Previous Version 4 Next »

Abstraction

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

When using IVI, it’s required to launch the services that will be used at startup or when requested. This is because the dependent 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.
However, the use cases specified here are described as content specific to the scope described in Chapter 3.

#ItemUser

1

A user presses the start button for ACC-ON , the IVI starts and the home screen is launched (the services required to launch the home screen are launched when the IVI starts).

Driver

2

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

Driver

3

A user makes a hands-free phone call while driving the car. After the user finishes the call and a certain amount of time has passed, the service that is no longer needed is also terminated.

Driver

4

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

Driver

5

The developer configures the service to be started at system startup according to the needs of each product.

OEM/Developer (Before product shipment)

Discussion Space for additional use cases(Freely write please) ~16:36

#ItemUser
1

door open, key approaching

(related to #1)

drivers, passengers
2Time out : user approaches the vehicle but never gets in












Functional Requirements

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

#ItemDescription

1

Use case #1

Services required for the application to be launched at IVI startup should be launched.

2

Use case #2

When requested from an application, the services should be launched for the application launch.

3

Use case #3

It should be possible to control whether or not to terminate the service after a certain amount of time has passed since the end of the application.

4

The certain amount of time(#3) should be configurable.

5

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

6

Use case #4

When IVI system terminates, all of the services should terminate as well.

7

Use case #5

The target services to be launched when system startup should be controllable.

8

The target services(#7) should be configurable.

9

The order of the target services should be controllable.

10

To change the order of , it should be configurable.

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