UL 1998 - Software in Programmable Components

advertisement
UL 1998 - Software in Programmable Components
Manoj Desai, Underwriters Laboratories Inc., Research Triangle Park, North Carolina
Laura Elan; Underwriters Laboratories Inc., Northbrook, Illinois
Abstract:
This paper provides an overview of the "Standard for Safety, UL 1998 –Software in
Programmable Components". Since this is a companion paper to the tutorial session
under the same heading, the paper is only intended to provide a general, high level
overview. Besides focusing on the key concepts, it will also discuss practical application
of the standard.
Background:
Microprocessor-based control of product functionality has added another dimension to
compliance engineering. With its use, there is also a growing need for addressing safety
in the design and implementation of microprocessor-based controls. The emergence of
new standards are associated with the increased knowledge of potential failure modes and
a need for maintaining and improving levels of safety. As a result, product designers now
recognize that potential safety-related risks must be identified, and systematic design and
validation measures applied from the very beginning of the product development cycle,
continuing throughout installation, and use.
Introduction:
Development of the UL 1998 Standard began in 1988 with a review of existing largescale, mission-critical system standards. The objective of this review was to identify
relevant requirements that could be scaled for practical application to consumer and
industrial products.
During the initial writing, it was noted that many of the standards available at the time
relied principally on engineering process requirements. The process criteria provides a
foundation in UL 1998, however, a key objective was to augment these criteria by further
codifying fail-safe and fault tolerant design requirements for software controlling safetyrelated functions. It was important to use UL 1998 to push the state of software
engineering requirements forward by identifying intrinsic criteria associated with the
delivered code. This approach coincides with the traditional UL product safety approach.
Additional input was obtained from lead architects in industry who had been practicing
these techniques for years.
The scope of the UL 1998 Standard was limited to application-specific, non-networked
software in a programmable component embedded in a product for which a failure may
result in a risk of fire, electric shock or injury to persons. UL 1998 achieved the status of
ANSI standard in February of 1999.
Approach:
Given the functional complexity inherent in software logic embedded in programmable
components, the requirements in the UL 1998 Standard address safety management
during development and maintenance by specifying both process criteria and design
criteria. As such, it emphasizes the conduct of risk analysis activities; fail-safe and faulttolerant criteria related to the design of safety-related software; consideration of
provisions for hardware malfunctions; the application of analysis and test methods;
documentation; handling of software changes; qualification of off-the-shelf software, and
labeling that uniquely identifies the specifics of the product interface, the hardware
platform, and the software configuration.
Key Terms:
UL 1998 defines a programmable component as any microelectronic hardware that can
be programmed in the design center, the factory, or in the field. Here the term
"programmable" is taken to be "any manner in which one can alter the software wherein
the behavior of the component can be altered.
M IC R O P R O C E S S O R -B A S E D C O N T R O L
M e m o ry
U n it( s )
IN P U T
D E V IC E S
A
to
D
P rin te r( s )
M IC R O P R O C E S S O R
or
M IC R O C O N T R O L L E R
K eyp ad(s)
C o p y rig h t © 1 9 9 8 U n d e rw ri te r s L a b o ra to ri e s In c .
D
to
A
E L E C T R IC A L ,
ELECTROM E C H A N IC A L ,
M E C H A N IC A L ,
H Y D R A U L IC ,
or
P N E U M A T IC
HARDW ARE
D is p la y (s )
5
The above figure illustrates a basic configuration of the microelectronic hardware and
embedded software that may be present. A more general configuration may also include,
the operating system or executive software, communication software, microcontroller,
network, input/output hardware, any generic software libraries, database management,
and user interface software.
Risk Analysis
UL 1998 requirements are intended to focus on risks that occur in software or in the
process used to develop and maintain software. They are also designed to carefully
examine different phases of the software development cycle, including requirements,
design, and implementation and testing steps. The standard requires that a risk analysis
should be conducted to determine the set of risks. The analysis should identify the states
and transitions that are capable of resulting in a risk. Please refer to section 3, “Risk
Analysis” and section 12.3, “Risk analysis approach and results” for the detailed
requirements.
UL 1998 CORE REQUIREMENTS
Software
Risk Analysis
Change
Management
Potential
Product Safety Risks
Associated
with
Intended Use
Design for Safety
Verification,
Validation, and
Test
Copyright ©1998 Underwriters Laboratories Inc.
6
In practical terms, UL 1998 requirements are designed to provide identification of risks
and traceability of actions taken to mitigate those risks throughout the software
development cycle.
The standard also recognizes that other components like microelectronics hardware, for
example, memory also contribute to the overall risk. Any embedded programmable
component must therefore have both hardware and software components designed and
validated to address safety requirements.
Design:
Product designs using programmable components usually are more complex designs
because they provide greater functionality than the electromechanical designs they
replace. The design complexity results from the use of software and microelectronic logic
to provide additional features including codifying safety decisions and integrating safety
functions with performance functions. The increased complexity leads to an increased
potential for design inadequacies --- hence incomplete or incorrect implementation of
safety-related functionality may occur. As a result the product designer faces additional
challenges in achieving and validating designs for compliance with safety requirements.
UL 1998 requirements address the design challenges of identifying safety dependence,
specifying and verifying process and data integrity, accurately representing the physical
state of the product on a continuous basis, handling external events such as interrupts in
the proper order, and providing the appropriate extent of self-monitoring.
UL 1998 recognizes the importance of the good design and need for the design
verification. Therefore those activities are addressed in a number of places in the
standard. For example, it discusses “Qualification of Design, Implementation, and
Verification Tools” in Section 5, identifies issues related to “Software Design” in section
6, and recommended measures to address “Microelectronic Hardware Failure Modes” in
section 8 of the standard.
Partitioning:
The focus of UL 1998 is on identification and mitigation of safety related risk. The
concept of “Partitioning” is discussed in the standard. It is the separation of safetyrelated components from other (non-safety-related) components. This is a mechanism to
protect and preserve integrity of data and instructions used in the safety related section.
Section 7 “Critical and Supervisory Sections of Software” contains specific requirements.
In practical terms, it provides a way to effectively design, develop, test, and maintain
safety-critical components. It helps both the manufacturer and any independent third
party auditor who is verifying compliance to a standard similar to UL 1998.
Off-The-Shelf Software
We are all aware that new technology is being introduced at a rapid pace and that to take
advantage of that technology, hardware and software are often developed by a third party.
When a product makes use of “Off-The-Shelf” (OTS) software, its use should be
reviewed. It is important to clearly understand the purpose for which it is used, how it is
used and how it interfaces with other components. More details can be found in the
Section 13 of the standard, “Off-the-Shelf (OTS) Software”. It provides a practical way
to assure that the product remains safe when a developer decides to use OTS software.
Software Analysis / Testing
Section 11 of UL 1998 emphasizes the role of software analysis, and the importance of
testing throughout the software development cycle. It requires that software design and
code analysis be conducted to demonstrate correctness and completeness of the safety
critical functions. Besides commonly used testing that includes development and postrelease testing, there are requirements for failure mode and stress testing. When it comes
to certification, the reviewer relies on the test plans and test results as supporting
evidence to satisfy him/her that the product complies with requirements of the standard.
The following figure illustrates typical software analysis and test activities in different
phases of a software lifecycle.
S o ftw a r e A n a ly sis a n d T estin g
P ro d u c t
R e q u irem en ts
R eq u ir em e n ts
R ev ie w
D esig n
R ev ie w
C od e
R ev ie w
C om po nent
T e stin g
P r o d u ct
T e stin g a n d
F ie ld
U se
C han ges
v er ifica tio n te ch n iq u e s a p p lied a t a ll so ftw a r e
d ev e lo p m en t a n d m a in te n a n c e step s.
Please note that any change resulting from product testing and/or the field use should also
go through the same review and verification steps to fully understand the impact of that
change on the safety of the product.
Documentation
In order to demonstrate compliance with the requirements of the standard, one must
provide sufficient documentary evidence. Section 12 of the standard provides a detailed
list of the documentation requirements. The essentials of the requirements are to keep a
detailed account of all your plans (e.g software development, test, configuration
management), designs, analysis (e.g. risk analysis), major decisions and rationale (e.g.
OTS), walkthroughs, reviews, inspections, and testing (e.g. failure mode test) activities. It
is also required to control and document all the changes to software so that it does not
negatively impact safety related functioning of the product. The requirements related to
“Software Changes and Document Control” are contained in section 14 of the standard.
The following figure illustrates one of the techniques used to demonstrate that
appropriate actions were taken in the product development cycle to mitigate the risks
identified in the risk analysis.
T R A C E A B IL IT Y M A T R IX
Iden tified
R isk
S a fety
R eq uire m en t
D e sign V erifica tio n R e co rds
R eq uir e m e n ts R e v ie w s
D e sig n R e view s
C ode R e v ie w s
T e s ts
A m ean s to dem onstrate verification coverage of
identified risks .
Application:
Let's briefly discuss how the UL 1998 is applied in practice. It is a reference standard and
is used in conjunction with product safety standards that contain safety requirements for
the programmable component and for the product hardware.
The following chart illustrates the UL certification process for one scenario in which a
software review is one of the necessary reviews that a product undergoes before it
becomes eligible to receive the UL Listing mark.
P R O G R A M M A B L E S Y S T E M S S E R V IC E
P ro d u ct D esig n R evie w
S ta n d a rd s
Id e n tific a tio n
R is k
Id e n tific a tio n
F o llo w -U p
E lec tric al S afety
R e vie w s + T es ts
+
E n viro n m e n ta l
S tre s s T es ts
P ro g ra m m a b le
S ys te m s
C e rtifica te
S o ftw a re R e v ie w
UL 1998 review is requested in two other scenarios as well.1) A client see a benefit of
such a review 2) UL engineer determines that it is needed because of the product design
and use of new technology performing safety related functions.
Next, the obvious question is how the software review is conducted. The following chart
illustrates the different steps involved in a software review.
S O F T W A R E R E V IE W S T E P S
O p t io n a l
S e m in a r
C lie n t R e q u e s t
fo r C e r tific a tio n
M T o p -L e v e l P r o d u c t
D e s c r ip tio n s P r o v id e d to U L
M Id e n tific a tio n o f
A p p lic a b le S ta n d a r d s
D e ta ile d
D e s ig n
R e v ie w
M D o c u m e n ta tio n R e v ie w
M P r o c e s s W a lk th r o u g h
M U L O b s e r v e s C lie n t T e s tin g
o f P ro g r a m m a b le S y s te m
M S c h e d u le fo r M a in te n a n c e
R e v ie w s is D e te r m in e d
In itia l
R e v ie w
M U L R e s e a r c h e s S ta n d a rd s a n d
P r o v id e s C lie n t In fo r m a tio n
M A s s e s s m e n t o f C lie n t’s
P rep ared n ess
U L P ro g ra m m a b le
S y s te m s C e rtific a te
M U L Is s u e s P r o g r a m m a b le
S y s te m C e r tific a tio n to S p e c ifie d
U .S . a n d In te rn a tio n a l S ta n d a r d s
S o ftw a re
M a in te n a n c e
R e v ie w
M P e r io d ic A s s e s s m e n ts o f
C hange M anagem ent
Other Standards:
Besides UL 1998, there are other standards which address the safety of programmable
components. The paper can not be complete unless a brief mention of those standards is
not included.
One of these is IEC 61508. This standard is targeted for complex systems and addresses
the safety of a system based on a top down approach. It is based on the safety integrity
level of the system and components that make up the system. There is lot of similarity
between IEC 61508 and ANSI/UL 1998 as both uses a risk-based approach.
The other noteworthy standard is IEC 601-1-4, which addresses the safety of
programmable electronics in medical devices. Again, this standard uses a risk-based
approach and relies on a good software lifecycle model and traceability of actions taken
to mitigate risks.
Author:
Mr. Manoj Desai has 20 years experience in the various aspect of software development.
He has M.S, in Computer Science from the University of Nebraska at Lincoln and B.S. in
Chemical Engineering from Indian Institute of Technology, Kanpur, India..
Before joining UL, Mr. Desai worked in various technical and management positions at
IBM with responsibility for software design, development, testing and assurance. His
work included participation on IBM corporate task forces with Mike Fagan on software
quality and the product lifecycle.
At UL, Mr Desai is associate managing engineer with responsibility for certification and
research in the area of safety related software.
Download