1.5.87 TreeViewNode

The TreeViewNode data record holds the information about one node in the sat-nms tree view and the tree below this node. The complete tree is partially autogenerated and user defined, see below about the standard tree structure used in the sat-nms software.

Data Model

Key Type Value
nodeName String The (displayed) name of this node. This may be a M&C name, a subsystem name, a device name or a screen name, depending on the type of this node. See below on details about node types and names.
nodeType String One of ROOT, MNCNODE, DEVICELIST, SUBSYSTEM or DEVICE. See below on details about node types and names.
children Array An array of other TreeViewNode objects being the children of this node. May be null, this denotes a leaf node.

Standard Tree Structure

The general structure of the tree view ist autogenerated by the software. User defined branches with subsystem definitions are integrated at certain points of the tree.

ROOT
  +-- MNC001
  +-- MNC002
      +-- Devices
      +-- SUBSYSTEM-1
      +-- SUBSYSTEM-2
          +-- SUBSUBSYSTEM-1
              +-- DEVICE-1
              +-- DEVICE-2
      +-- DEVICE-3
      +-- DEVICE-4
  +-- MNC003

A tree always consists of one ROOT node. The children of this node are the M&C systems managed by the backend (one MNCNODE for each M&C system). Each MNCNODE has at least one child, a DEVICELIST node containing the list of devices managed by this M&C. Up to here all nodes are auto-generated and not c hangeable by the user. Additionally, each MNCNODE may have zero or more SUBSYSTEM nodes with user defined groups of devices or nested subsystems.

Node Types and Names

A TreeViewNode may be one of the types ROOT, MNCNODE, DEVICELIST, SUBSYSTEM or DEVICE. The table below lists the properties of these node types in short form:

type auto-generated may contain name
ROOT yes MNCNODE always 'TreeView'
MNCNODE yes DEVICELIST, SUBSYSTEM M&C name
DEVICELIST yes DEVICE always 'Devices'
SUBSYSTEM no SUBSYSTEM, DEVICE subsystem name
DEVICE within a DEVICELIST -/- (leaf node) device name

The ROOT node is - as the name suggests - the root of the tree view tree. There is exactly one ROOT node in the tree, its children are one or more MNCNODE nodes, as many as M&C systems are configured to be managed by the backend. The displayed name of each MNCNODE node id the ID / name of this M&C, this is the same as used in message IDs. The list of MNCNODE nodes is auto-generated by the backend, derived from its configuration data.

The first child of each MNCNODE node always is a DEVICELIST node containing the complete list of devices configured on this M&C. This node also is automatically created by the backend, the device list is in 'natural' order, meaning that the devices appear in the same order as they do in the M&C configuration file / screen.

DEVICE nodes are the leaf nodes of the tree. The name of a DEVICE node is the name of the device without the name of the M&C it is contained in.

SUBSYSTEM nodes define a group of devices or nested subsystems. They are the only user defined node objects in the tree. The name of a SUBSYSTEM node is user defined, but as this name appears in the message ID of the summary fault state of a subsystem, the same restrictions applay for subsystem names as for device names. They may consist of upper case letters 'A' .. 'Z', digits and the '-' - character.

Subsystems

Subsystems defined by a SUBSYSTEM node in the tree are managed by the M&C like a virtual device which has a summary fault flag which reads as the maximum fault condition that appears at one of the elements the subsystem contains. The definition of all configured subsystems in a M&C is stored by the M&C itself, not by the backend. Due to the M&C-local architecture of subsystems the following rules apply to them:

The name of a subsystem consists of the same limited set of characters like device names do.

A subsystem may contain devices or other subsystems. These children must be located at the same M&C as their parent subsystem. Subsystems cannot be defined across multiple M&Cs.

Each subsystem distributes a summary fault variable which can be used to display the fault state of the subsystem. The full messgeId of this variable is

{M&C-name}.SUBSYSTEM.{subsystem-name}.fault

or for nested subsystems

{M&C-name}.SUBSYSTEM.{subsystem-name}.{sub-subsystem-name}....fault

These variables - like a .fault value of a device - read one of the strings "OK.", "WARNING" or "Summary FAULT".