throbber
L Dependable Cefnputing
`and Feult
`V
`-Tolerant Systerrge
`
`
`
`
`__IQ:-H-ow:an-soIjgflflflflflllflflllllfifll
`
`
`AHVHEI1WNUWEH?fiEH.l1'|IOS3l'l
`
`
`
`
`
`
` meme
`Diversity
`in Computerized
` Vflentrel Systems
`
`BOEING Ex. 1029, p. i
`
`

`
`
`
`Dependable Computing
`and Fault-Tolerant Systems
`

`Edited by
`A. Aviiienis, H. Kopetz, J. C. Laprie
`
`Volume 2
`
`BOEING Ex. 1029, p. ii
`
`

`
`U. Voges (ed.)
`
`Software Diversity
`in Computerized
`Control Systems
`
`Springer-Verlag Wien tNew York
`
`BOEING Ex. 1029, p.
`
`iii
`
`

`
`
`
`Dipl.-Math. Udo Voges, Kernforschungszentrum Karlsruhe GmbH,
`Karlsruhe, Federal Republic of Germany
`
`With 41 Figures
`
`This work is subject to copyright.
`All rights are reserved,
`whether the whole or part of the material is concerned,
`specifically those of translation, reprinting, re-use of illustrations,
`broadcasting, reproduction by photocopying machine or similar means,
`and storage in data banks.
`© 1988 by Springer-Verlag/Wien
`Printed in Austria
`
`Library of Congress Cataloging-in-Publication Data
`Software diversity in computerized control systems.
`
`(Dependable computing and fault-tolerant systems ;
`Vol.2)
`Contents: Introduction I U.Voges — Railway
`applications / G. Haglin - Nuclear applications I
`U. Voges. P. Bishop — [etc.]
`1. Fault-tolerant computing. 2. Computer software-
`Reliability. 3. Automatic conuol—Data processing.
`1. Vegas, Udo, 1946-
`. l1.Ser|es.
`QA’i6.9.F38Sfi5
`1988
`005
`87-32367
`ISBN 0-387-82014-0 (U.S.)
`
`ISSN 0932-5581
`
`ISBN 3-211-82014-0 Springer-Verlag Wien-New York
`ISBN 0-387-82014-0 Springer-Verlag New York-Wien
`
`BOEING EX. 1029, p. iv
`
`

`
`Preface
`
`Software Diversity is one of the fault-tolerance means to achieve dependable
`systems.
`
`In this volume, some experimental systems as well as real—life applications
`of software diversity are presented. The history, the current state-of—the-rart
`and future perspectives are given.
`
`‘
`
`Although this technique is used quite successfully in industrial applications,
`further research is necessary to solve some open questions. We hope to
`report on new results and applications in another volume of this series within
`some years.
`
`Acknowledgements
`
`The idea of the workshop was put forward by me ohairpersons of JFIP WG
`10.4, J.-C. Laprie, .I. F. Meyer and Y. Tohrna, in January 1986, and the edi-
`tor of this volume was asked to organize the workshop.
`
`This volume was edited with the assistance of-the editors of the series, A.
`Aviiienis, H. Kopetz and J.-C. Laprie, who also had the function of
`reviewers.
`
`Karlsruhe, October 1987
`
`"
`
`U. Voges, Editor
`
`BOEING Ex. 1029. D. V
`
`

`
`Table of Contents
`
`. Introduction
`U. Voges
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. Railway Applications
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`ERICSSON Safety System for Railway Control .
`G. Hagelin
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`1
`
`. 7
`
`. 11
`
`. 23
`
`. Nuclear Applications
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`Use of Diversity in Experimental Reactor Safety Systems
`U. Voges
`
`The PODS Diversity Experiment
`P. G. Bishop
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 29
`
`. 51
`
`. 85
`
`. Flight Applications
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`AIRBUS and ATR System Architecture and Specification .
`P. Traverse
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 95
`
`. University Research .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`Tolerating Software Design Faults in a Command and
`.
`.
`.
`Control System .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`T. Anderson, P. A. Barrett, D. N. Halliwell, M. R. Moulding
`
`DEDIX 87 —— A Supervisory System for Design Diversity
`Experiments at UCLA .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`A. Aviz"ienz's, M. R. T. Lyu, W. Schiitz, K.-S. Tso, U. Voges
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 105
`
`. 109
`
`. 129
`
`. 169
`
`. Modellinglssues
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`Reliability Modelling for Fault-Tolerant Software
`Report on a Workshop Held in Badgasteih, Austria, July 1986
`B. Littlewood, T. Anderson
`
`. Conclusion
`U. Voges
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. Annotated Bibliography
`U. Voges
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 173
`
`. 183
`
`. 189
`
`BOEING EX. 1029, p. Vi
`
`

`
`Tl
`
`BOEING EX. 1029, p. Vii
`
`

`
`1
`
`Introduction
`
`BOEING Ex. 1029, p. 1
`
`

`
`BOEING EX. 1029, p. 2
`
`

`
`Dependable computing is an issue which was already of much concern
`before this term got accepted and more widely used [Laprie 1985]. Espe-
`cially the aspects of safety and reliability made the application of fault toler-
`ance techniques necessary, since complete fault avoidance was impossible to
`achieve in general applications.
`
`As the causes for software failures are different from those of hardware, dif-
`
`ferent fault tolerance techniques are necessary. Software diversity is one of
`them.
`
`Software Diversity has many faces and many names. It probably started by
`simply naming it fault-tolerant programming [Ehnendorf 1972] and later
`redundant programming [Aviiienis 1975], but inorder to put more emphasis
`on the difference of the solutions, also distinct software (e. g.
`[Fischler
`1975] ), dissimilar software (e. g.
`[Martin 1982] ), and dual programming
`(e. g.
`[Ramamoorthy 1981] ) were used. In the course of further applica-
`tion of this technique, N-Version Programming (NVP) (e. g.
`[Aviiienis
`1977] ) and Multi-Version-Software (MVS) (e. g.
`[Kelly 1982] ) were
`other terms which were used. Besides Software Diversity NVP and MVS
`are now the most often used terms.
`
`Another technique which is very much related to NVP is the Recovery Block
`technique [Randell 1975]. The main difference between these two
`approaches is that the Recovery Block approach makes use of an acceptance
`test and activates the secondary alternate only in case of. a detected error,
`while in NVP all versions are activated all the time, and the acceptance test
`is replaced by a comparison of the different outputs. For a more complete
`comparison see Table 1.
`"'
`
`As an extension and generalization of this technique‘, the term Design Diver-
`sity is emerging, including not only Software Diversity, but also Hardware
`Diversity [Aviiienis 1986].
`
`The idea of applying diversity is not as new as it might be expected after
`
`BOEING Ex. 1029, p. 3
`
`

`
`
`
`4
`
`Voges
`
`Table 1. Comparison Between N-Version Programming and Recovery Blocks
`
`1
`
`Recovery Blocks
`L N-Version Programming
`error detection by comparison _| error detection by acceptance. testing
`error correction by masking
`error correction by recovery
`and voting
`and activation of secondary alternate
`voting and majority decision
`acceptance testing
`(relative test)
`(absolute test)
`A
`majority required
`one accepted alternate required
`always execution of all alternates
`execution of n+1 alternates
`only if n are erroneous
`serial execution normal
`parallel execution possible
`L dynamic redundancy
`
`L
`
`_L
`
`parallel execution normal
`serial execution possible
`static rerlttndancy
`
`|__—
`
`these remarks. In 1834, Dionysius Lardner writes ( [Lardner 1961] p. 177):
`The most certain and efiectual check upon errors which arise in the pro-
`cess of computation. is to cause the same computations to be made by
`separate and independent computers; and this check is rendered still
`more decisive if they make their computations by different methods.
`But it was also realized that this is not the only solution and that this solution
`still contains drawbacks and so Lardner continues:
`It is, nevertheless, a remarkable fact, that several computers, working
`separately and independently, do frequently commit precisely the same
`error; so that falsehood in this case assumes that character of con-.
`sistency, which is regarded as the exclusive attribute of truth. Instances
`of this are familiar to most persons who have had the management of the
`computation of tables.
`But because of the application of computer systems in application areas with
`high dependability requirements the interest
`in software diversity has
`increased.
`This volume contains as a main part written versions of presentations given
`on a one-antlua-half day Workshop on "Design Diversity in Action", which
`was organized by the IFIP Working Group 10.4 "Reliable Computing and
`Fault Tolerance" on June 27 and 28, 1986 in Badenfvienna in Austria.
`
`BOEING EX. 1029, p. 4
`
`

`
`Introduction
`
`5
`
`The aim of this workshop was to bring together the greatest diversity of peo-
`ple who use software diversity in industrial applications as well as those
`which are conducting experiments and evaluations. A list of questions was
`sent to the speakers of the workshop in order to have some of the main
`points covered from different perspectives.
`
`Since not all experiments and. applications of Software Diversity neither
`could be presented at the Workshop nor could be included with separate
`papers in this volume, an annotated bibliography is included. Some histori-
`cal remarks as well as references to a wide scope of experiments and appli-
`cations related to software diversity are mentioned.
`'
`
`In addition, a report on a workshop .on "Reliability Modelling for Fault-
`Tolerant Software" is included in this volume. It contains a list of open
`research issues in this area.
`
`It is hoped that in some future time a new workshop on this topic is organ-
`ized to draw together further application areas of software diversity, to show
`new ways to use it and to inform on gathered experiences. The editor will be
`happy to receive any information on additional experiments and applica-
`tions.
`
`References
`
`A. Aviiiienis, "Fault-Tolerance and Fault-Intolerance: Complemen-
`[Aviiicnis 1975]
`tary Approaches to Reliable Computing,” in Proe. Intern. Conf. on Reliable Software,
`Los Angelcs, CA, USA: 21-23 April 1975, pp. 458-464.
`
`A. Aviiienis and L. Chen, “On the Implementation of N-Version
`[Aviiienis 197?]
`Programming for Software Fault-Tolerance During Program Execution." in Proc. Comp-
`sac7.7, Chicago, IL, USA: November 1977, pp. 149-155.
`
`A. Aviaienis and J.-C. Laprie, “Dependable Computing: From Con-
`[Aviiiienis 1986]
`cepts to Design Diversity,” IEEE Proceedings, Vol. 74, No. 5. May 1986, pp. 629-638.
`
`[Elmendorf 1972] W. R. Elrnendorf, "Fault-Tolerant Programming,” in Proc. 2nd
`Intern. Syrup. on Fault-Tolerant Computing FTCS’2, Newton, MA, USA: 19-21 June
`1972, pp. 79-83.
`
`[Fischler 1975] M. A. Fischler, 0. Firschein, and D. L. Drew, "Distinct Software: An
`Approach to Reliable Computing," in Proc. Second USA-Japan Computer Conference,
`1975, pp. 573-579.
`
`I. P. J. Kelly, “Specification of Fault-Tolerant Multi-Version Software:
`[Kelly 1982]
`Experimental Studies of a Design Diversity Approach," UCLA, Computer Science
`Department, Dos Angeles, CA. USA, Tech. Rep. CSD-320927, September 1982.
`
`BOEING Ex. 1029, p. 5
`
`

`
` 6
`
`Voges
`
`J.-C. Laprie, "Dependable Computing and Fault Tolerance: Concepts
`[Lnprle 1985]
`and Terminology,” in Proc. 15th Intern. Symp. on Fouft~To£eront Computing FTCS‘ 15,
`Ann Arbor, MI, USA: 19-21 June 1985, pp. 2-11.
`
`D. Lardner, “Bebbage’s Calculating Engine; From the Edinburgh
`[Lardner 1961]
`Review, July, 1834, No. CXX," in Charles Babbage and His Calculating Engines, E.
`Morrison, Ed. Dover Publications, Inc. New York, 1961.
`
`D. J. Martin, “Dissimilar Software in High Integrity Applications in
`[Martin 1982]
`Flight Controls," in Proc. AGARD Symp. on Software Avionics, CPP—330, The Hague,
`The Netherlands: September 1982. pp. 36.1—36.13.
`
`C. V. Rnmarnoorthy, Y. R. Molc, F. B. Bastani, G. H. Chin. and
`[Ramamoorthy 1981}
`K. Suzuki, "Application of 5: Methodology for the Development and Validation of Reli-
`able Process Control Software," IEEE Trans. on Software Engineering, Vol. SE-‘F. No.
`6, November 1981, pp. 537-555.
`
`B. Randell, “System Structure for Software Fault Tolerance,” IEEE
`[Randell 1975}
`Trans. on Software Eng., Vol. SE~1, No. 2, June 1975, pp. 220-232.
`
`BOEING EX. 1029, p. 6
`
`

`
`2
`
`Railway Applications
`
`BOEING Ex. 1029, p. 7
`
`

`
`WI
`
`BOEING Ex. 1029, p. 8
`
`

`
`The application of Software Diversity in industrial applications beyond an
`experimental stage was apparently done first in a railway system. This first
`system as well as newer developments are described in the following paper
`by Hagelin.
`
`Bengt Sterner from the Statens Jamvagar (Swedish State Railways) was one
`who encouraged the use of diversity in the Gothenburg system. His involve-
`ment in this project can also be seen by the formal specification language
`used for the interlocking system [Sterner 1978], which was named STER-
`NOL.
`
`In an Italian train control system functionally diverse programs are running
`in sequence, and theirresults are compared for error detection [Frullini
`1984].
`
`For the Singapore Mass Rapid Transit Railway, part of the system is realized
`with two diverse redundant microprocessors having different design objec-
`tives and diverse software in order to minimize the number of common
`
`mode failures [Davies 1984].
`
`For licensing purposes for a railway safety system in Germany, not a parallel
`development, but an independent reverse development
`- from program
`object code to requirement specification - was performed with final com-
`parison of the two documents, original requirements specification and the
`back translated one. This is another kind of application of the diversity prin-
`
`ciple [Krebs 1984].
`
`The General Railway Signal Co. of Rochester, NY, USA, designed its com-
`puterized interlocking system called Vital Processor Interlocking with a sin-
`gle Intel8086 processor running two”: diverse programs written in assembly
`language.
`In case of a failure, a second back-up system (standby spare)
`takes over. The system is in operation in two railway companies in USA
`[Turner 1987].
`'
`
`A similar design is used by the Union Switch & Signal Co. of Pittsburgh,
`
`BOEING EX. 1029, p. 9
`
`

`
`10
`
`PA, USA [Turner 1987].
`
`Vogcs
`
`There exist some further applications of Software Diversity in the railway
`environment, which, however, have not left the experimental stage, e. g. sys-
`tems for a subway train control in Germany [Kapp 1981] and also in France.
`
`Some experimentation was made in Germany by Siemens and the federal
`railway systems (DB) with the use of diversity. but up to now the general
`opinion has been to rely on identical hardware and software, using simple
`redundancy means and applying a rather strict verification and validation
`procedure [Schwier 1987].
`
`References
`
`P. A. Davies, “The Latest Developments in Automatic Train Conn-"o .”
`[Davies 1934]
`in Proc. Intern. Com’. on Railway Safety Conrroi and Automation Towards the 21:: Con-
`tury, London, UK: 25-27 September 1984, pp. 272-279.
`
`,
`
`R. Frullini and A. Lazzari, "Use of Microprocessor in Fail-Safe on
`[Fruilini 1984]
`Board Equipment,” in Proc. Intern. Conf. on Railway Safety Control‘ and Automation
`Towards the 21.5‘: Century, London, UK: 25~2”.-' September 1984, pp. 292-299.
`
`K.-H. Kapp, R. Baum, E. Sartori, and R. I-Iarms, "Sicherheit durch
`[Kapp 1981]
`vollstiindige Diversitiit (Safety through complete Diversity - in German),’’ in Proc.
`Focitragttng Prozefirecitner 1981, Miinchen, FRG: Springer-Verlag BerIin«Heide1berg-
`New York, 10-11 March 1981, pp. 216-229.
`
`, H. Krebs and U. Haspel, “Ein Verfaluen zur Software-Verifikarion (A
`[Krebs 1984]
`Technique for Software Verification - in German]," Regelungsrechnische Praxis, Vol.
`26, 1984, pp. 73-78.
`
`[Schwier 1987] W. Schwier, Private communication, 1987.
`
`B. J. Sterner. “Computerised Interlocking System - a Mu'1Iidimen—
`[Sterner 1978]
`sional Structure in the Pursuit of Safety," IMer:i:E Railway Engineer Inrernarionai,
`November/December 1978, pp. 29-30.
`
`D. B. Turner, R. D. Burns. and H. Hecht. "Designing Micro-Based
`[Turner 1987]
`Systems for Fail-Safe 'I‘raveI," IEEE Spectrum, Vol. 24, No. 2, February 1987, pp. 58-
`63.
`
`BOEING EX. 1029, p. 10
`
`

`
`ERICSSON Safety System
`for Railway Control
`
`Gurmar Hagelin
`ERICSSON SIGNAL SYSTEMS AB
`P.0. Box 42 505
`S-126 12 Stockholm
`Sweden
`
`1. Introduction
`
`Traditionally, equipment used by railways have been grouped in vital and
`non-vital equipment. Vital equipment shall work in a fail-safe way. Inter-
`lockings and level crossing units are examples of vital equipment, and the
`train dispatching panel is an example of non-vital equipment.
`
`Fail-safe is in signalling industry defined as "a characteristic of a system
`which ensures that any malfunction affecting safety will cause thesystem to
`revert to a state that is generally known to be safe". A safe state is for
`instance a signal showing a stop aspect (red light).
`
`In a very strict way, railway systems can be defined to be fault tolerant.
`
`The fail—safe requirements have forced railway equipment designers to use
`special techniques and special components. You cannot use a standard (tele-
`phone) relay in fail-safe circuits because there is a risk that two contacts
`weld together in a way that carmot be detected. Therefore, special Safety
`Relays have been developed.
`
`Special components however are more expensive than standard components
`
`BOEING EX. 1029, p. 11
`
`

`
`12
`
`Ijagelin
`
`and relays are nowadays more expensive than electronic components.
`Therefore there is a demand to put electronics and computers into vital
`equipment. But how do you handle the fail-safe requirement in computer
`hardware and software? It is quite impossible to completely avoid faults in
`complex software systems, especially in real-time systems. And even if the
`software is fault-free, how do you prove that? Therefore you must accept
`that there always remain faults in software systems. In vital systems the
`effects of these faults must be detected and made non-dangerous.
`
`The ERICSSON solution of this problem is DIVERSITY. This means that
`we design two different packages of software. They are both executed in the
`process and the results are compared and must be equal. This principle is
`now used in computerized Interlockings and Automatic Train Control sys-
`tems in use in several countries. In the following chapters I will give short
`descriptions of these systems and after that discuss the methods we use at
`ERICSSON to" achieve safe systems-.
`
`2. Interlockings
`
`Interlockings are used in railway stations. The purposes of interlockings are
`to
`
`0
`
`0
`
`0
`
`0
`0
`
`safeguard the movements of the trains,
`
`prevent dangerous situations,
`
`handle operator commands,
`
`inform the operator(s),
`control and supervise wayside equipment,
`machines.
`
`like signals and point
`
`Traditionally, interlockings have been designed with mechanical or electro-
`mechanical components. ERICSSON started to work with computerized
`interlockings in the middle of the 19'?0’s. The first installation was put into
`commercial operation in 1978 in Gothenburg (Sweden).
`
`In 1978 we still used relays in parts of the system to interface the signals and
`points. Now we have a second generation of the system in operation. This
`second generation is fully electronic.
`The basic design of ERICSSON computer interlocltings is shown in Fig. 1.
`In the signal box we have the Central Equipment with
`0
`interlocking computer(s)
`
`BOEING Ex. 1029. p. 12
`
`

`
`Railway Control
`
`13
`
`r-....—_..—. — — — — — — — — — — — * — — — — — — —..—.1
`CENTRAL EQUIPMENT
`
`INTERLOCKING
`COMPUTER
`
`H OT
`
`
`
`
`I/O-UNITS
`
`I I I I I I I I l I I I I I I
`
`
`
`CONCENTRATOR
`
`
`
`Concentrators are connected to loops
`
`CONCENTRATOR
`
`coNcENTRATon
`
`CONCE NTRATOR
`
`
`
`
`CONCENTRATOR
`
`Fig. 1. Interlocking System Layout
`
`0
`
`0
`
`operator interface (VDU’s and keyboards)
`
`power supplies.
`
`Outdoors in the station area we have concentrators. Signals, point machines
`etc are connected to the concentrator. Between the concentrators and the
`central equipment we use a serial transmission system, organized in loops.
`The concentrators are located close to the controlled objects (to reduce cable
`
`lengths etc). In the concentrators we have
`
`0
`
`transmission equipment and
`
`0
`object controllers.
`In the first generation we designed the object controllers with relays, in the
`second generation they are fully electronic.
`
`The software in the interlocking computer can be divided into three parts
`
`BOEING EX. 1029, p. 13
`
`

`
`I4
`
`Hagelin
`
`(see Fig. 2). The programs to handle transmission, operator communication
`etc are written in assembler. These programs are "universal" in all installa-
`tions.
`
`;1B5ytes
`
`110
`ray...
`
`M,
`in fntlit Installations
`
`I TRANSMISSION
`OPERATOR com.
`
`PROGRAMS
`
`‘I
`
`INTERLOCKING
`
`sma
`
`D
`
`O N
`
`Fig. 2. Interlocking Memory Layout
`
`The interlocking programs are handling the interlocking conditions in the
`stations. These programs are the same in all stations in each market.
`Because of different signalling requirements, these programs have to be
`adopted to each market (country, railway, company). The interlocking pro-
`grams are written in a language.called STERNOL, which is specially
`designed to handle signalling problems. STERNOL is a language, restricted
`to handle Boolean variables and some very simple arithmetic calculations.
`The programs are documented in a way which is similar to traditional relay
`diagrams (see Fig. 3).
`
`In the object controllers we use electronics and microprocessors today. The
`software in these are written in Assembler and PL/M. Site data, which are
`
`the site description for the general programs, are produced by an off-line sys-
`tem. This is the part varying from installation to installation. All site depen-
`dent information is contained in this description.
`
`BOEING EX. 1029, p. 14
`
`

`
`Railway Control
`
`15
`
`E] -—U6-B—K-3-
`
`Q —K-4
`
`R2-I
`Tea-2
`R2-3
`
`1215-i—u|a<>2—-—ua<>3—R4-7 —-R6-6
`1215-a
`ua-1
`Tc-a ja-
`
`Tc-a
`1'2-ta
`
`f
`
`ua-a
`
`ue-1 —[l2BS-l—-UH-l
`T2-B —-izas-Ia
`
`[Z]
`
`K-4
`H<>3—MH-B
`
`rue-2
`K-DJ ua-3
`K-S
`
`K-El
`rc-a
`T2-a—12a5-a
`Ia-a—1aa5-a
`
`E] —K-4-ua-3——Ic-i
`
`T2-1
`xzas-1
`
`TB-1
`was-1
`
`]—
`
`—U8-4 —-TC-1-—K-4
`
`El
`
`T2-l
`T0-1
`IDES-IITIZBS-1}-
`
`[:1 —R2-6 —K-4 —u2<>2 —U2<>3 -—[R6-I
`
`RG-2
`as-3
`
`U6-5
`U2-B —us-a —PK-B
`
`ua-5
`
`E] —ua-5
`’
`
`K-4
`H<>3—-MM-a
`
`K-B U2-2]
`—[K-5]-[U2-3
`
`Fig. 3. Examples of STERNOL statements
`
`3. ATC
`
`In Railway Technology ATC stands for Automatic Train Control. ATC
`shall
`
`0
`
`help and supervise the drivers,
`
`0 warn the drivers and/or apply the brakes in all situations that can be
`dangerous.
`
`ATC systems normally have three parts:
`
`0 wayside equipment to pick up information from signals, interlockings
`etc,
`
`0
`
`0
`
`on-board equipment to supervise the driving,
`
`transmission between wayside equipment and on-board equipment.
`
`The basic design of the system is shown in Fig. 4. The information from the
`signals and interlockings is handled by electronic encoders. In the case of
`
`BOEING EX. 1029, p. 15
`
`

`
`I 6
`
`Hagelin
`
`computer interlocking, data is fed directly to the beacons without the use of
`encoders. The beacons, which are powered from the passing trains, are send-
`ing the information to the locomotives. On board of the train microproces-
`sors handle the information from the antenna, indicate it to the driver and
`
`together with information from the brake conduit. and the
`process it
`speedometer.
`
` Beacons
`
`Fig. 4. ATC System Layout
`
`The software in the ATC computer is written in Assembler and PL/NI. The
`size of thesoftware is about 32k byte.
`
`ERICSSON modern ATC-systems now are in operation in many countries.
`The first was operating in Sweden starting 1978.
`
`4. Methods
`
`The basic design principle in ERICSSON Safety Systems is DIVERSITY.
`In software this means that vital functions are designed independently by
`two teams. Both systems are executed in the processors. The results of the
`calculations have to match before they are regarded to be correct.
`
`Fig. 5 shows how diversity is used in the interlocking system. The two
`interlocking systems (A and B) are running in the interlocking computer.
`The comparators and detectors are built together into units (= object con-
`trollers) located in the concentrators. Each signal and point machine in the
`station has an individual object controller.
`
`BOEING EX. 1029, p. 16
`
`

`
`it
`
`Railway Control
`
`17
`
`CONTROL SYSTEM
`
`INTERLOCKING
`
`INTERLOCKING
`
`SYSTEM
`
`A
`
`SYSTEM
`
`B
`
`COMPARATOR
`
`DETECTION
`SYSTEM
`
`SIGNALS
`POINTS
`
`Fig. 5. Safety Layout of Computer Based Interlocking Systems JZS 750 and JZS 850
`
`Diversity is achieved by
`0
`terms and
`
`0
`
`design rules.
`
`Diversity is enforced by
`
`0
`
`external coding of data and
`
`,
`data organization.
`b
`External coding is achieved by coding the status messages from the object
`controllers. The Hamming distance between A- and B-messages is in most
`cases equal to 4. The two design teams are manned with different peopie.
`People are not allowed to move between the teams: in one of our projects
`they were even located in different cities. The teams are producing their own
`set of documentation.
`
`However, DIVERSITY is not the only method used in ERICSSON Safety
`
`BOEING EX. 1029, p. 17
`
`

`
`18
`
`Hagelin
`
`Systems. Other methods are
`
`use of closed loops,
`
`time (age) checks,
`
`verification and validation,
`
`two redundant clocks, and
`
`HW-checks.
`
`It is very important that safety systems are designed as closed loops. How-T
`ever you can never be sure that a loop. really is closed. Therefore it is neces-
`sary that any break in the loop is detected and actions are taken towards "the
`safe directions". This is handled in the following way in the interlocking. A
`command to signals etc has to be recalculated and retransmitted cyclically.
`The object controllers "know" this _ and are expecting commands to be
`repeated. If the retransmission will stop, for any reason, the object controll-
`ers will put signals to stop as a fail-safe operation. To handle the problem
`with "too old data", all messages in the transmission network, and some data
`in the computers have time tags. These are supervised. Too old data is
`regarded as faulty and will cause signals to go to stop.
`
`Safety validations are performed during all phases in development work (see
`Fig. 6). Validations are based on Hearings. We also use Fault Tree Analysis
`and Fault Effect Analysis. Fault Tree Analysis is based on the questions
`"what can be dangerous and what can cause danger". Fault Effect Analysis
`is based on the questions "what happens if
`Fault Effect Analysis is used
`both for safety and reliability, but is mostly used for hardware.
`
`is very important to have a stringent
`We also want to point out that it
`development method. In our systems diversity has been used to the greatest
`extend within software design. We have very few hardware units which are
`designed in a diversified way (just some I/0 circuits).
`
`5. Specifications
`
`A common questions is "How were your products specified". The answer is
`that the" specifications mostly were written in clear Swedish language (writ-
`ten text). Talking about specifications you must however realize that a
`specification can be divided into at least
`
`0
`
`0
`
`functional requirements and
`
`quality requirements (MTBF, probability of dangerous errors etc).
`
`BOEING EX. 1029, p. 18
`
`

`
`Railway Control
`
`19
`
`Activity
`
`Documents
`
`Safety
`Safety
`Reviewing Documents
`
`Requirgmgnts
`Specification
`
`System
`Description
`
`J
`
`Block
`5Pe¢5
`A
`
`Block
`5P°C5
`A
`
`Addition
`
`.
`
`.
`
`.
`Review
`
`P
`
`ro97:_"‘
`?;:ic;r:-
`
`Inspection
`Record
`
`Inspection
`Record
`
`Inspection
`Record
`
`Check
`Report,
`Descr. of
`Principles
`for Progr.
`
`_
`
`m °s::=:*
`
`Routines
`
`Lists
`
`Module Tests
`Block Tests
`
`Test Report
`(Checked)
`
`Fig. 6. Work Organization
`
`The last point was (and still is) crucial when we started the work in the
`1970’s. Some customers said "New systems shall be as good or better than
`old systems". The problem is that nobody can give figures about the old sys-
`tems.
`
`BOEING Ex. 1029, p. 19
`
`

`
`20
`
`Hagelin
`
`6. Experience
`
`Today, the systems described above are in operation in many installations in
`Sweden, Norway, Denmark and Finland. Within the next years they will be
`put into operation in some other countries like Switzerland, Turkey and Bul-
`garia.
`
`‘The answer to the
`ERICSSON experience is that diversity DOES pay.
`question "Would we do it again?" is definitely YES. Up till now we have,
`after commissioning, detected one error that could have been dangerous in a
`Non-Diversity solution.
`
`A common argument against Diversity is that it doubles the development
`cost. This is not true for two reasons. The first reason is that the system
`development is divided into steps. The cost of the steps
`
`!
`
`5
`
`0
`
`0
`
`0
`
`program specification,
`
`coding and
`
`program test
`
`is doubled, but the cost of the steps
`
`0
`
`0
`
`0
`
`0
`
`requirement specification,
`
`system specification,
`
`test specification and
`
`system test
`
`is NOT doubled.
`
`The second reason is that within a safety system you always find parts that
`have no safety requirements, for instance the printer interface. You must do
`some measurements to isolate these non-fail-safe from the fail-safe parts, but
`the work that has to be doubled is reduced.
`
`7. Future
`
`Our future work will go into two directions. The first is to introduce elec-
`tronics and computers into fail-safe products that still are designed with
`relays. The second will be to introduce more modern techniques into our
`existing products. An example here is to use more high-level languages. We
`also must put more efforts into specification techniques.
`
`BOEING Ex. 1029, p. 20
`
`

`
`Railway Control
`
`21
`
`References
`
`H. Andersson and G. Hagelin: Computer Controlled Interlocking
`[Andersson 1981]
`System, Ericsson Review, No. 2, 1981.
`
`H. Andersson: Experience from the Introduction of ATC in
`[Andersson 1983]
`Sweden, Ericsson Review, No. 1, 1983.
`
`O. Berg von Lind: Computers Can Now Perform Vital Functions Safely,
`[Lind 1979]
`Railway Gazette International, Nov. 1979.
`
`[Nordenfors 1986] D. Nordenfors and A. Sjiiberg: Computer-Controlled Electronic
`Interlocking System. ERILOCK 850, Ericsson Review, No. 1, 1986.
`
`[Sj6berg 1981]
`1981.
`
`A. Sjfibergz Automatic Train Control, Ericsson Review, No. 1,
`
`BOEING Ex. 1029, p. 21
`
`

`
`*1
`
`BOEING EX. 1029, p.22
`
`

`
`Ty
`
`Wnw
`
`3
`
`Nuclear Applications
`
`BOEING EX. 1029, p. 23
`
`

`
`BOEING EX. 1029, p. 24
`
`

`
`In the nuclear field, there have been several experiments with the application
`of software diversity. Three of them will be described in more detail in the
`following two papers. Voges reports on the results gathered in the early
`BPI-experiment and the design of the later MIRA-system, both done in
`Karlsruhe. Bishop then explains -an experiment conducted by three coun-
`tries. Besides these experiments, the following ones should be mentioned.
`
`EPRI
`
`In the late l970’s and early 1980’s, under the direction of the Electric Power
`Research Institute (EPRI) of the USA an experiment was made which used
`diversity as one of different
`techniques to be applied in the project
`[Rarnamoorthy 1981, Saib 1982]. The aim of the project was to develop a
`method for the construction of reliable software, which should be applied to
`
`a realistic nuclear power plant problem.
`
`In this project participants came from The Babcock & Wilcox Company,
`Science Applications, Inc., University of California at Berkeley, and General
`Research Corporation.
`
`Starting from the functional requirements, two teams developed indepen-
`dently a design, using the formal specification language RSL. After the
`verification of these designs, each team continued the development with
`detailed design, implementation, testing as well as validation and verification
`efforts. The final step was the comparison of the outputs of the two pro-
`grams.
`
`The main results of this project were: _\
`
`-
`
`-
`
`-
`
`The use of automated tools can largely assist the development process.
`
`The savings in testing far outweigh the cost of dual program develop-
`ment.
`
`The methods applied improved the likelihood of detecting errors when
`introduced.
`
`BOEING Ex. 1029. p. 25
`
`

`
`26
`
`Voges
`
`The interface problems were reduced.
`
`The software correctness was increased compared to more conventional
`experience.
`
`CANDU
`
`For the Darlington Generation Station (4x85O MW), which is currently
`under construction, a computerized reactor safety shutdown system is
`developed. It consists of two components, SDSl and SDS2. Each component
`has a similar computer configuration, but is from different manufacturers.
`Separate design teams develop the systems. Two programming languages
`are used: Fortran and Pascal. The complete system consists of 15 computers
`[Popovic 1986].
`
`The previous design, which consisted of a different layout, is also using
`diverse hardware, but identical programming languages. So far no shutdown
`was due to a software error in those reactors which are

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket