This repository contains comprehensive MIL-STD-498 documentation examples for safety-critical systems, including an Advanced Driver Assistance System (ADAS) Control Module and a Military Quad Copter RTOS.
The repository demonstrates complete 1:1 mapping to the MIL-STD-498 standard document structure with:
- Example 1: ADAS Control Module - Complete automotive safety system
- Example 2: Military Quad Copter RTOS - Military-grade real-time system
- StrictDoc Examples: Official templates and reference documentation
- Root Level: Project documentation and test files
Main Documentation Hub:
Example 1 - ADAS Control Module (Complete MIL-STD-498 Set):
- π Software Requirements Specification (SRS)
- ποΈ Software Design Description (SDD)
- π§ͺ Software Test Plan (STP)
- π Computer Operation Manual (COM)
- π All Documents Index
Example 2 - Military Quad Copter RTOS:
- π Software Requirements Specification (SRS)
- ποΈ Software Design Description (SDD)
- π§ͺ Software Test Plan (STP)
- π All Documents Index
StrictDoc Examples & Templates:
- π Minimal Example
- π Minimal with Sections
- π Advanced Features
- π All Documents Index
Root Level Documentation:
- π Bug Demo
- π Test Files
All documentation is automatically generated and deployed to GitHub Pages. Simply click any of the links above to view the documentation in your browser.
To build the documentation locally:
# Clone the repository
git clone https://github.com/AutomotiveDevOps/requirements.git
cd requirements
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install strictdoc
# Build documentation for each directory
cd examples/example1
strictdoc export *.sdoc --output-dir docs --formats html --config strictdoc.toml
cd ../example2
strictdoc export *.sdoc --output-dir docs --formats html --config strictdoc.toml
cd ../../strictdoc
strictdoc export *.sdoc --output-dir docs --formats html --config strictdoc.toml
cd ..
strictdoc export *.sdoc --output-dir docs/root --formats html --config strictdoc.tomlFor the best experience, serve the files using a local web server:
# Using Python 3
cd docs
python3 -m http.server 8000
# Then open http://localhost:8000 in your browserThis repository includes all 20 MIL-STD-498 document types with complete section and requirement mappings:
- SRS.sdoc - Software Requirements Specification
- SDD.sdoc - Software Design Description
- STP.sdoc - Software Test Plan
- STD.sdoc - Software Test Description
- STR.sdoc - Software Test Report
- STRP.sdoc - Software Test Report (Phase)
- OCD.sdoc - Operational Concept Document
- SSS.sdoc - Software System Specification
- SSDD.sdoc - Software System Design Description
- IRS.sdoc - Interface Requirements Specification
- IDD.sdoc - Interface Design Document
- SPS.sdoc - Software Product Specification
- SVD.sdoc - Software Version Description
- DBDD.sdoc - Database Design Description
- SUM.sdoc - Software User Manual
- SDP.sdoc - Software Development Plan
- CPM.sdoc - Computer Program Manual
- FSM.sdoc - Firmware Support Manual
- COM.sdoc - Common Elements (if needed)
The repository includes automated CI/CD pipelines that:
- Validate UID Uniqueness: Ensures no duplicate UIDs across documents
- Grammar Validation: Validates StrictDoc grammar compliance
- Documentation Generation: Automatically builds HTML documentation
- GitHub Pages Deployment: Deploys documentation to GitHub Pages
- UID uniqueness validation
- StrictDoc grammar validation
- Python code linting (ruff)
- YAML/JSON formatting (prettier)
The examples demonstrate comprehensive requirements coverage:
- 35 SRS Requirements - Complete software requirements specification
- 22 SDD Requirements - Detailed design requirements
- 18 STP Requirements - Comprehensive test planning
- 15 STD Requirements - Detailed test procedures
- 15 STR Requirements - Test results and analysis
- 15 STRP Requirements - Phase-specific test reporting
- 26 OCD Requirements - Operational concept and scenarios
- 21 SSS Requirements - System-level specifications
- 14 SSDD Requirements - System design architecture
- 16 IRS Requirements - Interface requirements
- 14 IDD Requirements - Interface design details
- 16 SPS Requirements - Product specifications
- 11 SVD Requirements - Version and delivery specifications
- 12 DBDD Requirements - Database design and management
- 10 CPM Requirements - Program manual and procedures
- 9 FSM Requirements - Firmware support procedures
- Complete MIL-STD-498 document set for military-grade RTOS
- Real-time performance requirements
- Safety-critical system specifications
- Military compliance documentation
Example 1 documents are tailored for automotive safety-critical applications with:
- ISO 26262 ASIL D compliance requirements
- MISRA C++ coding standards
- AUTOSAR architecture considerations
- Automotive communication protocols (CAN, FlexRay, Ethernet)
- Real-time performance requirements
- Environmental and safety constraints
The documents maintain proper traceability relationships:
- SRS β SDD β Implementation
- SRS β STP β STD β STR/STRP
- OCD β SRS β SSS β SSDD
- IRS β IDD β Implementation
- SRS β SPS β SVD
- All documents β Configuration Management
Each document includes:
- Unique requirement identifiers (UID)
- Clear requirement statements
- Rationale for each requirement
- Proper section hierarchy
- Traceability to related documents
This example demonstrates compliance with:
- MIL-STD-498 document structure requirements
- Automotive safety standards (ISO 26262)
- Software development best practices
- Requirements engineering principles
- Configuration management practices
-
Build fails with parsing errors:
- Ensure all SDoc files have proper syntax
- Check for malformed SECTION tags
- Verify no trailing characters after closing tags
-
HTML files not generated:
- Verify StrictDoc is installed in the virtual environment
- Check that SDoc files exist in the current directory
- Ensure write permissions for the output directory
-
Missing styles or broken links:
- Use a local web server instead of opening files directly
- Check that
_staticdirectory is present in the output
- Use
--parallelflag for faster builds with multiple documents - Build individual documents during development for faster iteration
- Use
--verboseflag to see detailed build information
This repository can be used as:
- A template for MIL-STD-498 compliant documentation
- A reference for automotive software documentation
- A training tool for requirements engineering
- A baseline for safety-critical system documentation
All documents are maintained under configuration control with:
- Version history tracking
- Change management procedures
- Traceability matrix maintenance
- Regular review and update cycles
When contributing to this repository:
- Maintain MIL-STD-498 compliance
- Update traceability relationships
- Test builds before committing
- Update this README if build procedures change
- Ensure UID uniqueness across all documents
This project is licensed under the MIT License - see the LICENSE file for details.