Requirements Engineering and Safety Norms
Requirements Engineering: Whether in aerospace, medical technology, automation, robotics, electrical engineering or in cars: Safety functions that were previously solved electromechanically are being replaced by sensors, actuators and microcontrollers. Embedded software helps with tuning and control. Programmers must adhere to norms and safety standards here, i.e. embedded software must be developed in conformity with safety standards. To do this, they need appropriate processes and tools.
Requirements Engineering (RE)
The development process starts with deriving the requirements for the embedded software. Requirements Engineering is a disciplined and systematic method of eliciting, specifying, analyzing, agreeing, validating, and managing requirements to translate needs and goals into a product. RE is used prior to project initiation and throughout the life of a project. Techniques vary here, but activities from elicitation to management are always mandatory. The goal is to establish good quality – not perfect – requirements that allow the project to start with an acceptable level of risk.
Embedded software development compliant with safety standards
The basic standard for the development of safety-critical, programmable electronic systems is IEC 61508 from 1998, which considers the entire product life cycle from conception through development, commissioning and modification to decommissioning. As part of a risk analysis, the safety requirement level is determined (Safety Integrity Level, SIL 1 to SIL 4) to determine which measures are necessary. The 3rd part of the IEC 61508 standard maps the software life cycle and techniques and procedures are proposed for the design and documentation of safety-related modules. This application-independent basic standard is supplemented by numerous standards for specific application areas. In the automotive industry, for example, ISO 26262 (“Road vehicles-Functional Safety”) is authoritative for safety-relevant electronic systems in motor vehicles.
Safety standards play an important role in the requirements engineering environment:
- The standards contain requirements for requirements management, especially in the area of traceability.
- Standards themselves are to be seen as requirements and must be included in traceability.
Suitable requirements management tools
If a product is to be used in areas where human safety plays a major role, ALM (application lifecycle management) products are mandatory. Some have automated traceability analyses and automated documentation, as well as integrated functions that developers can use to check whether the product meets all specified requirements.
ALM tools that ensure compliance with these standards include, for example, ready-made templates for tracking ASIL levels and RPNs (risk priority numbers) as well as tracking safety objectives, types and complexity, and provide support for the V-model (as well as for the waterfall model, agile methods and hybrids) to ensure the development of safely integrated systems up to ASIL level D or SIL level 3.
Even with suitable requirements management tools such as ALM tools, knowledge and experience are ultimately always required for safety-critical projects!