Non-functional Requirements for software include:
- Real-time constraints
- Synchronous vs Non-synchronous Execution
- Software performance
- Safety/Reliability: Low-cost reliability with minimal redundancy.
- Resource constraints: power, cpu, bandwidth, memory, etc.
- Level of autonomy (no human interaction)