It has proved very difficult or practically impossible to operate data devices such as personal computers, for instance, in such a way that they can be operated without identifiable vulnerabilities. This causes particular problems when data devices are part of a safety-critical system which is provided with safety-related and non safety-related software and which, before being used, must be type-tested and, for example for a train protection system or for an operating device in an interlocking system, must be approved in a laborious procedure. Afterwards, it is no longer permitted to modify the software. According to the prior art, this is even monitored automatically and such systems switch themselves off automatically after changes are identified. If after the testing and approval of such a system the need arises to introduce non safety-related software into such a system by means of an update or patches, then either recourse must be made to approved, uniquely identifiable software or approval testing must be carried out again.
The object of the invention is to define a method for operating a safety-critical system, which method can be used to update the system with relatively little effort.
This object is suitably achieved according to the invention by a method for operating a safety-critical system comprising at least one first data device containing approved, safety-related software and comprising at least one reference data device containing the same approved, safety-related software, in which method
after the system has been type-tested, the at least one first data device is provided with at least one piece of non safety-related add-on software, and the at least one reference data device is blocked to software modifications; before an item of safety data information is output, a comparator is used to check the output information from the at least one first data device and from the at least one reference data device for a match with regard to the safety-related software, and the safety data information is output only if there is a match.
An essential advantage of the method according to the invention is that it provides the facility in the safety-critical system to update or to add non safety-related software subsequently, i.e. after approval, without the need afterwards to carry out type-testing again together with re-approval.
To guarantee safety, in a system comprising a plurality of first data devices and a plurality of reference data devices it is particularly advantageous to output safety data information only once a check of the output information from the first data devices and from the reference data devices with regard to the safety-related software has given the result that there is a match for each of a qualified majority of the first data devices and of the reference data devices.
The method according to the invention provides the advantageous facility to use data-protection software as the add-on software, which may be virus-protection software in particular or malware-protection software in general.
In addition, the method according to the invention advantageously allows external software to be used as the add-on software, where external software shall be understood to include, for example, commercial software, software not developed personally by the designer of the safety-critical system, or untested software.
Thus the method according to the invention is not subject to any restrictions on the type of the non safety-related software.
In a particularly advantageous embodiment of the method according to the invention, prior to type-testing, the at least one first data device is provided with at least one non safety-related add-on software in the manner that program and data are separate from each other, wherein test data containing a code is used as the data; after type-testing, the at least one first data device is provided in the same program with up-to-date data using the code after checking the validity of the up-to-date data. The code may be a signature. This embodiment of the method according to the invention is characterized in that faults in the safety-critical system by updating the add-on software are avoided with a high degree of certainty.
This embodiment of the method according to the invention can also be used independently of a safety-critical system comprising at least one first data device containing approved, safety-related software and comprising at least one reference data device containing the same approved, safety-related software, i.e. can also be used in a safety-critical system comprising one data device in the sense of the first data device mentioned above or comprising a plurality of data devices.
For fault-free updating of the add-on software, it is also advantageous if,
when data-protection software is the add-on software, it is ensured that the functionality of the program cannot be affected by the data.
In the same context, it is advantageous when the add-on software is used, to check the validity of the code of the data of this add-on software by means of the safety-related software.
The safety-critical system can refer to systems of very different types, including train protection systems or operating systems for interlocking systems. It appears particularly advantageous if a train protection system is used as the safety-critical system, an operating computer is used as the at least one first data device, and an interlocking system is used as the comparator.
To provide further details of the invention, the FIGURE shows schematically an arrangement comprising a first data device and a reference data device.
The FIGURE shows a first data device 1, which may be an operating computer of a train protection system. The first data device 1 contains approved, safety-related software 2. Connected to the one first data device 1 via a data connection 3 is a reference data device 4, which is likewise provided with the approved, safety-related software 2.
The one first data device 1 is connected via a data channel 5, and the reference data device 4 via a further data channel 6, to a comparator 7, the function of which in a train protection system is performed by an interlocking system (not shown) or another safety-oriented comparator.
For the purpose of describing further the method according to the invention, it is assumed that the arrangement just described has been subject to type-testing and approval in this condition. If subsequently this arrangement is provided, for example, with an add-on software 8 in the form of a virus-protection program, then the reference data device 4 is simultaneously blocked to software modifications; it is still equipped solely with the safety-related software 2.
If an item of safety data information D is meant to be output by the comparator 7, then prior to this, said comparator 7 acquires output information Al and Ar from a first data device and from the reference data device 4; said output information Al and Ar is checked with regard to the safety-related software 2, and the safety data information D is output if the safety-related software 2 matches.
Apart from the non-related add-on software 8, the one first data device can also be provided with further non safety-related add-on software 9, which in the case of a train protection system may be, for example, any software for video surveillance of a station facility, or with an additional add-on software 10, which may constitute software for a railroad-crossing monitoring system.
In this case, the first data device 1 can be provided with the various pieces of add-on software 8, 9 and 10 in the manner (not shown) that for each piece of software the program and the associated data are separate. Prior to type-testing and/or approval, each of the programs are stored with test data and a code in the one first data device 1. Obviously the same applies correspondingly to the safety-related software 2 as regards the one first data device 1 and the reference data device 4.
If after type-testing the one first data device is meant to be updated in terms of the add-on software 8, for instance, then the one first data device 1 is provided with up-to-date data for this software. In this process, the code is used in a way that is independent of the transfer of the up-to-date data and is checked for a match. The validity of the up-to-date data is also checked. It is ensured here that the data in the add-on software cannot modify the functionality of the program in the add-on software.
The add-on software can also be updated in this process provided it is ensured that the update cannot remove the safety mechanisms described above, especially if an effect on the reference device 4 via the data connection 3 can be ruled out.
Number | Date | Country | Kind |
---|---|---|---|
10 2013 218 814 | Sep 2013 | DE | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2014/068843 | 9/4/2014 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2015/039878 | 3/26/2015 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7117119 | Van Dyk | Oct 2006 | B2 |
7209811 | Goericke et al. | Apr 2007 | B1 |
7818103 | Johansen | Oct 2010 | B2 |
8341738 | Fazunenko | Dec 2012 | B2 |
8666835 | Minnis | Mar 2014 | B2 |
8693610 | Hess | Apr 2014 | B2 |
8910131 | Moosmann et al. | Dec 2014 | B2 |
9164860 | Manz | Oct 2015 | B2 |
9460077 | Casey | Oct 2016 | B1 |
20040153269 | Kalas, Jr. | Aug 2004 | A1 |
20070277023 | Weiberle et al. | Nov 2007 | A1 |
20080010638 | Klopfer | Jan 2008 | A1 |
20080140962 | Pattabiraman | Jun 2008 | A1 |
20090300179 | Srinivasan | Dec 2009 | A1 |
20100313075 | Liakos | Dec 2010 | A1 |
20110078790 | Fazunenko | Mar 2011 | A1 |
20110125302 | Sethuraman | May 2011 | A1 |
20110126188 | Bernstein | May 2011 | A1 |
20120054729 | Sobel | Mar 2012 | A1 |
20120096428 | Moosmann et al. | Apr 2012 | A1 |
20120174087 | Bentzien | Jul 2012 | A1 |
20120221191 | Bell | Aug 2012 | A1 |
20120304024 | Rohleder | Nov 2012 | A1 |
20130024721 | Kabulepa | Jan 2013 | A1 |
20130145429 | Mendel | Jun 2013 | A1 |
20130185564 | Jaber | Jul 2013 | A1 |
20130268798 | Schade | Oct 2013 | A1 |
20130332926 | Jakoljevic | Dec 2013 | A1 |
20140129001 | Staudenmaier | May 2014 | A1 |
20140365102 | Fries | Dec 2014 | A1 |
Number | Date | Country |
---|---|---|
1558848 | Dec 2004 | CN |
1842763 | Oct 2006 | CN |
101176070 | May 2008 | CN |
102460397 | May 2012 | CN |
103262045 | Aug 2013 | CN |
3938501 | May 1991 | DE |
10332700 | Jan 2005 | DE |
102005023296 | Nov 2006 | DE |
102009019089 | Nov 2010 | DE |
102011086530 | May 2012 | DE |
0428934 | May 1991 | EP |
03047937 | Jun 2003 | WO |
2006120165 | Nov 2006 | WO |
Entry |
---|
B. Umamaheswararao, Study of Methods for Analyzing and Building Software on Safety Critical Systems, International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 vol. 1 Issue 8, Oct. 2012, pp. 1-10. |
Mustafa S. Durmus, Safety-Critical Interlocking Software Development Process for Fixed-Block Signalization Systems, 2012, pp. 165-168. https://www.sciencedirect.com/science/article/pii/S1474667015347649 (Year: 2012). |
Bruce Douglass, Agile analysis practices for safety-critical software development, 2013, pp. 1-14. https://www.ibm.com/developerworks/rational/library/agile-analysis-practices-safety-critical-development/agile-analysis-practices-safety-critical-development-pdf.pdf (Year: 2013). |
Leanna K. Rierson, A Systematic Process for Changing Safety-critical software, 2004, pp. 1-7. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=arnumber=886878 (Year: 2004). |
M. Ben Swarup, A Software Safety Model for Safety Critical Applications, 2009, pp. 1-12. https://pds.semanticsholar.org/3845/661e15c6d469f833bb8cc5eb9fad97feafb2.pdf (Year: 2009). |
A. Drozd, Checkability of the Digital Components in Safety-Critical Systems: Problems and Solutions, 2011, pp. 1-6. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6116606 (Year: 2011). |
Number | Date | Country | |
---|---|---|---|
20160232076 A1 | Aug 2016 | US |