-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht den Nutzen der vorläufigen US-Anmeldung mit der Nummer 61/610,696, die am 14. März 2012 eingereicht wurde. Der Offenbarungsgehalt der vorstehenden Anmeldung ist hier durch Bezugnahme in seiner Gesamtheit mit aufgenommen.
-
GEBIET
-
Die vorliegende Offenbarung betrifft Systeme und Verfahren zum Verifizieren der Integrität eines sicherheitskritischen Fahrzeugsteuerungssystems.
-
HINTERGRUND
-
Die hier bereitgestellte Hintergrundbeschreibung dient dem Zweck einer allgemeinen Darstellung des Kontexts der Offenbarung. Die Arbeit der gegenwärtig genannten Erfinder, sofern sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt des Einreichens nicht anderweitig als Stand der Technik ausgewiesen sind, werden weder explizit noch implizit als Stand der Technik gegen die vorliegende Offenbarung anerkannt.
-
Steuerungsmodule werden in einer Vielfalt von Systemen implementiert, um Daten zu verarbeiten und Steuerungssignale zu erzeugen. Steuerungsmodule verwenden in zunehmendem Maße digitale Prozessoren in Autos, Lastwägen, Flugzeugen und anderen Fahrzeugen, um sicherheitskritische Funktionen wie etwa das Bremsen und die Drehmomentausgabe von Kraftmaschinen zu steuern. Ein primärer Prozessor erzeugt Steuerungssignale auf der Grundlage von Signalen, die er von verschiedenen Sensoren und anderen Vorrichtungen empfängt, welche Betriebscharakteristika wie etwa die Kraftmaschinendrehzahl, die Temperatur, den Druck und das Übersetzungsverhältnis überwachen. Der primäre Prozessor verarbeitet Signalinformationen unter Verwendung einer arithmetischen Logikeinheit (ALU). Wenn ein Steuerungssignal als Folge einer defekten ALU verfälscht wird, kann der primäre Prozessor das System anweisen, eine falsche Maßnahme zu ergreifen.
-
Verfälschte Steuerungssignale können aus anderen Ausfällen und/oder Fehlern resultieren, die mit dem primären Prozessor und/oder anderen Komponenten des Steuerungsmoduls verbunden sind. Die Ausfälle und/oder Fehler können Hardwarefehler des Speichers mit wahlfreiem Zugriff (RAM), eine Verfälschung des RAM-Datenspeichers, Fehler im Festwertspeicher (ROM), Compilerfehler und/oder Programmzählerfehler umfassen. Herkömmliche Systeme verwenden oft einen sekundären Prozessor, der im Steuerungsmodul enthalten ist, um Fehler im primären Prozessor zu detektieren. Der sekundäre Prozessor verwendet eine ALU, um seine Fehlerdetektion durchzuführen, die unabhängig von der ALU ist, die vom primären Prozessor verwendet wird.
-
ZUSAMMENFASSUNG
-
Ein Steuerungssystem gemäß den Prinzipien der vorliegenden Offenbarung umfasst ein Betriebssteuerungsmodul, ein Fehlerdetektionsmodul, ein Gegenmaßnahmenmodul und ein Rücksetzmodul. Das Betriebssteuerungsmodul steuert einen Betrieb eines Fahrzeugsystems. Das Fehlerdetektionsmodul detektiert einen Fehler im Betriebssteuerungsmodul, wenn das Betriebssteuerungsmodul einen Integritätstest nicht besteht. Das Gegenmaßnahmenmodul ergreift eine Gegenmaßnahme, wenn der Fehler detektiert wird. Das Rücksetzmodul setzt das Betriebssteuerungsmodul zurück, wenn der Fehler detektiert wird und die Gegenmaßnahme nicht ergriffen wird.
-
Weitere Anwendungsgebiete der vorliegenden Offenbarung ergeben sich aus der hier nachstehend bereitgestellten genauen Beschreibung. Es versteht sich, dass die genaue Beschreibung und spezielle Beispiele nur zur Veranschaulichung gedacht sind und den Umfang der Offenbarung nicht einschränken sollen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die vorliegende Offenbarung wird anhand der genauen Beschreibung und der beiliegenden Zeichnungen vollständiger verstanden werden, in denen:
-
1 ein Funktionsblockdiagramm eines beispielhaften Fahrzeugsystems gemäß den Prinzipien der vorliegenden Offenbarung ist;
-
2 ein Funktionsblockdiagramm eines beispielhaften Steuerungssystems gemäß den Prinzipien der vorliegenden Offenbarung ist; und
-
3 ein Flussdiagramm ist, das ein beispielhaftes Steuerungsverfahren gemäß den Prinzipien der vorliegenden Offenbarung darstellt.
-
GENAUE BESCHREIBUNG
-
Steuerungssysteme, die Fahrzeugsysteme wie etwa eine Kraftmaschine oder Fahrzeugbremsen steuern, können als Kraftfahrzeugsysteme mit Sicherheitsintegritätsstufe D (ASIL-D-Systeme) klassifiziert sein. ASIL-D-Steuerungssysteme können einen primären Prozessor, der ein Fahrzeugsystem steuert, und einen sekundären Prozessor, der die Integrität des primären Prozessors verifiziert, enthalten. Der sekundäre Prozessor kann Signale an den primären Prozessor senden und der primäre Prozessor kann entsprechende Signale an den sekundären Prozessor senden. Wenn der primäre Prozessor aufgrund eines Fehlers keine entsprechenden Signale an den sekundären Prozessor sendet, kann der sekundäre Prozessor eine Gegenmaßnahme ergreifen, etwa den primären Prozessor zurücksetzen und/oder den primären Prozessor in einen sichern Zustand überführen.
-
Steuerungssysteme, die Fahrzeugsysteme wie ein Differential mit einem elektronisch begrenzten Schlupf oder Anhängerbremsen steuern, können als Steuerungssysteme der Klasse ASIL-B klassifiziert sein. ASIL-B-Steuerungssysteme können einen Prozessor enthalten, der ein Fahrzeugsystem steuert, und einen Watchdog-Zeitgeber, der die Integrität des Prozessors verifiziert, indem er verifiziert, dass bestimmte Prozesse innerhalb eines Zeitfensters abgeschlossen werden. Das Verifizieren der Integrität eines Prozessors unter Verwendung eines Watchdog-Zeitgebers anstelle eines sekundären Prozessors kann Kosten reduzieren. Der Prozessor kann den Watchdog-Zeitgeber in einem vorbestimmten Intervall bedienen. Wenn der Prozessor den Watchdog-Zeitgeber aufgrund eines Fehlers, etwas eines Hängenbleibens, im vorbestimmten Intervall nicht bedient, setzt der Watchdog-Zeitgeber den Prozessor zurück. Das Fahrzeugsystem befindet sich in einem sicheren Zustand, wenn der Prozessor zurückgesetzt wird.
-
In einigen Fällen kann ein Prozessor mit dem Bedienen eines Watchdog-Zeitgebers fortfahren, selbst wenn ein Fehler verhindert, dass das System in einen sicheren Zustand übergeht. Zum Beispiel kann ein Fehler bewirken, dass der Prozessor eine Routine überspringt, die Anweisungen für eine Gegenmaßnahme enthält, und daher kann der Prozessor die Gegenmaßnahme nicht ergreifen. Dieses Problem kann vermieden werden, indem der Prozessor zurückgesetzt wird, sobald ein Fehler identifiziert wird. Dies kann jedoch bewirken, dass der Prozessor kontinuierlich zurückgesetzt wird, was verhindern kann, dass der Prozessor erneut geflasht wird, Fehlercodes aus dem Prozessor geholt werden und/oder Fehler im Prozessor gesucht werden.
-
Ein System und Verfahren gemäß den Prinzipien der vorliegenden Offenbarung kann einen Prozessor nur dann zurücksetzen, wenn sowohl ein Fehler detektiert wird, als auch keine Gegenmaßnahme ergriffen wird. Der Fehler kann detektiert werden, während ein Integritätstest durchgeführt wird, etwa ein Programmablaufüberwachungstest, ein Prüfsummentest, ein Stapelüberlauftest, ein Test der arithmetischen Logikeinheit oder ein Test von Konfigurationsregistern. Die Gegenmaßnahme kann umfassen, dass in einen sicheren Zustand übergegangen wird und/oder eine Wartungsanzeige aktiviert wird. Im sicheren Zustand kann der Prozessor die Betätigung eines Fahrzeugsystems einschränken oder ein Fahrzeugsystem deaktivieren. Der Prozessor kann zurückgesetzt werden, indem ein Rücksetzen direkt erzwungen wird oder der Prozessor angewiesen wird, das Bedienen eines Watchdog-Zeitgebers zu stoppen.
-
Ein System und Verfahren gemäß den Prinzipien der vorliegenden Offenbarung kann die Integrität eines Prozessors unter Verwendung eines Watchdog-Zeitgebers verifizieren, wobei Probleme vermieden werden, die typischerweise mit einem Watchdog-Zeitgeber verbunden sind, etwa diejenigen, die vorstehend erörtert sind. Das Zurücksetzen eines Prozessors, wenn ein Fehler detektiert wird und keine Gegenmaßnahme ergriffen wird, stellt sicher, dass der Prozessor in einen sicheren Zustand übergeht, wenn ein Fehler verhindert, dass der Prozessor dies ausführt. Das Zulassen, dass der Prozessor eine Gegenmaßnahme ergreift, bevor der Prozessor zurückgesetzt wird, verhindert, dass der Prozessor kontinuierlich zurückgesetzt wird.
-
Mit Bezug nun auf 1 umfasst ein Fahrzeugsystem 100 eine Kraftmaschine 102, ein Getriebe 104, ein Differential mit elektronisch begrenztem Schlupf (eLSD) 106 und Anhängerbremsen 108. Ein Kraftmaschinensteuerungsmodul 110 steuert die Kraftmaschine 102, ein Getriebesteuerungsmodul 112 steuert das Getriebe 104, ein eLSD-Steuerungsmodul 114 steuert das eLSD 106 und ein Anhängerbremsensteuerungsmodul 116 steuert die Anhängerbremsen 108. Das Kraftmaschinensteuerungsmodul 110, das Getriebesteuerungsmodul 112, das eLSD-Steuerungsmodul 114 und das Anhängerbremsensteuerungsmodul 116 kommunizieren miteinander unter Verwendung eines Fahrzeugbusses 118, etwa eines Controllerbereichsnetzwerkbusses (CAN-Busses).
-
Das Kraftmaschinensteuerungsmodul 110, das Getriebesteuerungsmodul 112, das eLSD-Steuerungsmodul 114 und das Anhängerbremsensteuerungsmodul 116 können eine Wartungsanzeige 120 beispielsweise unter Verwendung des Fahrzeugbusses 118 aktivieren. Die Wartungsanzeige 120 liefert eine visuelle Meldung (z. B. einen Text), eine akustische Meldung und/oder eine taktile Meldung (z. B. eine Vibration), die anzeigt, dass das Fahrzeugsystem 100 eine Wartung benötigt. Die Wartungsanzeige 120 kann aktiviert werden, wenn ein Fehler im Fahrzeugsystem 100 detektiert wird.
-
Mit Bezug nun auf 2 ist ein Beispiel des Anhängerbremsensteuerungsmoduls 116 in weiterem Detail gezeigt. Obwohl 2 das Anhängerbremsensteuerungsmodul 116 darstellt, können Merkmale des Anhängerbremsensteuerungsmoduls 116 im Kraftmaschinensteuerungsmodul 110, im Getriebesteuerungsmodul 112 und/oder im eLSD-Steuerungsmodul 114 von 1 enthalten sein. Zudem kann Fahrzeugsystem 100 von 1 Steuerungsmodule enthalten, die andere Fahrzeugteilsysteme wie etwa eine Lenkung, eine Federung oder ein Kraftstoffsystem steuern, und diese Steuerungsmodule können Merkmale des Anhängerbremsensteuerungsmoduls 116 enthalten.
-
Wie in 2 dargestellt ist, enthält das Anhängerbremsensteuerungsmodul 116 ein Betriebssteuerungsmodul 202, ein Fehlerdetektionsmodul 204, ein Gegenmaßnahmenmodul 206, ein Rücksetzmodul 208 und ein Watchdog-Zeitgebersystem 210. Das Watchdog-Zeitgebersystem 210 enthält ein Watchdog-Zeitgebermodul 212 und ein Watchdog-Zeitgebermodul 214, wobei eines oder beide von diesen Aufgaben durchführen können, die vom Watchdog-Zeitgebersystem 210 durchgeführt werden. Das Watchdog-Zeitgebermodul 212 ist in einen ersten Chip 216 zusammen mit dem Betriebssteuerungsmodul 202, dem Fehlerdetektionsmodul 204, dem Gegenmaßnahmenmodul 206 und dem Rücksetzmodul 208 integriert. Das Watchdog-Zeitgebermodul 214 ist in einen zweiten Chip 218 integriert, der vom ersten Chip 216 getrennt ist, so dass ein Fehler in einem der Chips 216, 218 nicht beide Watchdog-Zeitgebermodule 212, 214 beeinträchtigt.
-
Das Betriebssteuerungsmodul 202 speichert Anweisungen, holt sie und führt sie aus, um die grundlegenden arithmetischen, logischen und Eingabe/Ausgabe-Operationen durchzuführen, die am Steuern der Anhängerbremsen 108 beteiligt sind. Das Fehlerdetektionsmodul 204 führt eine Anzahl von Integritätstests durch, um die Integrität des Betriebssteuerungsmoduls 202 zu verifizieren. Die Integritätstests können einen Programmablaufüberwachungstest, einen Prüfsummentest, einen Stapelüberlauftest, einen Test der arithmetischen Logikeinheit (ALU-Test) und/oder einen Test von Konfigurationsregistern umfassen. Das Fehlerdetektionsmodul 204 detektiert einen Fehler, wenn das Betriebssteuerungsmodul 202 einen der Integritätstests nicht besteht. Zudem kann das Fehlerdetektionsmodul 204 einen Fehler detektieren, wenn das Watchdog-Zeitgebersystem 210 das Betriebssteuerungsmodul 202 kontinuierlich zurücksetzt. Das Fehlerdetektionsmodul 204 gibt ein Signal aus, das anzeigt, ob ein Fehler detektiert wird.
-
Der Programmablaufüberwachungstest stellt sicher, dass bestimmte Operationen in einer bestimmten Reihenfolge ausgeführt werden. Der Prüfsummentest verwendet eine Prüfsumme, um sicherzustellen, dass in einem Speicher gespeicherte Daten nicht verändert werden. Der Stapelüberlauftest stellt fest, ob der in einem Aufrufstapel verwendete Speicherbetrag größer als erwartet ist, was einen Stapelüberlauf verursacht. Der ALU-Test detektiert Fehler im Betriebssteuerungsmodul 202, die arithmetische und logische Operationen verfälschen. Der Test von Konfigurationsregistern bewertet Eingabe/Ausgabe-Konfigurationsregister (I/O-Konfigurationsregister) innerhalb des Betriebssteuerungsmoduls 202.
-
Das Gegenmaßnahmenmodul 206 ergreift eine Gegenmaßnahme, wenn das Fehlerdetektionsmodul 204 einen Fehler detektiert. Die Gegenmaßnahme kann das Überführen des Betriebssteuerungsmoduls 202 in einen sicheren Zustand und/oder das Aktivieren der Wartungsanzeige 120 umfassen. Im sicheren Zustand kann das Betriebssteuerungsmodul 202 eine Betätigung der Anhängerbremsen 108 begrenzen oder die Anhängerbremsen 108 deaktivieren. Andere Steuerungsmodule können andere Fahrzeugsysteme begrenzen oder deaktivieren, wenn sie sich im sicheren Zustand befinden. Zum Beispiel kann das Kraftmaschinensteuerungsmodul 110 die Erzeugung von Zündfunken, die Drosselklappenfläche und/oder die Kraftstoffzufuhrrate begrenzen, wenn sich das Kraftmaschinensteuerungsmodul 110 in einem sicheren Zustand befindet. Das Gegenmaßnahmenmodul 206 gibt ein Signal aus, das anzeigt, ob die Gegenmaßnahme ergriffen wurde.
-
Das Rücksetzmodul 208 setzt das Betriebssteuerungsmodul 202 zurück, wenn das Fehlerdetektionsmodul 204 einen Prozessorintegritätsfehler detektiert und das Gegenmaßnahmenmodul 206 keine Gegenmaßnahme ergreift. Das Rücksetzmodul 208 kann das Betriebssteuerungsmodul 202 zurücksetzen, wenn keine Gegenmaßnahme ergriffen wird und eine vorbestimmte Zeitspanne vergangen ist, nachdem ein Prozessorintegritätsfehler detektiert wurde. Das Rücksetzmodul 208 kann ein Rücksetzen des Ablaufs ausführen, um Aktionen, die vor dem Zurücksetzen ergriffen wurden, im Speicher zu bewahren. Das Rücksetzmodul 208 kann das Betriebssteuerungsmodul 202 aktiv zurücksetzen, indem es ein Rücksetzsignal an das Betriebssteuerungsmodul 202 sendet oder eine interne Rücksetzleitung umschaltet. Alternativ kann das Rücksetzmodul 208 das Betriebssteuerungsmodul 202 passiv zurücksetzen, indem es das Betriebssteuerungsmodul 202 anweist, das Bedienen des Watchdog-Zeitgebersystems 210 zu stoppen.
-
Das Betriebssteuerungsmodul 202 bedient das Watchdog-Zeitgebersystem 210 (z. B. das Watchdog-Zeitgebermodul 212 und/oder das Watchdog-Zeitgebermodul 214) mit einen vorbestimmten Intervall. Wenn das Betriebssteuerungsmodul 202 das Watchdog-Zeitgebersystem 210 nicht im vorbestimmten Intervall bedient, setzt das Watchdog-Zeitgebersystem 210 das Betriebssteuerungsmodul 202 zurück, indem es beispielsweise eine Rücksetzeitung umschaltet. Wenn das Rücksetzmodul 208 folglich das Betriebssteuerungsmodul 202 anweist, das Bedienen des Watchdog-Zeitgebersystems 210 zu stoppen und die vorbestimmte Zeitspanne abläuft, setzt das Watchdog-Zeitgebersystem 210 das Betriebssteuerungsmodul 202 zurück. Das Watchdog-Zeitgebermodul 212 kann eine interne Rücksetzleitung umschalten, und das Watchdog-Zeitgebermodul 214 kann eine externe Rücksetzleitung umschalten. Wenn bei den Watchdog-Zeitgebermodulen 212, 214 ein Konflikt darüber besteht, ob das Betriebssteuerungsmodul 202 zurückgesetzt werden soll, kann das Rücksetzmodul dominieren.
-
Das Betriebssteuerungsmodul 202, das Fehlerdetektionsmodul 204, das Gegenmaßnahmenmodul 206, das Rücksetzmodul 208 und das Watchdog-Zeitgebersystem 210 können separate Routinen zueinander parallel ausführen. Folglich kann ein Fehler im Betriebssteuerungsmodul 202 nicht verhindern, dass das Fehlerdetektionsmodul 204, das Gegenmaßnahmenmodul 206, das Rücksetzmodul 208 und das Watchdog-Zeitgebersystem 210 ihre jeweiligen Aufgaben durchführen. Zum Beispiel kann ein Fehler im Betriebssteuerungsmodul 202 nicht verhindern, dass das Fehlerdetektionsmodul 204 einen Prozessorintegritätsfehler detektiert oder verhindern, dass das Gegenmaßnahmenmodul 206 eine Gegenmaßnahme ergreift.
-
Das Betriebssteuerungsmodul 202 kann eine erste Routine mit einer ersten Schleifenrate bzw. Wiederholgeschwindigkeit (z. B. 12,5 Millisekunden) ausführen, um die Anhängerbremsen 108 zu steuern. Das Fehlerdetektionsmodul 204 kann eine zweite Routine mit einer zweiten Schleifenrate (z. B. 50 Millisekunden) ausführen, um die Integritätstests durchzuführen. Das Fehlerdetektionsmodul 204 kann die zweite Routine parallel zu der ersten Routine ausführen. Das Rücksetzmodul 208 kann eine dritte Routine mit einer dritten Schleifenrate (z. B. 6,25 Millisekunden) ausführen, um zu bestimmen, ob das Betriebssteuerungsmodul 202 zurückgesetzt werden soll. Das Rücksetzmodul 208 kann die dritte Routine parallel zu der ersten Routine ausführen.
-
Mit Bezug nun auf 3 beginnt ein Verfahren zum Verifizieren der Integrität eines Steuerungssystems, das ein Fahrzeugsystem steuert, bei 302. Das Steuerungssystem keinen einen Prozessor und einen Watchdog-Zeitgeber umfassen. Bei 304 führt das Verfahren eine Anzahl von Integritätstests am Prozessor durch. Die Integritätstests können einen Programmablaufüberwachungstest, einen Prüfsummentest, einen Stapelüberlauftest, einen Test der arithmetischen Logikeinheit (ALU-Test) und/oder einen Test von Konfigurationsregistern umfassen.
-
Bei 306 stellt das Verfahren fest, ob ein Prozessorintegritätsfehler detektiert wurde. Das Verfahren kann einen Prozessorintegritätsfehler detektieren, während einer der Integritätstests durchgeführt wird. Wenn ein Prozessorintegritätsfehler detektiert wird, fährt das Verfahren bei 308 fort. Andernfalls fährt das Verfahren bei 304 fort. Bei 308 ergreift das Verfahren eine Gegenmaßnahme. Die Gegenmaßnahme kann umfassen, dass das Steuerungssystem in einen sicheren Zustand überführt wird und/oder eine Wartungsanzeige aktiviert wird. Im sicheren Zustand kann das Steuerungssystem eine Betätigung des Fahrzeugsystems begrenzen oder das Fahrzeugsystem deaktivieren.
-
Bei 310 stellt das Verfahren fest, ob die Gegenmaßnahme ergriffen wurde. Das Verfahren kann feststellen, ob die Gegenmaßnahme innerhalb einer vorbestimmten Zeitspanne ergriffen wurde, nachdem ein Prozessorintegritätsfehler detektiert wurde. Wenn die Gegenmaßnahme ergriffen wurde, zum Beispiel innerhalb der vorbestimmten Zeitspanne, fährt das Verfahren bei 304 fort. Andernfalls fährt das Verfahren bei 312 fort. Bei 312 setzt das Verfahren den Prozessor zurück. Das Verfahren kann den Prozessor aktiv zurücksetzen. Alternativ kann das Verfahren den Prozessor passiv zurücksetzen, indem es sicherstellt, dass der Prozessor das Bedienen des Watchdog-Zeitgebers stoppt.
-
Die vorstehende Beschreibung dient nur der Veranschaulichung und ist keinesfalls dazu gedacht, die Offenbarung, ihre Anwendung oder Verwendungsmöglichkeiten einzuschränken. Die weit gefassten Lehren der Offenbarung können in einer Vielfalt von Formen implementiert werden. Obwohl diese Offenbarung spezielle Beispiele enthält, soll daher der tatsächliche Umfang der Offenbarung nicht darauf begrenzt sein, da sich bei einem Studium der Zeichnungen, der Beschreibung und der folgenden Ansprüche andere Modifikationen offenbaren werden. Der Klarheit halber werden in den Zeichnungen gleiche Bezugszeichen verwendet, um ähnliche Elemente zu bezeichnen. Bei der Verwendung hierin soll der Ausdruck mindestens eine von A, B und C so aufgefasst werden, dass er ein logisches (A oder B oder C) unter Verwendung eines nicht exklusiven logischen Oders bedeutet. Es versteht sich, dass ein oder mehrere Schritte in einem Verfahren in einer anderen Reihenfolge (oder gleichzeitig) ausgeführt werden können, ohne die Prinzipien der vorliegenden Offenbarung zu verändern.
-
Bei der Verwendung hierin kann der Begriff Modul eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, eine kombinatorische Logikschaltung, ein im Feld programmierbares Gate Array (FPGA), einen Prozessor (gemeinsam genutzt, dediziert, oder Gruppe), der einen Code ausführt, andere geeignete Hardwarekomponenten, welche die beschriebene Funktionalität bereitstellen, oder eine Kombination aus einigen oder allen vorstehenden, etwa in einem System-on-Chip bezeichnen, ein Teil davon sein oder diese enthalten. Der Begriff Modul kann einen Speicher umfassen (gemeinsam genutzt, dediziert, oder Gruppe), der einen Code speichert, der vom Prozessor ausgeführt wird.
-
Der Begriff Code kann, so wie er vorstehend verwendet wird, Software, Firmware und/oder Microcode umfassen und kann Programme, Routinen, Funktionen, Klassen und/oder Objekte bezeichnen. Der Begriff gemeinsam genutzt bedeutet, so wie er vorstehend verwendet wird, dass ein Teil oder der gesamte Code von mehreren Modulen unter Verwendung eines einzigen (gemeinsam genutzten) Prozessors ausgeführt werden kann. Zudem kann ein Teil oder der gesamte Code von mehreren Modulen von einem einzigen (gemeinsam genutzten) Speicher gespeichert werden. Der Begriff Gruppe bedeutet, so wie er vorstehend verwendet wird, dass ein Teil oder der gesamte Code von einem einzigen Modul unter Verwendung einer Gruppe von Prozessoren ausgeführt werden kann. Zudem kann ein Teil oder der gesamte Code von einem einzigen Modul unter Verwendung einer Gruppe von Speichern gespeichert werden.
-
Die hier beschriebenen Vorrichtungen und Verfahren können von einem oder mehreren Computerprogrammen implementiert werden, die von einem oder mehreren Prozessoren ausgeführt werden. Die Computerprogramme enthalten von einem Prozessor ausführbare Anweisungen, die in einem nicht vorübergehenden konkreten computerlesbaren Medium gespeichert sind. Die Computerprogramme können auch gespeicherte Daten enthalten. Beispiele ohne Einschränkung des nicht vorübergehenden konkreten computerlesbaren Mediums sind nichtflüchtiger Speicher, magnetischer Massenspeicher und optischer Massenspeicher.