1. Introduction
The generation of technical requirements is a central part of every product development project. Especially for safety-critical products, this process must be correct and precise. To this end, a hierarchical approach is taken: at the very beginning, the product is subdivided into product architecture levels Subsequently, design specifications, safety analyses, technical requirements and test specifications are created for each level.
The outcomes of Safety analyses are safety classifications and requirements for safety mechanisms. The latter requirements are incorporated directly into the technical requirements specification of the respective product architecture level. However, many other technical requirements still need to be derived. This is explained in detail in Section 2. Section 3 highlights the advantages of the requirements generation procedure described in this article.
2. Semi-automatic generation of technical requirements
The design specification a product architecture level contains the following information:
- Name and configuration of the “parent system” one level above,
- Operating modes, system states and state transitions of the “parent system”,
- Names, functions and function activation of the elements,
- External interfaces and effect chains between the elements.
The specification of effect chains is carried out by so-called "generalized signals", which represent the transfer of information, material or energy between elements. These signals can be either intended and unintended with the latter being known as “disturbances.”
Example of intended and unintended signals
- Intended signals: acoustic, electromagnetic, mechanical or communication signal transfers.
- Unintended signals: moisture, dirt, dust or UV radiation.
Based on the design specification, requirements are generated using a basic set of requirement templates or boilerplates. An example:
IF EXTERNALLY input_signal_name expected_signal_behaviour,
THEN THE element_name SHALL ENSURE THAT output_signal_name expected_signal_behaviour.
These templates can be expanded and adapted to customer needs. Four classes of requirements can be generated for the system to be developed and all its system, hardware and software elements:
- Functional dynamic requirements,
- State-related dynamic requirements,
- Interface-related dynamic requirements and
- Static quality requirements.
3. Benefits of semi-automated requirement generation
The benefits of automated requirement generation are impressive:
- Readability: Established boilerplates and consistent formatting make them easy to understand.
- Completeness: All specified elements, functions and interfaces are covered.
- Speed: After manual preparation, the automated generation only takes seconds, even for thousands of requirements.
- Traceability: Setting links automatically saves time and is less error-prone than establishing traceability manually.
- Testability: All requirements are formulated in such a way that they can be tested.
4. Summary
The partially automated generation of technical requirements not only saves time, but also significantly improves the quality of the requirements documents. With this methodology, requirements are created in a complete, testable and consistent manner across all product architecture levels - an indispensable basis for the successful development of safety-critical products.