A Universal Process
- Identify stakeholders and goals.
- Capture functional and non-functional requirements
- Derive architectural drivers
- Define components, responsibilities, and interactions
- Validate the architecture with respect to requirements
Example: Satellites
A satellite must satisfy requirements such as:
- operate autonomously when no contact with ground is available,
- guarantee safety and recovery under faults,
- react to environmental changes (orbit, temperature, radiation),
- process data with strict timing constraints,
- isolate critical components in separate partitions.
From these requirements, we derive architectural needs such as:
- monitoring modules,
- adaptive decision logic,
- communication layers,
- partitioned execution environments.
Example: Train Station Simulator
Security Requirements
- preventing unauthorized access to interlocking logic,
- protecting command messages from tampering or spoofing,
- ensuring the integrity of field data (track circuits, signals, points),
- defending operator terminals and supervisory displays from cyber threats,
- avoiding denial-of-service conditions that could block operations.
Safety VS Security
Safety ensures the system does not cause harm.
Security ensures the system is not made to behave incorrectly by external attackers.
Another Requirements
Reliable
Efficiency