Bosch IoT Rollouts

SOUP Domain model

Table of contents:

Domain model diagram

The System software update domain model extends the Bosch IoT Rollouts data model (in gray) with entities required to update systems (in blue).

images/confluence/download/attachments/3958023847/domain-model-version-5-modificationdate-1730818340000-api-v2.png

Entities

System

A system is a collection of interconnected modules that can be updated using a special module called a gateway. Each system is assigned a unique ID and is created based on a System Report. If the configuration of modules changes, the system identification algorithm determines whether the existing system should be updated or marked as outdated, resulting in the creation of a new system.

For more details about systems refer to SOUP System and module#Understanding systems.

Module

A module represents a device within a system that. Updatable modules are represented as a target in Bosch IoT Rollouts terminology while non-updatable modules are monitored for dependencies. Each module has an ID and type, which is referred to as the Bosch IoT Rollouts target type. Additionally, modules can provide properties, i.e. key-value pairs which can be used for filtering and matching purposes. For updatable modules properties are also stored as controller attributes.

For more details about modules refer to SOUP System and module#Understanding modules.

Recipe

A recipe, also referred to as system update definition, groups a set of filter queries and distribution sets. Each tuple is called module update definition, where the filter referred to as a module match query, identifies a module within the system and the distribution set is the corresponding update for that modules. The intersection of all module match queries identify matching system. Before a recipe is ready to be applied, it goes through a lifecycle from DRAFT, WAITING_FOR_SIGNATURE, RELEASE_CANDIDATE, WAITING_FOR_APPROVAL, and finally to RELEASED.

Match query

The match query is part of the module update definition and identifies matching modules. In addition, a match count is provided indicating how many modules can or must be matching this query.

For more details about the recipe refer to SOUP Recipe.

System action

A system action represents the software update process of a system. It refers to a recipe and the corresponding Bosch IoT Rollouts actions for the update process of each module as part of the system update. The list of system actions of a system represents its update history.