DE69316232T2 - System zum betrieb von anwendungs-software in einer sicherheitskritischen umgebung - Google Patents

System zum betrieb von anwendungs-software in einer sicherheitskritischen umgebung

Info

Publication number
DE69316232T2
DE69316232T2 DE69316232T DE69316232T DE69316232T2 DE 69316232 T2 DE69316232 T2 DE 69316232T2 DE 69316232 T DE69316232 T DE 69316232T DE 69316232 T DE69316232 T DE 69316232T DE 69316232 T2 DE69316232 T2 DE 69316232T2
Authority
DE
Germany
Prior art keywords
application software
safety
critical
data
running
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69316232T
Other languages
English (en)
Other versions
DE69316232D1 (de
Inventor
Alexander Adelson
Alan Eisenberg
Richard Farrelly
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Base Ten Systems Inc
Original Assignee
Base Ten Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Base Ten Systems Inc filed Critical Base Ten Systems Inc
Publication of DE69316232D1 publication Critical patent/DE69316232D1/de
Application granted granted Critical
Publication of DE69316232T2 publication Critical patent/DE69316232T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Safety Devices In Control Systems (AREA)
  • Regulation And Control Of Combustion (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein System und ein Verfahren zum Betreiben von Anwendungs-Software in einer sicherheitskritischen Umgebung. Unter einer sicherheitskritischen Umgebung versteht man dabei eine Umgebung, in der Computer-Software Aktivitäten (Prozesse, Funktionen usw.) ablaufen, deren Fehler, wie zum Beispiel unbeabsichtigte oder unerlaubte Ereignisse, vergebliche Startversuche von Ereignissen, fehlerhafte Werte oder unentdeckte Fehler in der Hardware, potentielle Gefahren oder den Verlust der Vorhersagbarkeit der vom System generierten Resultate zur Folge haben können. Eine sicherheitskritische Umgebung ist notwendig für sicherheitskritische Komponenten von Computer-Software, bei denen eine unbeabsichtigte Aktion möglicherweise direkt verantwortlich für einen Todesfall, eine Verletzung, eine Berufskrankheit oder eine bedeutende Operation sein kann, oder bei denen die Resultate einer durch den Computer durchgeführten Aktion als verläßliche Grundlage für Entscheidungen verwendet werden, die einen Todesfall, eine Verletzung oder eine bedeutende Aktion verursachen könnten. Eine sicherheitskritische Umgebung ist eine verbreitete Menge von Standards und Vereinbarungen und wird in militärischen Spezifikationen wie zum Beispiel MIL-STD-8828 behandelt, die gemeinsam mit Software agiert, die unter DOD-STD-2167 und DOD-STD-2168 entwickelt ist. Außerdem wird die Möglichkeit, die Operationen des Computerprogrammes zu inspizieren und zu prüfen, nachdem das Programm bereits vollständig ausgeführt wurde, um den korrekten Ablauf zu gewährleisten, zu einem Teil der sicherheitskritischen Umgebung.
  • Bisher wurden nur speziell verwendbare Computer entworfen, deren in das System eingebaute Hardware und Firmware ganz speziell so hergestellt wurden, daß alle Anforderungen bezüglich der Leistung, des Tests und der Reporterstellung für eine sicherheitskritische Umgebung zum Betrieb von Anwendungssoftware erfüllt sind.
  • Da jedoch staatliche Behörden, wie zum Beispiel das Ministerium für Nahrungs- und Arzneimittel, existierenden medizinischen Systemen sicherheitskritische Standards auferlegen und dies mit der Forderung verbinden, den Entwicklungsprozeß der Software und die korrekte Arbeitsweise der Software zu validieren, wenn sie in einer sicherheitskritischen Operation benutzt wird, entsteht die Nachfrage nach einer sicherheitskritischen Umgebung eingebettet in für allgemeine Zwecke entwickelte datenverarbeitende Systeme, wie etwa Systeme die unter kommerziellen Standard- Betriebssytemen, wie zum Beispiel DOS, System 7 für Macintosh, Windows, OS/2 usw. betrieben werden. Diese sicherheitskritische Umgebung wäre ebenso verantwortlich für die Überwachung und die Verifikation der korrekten Arbeitsweise, um damit einen offensichtlichen Beweis für das Funktionieren des Anwendungssystems zu erlauben.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Der hauptsächliche Gegenstand der vorliegenden Erfindung ist es, eine sicherheitskritische Umgebung in einem datenverarbeitenden System zur Verfügung zu stellen, das normalerweise nicht dazu in der Lage ist, eine solche sicherheitskritische Umgebung zur Verfügung zu stellen, und das mit einem industriellen Standardbetriebssystem für einen Personal Computer betrieben wird.
  • Diese und andere Aufgaben der vorliegenden Erfindung werden, wie in den beigefügten Patentansprüchen beschrieben, gemäß der vorliegenden Erfindung mittels einer intermediären Shell erreicht. Diese wird über ein auf Personal Computern genutztes Standardbetriebssystem, wie zum Beispiel DOS, das System 7 Betriebssystem für den Macintosh, Windows, 95/2 usw., gelegt. Die Funktion der intermediären Shell ist dabei, eine sicherheitskritische Umgebung für einen Personal Computer, der normalerweise kein sicherheitskritisches System darstellt, zu emulieren und als ein sicherheitskritisches Instrument die Integrität der Ausführung zu überwachen. Die Shell interagiert mit dem Betriebssystem um alle Systemfunktionen im Hinblick auf sicherheitskritische Abweichungen im Ablauf zu beobachten, und sie korrigiert diese Abweichungen in Echtzeit oder sie hindert das System am Fortfahren unter gleichzeitiger Verwendung einer "on-the-spot" (sofort aktivierten) Berichterstattungsfunktion. Die Shell hat außerdem die Funktion mit der Anwendungssoftware zu interagieren, so daß die Anwendungssoftware nicht mit dem normalen Betriebssystem interagieren muß. Somit stellt die intermediäre Shell eine standardisierte und ständige Betriebsumgebung für die Anwendungssoftware dar, die auf inh-rente Art und Weise den Anforderungen einer sicherheitskritischen Umgebung entspricht.
  • Entsprechend der vorliegenden Erfindung liegt die intermediäre Shell über dem Betriebssystem, um dort ein sicherheitskritisches datenverarbeitendes System zu emulieren. Für Anwendungssoftware, die allgemein übliche Datenbasisoperationen und -strukturen und gebräuchliche Fähigkeiten zum Ansteuern des Bildschirms unterstützt, definiert die Shell vorzugsweise eine einheitliche Maschine.
  • Einige der Charakteristiken des sicherheitskritischen Betriebs, die von der intermediären Shell ausgeführt werden, sind das Durchführen von Aktionen wie das Prüfen der Integrität der Datenbasis mit jedem Lesen und Schreiben in einer Datenbasis, die Überprüfung von Bereichszulässigkeiten, die ständige Überprüfung der Hardware und die Aufzeichnung von Problemen. Die intermediäre Shell führt außerdem die sicherheitskritischen Charakteristiken bezüglich der Redundanz aus. Zur Anwendung kommen dabei doppelte Vergleiche von Kopien sämtlicher Daten oder äquivalente Techniken, eine Validierung der Informationen in der Datenbasis durch zyklische Tests auf Redundanz für alle Datenelemente, eine Validierung der Hardware und eine variable Validierung der Daten einschließlich der Überprüfung der Bereiche und der Formate.
  • Ein weiteres wichtiges Merkmal der vorliegenden Erfindung ist die Tatsache, daß die Shell die Anwendungssoftware im Vordergrund betreibt und die Hardware und die Integrität der Datenbasis im Hintergrund überprüft, so daß dies für den Benutzer nicht sichtbar ist.
  • Diese und andere Merkmale und Vorteile der vorliegenden Erfindung werden aus der detaillierten Beschreibung der Erfindung zusammen mit den beigefügten Zeichnungen ersichtlich. Es zeigen:
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Figur 1 ein Blockdiagramm des Systems entsprechend der vorliegenden Erfindung;
  • Figur 2 ein Blockdiagramm zur Interaktion zwischen dem Betriebssystem, der Shell und der Anwendungssoftware;
  • Figur 3 ein Blockdiagramm der Funktionen der intermediären Shell aus den Figuren 1 und 2.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Wie in Figur 1 abgebildet, beinhaltet ein System zum Betreiben von Anwendungssoftware in einem Personal Computer typischerweise eine Tastatur 1, ein Display 2, wie zum Beispiel einen Monitor, Plattenlaufwerke 3, eine primäre Speichereinheit mit Schreib- und Lesezugriff 4, typischerweise realisiert mittels einer Festplatte, eine Zentraleinheit (CPU) 5, wie zum Beispiel einen Intel 386 Prozessor, und einen Arbeitsspeicher (RAM) 6. Das Betriebssystem 7 kann normalerweise in der primären Speichereinheit 4 gespeichert oder über ein Plattenlaufwerk 3 geladen werden, oder es kann ein Teil der Firmware des Systems und in einem nur lesbaren Speicher-ROM als Teil der Zentraleinheit gespeichert sein. In Figur list das Betriebssystem dargestellt als wäre es in den Arbeitsspeicher 6 geladen, und das Betriebssystem funktioniert so, daß es die Interaktionen zwischen Tastatur, Anzeige, Plattenlaufwerken und Hauptspeicher steuert. Für Personal Computer sind viele Betriebssysteme verfügbar, unter anderem DOS, OS/2, Windows und das System 7 Betriebssystem für den Macintosh Computer.
  • In einem typischen Computer wird die Anwendungssoftware 9 in den Arbeitsspeicher geladen, von wo sie mit dem Betriebssystem interagiert um die spezielle Anwendung auszuführen. Konventionelle Personal Computer stellen jedoch keine sicherheitskritische Umgebung in Übereinstimmung mit der militärischen Spezifikation MIL-STD-882B bereit.
  • Deshalb wird durch die vorliegende Erfindung einer intermediäre Shell 8 zur Verfügung gestellt, die vorzugsweise aus dem Hauptspeicher in den Arbeitsspeicher geladen wird oder aber in einem nur lesbaren Speicher ROM als Teil der Zentraleinheit 5 enthalten ist und die das Betriebssystem 7 überlagert, um mit dem Betriebssystem zu interagieren, und die eine sicherheitskritische Umgebung für die Anwendungssoftware 9, die einzig und allein mit der Shell 8 interagiert, emuliert.
  • Handelt es sich bei der Anwendungssoftware beispielsweise um eine medizinische Software, die diagnostische Schlüsse aus eingegebenen Daten zieht, so wird die Anwendungssoftware einzig und allein mit der Shell 8 interagieren, die wiederum mit dem Betriebssystem 7 interagiert und alle sicherheitskritischen Charakteristiken bereitstellt, die für die Anwendungssoftware 9 erforderlich sind.
  • Die Funktionen der intermediären Shell 8 sind im Blockdiagramm von Figur 3 dargestellt. Wie darin gezeigt, besteht die Shell aus diversen funktionalen Blöcken, die für die Emulation der sicherheitskritischen Umgebung mittels Interaktion mit dem Betriebssystem sorgen.
  • Im Speziellen besitzt die Shell eine Schnittstelle für benutzerdefinierte Anwendungen, die mit der Anwendungssoftware interagiert. Die Shell stellt die einzige Interaktion mit der Anwendungssoftware während ihrer Anwendung dar. Die Schnittstelle 10 für benutzerdefinierte Anwendungen besitzt eine Einheit zum Selbsttest, die dafür sorgt, daß das korrekte Arbeiten der Shell sichergestellt ist und daß Bereichsüberprüfungen und Programmüberprüfungen 12 für die Anwendungssoftware durchgeführt werden, um deren Integrität zu überprüfen. Die Schnittstelle für benutzerdefinierte Anwendungen operiert im Vordergrund, während sämtliche Funktionen der sicherheitskritischen Umgebung im Hintergrund ausgeführt werden, so daß sie für den Benutzer nicht sichtbar sind.
  • Die Schnittstelle 10 für benutzerdefinierte Anwendungen interagiert mit einer Einheit 13 zur Speicherverwaltung, mit einer Schnittstelle für Dateidaten 14 und einer Schnittstelle 15 für die Präsentation von Daten auf dem Bildschirm sowie einer Schnittstelle 20 für die Ressourcen.
  • Die Schnittstelle für die Ressourcen steuert ein mathematisches Paket, das sicherstellt, daß die Genauigkeit des Systems für die spezielle Anwendung und für die Anforderungen der sicherheitskritischen Umgebung ausreichend ist. Deshalb kann das mathematische Paket 21 dort, wo typischerweise 8 Bits Genauigkeit üblich sind, erforderlichenfalls bis zu 32 Bits oder mehr Genauigkeit zur Verfügung stellen. Mit der Einheit 22 zur Meldung von Fehlern, die einen "on-the-spot" (sofort aktivierten) Report für jeden Fehler bereitstellt, der von der Shell, die die sicherheitskritische Umgebung emuliert, entdeckt wird. Die Einheit 23 zur Protokollführung des Betriebs zeichnet einen Datensatz bestehend aus allen Überprüfungen, die von der Shell durchgeführt werden, auf. Auf diesen kann zu einem späteren Zeitpunkt vom Speicher aus zugegriffen werden. Schließlich agiert die Einheit 24 zur Fehlerbeseitigung dahingehend, daß sie versucht, Fehler zu beseitigen, wenn diese von der Shell erkannt wurden.
  • Die Shell beinhaltet auch die Schnittstelle 17 für die Ein- bzw. Ausgabe von bzw. in Dateien, die mit dem Betriebssystem interagiert, um Daten an den Speicher zu senden und von dort zu empfangen. Die Einheit 16 für die Validierung der Daten führt die doppelten Vergleiche für die Kopien bei jeder Schreibe- und Leseoperation im Speicher durch. Die Schnittstelle 18 für die Steuerung des Bildschirms interagiert ebenfalls mit dem Betriebssystem und überwacht alle Daten, die zum Bildschirm oder zur Anzeige geschickt werden, um sicherzustellen, daß die Anzeige im Hinblick auf die Bedingungen der sicherheitskritischen Umgebung korrekt ist.
  • Weiterhin beinhaltet die Shell eine Einheit 30 für den Test der Hardware, die kontinuierliche Überprüfungen und Validierungen der Hardware durchführt. Die Einheit 30 für den Test der Hardware beinhaltet eine Einheit 31 für den Test des Speichers und führt eine zyklische Redundanzüberprüfung für alle Datenelemente im Speicher durch. Die Einheit 32 überprüft die Integrität des Befehlsregisters und die Einheit 33 überprüft die Integrität des Prozessors im System, um dadurch sicherzustellen, daß das System korrekt arbeitet. Die Einheit 34 Eiberpflift die Ausnahmebehandlung und die Zeitgebung einschließlich des Taktgebers, um damit zu gewährleisten, daß sie korrekt arbeiten. Die Einheit 35 testet die Platten, und die Einheit 36 testet die Schnittstelle für die Ein- und Ausgabe.
  • In der Anwendung wird die Schnittstelle zur benutzerdefinierten Anwendung als Schnittstelle zu allen anderen Einrichtungen der Anwendungssoftware dienen. Die Anwendungssoftware wird dann mathematische Berechnungen, die Eingabe und/oder die Ausgabe von Daten, eine Protokollierung von Aktivitäten oder eine Bildschirmdarstellung und den Start von Aktivitäten nach einer Auswahl auf dem Bildschirm anfordern. Die Anwendungssoftware wird am vorteilhaftesten durch ein Entwicklungssystem generiert werden, das es erlaubt Anforderungen für Aktionen an die Shell weiterzugeben. Die Anforderungen werden von der Schnittstelle für benutzerdefinierte Anwendungen akzeptiert, die wiederum die Anforderungen einschließlich jeglicher erforderlichen Aktionen zur Protokollierung und Überprüfung an den korrekten Betriebsprozeß innerhalb der Shell weitergibt. Antworten auf die angeforderten Operationen werden über die Schnittstelle 10 für benutzerdefinierte Anwendungen an die Anwendungssoftware zurückgegeben.
  • Gibt es zum Beispiel eine Anforderung, einen Datensatz in eine Datei zu schreiben, würde dies dazu führen, daß der Datensatz an die Einheit 23 zur Betriebs-Protokollführung und zur Schnittstelle 17 für die Ein- und Ausgabe von Dateien transferiert wird. Außerdem wird die Einheit 24 zur Fehlerbeseitigung aktiviert und der Inhalt des zu schreibenden Datensatzes wird analysiert, um festzustellen ob er die gewünschten Daten enthält.
  • Der Selbsttest 11 führt die Überprüfung der Shell selbst durch. Er verursacht Verträglichkeitsüberprüfungen mit jedem anderen Prozeß mittels eines definierten Protokolls für den Transfer von Informationen, und er führt einen zyklischen Redundanztest für den Speicher, der von der Shell belegt wird, durch. Dieser Prozeß führt seine Operationen so häufig durch wie es das sicherheitskritische Niveau für die jeweilige Anwendungssoftware erforderlich macht. Je höher also das sicherheitskritische Niveau, desto häufiger würde der Selbsttest ausgeführt werden.
  • Die Bereichs- und Programmüberprüfungen 12 führen eine Verifikation der Daten bezüglich des Bereichs, des Feldtyps usw. für alle Daten die vom mathematischen Paket 21 manipuliert werden durch, wenn Daten zur Schnittstelle 17 für die Ein- und Ausgabe und zur Schnittstelle 18 für die Bildschirmsteuerung gesendet und von dort wieder zurückerhalten werden. Außerdem wird dadurch die Einheit der Anwendungssoftware verifiziert, auf die durch die Speicherverwaltung 13 mittels einer zyklischen Redundanzüberprüfung und bei einer Größenvalidierung zugegriffen wird.
  • Die Speicherverwaltung 13 nimmt den Anwendungscode an und validiert ihn unter Verwendung der Bereichs- und Programmüberprüfungen 12. Dann protokolliert sie ihre Inituerung in der Einheit 23 für die Protokollführung und startet die Anwendung. Im Falle von Anwendungseinheiten, die durch Bildschirmantworten ausgelöst werden, wird dieser Prozeß diese Einheiten annehmen und sie validieren, bevor sie ausgeführt werden.
  • Die Schnittstelle 14 für Dateidaten übersetzt generische Anforderungen von Lese- und Schreiboperationen für Daten in Dateiaktivitäten, die in der Schnittstelle 17 für die Ein- und Ausgabe von Dateien enthalten sind und mit dem tatsächlichen Betriebssystem, unter dem das Programm abläuft, assoziiert sind. Wenn die Anwendungssoftware beispielsweise das Lesen eines Datensatzes aus einer Datenbasis über einen spezifischen Schlüssel anfordert, wird es diese Anforderung in eine Folge von Kommandos übersetzen lassen, wie sie für ein Programm für den aktiven, direkt über einen Schlüssel erfolgenden Zugriff erforderlich ist.
  • Die Schnittstelle 15 für die Bildschirmdarstellung übersetzt ein genensches Bildschirmlayout, das Antworttasten und 4elder enthält, in Aktivitäten zur Bildschirmdarstellung, die im Interface 18 für die Bildschirmsteuerung enthalten sind und mit dem tatsächlichen Betriebssystem, unter dem die Software betrieben wird, assoziiert sind. Auf diese Weise wird ein Bildschirmlayout, das Steuerknöpfe, Eingabefelder, Auswahlknöpfe oder Aktionsknöpfe enthält, durch die Anwendung beschrieben und danach in eine Folge von Kommandos übersetzt, wie sie von der Methodik der aktiven Benutzerschnittstelle gefordert werden.
  • Die Datenvalidierung 16 fügt eine zyklische Redundanzüberprüfung an jeden geschriebenen Datensatz an und validiert jeden gelesenen Datensatz. Sie steuert die Information um sicherzustellen, daß die Daten nicht modifiziert oder versehentlich zerstört wurden.
  • Die Schnittstelle 17 für die Ein- und Ausgabe von Dateien führt die tatsächlichen Aufrufe des Betriebssystems zum Lesen von und zum Schreiben in der primären Speichereinheit durch. Dies wird alle direkten, über Schlüssel gesteuerten und sequentiellen Zugriffe auf Daten sowie sämtliche Formatierungen der generischen Datensätze in systemabhängige Datenanforderungen handhaben. Darüber hinaus benutzt die Schnittstelle für die Ein- und Ausgabe von Dateien die Datenvalidierung 16, um die gelesenen und geschriebenen Daten zu validieren, um damit sicherzustellen, daß Datenfehler erkannt werden.
  • Die Schnittstelle 18 für die Bildschirmsteuerung setzt die tatsächlichen Aufrufe an das Betriebssystem zur Präsentation von Bildschirmanzeigen für den Benutzer des Systems und zum Empfang von Antworteingaben des Benutzers ab. Damit wird die Formatierung der generischen Bildschirminhalte und ihrer Präsentationselemente, wie zum Beispiel Steuerknöpfe, Auswahlmenüs, Datenfelder usw., erledigt, die mit der Präsentationsmethode des zugrundeliegenden Systems kompatibel sind.
  • Die Schnittstelle 20 für Ressourcen steuert den Zugriff auf einen Satz von Fähigkeiten, der von der Shell angeboten wird und der die Operationen der Anwendung unterstützt. Diese Fähigkeiten schließen das mathematische Paket 21 ein, das statistische Berechnungen und mehrfach genaue Berechnungen unterstützt und sicherstellt, daß die Genauigkeitsgrade für Anwendungsberechnungen, die spezifische Toleranzen bei den Berechnungen fordern, auf allen Systemen konsistent sind. Die Einheit 22 für die Fehlermeldungen definiert die Methode zur Meldung von entdeckten Fehlern an die Shell. Die Protokollführung 23 zeichnet alle gewünschten Aktivitäten und Fehler auf, und die Einheit 24 zur Fehlerbeseitigung erlaubt den Anwendungsprogrammen, Bedingungen für Daten und Fehler festzulegen, und fordert genaue Angaben über den Ort und den Zeitpunkt ihres Auftretens an, um damit die Anwendungssoftware zu unterstützen und Probleme mit der Anwendungssoftware aufzudecken.
  • Das mathematische Paket 21 bietet einen systemunabhängigen Satz von mathematischen Routinen. Dieser unterstützt statistische Operationen und Berechnungen, die Genauigkeitsgrade erfordern, die auf unterschiedlichen Plattformen verschieden sind. Die Einheit 22 für die Fehlermeldungen meldet und übergibt alle aufgetretenen Fehler entweder an die Einheit 23 zur Betriebs-Protokollführung und/oder an den Benutzer auf eine konsistente Art und Weise. Die Einheit 23 zur Betriebs-Protokollführung erzeugt ein Protokoll der Aktivitäten, das neben Angaben über das ausgeführte Programm oder das ausgeführte Segment des Programms auch Modifikationen an Datensätzen und/oder Zugriffe auf Datensätze, Präsentationen auf dem Bildschirm, Rückmeldungen von Operatoren usw. enthält. Dieses Protokoll wird von der Benutzeranwendung für eine Inspektion täglicher Aktivitäten benutzt oder kann benutzt werden, um einer Regierungsstelle die Verifikation der korrekten Ausführung einer gewünschten Anwendung zu ermöglichen. Eine spezielle Signatur kann zusammen mit den Datensätzen aufgezeichnet werden, um sicherzustellen, daß die Datensätze nicht verfälscht wurden. Die Einheit 24 zur Fehlerbeseitigung erlaubt es dem Benutzer, einen Satz von Kriterien festzulegen, die auf dynamische Operationen der Anwendungssoftware angewandt werden, um ihn damit bei der Identifizierung von Problemen mit der Anwendung zu unterstützen. Dies sind das Erkennen von in die primäre Speichereinheit geschriebenen oder aus ihr gelesenen fehlerhaften Daten oder die Anforderung einer inkorrekten Sequenz für eine Bildschirmdarstellung.
  • Die Einheit 30 für den Hardwaretest ist eine Aktivität, die unabhängig von der Anwendungssoftware auftritt. Das Testen findet auf einer Basis statt, die verfügbare Zeiten nutzt, um sicherzustellen, daß die Plattform, in der die Anwendung abläuft, korrekt arbeitet. Dies schließt eine Reihe von Tests ein, die das normale Prozeßverhalten des Systems und die Integrität der eingebundenen Hardware verifiziert.
  • Das Testen der Hardware schließt das Testen des Speichers 31 ein, was sicherstellt, daß der RAM Speicher mit einer zuverlässigen Wiedergewinnung gespeicherter Daten gelesen und geschrieben werden kann. Dies geschieht in einem nicht-destruktiven Modus, um sicherzustellen, daß keine störenden Eingriffe in dem Programmablauf auftreten. Der Test der Befehlsregister 32 überprüft jeden Befehl für den Prozessor in diversen Orientierungen mit bekannten Operanden und vergleicht die Resultate der Operation mit erwarteten Resultaten, um damit die korrekte Arbeitsweise der Zentraleinheit zu verifizieren und eine korrekte Ausführung des Programmes sicherzustellen. Das Testen des Prozessors 33 überprüft die prozessorabhängigen Operationen um ebenfalls eine korrekte Ausführung eines Programms zu sichern. Diese Operationen beinhalten spezielle Fähigkeiten jedes einzelnen Prozessors. Der Test der Ausnahmebehandlungen und der Zeitgebung 34 überprüft die Zeitgebung des Taktgebers und die auf Interrupts beruhenden Aktionen wo immer möglich auf einer konfliktfreien Basis um sicherzustellen, daß zeitgesteuerte Aktivitäten und durch lnterrupts gesteuerte Aktivitäten korrekt abgearbeitet werden. Die Plattentests 35 überprüfen das Festplattenlaufwerk oder die Controller und die Laufwerke der primären Speichereinheit auf einer konfliktfreien Basis, um sicherzustellen, daß Leseoperationen, Schreiboperationen und Suchoperationen auf Festplatten korrekt abgearbeitet werden. Die Schnittstellen-Tests für die Ein- und Ausgabe 36 überprüfen alle Schnittstellen-Boards für die Eingabe und die Ausgabe, die eindeutig für die Anwendung des Benutzers und damit abhängig von der spezifischen Hardware, die im System installiert ist, sind.
  • Es ist klar, daß die vorliegende Beschreibung und die Ansprüche beispielhaft sind und keine Beschränkung darstellen, und daß diverse Modifikationen und Veränderungen gemacht werden können, ohne den Schutzbereich der vorliegenden Erfindung zu verlassen.

Claims (19)

1. System zum Betreiben von Anwendungssoftware in einer sicherheitskritischen Umgebung, umfassend ein Datenverarbeitungsmittel, das ein Betriebssystem zum Betreiben von Anwendungssoftware unter dem Betriebssystem hat, dadurch gekennzeichnet, daß ein Mittel zum Bereitstellen einer sicherheitskritischen Umgebung einschließlich sicherheitskritischer Hintergrund- und Vordergrundfunktionen für die Anwendungssoftware, die in Verbindung mit dem Betriebssystem läuft, ein Mittel zum Bilden einer intermediären Shell, die ein Mittel zum Koppeln mit dem Betriebssystem, ein Mittel zum Koppeln mit der Anwendungssoftware zum Betreiben der Anwendungssoftware unter dem Betriebssystem durch die intermediäre Shell und ein Mittel zum Kontrollieren sowohl der sicherheitskritischen Vordergrund- als auch Hintergrundfunktionen während des Ablaufs der Anwendungssoftware hat, einschließlich eines Mittels zum Testen der intermediären Shell als eine sicherheitskritische Hintergrundfunktion, unabhängig davon, daß die Anwendungssoftware in Verbindung mit dem Betriebssystem läuft und während die Anwendungssoftware in Verbindung mit dem Betriebssystem läuft, umfaßt.
2. System nach Anspruch 1, wobei das Datenverarbeitungsmittel einen Speicher, einen Taktgeber und einen Prozessor aufweist und wobei das Mittel, das die sicherheitskritische Umgebung bereitstellt, ferner ein Mittel zum kontinuierlichen Überwachen der Operationen des Speichers, des Taktgebers und des Prozessors als eine sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft sowie ein Mittel zum Anzeigen eines Fehlers beim Betrieb des Taktgebers, des Speichers oder des Prozessors als eine sicherheitskritische Vordergrundfunktion umfaßt.
3. System nach Anspruch 1 oder 2, wobei das Datenverarbeitungsmittel Hardwarekomponenten und ein Mittel zum Eingeben von Eingabedaten zur Benutzung mit der Anwendungssoftware hat, und wobei das Mittel, das die sicherheitskritische Umgebung bereitstellt, weiter ein Mittel zum kontinuierlichen Überwachen von Eingabedaten und der Operationen der Hardwarekomponenten als eine sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft, um chronologische Ereignisdaten zu produzieren, die den vorgeschriebenen Operationen entsprechen, und ein Mittel, um ein Protokoll der Eingabedaten und der chronologischen Ereignisdaten als sicherheitskritische Hintergrundfunktion aufrechtzuerhalten, umfaßt.
4. System nach Anspruch 3, wobei die Hardwarekomponenten einen Speicher, einen Taktgeber und einen Prozessor umfassen.
5. System nach Anspruch 1 oder 2, wobei das Datenverarbeitungsmittel ein Mittel zum Eingeben von Eingabedaten zur Benutzung mit der Anwendungssoftware hat, und wobei die Anwendungssoftware mit Daten Berechnungen durchführt, um berechnete Daten und Ausgabedaten zu erzeugen, und wobei das Mittel, das die sicherheitskritische Umgebung bereitstellt, ferner ein Mittel zum Speichern von Bereichen und Formaten für Eingabedaten, Ausgabedaten und berechnete Daten für die Anwendungssoftware, ein Mittel zum kontinuierlichen Vergleichen der Eingabedaten, Ausgabedaten und berechneten Daten mit den gespeicherten Bereichen und Formaten als eine sicherheitskritische Hintergrundfunktion während des Ablaufs der Anwendungssoftware und ein Mittel zum Anzeigen eines ungünstigen Vergleichs als sicherheitskritische Vordergrundfunktion umfaßt.
6. System nach Anspruch 1, wobei die intermediäre Shell weiter umfaßt:
ein Mittel zum kontinuierlichen Überwachen des Betriebs des Speichers, des Taktgebers und des Prozessors als sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft und zum Erzeugen von damit korrespondierenden Ereignisdaten,
ein Mittel zum Anzeigen eines Fehlers beim Betrieb der intermediären Shell, des Taktgebers, des Speichers und des Prozessors als sicherheitskritische Vordergrundfunktion,
ein Mittel zum kontinuierlichen Aufzeichnen von Eingabedaten als sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft,
ein Mittel zum Aufrechterhalten eines Protokolls der Eingabedaten und der Ereignisdaten,
ein Mittel zum Speichern von Bereichen und Formaten für Eingabedaten, Ausgabedaten und berechnete Daten,
ein Mittel zum kontinuierlichen Vergleichen der Eingabedaten, Ausgabedaten und berechneten Daten mit den gespeicherten Bereichen und Formaten als sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft und
ein Mittel zum Anzeigen eines ungünstigen Vergleichs als sicherheitskritische Vordergrundfunktion.
7. System nach Anspruch 6, wobei das Datenverarbeitungsmittel eine vorbestimmte Genauigkeit hat und wobei die intermediäre Shell ein Mittel zum Anpassen der Genauigkeit des Datenverarbeitungsmittels an die von der Anwendungssoftware geforderte Genauigkeit hat.
8. System nach Anspruch 6 oder 7, wobei die intermediäre Shell ein Mittel zum Durchführen zyklischer Redundanzkontrollen hat.
9. System nach einem der Ansprüche 6 bis 8 für Anwendungssoftware, die eine Datenbasis benutzt, wobei die Anwendungssoftware die Datenbasis liest und schreibt, wobei die intermediäre Shell ein Mittel zum Kontrollieren der Daten der Datenbasis bei jedem Lesen und Schreiben der Datenbasis hat.
10. System nach einem der Ansprüche 6 bis 9, wobei die intermediäre Shell ein Mittel zum Durchführen zyklischer Redundanzkontrollen mit allen Daten in der Datenbasis, bezogen auf die Anwendung, hat.
11. Verfahren zum Betreiben von Anwendungssoftware in einer sicherheitskritischen Umgebung, umfassend das Bereitstellen eines Datenverarbeitungsmittels, das ein Betriebssystem aufweist, und das Betreiben von Anwendungssoftware unter dem Betriebssysten, dadurch gekennzeichnet, daß eine sicherheitskritische Umgebung einschließlich sicherheitskritischer Vordergrund- und Hintergrundfunktionen für die Anwendungssoftware, die in Verbindung mit dem Betriebssytem läuft, dadurch bereitgestellt wird, daß eine intermediäre Shell gebildet wird, die intermediäre Shell mit dem Betriebssystem gekoppelt wird, die intermediäre Shell mit der Anwendungssoftware gekoppelt wird, um die Anwendungssoftware unter dem Betriebssystem nur durch die intermediäre Shell zu betreiben und sowohl die sicherheitskritischen Vordergrund- als auch Hintergrundfunktionen kontrolliert werden, während die Anwendungssoftware läuft, einschließlich Testen der intermediären Shell als sicherheitskritische Hintergrundfunktion, unabhängig davon, daß die Anwendungssoftware in Verbindung mit dem Betriebssystem läuft und während die Anwendungssoftware in Verbindung mit dem Betriebssystem läuft.
12. Verfahren nach Anspruch 11, wobei das Datenverarbeitungsmittel einen Speicher, einen Taktgeber und einen Prozessor hat, und wobei der Schritt des Bereitstellens der sicherheitskritischen Umgebung ferner das kontinuierliche Überwachen des Betriebs des Speichers, des Taktgebers und des Prozessors als sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft und das Anzeigen eines Fehlers im Betrieb des Taktgebers, des Speichers und des Prozessors als sicherheitskritische Vordergrundfunktion umfaßt.
13. Verfahren nach Anspruch 11 oder 12, wobei das Datenverarbeitungsmittel Hardwarekomponenten hat, wobei Eingabedaten zur Benutzung mit der Anwendungssoftware eingegeben werden und wobei der Schritt der sicherheitskritischen Umgebung ferner das kontinuierliche Aufzeichnen von Eingabedaten und des Betriebs des Speichers, des Taktgebers und des Prozessors als sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft, um chronologische Ereignisdaten zu erzeugen, die dem Betrieb entsprechen, und das Aufrechterhalten eines Protokolls der Eingabedaten und der chronologischen Ereignisdaten als sicherheitskritische Hintergrundfunktion, umfaßt.
14. Verfahren nach Anspruch 11 oder 12, wobei Eingabedaten zur Benutzung mit der Anwendungssoftware eingegeben werden, wobei die Anwendungssoftware mit Daten Berechnungen durchführt, um berechnete Daten und Ausgabedaten zu liefern, und wobei der Schritt des Bereitstellens der sicherheitskritischen Umgebung ferner das Speichern von Bereichen und Formaten für Eingabedaten, Ausgabedaten und berechnete Daten für die Anwendungssoftware, das kontinuierliche Vergleichen der Eingabedaten, Ausgabedaten und berechneten Daten mit den gespeicherten Bereichen und Formaten als sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft und das Anzeigen eines ungünstigen Vergleichs als sicherheitskritische Vorderg rundfunktion umfaßt.
15. Verfahren nach Anspruch 11, ferner umfassend:
das kontinuierliche Aufzeichnen des Betriebs des Speichers, des Taktgebers und des Prozessors als sicherheitskritische Vordergrundfunktion während die Anwendungssoftware läuft und zum Erzeugen von damit korrespondierenden Ereignisdaten,
das Anzeigen eines Fehlers in Operationen der intermediären Shell, des Taktgebers, des Speichers und des Prozessors als sicherheitskritische Vordergrundfunktion,
das kontinuierliche Aufzeichnen von Eingabedaten als sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft,
das Aufrechterhalten eines Protokolls der Eingabedaten und der Ereignisaten,
das Speichern von Bereichen und Formaten für Eingabedaten, Ausgabedaten und berechnete Daten,
das kontinuierliche Vergleichen der Eingabedaten, Ausgabedaten und berechneten Daten mit den gespeicherten Bereichen und Formaten als sicherheitskritische Hintergrundfunktion während die Anwendungssoftware läuft und
das Anzeigen eines ungünstigen Vergleichs als sicherheitskritische Vordergrundfunktion.
16. Verfahren nach Anspruch 15, wobei das Datenverarbeitungsmittel eine vorbestimmte Genauigkeit hat und wobei die intermediäre Shell die Genauigkeit des Datenverarbeitungsmittels an die von der Anwendungssoftware geforderte Genauigkeit anpaßt.
17. Verfahren nach Anspruch 15 oder 16, wobei die intermediäre Shell zyklische Redundanzkontrollen durchführt.
18. Verfahren nach einem der Ansprüche 15 bis 17, wobei die Anwendungssoftware eine Datenbasis umfaßt und wobei die Anwendungssoftware die Datenbasis liest und schreibt und wobei die intermediäre Shell bei jedem Lesen und Schreiben der Datenbasis eine Datenbasiskontrolle durchführt.
19. Verfahren nach einem der Ansprüche 15 bis 18, wobei die intermediäre Shell zyklische Redundanzkontrollen bei allen Daten in der Datenbasis, bezogen auf die Anwendung, durchführt.
DE69316232T 1992-10-22 1993-10-21 System zum betrieb von anwendungs-software in einer sicherheitskritischen umgebung Expired - Fee Related DE69316232T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/964,742 US5339261A (en) 1992-10-22 1992-10-22 System for operating application software in a safety critical environment
PCT/US1993/010078 WO1994009433A2 (en) 1992-10-22 1993-10-21 A system for operating application software in a safety critical environment

Publications (2)

Publication Number Publication Date
DE69316232D1 DE69316232D1 (de) 1998-02-12
DE69316232T2 true DE69316232T2 (de) 1998-08-06

Family

ID=25508923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69316232T Expired - Fee Related DE69316232T2 (de) 1992-10-22 1993-10-21 System zum betrieb von anwendungs-software in einer sicherheitskritischen umgebung

Country Status (8)

Country Link
US (3) US5339261A (de)
EP (1) EP0665968B1 (de)
JP (1) JP2877956B2 (de)
AT (1) ATE161980T1 (de)
AU (1) AU5725694A (de)
CA (1) CA2145844C (de)
DE (1) DE69316232T2 (de)
WO (1) WO1994009433A2 (de)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339261A (en) * 1992-10-22 1994-08-16 Base 10 Systems, Inc. System for operating application software in a safety critical environment
AU5616694A (en) * 1992-11-30 1994-06-22 Base 10 Systems, Inc. A safety critical processor and processing method for a data processing system
US5594637A (en) * 1993-05-26 1997-01-14 Base Ten Systems, Inc. System and method for assessing medical risk
EP0632377B1 (de) * 1993-06-30 1998-12-30 Microsoft Corporation Verfahren zur Überprüfung eines nachrichtengesteuerten Betriebssystems
US5542069A (en) * 1994-03-02 1996-07-30 Sun Microsystems, Inc. Method and apparatus for simulating input events in a windowed environment
US5673386A (en) * 1994-06-29 1997-09-30 U S West Technologies, Inc. Method and system for identification of software application faults
US5581687A (en) * 1994-11-10 1996-12-03 Baxter International Inc. Interactive control systems for medical processing devices
US5553237A (en) * 1994-12-13 1996-09-03 Base Ten Systems, Inc. Safety critical monitoring of microprocessor controlled embedded systems
US5572671A (en) * 1995-02-17 1996-11-05 Base Ten Systems, Inc. Method for operating application software in a safety critical environment
US5867710A (en) * 1995-09-05 1999-02-02 Motorola, Inc. Portable microkernel operating system verification and testing
US5758060A (en) * 1996-03-05 1998-05-26 Dallas Semiconductor Corp Hardware for verifying that software has not skipped a predetermined amount of code
US5889990A (en) 1996-11-05 1999-03-30 Sun Microsystems, Inc. Information appliance software architecture with replaceable service module providing abstraction function between system library and platform specific OS
US5926777A (en) * 1997-10-14 1999-07-20 Nematron Corporation Method and apparatus for monitoring computer system service life parameters
US6044458A (en) * 1997-12-12 2000-03-28 Motorola, Inc. System for monitoring program flow utilizing fixwords stored sequentially to opcodes
US6085576A (en) * 1998-03-20 2000-07-11 Cyrano Sciences, Inc. Handheld sensing apparatus
US6647301B1 (en) 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
US20010015977A1 (en) * 1999-10-08 2001-08-23 Stefan Johansson Selective reception
US20010014085A1 (en) * 1999-10-08 2001-08-16 Microsoft Corporation Originator authentication
US6550024B1 (en) * 2000-02-03 2003-04-15 Mitel Corporation Semantic error diagnostic process for multi-agent systems
SE522408C2 (sv) * 2000-04-27 2004-02-10 Microsoft Corp Datorprogram och förfarande för automatiserad testning av en dators funktionalitet
DE50113303D1 (de) * 2000-09-05 2008-01-03 Storz Endoskop Gmbh System und verfahren zur zentralen steuerung von einrichtungen, die während einer operation benutzt werden
US6691070B1 (en) * 2000-11-03 2004-02-10 Mack Information Systems System and method for monitoring a controlled environment
SE518751C2 (sv) * 2001-01-03 2002-11-19 Microsoft Corp Metod och system där en extern server erhåller information om enskilda mobila terminalers radioöverföringskapacitet
US20030009305A1 (en) * 2001-06-12 2003-01-09 Eden John S. Flexible, extensible, and portable testing platform
US6768943B2 (en) 2002-04-18 2004-07-27 Aviation Communication & Surveillance Systems, Llc System and method using environment memory having signatures
US20030220987A1 (en) * 2002-05-21 2003-11-27 Aviation Communication & Surveillance Systems, Llc System and method with environment memory for input/output configuration
US7103914B2 (en) * 2002-06-17 2006-09-05 Bae Systems Information Technology Llc Trusted computer system
US8539063B1 (en) 2003-08-29 2013-09-17 Mcafee, Inc. Method and system for containment of networked application client software by explicit human input
US7464408B1 (en) * 2003-08-29 2008-12-09 Solidcore Systems, Inc. Damage containment by translation
US7318226B2 (en) * 2003-10-16 2008-01-08 International Business Machines Corporation Distributed autonomic solutions repository
US7506241B2 (en) * 2003-10-16 2009-03-17 International Business Machines Corporation Method and apparatus for a self healing agent
US7840968B1 (en) 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US7783735B1 (en) 2004-03-22 2010-08-24 Mcafee, Inc. Containment of network communication
US7873955B1 (en) 2004-09-07 2011-01-18 Mcafee, Inc. Solidifying the executable software set of a computer
US7603552B1 (en) * 2005-05-04 2009-10-13 Mcafee, Inc. Piracy prevention using unique module translation
US7856661B1 (en) 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7660412B1 (en) * 2005-12-09 2010-02-09 Trend Micro Incorporated Generation of debug information for debugging a network security appliance
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US7895573B1 (en) 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US7870387B1 (en) * 2006-04-07 2011-01-11 Mcafee, Inc. Program-based authorization
US8352930B1 (en) 2006-04-24 2013-01-08 Mcafee, Inc. Software modification by group to minimize breakage
US8555404B1 (en) 2006-05-18 2013-10-08 Mcafee, Inc. Connectivity-based authorization
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US7671567B2 (en) * 2007-06-15 2010-03-02 Tesla Motors, Inc. Multi-mode charging system for an electric vehicle
DE102007050708B4 (de) * 2007-10-22 2009-08-06 Phoenix Contact Gmbh & Co. Kg System zum Betreiben wenigstens eines nicht-sicherheitskritischen und wenigstens eines sicherheitskritischen Prozesses
US8195931B1 (en) 2007-10-31 2012-06-05 Mcafee, Inc. Application change control
US8515075B1 (en) 2008-01-31 2013-08-20 Mcafee, Inc. Method of and system for malicious software detection using critical address space protection
US8615502B2 (en) 2008-04-18 2013-12-24 Mcafee, Inc. Method of and system for reverse mapping vnode pointers
US8544003B1 (en) 2008-12-11 2013-09-24 Mcafee, Inc. System and method for managing virtual machine configurations
US8356285B2 (en) * 2009-03-31 2013-01-15 Oracle America, Inc. Facilitated introspection of virtualized environments
US8341627B2 (en) * 2009-08-21 2012-12-25 Mcafee, Inc. Method and system for providing user space address protection from writable memory area in a virtual environment
US8381284B2 (en) 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
AU2010292417B9 (en) 2009-09-08 2015-04-16 Abbott Diabetes Care Inc. Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device
US20110099439A1 (en) * 2009-10-23 2011-04-28 Infineon Technologies Ag Automatic diverse software generation for use in high integrity systems
US9552497B2 (en) * 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US20110208948A1 (en) * 2010-02-23 2011-08-25 Infineon Technologies Ag Reading to and writing from peripherals with temporally separated redundant processor execution
US8516356B2 (en) 2010-07-20 2013-08-20 Infineon Technologies Ag Real-time error detection by inverse processing
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8549003B1 (en) 2010-09-12 2013-10-01 Mcafee, Inc. System and method for clustering host inventories
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US9678483B2 (en) 2011-01-26 2017-06-13 Honeywell International Inc. Programmable controller with both safety and application functions
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US8694738B2 (en) 2011-10-11 2014-04-08 Mcafee, Inc. System and method for critical address space protection in a hypervisor environment
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8973144B2 (en) 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
CN105580023B (zh) 2013-10-24 2019-08-16 迈克菲股份有限公司 网络环境中的代理辅助的恶意应用阻止
US10445090B2 (en) 2016-07-26 2019-10-15 Hitachi, Ltd. Method and system for determining safety compliance level of a software product
CN107526683B (zh) * 2017-08-23 2020-06-19 北京小米移动软件有限公司 应用程序功能冗余度的检测方法、装置及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4270168A (en) * 1978-08-31 1981-05-26 United Technologies Corporation Selective disablement in fail-operational, fail-safe multi-computer control system
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
GB2200476B (en) * 1987-01-29 1991-02-06 British Gas Plc Monitor system
US5063500A (en) * 1988-09-29 1991-11-05 Ibm Corp. System for executing segments of application program concurrently/serially on different/same virtual machine
FR2649507B1 (fr) * 1989-07-07 1994-07-08 Bull Sa Procede d'observation de l'execution d'un programme charge dans un systeme informatique et dispositif pour la mise en oeuvre dudit procede
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5063572A (en) * 1990-06-04 1991-11-05 Unisys Corporation Channelized delay and mix chip rate detector
JP2777496B2 (ja) * 1991-02-28 1998-07-16 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおいてマルチプロセスをプロファイリングする際の使用方法
US5245615A (en) * 1991-06-06 1993-09-14 International Business Machines Corporation Diagnostic system and interface for a personal computer
US5339261A (en) * 1992-10-22 1994-08-16 Base 10 Systems, Inc. System for operating application software in a safety critical environment

Also Published As

Publication number Publication date
AU5725694A (en) 1994-05-09
CA2145844A1 (en) 1994-04-28
US5521849A (en) 1996-05-28
EP0665968A1 (de) 1995-08-09
DE69316232D1 (de) 1998-02-12
US5506792A (en) 1996-04-09
WO1994009433A2 (en) 1994-04-28
JP2877956B2 (ja) 1999-04-05
EP0665968B1 (de) 1998-01-07
JPH08502611A (ja) 1996-03-19
CA2145844C (en) 1999-03-30
ATE161980T1 (de) 1998-01-15
WO1994009433A3 (en) 1994-05-26
US5339261A (en) 1994-08-16

Similar Documents

Publication Publication Date Title
DE69316232T2 (de) System zum betrieb von anwendungs-software in einer sicherheitskritischen umgebung
DE69903629T2 (de) Prüfung der funktionsfähigkeit eines gerätetreibers
DE69720821T2 (de) Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle
Inozemtseva et al. Coverage is not strongly correlated with test suite effectiveness
DE69315223T2 (de) Rechnerfehler-wiederinbetriebnahme und warnsystem
DE69932371T2 (de) Verschiebbare Instrumentationskennzeichen für die Prüfung und die Fehlerbeseitigung eines Computerprogramms
DE102005022192B4 (de) Datensicherungs-Laufwerk mit auswechselbaren Speichermedien zum Sichern von Daten eines Hostcomputers
DE60010420T2 (de) Automatisches Regressionstesten von Arbeitsplatz-Software
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
DE19847677C2 (de) Computer, Verfahren und Gerät zum Verhindern eines unautorisierten Zugriffs auf ein Computerprogramm
DE69815006T2 (de) Datenverarbeitungseinheit mit Fehlerbeseitungsmöglichkeiten
DE202016008043U1 (de) Vorrichtung zum Erzeugen, Erfassen, Speichern und Laden von Debugging-Informationen für gescheiterte Test-Skripts
WO1996018949A1 (en) Safety critical monitoring of microprocessor controlled embedded systems
US5572671A (en) Method for operating application software in a safety critical environment
Wallace et al. Lessons from 342 medical device failures
DE112011100168T5 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
DE69422003T2 (de) Verfahren und Vorrichtung zur Steuerung der Befehlswiederholung
Michelsen et al. A methodology for the objective evaluation of the user/system interfaces of the MADAM system using software engineering principles
DE102023201815A1 (de) Verfahren zum Testen eines Computerprogramms
DE60114416T2 (de) Vorrichtung und verfahren zur bewertung von algorithmen
DE69614355T2 (de) Spielvorrichtung und Verfahren zur Fehlerbeseitigung in einem Spielprogramm
Simonovski et al. Implementation of chromatography data system in a quality control laboratory in the pharmaceutical industry
EP3647801A1 (de) Verfahren zur überprüfung eines fpga-programms
Cranmer et al. Research data integrity: a result of an integrated information system
Ginzberg Notes on testing real-time system programs

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee