Skip to content

Node Shapes

Node shapes and colors are fundamental part of Latch-X framework. In Latch-X diagrams provide visual encoding of component types, states, and special roles within your system model. Each shape conveys specific meaning about the component's function and behavior.

Component Type Shapes

Normal Components (Physical Components)

  • Shape: Rectangle (box)
  • Style: Solid border, filled background
  • Purpose: Represents physical components with failure/repair behavior

Logical Components (Gates)

  • Shape: Rectangle (box)
  • Style: Dashed border, filled background
  • Purpose: Represents logical aggregation of other components (AND/OR gates)

Latch Components (Failover)

  • Shape: Rounded Rectangle (box)
  • Style: Solid border, filled background
  • Purpose: Represents failover/backup systems triggered by parent failures

Special Role Indicators

Root Component Overlay

  • Shape: Hexagon
  • Style: Bold border, golden fill
  • Fill color: Light golden rod
  • Purpose: Highlights the root component (system output)

Visual Hierarchy

The visual design creates a clear hierarchy:

  1. Root component: Hexagon with bold golden styling - most prominent
  2. Normal components: Thick borders - primary building blocks
  3. Logic/Latch components: Thinner borders - supporting elements
  4. Inverted logic: Outline only - specialized/conditional elements

Color Encoding

While shapes indicate component type, colors can encode additional information:

  • Category colors: Group related components (infra, application, risk, etc.)
  • Tag colors: Highlight operational aspects (human, automation, disaster, etc.)
  • Status colors: Color by availability, impact scores

Dependency Edge Styles

Edges (arrows) between components represent dependencies and use different visual styles to indicate the relationship type:

Direct Dependencies (do)

  • Style: Solid line
  • Arrowhead: Normal (filled triangle)
  • Label: "do"
  • Purpose: Simple direct dependency where the target depends on the source

AND Dependencies (and)

  • Style: Solid line
  • Arrowhead: Normal (filled triangle)
  • Label: "and"
  • Purpose: Target requires ALL listed dependencies to be operational

OR Dependencies (or)

  • Style: Dashed line
  • Arrowhead: Normal (filled triangle)
  • Label: "or"
  • Purpose: Target requires ANY ONE of the listed dependencies to be operational

N-of-K Dependencies (n_of_k)

  • Style: Dashed line
  • Arrowhead: Normal (filled triangle)
  • Label: "n_of_k(n)" where n is the required count
  • Purpose: Target requires at least N out of K total dependencies to be operational

Edge Visual Hierarchy

The edge styling creates visual distinction between dependency types: - Solid lines: Direct relationships (do, and) - stronger coupling - Dashed lines: Conditional relationships (or, n_of_k) - flexible coupling - Labels: Always show dependency type when edge labels are enabled

Best Practices

Shape Recognition: The visual vocabulary is designed for quick scanning - experienced users can identify component types and roles at a glance.

Consistency: Shape meanings are consistent across all diagram types (FTA, RBD, DAG) to avoid confusion.

Accessibility: High contrast borders and fills ensure diagrams remain readable in various viewing conditions.

Edge Clarity: Dashed lines for OR/n_of_k help distinguish flexible dependencies from strict AND/do requirements.