Skip to content

Feature Request for Config Management #754

@michaelsaborov

Description

@michaelsaborov

Embedded software usually needs specific adaptations to a particular vehicle in terms of configuration properties. Such configuration properties are called parameters in the following abstract. Examples of parameters are vehicle geometry or geographical region of use. Parameters are used in manifold computations and are expected to be constant during a driving cycle in customers hand.
Currently we differntiate between two types of parameters depending on type of configuration and related development process: coding parameters and calibration parameters.

ConfigDaemon application implements an on-target data base for all parameters used in a particular ECU and a generic interface for parameter accesses by user applications.

The basic idea of ConfigDaemon is justified by the use case of having only flexible runtime dependencies on parameters from the view point of a user application. Generic interface to access a parameter is defined by key-value principle, where key is a unique name for a required parameter and value is any data related to this name. Runtime dependencies have an additional value in comparison to statically defined interfaces for every specific parameter, which have to be resolved at build time. This approach allows to shorten build times and avoids the necessity of system model changes and following re-builds if a parameter changes.

ConfigDaemon is internally structured as

  • an application, which implements a parameter data base and interface for parameter access and
  • additional plugins, which handle specific kinds of parameters according to OEM functional requirements, like
  • coding plugin or
  • calibration plugin

Flexibility of the generic interface is achieved by representation of any parameter value as a string. To convert the string representation to the original data type of a parameter an addition library ConfigProvider is offered. ConfigProvider is supposed to be integrated in a user application. ConfigProvider, thus, is responsible for

  • establishing of communication to ConfigDaemon,
  • receiving eventual parameter updates,
  • providing of typed access methods to parameters towards a user application.

Image

Metadata

Metadata

Type

No type

Projects

Status

Accepted

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions