A Functional Safety Development Process Example
A Functional Safety Development Process Example
White Paper
exida
80 N. Main St.
Sellersville, PA
[Link]
Revision 1.1
August 2025
[Link]
Abstract
This paper describes an example new product development process designed to meet
requirements of IEC 61508:2010 [1], the Basic Safety Standard for Functional Safety with a
Systematic Capability Level 3 (SC 3). The example was done in the context of a microcomputer-
based product which includes hardware and software done with a Full Variability Language (FVL)
like C, C++, etc. This development process is meant to provide an example of well accepted
design procedures used to create quality designs. Requirements of IEC 61508 and most
functional safety standards were written to achieve this high-quality goal.
These design procedures have been shown to be quite effective in reducing design faults as they
are based on the principles of established quality systems [2] and software engineering [3,4].
Therefore, many companies follow a similar development process for all development work, not
just devices that used in critical / safety systems. A similar development process (or equivalent)
can achieve Functional Safety Certification [5].
We believe that most of the tasks shown in this example are already well known to those who
have created a quality development process. But perhaps there are good ideas to be added that
members of various functional safety standard teams have contributed to our current functional
safety standards.
Probabilistic failure performance analysis is a fundamental concept in the IEC 61508 family of
functional safety standards. Four, quantitative, order of magnitude levels (Table 1) called safety
integrity levels (SIL) are defined. In the design process for end user custom projects (bespoke
systems), quantitative failure targets are established based on risk reduction needed by each
identified hazard (a potentially dangerous condition). System designers choose equipment and
define test procedures following the safety manuals of the equipment. Then failure probability
calculations are performed on any given set of equipment used protect against an identified
hazard. The calculation output is used to verify that each safety function design meets its target
risk reduction [6]. This performance-based approach allows the standard to avoid prescriptive
design rules that often become obsolete soon after they are published.
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 2
excellence in dependable automation
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 3
excellence in dependable automation
Release to
Hazard and Production
Risk Analysis
HARA)
Validation
Project Product
Testing
Planning Specification
System
Architecture Integration
Design Testing
Hardware Software
Architecture Architecture Integration
Design Design Testing
Hardware Software
Implementation Implementation Unit Testing
Figure 3 shows an example development process in the classical V-model. However, a real
project does not just flow from step to step as shown. Development evolves during the natural,
hierarchical, iterative refinement process commonly used. Many cycles may be present (some
shown with dotted lines). One objective of the verification steps is to reduce the number of
cycles (rework).
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 4
excellence in dependable automation
Testing steps are on the right side of the drawing. Unit testing is focused on detail sections of
the implementation to verify that each “unit” performs its intended function. Thus, test plans
are made by understanding the functionality of each unit in isolation.
Integration testing is done to verify that each unit correctly provides the output(s) needed by
connected units. Integration test planning requires a knowledge of each unit functionality and
unit inter-connectivity. Integration test objectives are typically defined and documented during
the architecture design review (DFMEA/DDMA) when clear knowledge of unit functionality and
inter-connectivity is presented.
Validation testing is done specifically to verify product specification requirements. That may be
done via testing, inspection, or analysis. Validation test planning requires a detailed knowledge
of the product requirements. Validation test objectives are created and documented during the
requirements review.
Figure 4 shows the example development process in more detail including some of the
important design verification activities outlined in bold/red.
Hazard and Risk
Analysis (specific
application)
New Product Idea
Create and Review Create Validation
Market Requirements Requirements Review
System Requirements Test Objectives
Allocate
Functions to
Hardware and
Software Create Hardware Hardware Create Software
Architecture Architecture Review Architecture
Perform Integration
Perform Final Testing Perform Validation
Verification Testing
Release to Production
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 5
excellence in dependable automation
Table 2 shows a list of possible documents depending on the complexity of the project. Often,
multiple documents can be merged into one.
Project Planning
A project plan commonly contains rough estimates of cost, staff requirements, skills needed,
development tool requirements, and schedule. Functional Safety standards do not require much
beyond the common items. The name of the project plan is the “Functional Safety Management
(FSM)” plan. A few items specific to functional safety are identified. Figure 5 shows an example
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 6
excellence in dependable automation
planning process with input and output documents. Note that verification tasks and verification
output documents are outlined in red.
The items contained in a FSM plan include details about the procedures that will be used in
development (typically by referencing the development procedures), design tools to be used,
documentation formats / templates to be used, document control method, input/output
documents, and responsible personnel / competency. Once the plan has been created it is
reviewed and documented with minutes of the review meeting. Justification of all design tools
used on the project is needed. Design tool justification is done to make certain all those using
any tool understand how the tool works including what can go wrong.
Product Requirements
Figure 6 shows an example of product requirements tasks. The requirements come from
marketing goals and commercial goals which is quite normal. Note that a Hazard and Risk
Analysis (HARA) is done when a device is developed for a specific application where hazards can
be identified. For example, if an embedded micro-computer device is designed to charge a
specific type battery, the hazards in that process can be identified and the corresponding safety
functions can be defined. The HARA output will define the risk reduction requirement for each
safety function.
When a device is designed for many applications, the HARA is done by the system designer not
the device designers. For example, a general-purpose programmable logic controller (PLC) will
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 7
excellence in dependable automation
be used in many applications where hazards for each application cannot be known in advance.
In that case risk reduction capabilities for the device are a market requirement and must be
published in the device datasheet. The system designer checks the datasheet to make sure the
device capability meets system risk reduction needs.
Requirements are typically organized in a hierarchal manner as shown in the tree structure of
Figure 7.
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 8
excellence in dependable automation
Safety Manual
An essential document for functional safety is called the “Safety Manual.” A template is often
used as this document must contain all information needed for the user of a device to maintain
safety. The Safety Manual can be started when requirements are complete as some of the
needed contents may be defined in the requirements. The Safety Manual will be
expanded/updated during the development process and certainly is not expected to be
complete until validation testing is ready to begin.
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 9
excellence in dependable automation
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 10
excellence in dependable automation
The verification process for the validation test plan consists of a validation test plan review.
When the review team agrees that the tests can be done practically and each requirement can
be tested (test, analysis or inspection), the minutes are done to document the meeting results.
Design Requirements
Tested by
Safety Requirements Validation Test
Traceable Forwards and Backwards
Often split into
Non-safety Requirements
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 11
excellence in dependable automation
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 12
excellence in dependable automation
Architecture Design
Architecture design is typically done in a top-down structured, hierarchical process. Figure 12
shows an example process for a design including hardware and software including input and
output documents.
HW Subsystem
Subsystem DDMA Report SW Subsystem Subsystem DDMA Report
Architecture
Architecture DFMEA
DFMEA/DDMA D4.3 D4.3
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 13
excellence in dependable automation
System Architecture/
DFMEA Level 1*
Allocate Functions to
Hardware and
Software
Power Input
Conditioning
Figure 14 shows one sub-system level where the power supply block is divided into five blocks.
The functionality of each block must be described and references to related requirements are
made. With that information each block can be implemented in the electronic schematic.
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 14
excellence in dependable automation
If digital communications are used in the design, the binary protocol must be analyzed per
functional safety requirements. A set of qualitative requirements are combined with a
quantitative probability of an undetected dangerous message.
Many design tools are available for DFMEA or DDMA. Figure 15 shows the Load Unit Knowledge
screen from ARCHx, a DexDMA tool.
1. The Architecture Design Description with all drawings, a good functional description of
each block, and references to the requirements implemented.
2. Minutes / Report of the architecture design reviews (with Actions Items if needed)
3. The Architecture design verification report which is typically A Design Failure Modes and
Effects Analysis (DFMEA) with additional descriptions of needed automatic testing, start-
up testing, latent fault testing and actions taken when failures are detected.
Alternatively, a Design Deviation and Mitigation Analysis (DDMA) [7] which includes all
information for functional safety can be done.
4. Integration Test Objectives
5. Review Meeting Minutes
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 15
excellence in dependable automation
Hardware Design
Hardware design is done with goals to make the design robust against hardware design faults,
environmental stress, random component failures, operator mistakes, and foreseeable
maintenance errors. Figure 16 shows an example hardware design process.
Circuit Diagrams /
Description
D5.1
The completed hardware design should achieve a low failure rate by having a strong margin on
design strength. The use of parts with specifications higher than any expected stress level
(temperature, voltage, current, etc.) is evaluated in the quantitative failure analysis on the
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 16
excellence in dependable automation
hardware design called Failure Modes, Effects and Diagnostic Analysis (FMEDA). The hardware
design must meet electro-magnetic emission limits and susceptibility levels defined by IEC
61326-3-1 [9].
Component Selection
Simulation
Schematic Capture
Netlist Checking
Board Layout
Electronic and mechanical components must be justified and chosen. Components are typically
chosen from an approved company component list. New components are added to the list when
they are evaluated by analysis and testing. Avoid new unproven technology. ULA packing is
strongly recommended for VLSI components. Be careful to evaluate the useful life parameter to
make sure the component is designed for the needed lifetime of the device under development.
Other tasks in the Hardware detail design depend on the design tools used and technologies
employed. Functional safety requirements are focused on the use of qualified and integrated
tool sets.
The FMEDA method was created to determine the impact of on-line automatic diagnostics on
the reliability metrics of a design [12]. The automatic diagnostic functions are listed in the
requirements and must have a validation test. This is often done by specifying a “fault injection
test.” A hardware failure is simulated for each automatic diagnostic and the action taken
specified in the requirement of the DDMA is validated.
An FMEDA may be done with a spreadsheet or an FMEDA tool. Figure 18 shows the Component
Node Editor of FMEDAx where component failure modes are mapped to unit failure mode. The
component failure rates for each component failure mode and the Useful Life of the component
are automatically loaded and displayed from a database [13]. This tool uses the functional
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 17
excellence in dependable automation
failure mode FMEDA method [14] which has been proven to be more effective in iterative
design environments.
A component database is the most important part of any FMEDA tool. That database must
contain for each component:
• Failure rates for various design profiles and operating environments
• Failure modes and distributions (not just 50%/50% safe-dangerous assumptions)
• Useful life for various design profiles and operating environments
• The impact of analog drift in electrical components
• The impact of integrated circuit soft error rates (SER)
• The impact of dynamic operation in mechanical components
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 18
excellence in dependable automation
To be useful for field failure prediction, the database must be compared with actual field failure
data [15]. Any differences in FMEDA predictions and actual field results are used to adjust the
formulas in the database. Given the advances in technology, the database should be updated at
least once per year.
Software Design
Functional safety has many requirements for software design. Figure 19 shows an example
process.
Requirements
Specification
D2.3
Write Software Code Source Code
Software Architecture D7.1
Description
D4.1
Review Minutes
Software Code D1.2
Review
Perform Static Source
Code Analysis Static Analysis Results
D7.2
There are many other requirements for software design and implementation from the software
engineering community. Items like:
• Suggested Software Unit Size Limit (e.g. 100 lines of code, 4 screens, a cyclomatic
complexity < 10). However, you decide the limit.
• One entry/one exit point in subroutines and functions
• Variables encapsulated at lowest possible scope; avoid use of global variables
• Units communicate with each other only through their interfaces which are fully
defined.
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 19
excellence in dependable automation
design verification tools provide tracing capability between architecture and software
implementation as well as between software units and unit tests. Figure 20 shows an example
of a software unit to unit test link.
Figure 20. Link between a Software Unit and its Unit Test
Code Review
Code Review is intended to find potential issues. The objective is to have an independent review
to see if the source code:
Even a well-tuned SSCA can have false positives and false negatives. Warning messages must be
reviewed by the developer. Even with these limitations, an SSCA tool has been shown to provide
cost effective error checking.
Unit Testing
Unit testing is focused on each software unit (or module) to verify that each unit performs its
intended function. The focus is on understanding the functionality of each unit in isolation. Test
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 20
excellence in dependable automation
plans are created with input suites for each module and expected results. Input equivalence
testing and boundary value analysis must be done as part of the input suite definition. Unit
testing must consider the structure of each unit with 100% entry point coverage, 100%
statement coverage, and 100% branch coverage. Unit Test results are usually put into the test
plan and must be documented.
Integration
Integration testing is done for hardware units, software units and hardware to software. In the
integration testing the focus is on the information exchanged between units. For hardware this
might be voltage levels, current levels, digital communication, etc. For software this is typically
blocks of data. The purpose is to make sure the output from one unit matches the expected
inputs of units receiving that output. Do all units operate as designed? Figure 21 shows the
process.
Integration testing is done per a test plan. As most integration test objectives are defined during
the architecture design review / verification, detail information about the test environment,
specific expected results, tester, test date, and version tested is typically added to the
integration test objective report to complete the test plan (D4.5A). When the test is done,
results are recorded in the document with a pass / fail indication (D4.5B). All failures must be
tracked to resolution. An Action Item system is often used for that purpose. Figure 22 shows an
example of an Action Item Editor.
Figure 22. Action Item Editor from OEMx used to track test failure
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 21
excellence in dependable automation
Validation
Validation testing is done per the Validation test plan to show that all requirements have been
implemented. Detail test information is typically added to the validation test objective report to
complete the test plan (D3.1A). When each test is done, results are recorded in the document
with a pass / fail indication (D3.1B). An example process is shown in Figure 23.
Any updates to the Validation test plans are done at this time. If changes impact the Traceability
Report (D3.2) it is important to update that report as well. Any test and measurement
equipment used in the validation test must be calibrated against a standard traceable to a
recognized procedure. Version numbers must be recorded for the hardware and software under
test as well as all test software.
A careful inspection of the Safety Manual is part of validation testing. The manual information
must be clear, complete, and correct. All information needed for installation, environmental
constraints, overall safe operation, calibration, repair, and latent fault testing must be available.
The field failure reporting process must be described along with requirements for return of
suspected defective devices. The Safety Manual may contain the information or refer to other
documents as needed.
As with integration testing, all failures should be tracked to resolution. If changes need to be
made to the device design, an impact analysis must be made to determine what steps in the
development process must be repeated. Documents produced in each step used for the change
must be updated.
Production Release
Production release procedures are common and usually well established. Functional safety
requirements include a check that all verification steps in the project have been completed with
required documents. All Action Items must be resolved. The Safety Manual must be complete
and approved.
These functional safety requirements are often simply added to the existing production release
checklist items which depend on the technology and production methods.
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 22
excellence in dependable automation
Lifetime Maintenance
Functional Safety standards recognize the need for a lifecycle approach. A few key activities
need to be done but these are not much different from the product stewardship requirements
of most regulatory bodies.
Field operational hours need to be estimated. If each device has a built-in “operating hours”
counter, that is the best source of the data. Otherwise, estimates can be made from shipping
records, installation dates, and other end user data.
In devices designed for a specific application, the test frequency may be determined to meet the
risk reduction (SIL level) requirements. That test frequency and/or the method used to
determine that result must be available to the end users. For devices designed for general
purpose usage, the test frequency must be determined by the System designer.
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 23
excellence in dependable automation
DDMA – Design Deviation and Mitigation Analysis, a DFMEA optimized for functional safety by
eliminating duplicate work and adding required functional safety parameters
DexDMA – Design expert Deviation and Mitigation Analysis, a DDMA done with expert
knowledge
Latent Fault Test – a test to detect failures in a device that is operated when the safety function
is not operating. It can be automatic (a power-up test), semi-automatic, or manual.
ULA – Ultra Low Alpha: molding compound, solder paste, epoxy material that are monitored for
Alpha particle emission. A count per hour must be less than 0.002 cph/cm2
References
1. IEC 61508, Functional safety of electrical/electronic/programmable electronic safety-related
systems, International Electrotechnical Commission, Geneva, Switzerland (2nd Edition),
2010
2. Juran, J.M., Juran on Quality by Design: The New Steps for Planning Quality into Goods and
Services, Free Press, May 4, 1992
3. Pressman, Roger S, Maxim, Bruce R., Software Engineering - A Practitioner’s Approach,
McGraw-Hill, 9th Edition, 2019
4. Humphrey, Watts S., Managing the Software Process, Addison-Wesley, 1989
5. The exida IEC 61508- Functional Safety and IEC 62443 – Cybersecurity Certification
Programs, White Paper, exida, Sellersville, PA, [Link], Rev. 1.1, November 2017
6. Safety Instrumented Function Verification: The Three Barriers, White Paper, exida,
Sellersville, PA, [Link], Rev 2.1, November 2017
7. The Essential DFMEA Process – Maximum Value / Optimal Cost, White Paper, exida,
Sellersville, PA, [Link], Rev. 1.0, July 31,2024
8. IEC 61784-3, Functional safety fieldbuses – General rules and profile definitions, Edition 4.1,
2024-04, International Electrotechnical Commission, Geneva, Switzerland
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 24
excellence in dependable automation
Revision History
Draft Revision 0.2 September 30, 2024 William Goble
Release Revision 1.0 October 2024 William Goble
Addressed comments made in reviews
Release Revision 1.1 August 2025 William Goble
Added more details in the architecture design, hardware design sections
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 25
excellence in dependable automation
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 26
excellence in dependable automation
A Functional Safety Development Process Example, Copyright © exida. LLC 2025 Page 27