Skip to content

COVESA/hierarchical_information_model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status - Incubating

COVESA Hierarchical Information Model (HIM)

License

Please find the official documentation generated from this repository at: HIM Documentation

Maintainers

Ulf Björkengren - Ford Motor Company

Governance

This repository contains the COVESA Hierarchical Information Model (HIM) - an initiative from COVESA to create a model that can be used to define information (see below) representing any domain. VSS is an example of one domain that is planned to be possible to model in HIM.

This repository is managed by the COVESA Data Expert Group.

HIM Overview

The information of a domain that is described using HIM is represented in a graph made up of a tree structure with parent-child relationships, as shown in Figure 1. HIM graph structure
*Figure 1. HIM graph structure

HIM does not have the ambition to define the content of any domain, it stops at defining the rules for how a hierarchical representation of a domain is to be expressed. This rule set aims at being domain agnostic and can thus be used to define the taxonomies for different domains.

Another ambition of HIM s that it shall support definition of taxonomies of different types of information, and not only the type here called "resource data". HIM currently supports the following "information types":

  • Resource data: Information defining the data that a resource produces or consumes.
  • Service data: Information defining the details of a "service" in the form of a procedure (name, input, output).
  • Type definition data: Information defining complex/composite data types that are used by the other information types.

HIM also provides a rule set for the definition of a "configuration file" that can be used by a HIM enabled data server in its management of a "forest" of multiple trees. This information can also by the server be provided to a client wanting to know what data or services the server has to offer.

What is not an ambition of HIM is to define how the information is transported between agents, which is left to projects defining transport protocols, interfaces, and the like. Neither is it aiming for defining the content of any tree, which is also left to other projects.

HIM origin

The HIM model traces its roots to the COVESA Vehicle Signal Specification (VSS) project.

When the adoption of the VSS data model started to take off, also requests for additional data and other functionality started to be asked for. Instead of trying to accomodate all of these requests in the single tree that defined the VSS domain, it was decided that an extended model was to be developed, the Hierarchical Information Model.

(There should for each COVESA repository be a page on COVESA wiki giving information on roadmaps, meetings, maintainers and so on...)

Pre-commit checks

The repository has configuration file with pre-commits hooks. It executes a number of checks that typically must pass for a new Pull Request to be accepted and merged. You must manually configure pre-commit to use the provided hooks by running pre-commit install from the respository top folder.

~/vehicle_signal_specification$: pip install pre-commit
~/vehicle_signal_specification$: pre-commit install