We can see the system as a box with inputs and outputs. The system is able to perform one, some of part of a function. Internally, if the work to be done by the system is not trivial, it is divided into subsystems. The system hierarchy is like an inverted tree where each node is a system, being more general and abstract on the top (root) and more concrete and specialized at the bottom (leafs).

We will visit some systems: the top most system of our tree (root) and one of the “leaf” nodes.

In the root node we can see a mechatronic module, with hardware and software functionalities (and thus, hardware and software inputs and outputs). In the leaf one, pure software functionality and software inputs and outputs.

The root system

Can be found at

We can see here these things:

  • Left column:
    • System properties.
    • Connectors: J1, J2...
      • Numbered pins with assigned flows.
  • Children view
    • Tree view: we can see all the children subtree as a tree-view control, we can expand/collapse nodes, etc... This view also includes connectors and flows.
    • First level children.
  • Function sub systems (or how the functions are "mapped" on this subsystem, to be described later).
    • We can see two behaviours satisfied by this system: CULowBeam and BCMParkLights.
  • Right column:
    • An automatically generated SVG diagram showing the box of this system, showing the connectors and the input/output flows. This diagram is fully clickable to navigate directly to connectors or flows. We can easily locate here the IN_BUT_IGNITION in the first pin of the J3 connector. Note that a connector can have inputs and outputs, so it can be represented in left and right face of the box at once.
    • Automatic code generation*1: we can see the declarations of the functions to call each of the included functions and the definition of shortcuts to access the DRE pool information from the source code of these functions.

A leaf SubSystem

Can be found at:

Differences with previous one:

  • The connector is only DRE*2.
  • All flows are implementable in software.
  • This source code will be included in microcontroller software.

In the next chapter we will take a look to the lowbeam lights functionality and, in the chapter after, we will look at the state machine that implements the mentioned functionality in the current subsystem.

  • *1 code generation:in fact,in this root node the generated source code is useless,as this is a mechatronic hardware software module and will not be implemented in source code
  • *2 DRE:Data Runtime Environment