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:
Root Level Documentation:
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 directorycd 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 3cd 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.