Working goal based with IEC 61508-3

Goal-based
IEC 61508-3
Software
standard
Thor Myklebust
SINTEF ICT
Tor Stålhane
NTNU IDI
1
Introduction
In the last two decades there has been an increasing
tendency towards a goal-based approach to
regulation and standards compared to the earlier
prescriptive regulations and standards
The drivers behind a goal-based approach are
• rapid technology changes,
• new development processes
• the legal viewpoint. Too restrictive standards may
be viewed as a barrier to trade.
2
Pro et contra
Pros
•
•
•
•
•
Safety responsibility is shifted from regulator to service provider
Better to cope with a diversity of design solutions
Easier to adopt to new technologies
Facilitate adopting current best practice
Possible for service provider to choose cost-efficient solutions
Cons
•
•
•
•
3
Confirmation bias
o It is always possible to find or produce evidence that something is safe
o There is a tendency for people to favour info that confirms their
preconceptions or hypotheses regardless of whether the info. is true.
Compliance-only exercise
o Safety case driven by the need to comply with requirements of the
regulation, rather than being working documents to improve safety.
Lack of worst case analysis
How to ensure that the arguments and supporting evidence are complete?
Other standards
There has been some research on goal-based standards
together with the change of some of the safety standards
towards a goal-based approach.
Already issued goal-based standards are e.g. IMO (International
Maritime Organization) standards and the UK defence standard
MoD 00-56.
More research should be performed related to Goal-base
standards
4
Goal-based approach to improve IEC 61508-3 – 1
The most important things needed when making
safety critical software is
• general, sound engineering competence
• competence in software development and the
application domain,
• good communication within the development
team
• mindfulness of safety.
5
Goal-based approach to improve IEC 61508-3 – 2
IEC 61508-3 is useful since the standard mostly
list the best techniques and methods available at
the time when the standard was written.
The weakness becomes apparent when we want
to apply new tools, techniques or methods.
6
Goal-based approach to improve IEC 61508-3 – 3
Introducing new techniques and measures
• complicates the certification process
• is highly dependent on the assessor subjective opinion.
There are two ways to get past this problem:
• Work to change the standard and include the new
techniques or methods into the standard.
• Move towards a goal-oriented standard. This will allow
us to use whatever tools, techniques and methods that
are appropriate as long as we meet the standard’s
designated goals
7
Goal-based approach to improve IEC 61508-3 – 4
The standard requires that appropriate techniques and
measures shall be used.
If a techniques or measure is not used, then the rationale
behind not using it must be documented.
Which techniques and measures that will be correct for any
given application should be decided during the safety
planning and agreed with the assessor.
As a result the standard is in practice a prescriptive
standard.
8
Goal-based approach to improve IEC 61508-3 – 5
In the reviewed research papers, several aspects related
to the use of goal-based standards have been discussed:
• level of argument and evidence,
• goal-based safety cases and
• challenges related to COTS equipment (Commercial
Off The Shelf).
The “Techniques & Measures” in Annex A and B in IEC
61508-3 have not been studied by the research
community related to goal-based standards.
9
Goal-based approach to improve IEC 61508-3 – 6
IEC 61508-3 includes lifecycle requirements,
based on the waterfall process methodology
“Any software lifecycle model may be used
provided all the objectives and requirements of
this clause are met".
The current standard has not succeeded in
presenting the requirements as model
independent since the requirements are
presented according to the waterfall model,
including the V-model.
10
Analysing IEC 61508-3
Our current understanding of IEC 61508-3 is based on an analysis
of the standard, performed as follows:
• All standard requirements in annexes A and B of IEC 61508-3,
pertaining to software that were categorized as HR for SIL 3
were inserted into a table.
• For each requirements, we inserted our interpretation of the
intent of this requirement. Thereafter, we organized them into
the traditional categories of software development activities –
analysis and design, reuse, coding, V&V and maintenance.
• The list of intents was checked to see if there were intents that
were not part of sound engineering practices. Our conclusion is
that there was none.
11
The tables of IEC 61508-3, Annex A
A9 - Software Verification (IEC 61508-3)
Requirement
Formal proof
Animation of specification and design
Static analysis
Boundary value analysis
 Control and data flow analysis
 Design review
 Formal inspection
12
SIL 3 Software development interpretation
No No -
Yes
Rigor may range from language
subset enforcement to mathematical
formal analysis.
Formal inspection is seldom used
Safety
Yes
Yes
No
Goal-based approach to improve IEC 61508-3
All IEC 61508 – part 3 requirements for software
development in annexes A and B are just sound and
established software development practice.
We do not, however, know which methods and tools
that will be available in the (near) future.
It is important to be aware that the standard
requirement – e.g. boundary value analysis – says
nothing on how much, to what level and how
extensive it should be.
13