Component Sequence Specification

Purpose

This validator enforces consistency across entities in two diagram types:

  • Component diagrams

  • Sequence diagrams

It shall make sure that Architectural Elements are consistently named and related to each other.

What is Validated

All comparisons are case-sensitive.

Alias Consistency

Unit aliases from the component diagram must exactly match the set of participant aliases used across all sequence diagrams. (Requirement: Tools.ComponentSequenceAliasConsistency)

' component diagram
component "Unit 1" as unit_1 <<unit>>
component "Unit 2" as unit_2 <<unit>>

' sequence diagram
participant "Unit 1" as unit_1
participant "Unit 2" as unit_2

Interface-Connection Consistency

Every pair of units connected through an interface in the component diagram must have at least one corresponding function-call interaction in the sequence diagrams, and every cross-unit function call in a sequence diagram must correspond to an interface connection in the component diagram. Self-calls are excluded from this check. (Requirement: Tools.ComponentSequenceInterfaceConnectionConsistency)

' component diagram
component "Unit 1" as unit_1 <<unit>>
component "Unit 2" as unit_2 <<unit>>
interface "IData" as IData
unit_1 -( IData
unit_2 )- IData

' sequence diagram
participant "Unit 1" as unit_1
participant "Unit 2" as unit_2
unit_1 -> unit_2 : GetData()

Failure Cases

Failure case

Validation rule

Missing sequence participant

Alias Consistency

Unexpected sequence participant

Alias Consistency

Missing sequence interaction for interface-connected units

Interface-Connection Consistency

Missing interface connection for sequence-connected units

Interface-Connection Consistency

Debug Output

The validator emits debug output containing:

  • expected unit aliases

  • observed participants

  • observed sequence calls (caller -> callee : method)

  • unit interface targets derived from the component diagram

  • interface-connected unit pairs derived from the component diagram