Requirements ============ Use Cases --------- .. requirement:definition:: UseCases.Build_Traceable_Documentation :Description: As a safety engineer I want to build HTML documentation from requirements, architecture diagrams, and safety analyses so that all artefacts are rendered in a single navigable document with cross-references and traceability information. .. requirement:definition:: UseCases.Validate_Requirement_Chains :Description: As a requirements engineer I want the build system to validate that all component requirements trace back to feature requirements and all feature requirements trace back to assumed system requirements so that incomplete traceability is detected early. .. requirement:definition:: UseCases.Render_Safety_Analyses :Description: As a safety engineer I want FMEA failure modes and control measures to be rendered into the documentation automatically so that the safety analysis artefacts are always up to date with the source TRLC definitions. .. requirement:definition:: UseCases.Assemble_Dependable_Element :Description: As a project lead I want to assemble a dependable element (SEooC) from its components, requirements, architectural design and safety analyses so that the complete safety case is represented as a single auditable artefact. .. requirement:definition:: UseCases.Parse_Architectural_Diagrams :Description: As a software architect I want PlantUML component and sequence diagrams to be parsed and verified during the build so that architectural design errors are caught before integration. .. requirement:definition:: UseCases.Verify_Architecture_Conformance :Description: As a software architect I want the implemented component and unit structure to be checked against the static architecture diagrams during the build so that the delivered code does not drift away from the documented architecture. .. requirement:definition:: UseCases.Gate_Traceability_At_Test_Time :Description: As a safety engineer I want a test that fails when the traceability chain of a dependable element is incomplete so that an element with unsatisfied traceability links cannot be released. .. requirement:definition:: UseCases.Trace_Failure_Modes_To_Interfaces :Description: As a safety engineer I want failure modes to be traceable to the public interface elements of the architecture so that every failure mode is allocated to a concrete part of the design. .. requirement:definition:: UseCases.Aggregate_Safety_Analysis_Report :Description: As a safety engineer I want failure modes, control measures and fault-tree root causes to be aggregated into a single traceability report so that the completeness of the safety analysis can be assessed in one place. .. requirement:definition:: UseCases.Enforce_Certified_Scope_And_Integrity :Description: As a project lead I want the build to fail when a dependable element pulls in implementation targets outside its certified scope or depends on an element of lower integrity level so that certification boundaries are enforced automatically. .. requirement:definition:: UseCases.Author_Requirements_In_Rst_Or_Trlc :Description: As a requirements engineer I want to author requirements either as RST directives or as TRLC records so that existing RST requirement sources can be integrated into the traceability chain without manual rewriting. .. requirement:definition:: UseCases.Verify_Unit_Tests_Pass :Description: As a software developer I want unit test results to be captured and fed into the traceability report so that requirements are only considered verified when their tests actually pass. .. requirement:definition:: UseCases.Merge_Cross_Module_Documentation :Description: As a documentation author I want the HTML documentation of dependent modules to be merged into a single navigable site with working cross-references so that a dependable element and its sub-elements are read as one document. .. requirement:definition:: UseCases.Forward_AoU_To_Dependees :Description: As a system integrator I want assumptions of use defined by a dependable element to be automatically forwarded to the elements that depend on it so that the integrating project is made aware of all conditions it must satisfy — including those originating from transitive dependencies. .. requirement:definition:: UseCases.Validate_Architecture_Specification_Documents :Description: As a software architect I want the build to verify that architectural specification documents (component and sequence diagrams) are consistent with the implemented Bazel structure so that specification drift is detected automatically during the build. .. requirement:definition:: UseCases.Validate_Unit_Specification_Documents :Description: As a software developer I want the build to verify that unit design class and sequence diagrams are consistent with the corresponding implementation artefacts so that unit-level design drift is detected automatically during the build.