sysand add hugoormo/mbse-recursive-architecture-wave-pattern
A machine-readable and executable MBSE pattern demonstrating recursive requirements decomposition across four levels (L0-L3) with three abstraction layers (blackbox/graybox/whitebox) at each level. The pattern establishes clear mechanics for requirements duality (original vs. derived), needs allocation via budget attributes, and satisfaction closure through constraint binding and verification.
The recursive pattern is implemented in four levels:
Each level follows the same pattern:
*_Requirements.sysml — Original requirement (bb) → Derived requirement (gb) with budget allocation and nested child needs*_Configuration.sysml — Realizes requirements across abstraction layers; action bindings define quality contributions*_Behavior.sysml — Behavioral actions that produce quality values for blackbox context*_StakeholdersViews.sysml — Stakeholder concerns, assumptions, and framesThe pattern structure, constraint flow, and design rationale are embedded directly in the SysML model:
{requirement} (original/bb) vs {requirement}Derived (derived/gb)operationalContext → systemOfInterest → payloadBuilder → componentTo understand the pattern, explore the model files directly. AI tools and engineers alike will find the structure self-explanatory through consistent L0-L3 repetition and explicit model semantics.
Use the pattern in this order to maximize decision value and minimize rework:
_gb) level first._gb) level to calibrate assumptions and attributes._wb) level when available.Default policy:
_gb subjects._bb subjects only by explicit exception when rich local dynamics or alternatives are modeled._bb exception showcase.Validate the entire pattern (syntax and semantic consistency):
PowerShell -ExecutionPolicy RemoteSigned -File ../scripts/syside.ps1 check RecursiveArchitecturePattern
Expected result: Exit code 0 (all levels compile cleanly; all interconnections verified)
✅ Machine-readable — Syside validates syntax and semantics
✅ Executable — Constraints and attribute bindings enforce requirements
✅ Traceable — Design decisions documented in model comments
✅ DRY — No redundant hardcoded values; subsetting handles inheritance
✅ Interchange-safe — Comments are part of the model; survive XMI/JSON export
✅ Scalable — Pattern repeats uniformly L0-L3; extends to arbitrary levels
RecursiveArchitecturePattern/
├── Level 0 - Operational/
│ ├── Operational_Requirements.sysml
│ ├── Operational_Configuration.sysml
│ ├── Operational_Behavior.sysml
│ ├── Operational_Taxonomy.sysml
│ ├── Operational_StakeholdersViews.sysml
│ └── VerificationCases_Operational.sysml
├── Level 1 - SystemOfInterest/
│ ├── SystemOfInterest_Requirements.sysml
│ ├── SystemOfInterest_Configuration.sysml
│ ├── SystemOfInterest_Behavior.sysml
│ ├── SystemOfInterest_StakeholdersAndConcerns.sysml
│ └── VerificationCases_SystemOfInterest.sysml
├── Level 2 - Subsystems/
│ ├── Subsystem1_Requirements.sysml
│ ├── Subsystem1_Configuration.sysml
│ ├── Subsystem1_Behavior.sysml
│ ├── Subsystem2_Requirements.sysml
│ ├── Subsystem2_Configuration.sysml
│ ├── StakeholdersAndConcerns_Subsystem1.sysml
│ └── VerificationCases_Subsystems.sysml
├── Level 3 - Components/
│ ├── Component1_1_Requirements.sysml
│ ├── Component1_1_Configuration.sysml
│ ├── Component1_2_Requirements.sysml
│ ├── Component1_2_Configuration.sysml
│ └── VerificationCases_Components.sysml
├── Credits/
│ └── Credits.sysml
└── README.md (this file)
To learn the pattern:
The model itself is the documentation.
To use this pattern as a reusable reference profile: