-
Stand der Technik
-
Die Offenbarung bezieht sich auf ein Verfahren zum Prüfen von auf einer Recheneinrichtung ausführbarem Programmcode.
-
Die Offenbarung bezieht sich ferner auf eine Vorrichtung zum Prüfen von auf einer Recheneinrichtung ausführbarem Programmcode.
-
Offenbarung der Erfindung
-
Beispielhafte Ausführungsformen beziehen sich auf ein Verfahren zum Prüfen von auf einer Recheneinrichtung ausführbarem Programmcode, aufweisend: Erzeugen eines mit einem ersten Programmcode assoziierten Prozesses, Prüfen des ersten Programmcodes.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass der erste Programmcode wenigstens eines der folgenden Elemente aufweist: a) ausführbare Datei, b) Programmbibliothek bzw. einen Teil einer Programmbibliothek.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Ausführen des mit dem ersten Programmcode assoziierten Prozesses, wobei beispielsweise das Ausführen a) vor dem Prüfen oder b) nach dem Prüfen oder c) während des Prüfens erfolgt.
-
Bei weiteren beispielhaften Ausführungsformen kann der Prozess beispielsweise erzeugt und zunächst angehalten werden (englisch: „spawn on hold“), wobei dann z.B. das Prüfen des ersten Programmcodes ausgeführt wird. Bei weiteren beispielhaften Ausführungsformen kann dann nach dem Prüfen ggf. der zunächst angehaltene Prozess aktiviert bzw. ausgeführt werden.
-
Bei weiteren beispielhaften Ausführungsformen kann der Prozess beispielsweise erzeugt werden, wobei z.B. das Prüfen des ersten Programmcodes gleichzeitig zu der Ausführung des Prozesses ausgeführt wird.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Prüfen des ersten Programmcodes wenigstens eines der folgenden Elemente aufweist:
- a) Bilden einer Prüfsumme, beispielsweise einer CRC-Prüfsumme, b) Bilden eines Hashwerts.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Prüfsumme bzw. der Hashwert mit einer entsprechenden Referenz-Prüfsumme bzw. einem entsprechenden Referenz-Hashwert verglichen wird, wobei bei einer Übereinstimmung einer aktuell gebildeten Prüfsumme z.B. mit der Referenz-Prüfsumme bei weiteren beispielhaften Ausführungsformen darauf geschlossen werden kann, dass der erste Programmcode integer ist, beispielsweise mit einem Referenz-Programmcode übereinstimmt, der für die Bildung der Referenz-Prüfsumme verwendet worden ist.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Ermitteln eines Codesegments des mit dem ersten Programmcode assoziierten Prozesses, Prüfen wenigstens eines Teils des Codesegments.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Steuern eines Betriebs der Recheneinrichtung basierend auf dem Prüfen. Beispielsweise kann im Falle einer negativen Prüfung, die z.B. auf eine Manipulation bzw. sonstige unerwünschte Veränderung des Programmcodes bezüglich eines Referenz-Programmcodes hindeutet, eine Fehlerreaktion eingeleitet werden.
-
Bei weiteren beispielhaften Ausführungsformen kann die Fehlerreaktion z.B. wenigstens eines der folgenden Elemente aufweisen: a) Beenden des Prozesses, b) Signalisieren eines Fehlers, z.B. an ein Betriebssystem und/oder eine Anwendung bzw. eine externe Einheit, c) Erzeugen eines neuen mit dem ersten Programmcode assoziierten Prozesses.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass der Recheneinrichtung ein Betriebssystem zugeordnet ist, beispielsweise ein unixoides Betriebssystem, beispielsweise Unix oder Linux, und/oder ein zumindest teilweise Portable Operating System Interface (POSIX)-kompatibles Betriebssystem.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Vorrichtung die Recheneinrichtung aufweist.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Computerprogramm einen Teil eines bzw. des Betriebssystems für die Recheneinrichtung bildet, wobei beispielsweise das Computerprogramm in eine Funktion des Betriebssystems integriert ist, die dazu ausgebildet ist, Prozesse zu erzeugen.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Computerprogramm eine unabhängige bzw. eigenständige Komponente bildet, die z.B. mittels des Betriebssystems ladbar bzw. ausführbar ist.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal, das das Computerprogramm gemäß den Ausführungsformen überträgt und/oder charakterisiert.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Prüfen wenigstens eines Teils des ersten Programmcodes, beispielsweise auf eine Integrität hin und/oder das Vorliegen von beispielsweise unerwünschten Änderungen bzw. Manipulationen, b) dynamisches, also z.B. während einer Ausführung des ersten Programmcodes erfolgendes, Prüfen des wenigstens einen Teils des ersten Programmcodes, c) wiederholtes Prüfen des ersten Programmcodes, beispielsweise während einer Laufzeit des Prozesses, d) Reduzieren einer Startzeit von mittels der Recheneinrichtung ausführbaren Programmen, beispielsweise Anwendungen.
-
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
-
In der Zeichnung zeigt:
- 1 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen,
- 2A schematisch ein vereinfachtes Flussdiagramm von Verfahren gemäß weiteren beispielhaften Ausführungsformen,
- 2B schematisch ein vereinfachtes Flussdiagramm von Verfahren gemäß weiteren beispielhaften Ausführungsformen,
- 2C schematisch ein vereinfachtes Flussdiagramm von Verfahren gemäß weiteren beispielhaften Ausführungsformen,
- 3 schematisch ein vereinfachtes Flussdiagramm von Verfahren gemäß weiteren beispielhaften Ausführungsformen,
- 4 schematisch ein vereinfachtes Flussdiagramm von Verfahren gemäß weiteren beispielhaften Ausführungsformen,
- 5 schematisch ein vereinfachtes Diagramm von Verfahren gemäß weiteren beispielhaften Ausführungsformen,
- 6 schematisch ein vereinfachtes Diagramm von Verfahren gemäß weiteren beispielhaften Ausführungsformen,
- 7 schematisch ein vereinfachtes Diagramm von Verfahren gemäß weiteren beispielhaften Ausführungsformen,
- 8 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen,
- 9 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen, und
- 10 schematisch Aspekte von Verwendungen gemäß weiteren beispielhaften Ausführungsformen.
-
Beispielhafte Ausführungsformen, vgl. 1, 2A, beziehen sich auf ein Verfahren zum Prüfen von auf einer Recheneinrichtung 10 ausführbarem Programmcode, aufweisend: Erzeugen 100 (2A) eines mit einem ersten Programmcode PC1 assoziierten Prozesses P-PC1, Prüfen 104 des ersten Programmcodes PC1.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass der erste Programmcode PC1 (1) wenigstens eines der folgenden Elemente aufweist:
- a) ausführbare Datei EXE, b) Programmbibliothek LIB bzw. einen Teil einer Programmbibliothek.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Ausführen 108 (2A) des mit dem ersten Programmcode PC1 assoziierten Prozesses P-PC1, wobei beispielsweise das Ausführen a) vor dem Prüfen oder b) nach dem Prüfen (s. 2A) oder c) während des Prüfens erfolgt.
-
2B zeigt beispielhaft einen Ablauf aufweisend: Erzeugen 100 des Prozesses P-PC1, Ausführen 102 des mit dem ersten Programmcode PC1 assoziierten Prozesses P-PC1, Prüfen 104 des ersten Programmcodes PC1, z.B. während der Ausführung 102 bzw. zumindest teilweise zeitlich überlappend mit der Ausführung 102.
-
Bei weiteren beispielhaften Ausführungsformen, 2C, kann der Prozess P-PC1 beispielsweise erzeugt und zunächst angehalten werden (englisch: „spawn on hold“), vgl. Schritt 100, wobei dann z.B. das Prüfen 104 des ersten Programmcodes PC1 ausgeführt wird. Bei weiteren beispielhaften Ausführungsformen kann dann nach dem Prüfen 104 ggf. der zunächst angehaltene Prozess aktiviert bzw. ausgeführt werden, vgl. Block 106.
-
Bei weiteren beispielhaften Ausführungsformen, 3, ist vorgesehen, dass das Prüfen 104 des ersten Programmcodes PC1 wenigstens eines der folgenden Elemente aufweist: a) Bilden 104a einer Prüfsumme, beispielsweise einer CRC-Prüfsumme, b) Bilden 104b eines Hashwerts.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Prüfsumme bzw. der Hashwert mit einer entsprechenden Referenz-Prüfsumme bzw. einem entsprechenden Referenz-Hashwert verglichen wird, wobei bei einer Übereinstimmung einer aktuell gebildeten Prüfsumme z.B. mit der Referenz-Prüfsumme bei weiteren beispielhaften Ausführungsformen darauf geschlossen werden kann, dass der erste Programmcode integer ist, beispielsweise mit einem Referenz-Programmcode übereinstimmt, der für die Bildung der Referenz-Prüfsumme verwendet worden ist.
-
Bei weiteren beispielhaften Ausführungsformen, 4, ist vorgesehen, dass das Verfahren weiter aufweist: Ermitteln 110 eines Codesegments CS des mit dem ersten Programmcode PC1 assoziierten Prozesses P-PC1, Prüfen 112 wenigstens eines Teils des Codesegments CS.
-
Bei weiteren beispielhaften Ausführungsformen kann das Ermitteln 110 des Codesegments CS beispielsweise wenigstens einen der folgenden Aspekte aufweisen: a) Ermitteln einer Prozessliste, beispielsweise mittels einer Funktion eines Betriebssystems BS (1), b) Ermitteln wenigstens eines Speicherbereichs, der einem interessierenden Prozess z.B. aus der Prozessliste zugeordnet ist, c) Ermitteln des Codesegments CS aus dem wenigstens einen Speicherbereich.
-
Bei weiteren beispielhaften Ausführungsformen kann das Prinzip gemäß den Ausführungsformen auf ausführbare Programme und/oder (Teile von) z.B. geteilten Programmbibliotheken („shared libraries“) angewandt werden.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren weiter aufweist: Steuern 114 eines Betriebs der Recheneinrichtung 10 (1) basierend auf dem Prüfen 112. Beispielsweise kann im Falle einer negativen Prüfung, die z.B. auf eine Manipulation bzw. sonstige unerwünschte Veränderung des Programmcodes PC1 bezüglich eines Referenz-Programmcodes hindeutet, eine Fehlerreaktion eingeleitet werden.
-
Bei weiteren beispielhaften Ausführungsformen kann die Fehlerreaktion z.B. wenigstens eines der folgenden Elemente aufweisen: a) Beenden des Prozesses P-PC1, b) Signalisieren eines Fehlers, z.B. an ein bzw. das Betriebssystem BS und/oder eine Anwendung bzw. eine externe Einheit, c) Erzeugen eines neuen mit dem ersten Programmcode assoziierten Prozesses.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass der Recheneinrichtung 10 (1) ein Betriebssystem BS zugeordnet ist, beispielsweise ein unixoides Betriebssystem, beispielsweise Unix oder Linux, und/oder ein zumindest teilweise Portable Operating System Interface (POSIX)-kompatibles Betriebssystem.
-
5 zeigt schematisch ein vereinfachtes Diagramm gemäß weiteren beispielhaften Ausführungsformen. Block B1 symbolisiert einen flüchtigen Speicher, z.B. Arbeitsspeicher (RAM) der Recheneinrichtung 10 (1), Block B2 symbolisiert einen nichtflüchtigen Speicher, z.B. Flash-Speicher. Block B3 symbolisiert eine Datenbank, die beispielsweise zumindest zeitweise aus dem nichtflüchtigen Speicher B2 ladbar ist, und die z.B. Daten für Verfahren zur Ausführung der Prüfung 104 (z.B. Integritätsprüfung) aufweisen kann.
-
Block B4 symbolisiert eine Einrichtung zur Verwaltung von Prozessen, beispielsweise ausgebildet als ein Computerprogramm zum Erstellen und/oder Beenden von Prozessen, beispielsweise mit Anwendungsprogrammen assoziierten Prozessen. Block B5 symbolisiert eine Einrichtung zum Verwalten von Fehlern, z.B. mit einer Sicherheit (z.B. gegen Angriffe) assoziierten Fehlern. Block B6 symbolisiert ein Prüfen, beispielsweise gemäß den Ausführungsformen, vgl. z.B. auch Block 104 gemäß 2A. Block B7 symbolisiert einen Prozess, beispielsweise einen mit einer Anwendung B8 assoziierten Prozess.
-
Bei weiteren beispielhaften Ausführungsformen erzeugt die Einrichtung B4 einen Prozess B7 basierend auf der Anwendung B8, vgl. die Pfeile a1, a2. Sobald der Prozess B7 erzeugt worden ist, signalisiert die Einrichtung B4 dies bei weiteren beispielhaften Ausführungsformen z.B. der Einrichtung B5, vgl. den Pfeil a3.
-
Bei weiteren beispielhaften Ausführungsformen initiiert die Einrichtung B5 eine Überprüfung B6, vgl. den Pfeil a4. Bei weiteren beispielhaften Ausführungsformen wird hierbei eine Prozessliste gelesen, vgl. den Pfeil a5, und es werden ein oder mehrere Codesegmente in einem dem Prozess B7 zugewiesenen Speicherbereich geprüft, vgl. auch den Block 104 gemäß 2A.
-
Bei weiteren beispielhaften Ausführungsformen können die zu prüfenden Codesegmente z.B. ausführbaren Programmcode und/oder (geteilte) Programmbibliotheken aufweisen.
-
Bei weiteren beispielhaften Ausführungsformen gibt die Überprüfung B6 ein Ergebnis an die Einrichtung B5 zurück, vgl. den Pfeil a6.
-
Bei weiteren beispielhaften Ausführungsformen wird ggf., z.B. bei negativer Überprüfung, eine Fehlerreaktion a7 ausgeführt.
-
Der Doppelpfeil a8 symbolisiert ein optionales Laden und/oder Validieren z.B. von Referenzdaten, z.B. für die Überprüfung B6, 104 gemäß weiteren beispielhaften Ausführungsformen.
-
Bei weiteren beispielhaften Ausführungsformen können die Referenzdaten a8 z. B. auch erwartete Abhängigkeiten der zu überprüfenden Codesegmente und/oder Programmbibliotheken aufweisen, und/oder die genannten Referenz-Prüfsummen bzw. Referenz-Hashwerte.
-
6 zeigt schematisch ein vereinfachtes Diagramm gemäß weiteren beispielhaften Ausführungsformen, wobei die Elemente B1, B2, B3, B4, B5, a1, a2, a3, a7, a8 gemäß 6 mit den Elementen B1, B2, B3, B4, B5, a1, a2, a3, a7, a8 gemäß 5 korrespondieren. Bei weiteren beispielhaften Ausführungsformen, und im Unterschied zu 5, ist bei 6 die Funktionalität des Überprüfens B6' in die Anwendung B8' bzw. den entsprechenden Prozess B7' integriert, was z.B. eine „interne“ Überprüfung des Prozesses B7' bzw. des mit dem Prozess B7' assoziierten Programmcodes bzw. entsprechender Codesegmente CS ermöglicht. Der Pfeil a5' symbolisiert beispielhaft ein Lesen des Prozesses B7' bzw. von mit dem Prozess B7' assoziierten Daten, beispielsweise durch die vorliegend beispielhaft integrierte Funktionalität B6' des Überprüfens. Der Pfeil a6' symbolisiert die Übermittlung eines Ergebnisses des Überprüfens an die Einrichtung B5.
-
7 zeigt schematisch ein vereinfachtes Diagramm gemäß weiteren beispielhaften Ausführungsformen. Bei weiteren beispielhaften Ausführungsformen, und im Unterschied zu 5 und 6, ist bei 7 die Funktionalität des Überprüfens B6" in eine Prozessverwaltungsfunktion des Betriebssystems BS (1) integriert. Der Pfeil a5" symbolisiert beispielhaft ein Lesen des Prozesses B7 bzw. von mit dem Prozess B7 assoziierten Daten (z.B. Programmcode und/oder (Teile von) Bibliotheken). Der Pfeil a6" symbolisiert die Übermittlung eines Ergebnisses des Überprüfens an die Einrichtung B5.
-
Bei weiteren beispielhaften Ausführungsformen kann eine z.B. initiale Überprüfung der Funktion bzw. Funktionalität B6, B6', B6" zum Prüfen 104 ( 2A) ausgeführt werden, indem sie zum Bestandteil eines Dateisystems DS ( 1) für das Starten („Booten“) des Betriebssystems BS gemacht wird, wobei das Dateisystem DS für das Booten des Betriebssystems BS bei weiteren beispielhaften Ausführungsformen beispielsweise als komplettes Abbild („image“) überprüft wird.
-
Weitere beispielhafte Ausführungsformen, 8, beziehen sich auf eine Vorrichtung 200 zur Ausführung des Verfahrens gemäß den Ausführungsformen. Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass die Vorrichtung 200 die Recheneinrichtung 10 gemäß 1 aufweist bzw. repräsentiert. Bei weiteren beispielhaften Ausführungsformen ist die Vorrichtung 200 z.B. als eingebettetes System („embedded system“) ausgebildet.
-
Bei weiteren beispielhaften Ausführungsformen, vgl. 8, ist vorgesehen, dass die Vorrichtung 200 aufweist: eine wenigstens einen (vorliegend z.B. drei) Rechenkern(e) 202a, 202b, 202c aufweisende Recheneinrichtung („Computer“) 202, eine der Recheneinrichtung 202 zugeordnete Speichereinrichtung 204 zur zumindest zeitweisen Speicherung wenigstens eines der folgenden Elemente: a) Daten DAT, b) Computerprogramm PRG, insbesondere zur Ausführung eines Verfahrens gemäß den Ausführungsformen.
-
Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung 204 einen flüchtigen Speicher 204a (z.B. Arbeitsspeicher (RAM)) auf, und/oder einen nichtflüchtigen (NVM-) Speicher 204b (z.B. Flash-EEPROM).
-
Bei weiteren beispielhaften Ausführungsformen weist die Recheneinrichtung 202 wenigstens eines der folgenden Elemente auf bzw. ist als wenigstens eines dieser Elemente ausgebildet: Mikroprozessor (µP), Mikrocontroller (µC), anwendungsspezifischer integrierter Schaltkreis (ASIC), System on Chip (SoC), programmierbarer Logikbaustein (z.B. FPGA, field programmable gate array), oder beliebige Kombinationen hieraus.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium SM, umfassend Befehle PRG, die bei der Ausführung durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm PRG, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Computerprogramm PRG einen Teil eines bzw. des Betriebssystems BS für die Recheneinrichtung 10, 202 bildet, wobei beispielsweise das Computerprogramm PRG in eine Funktion F des Betriebssystems BS integriert ist, die dazu ausgebildet ist, Prozesse zu erzeugen bzw. zu verwalten.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal DCS, das das Computerprogramm PRG gemäß den Ausführungsformen charakterisiert und/oder überträgt. Das Datenträgersignal DCS ist beispielsweise über eine optionale Datenschnittstelle 206 der Vorrichtung 200 empfangbar.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Computerprogramm eine unabhängige bzw. eigenständige Komponente bildet, die z.B. mittels des Betriebssystems BS ladbar bzw. ausführbar ist.
-
9 zeigt beispielhaft eine Verwendung der Vorrichtung 200 in einem Kraftfahrzeug 1, beispielsweise zum Überprüfen eines einem Prozess zugeordneten Programmcodes z.B. eines Steuergeräts des Kraftfahrzeugs.
-
Die Anwendung des Prinzips gemäß den Ausführungsformen ist nicht auf Kraftfahrzeuge begrenzt, sondern kann z.B. auch bei anderen Recheneinrichtungen (z.B. anderer Zielsysteme) verwendet werden.
-
Weitere beispielhafte Ausführungsformen, 10, beziehen sich auf eine Verwendung 300 des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Prüfen 302 wenigstens eines Teils des ersten Programmcodes PC1, beispielsweise auf eine Integrität hin und/oder das Vorliegen von beispielsweise unerwünschten Änderungen bzw. Manipulationen,
- b) dynamisches, also z.B. während einer Ausführung des ersten Programmcodes erfolgendes, Prüfen 304 des wenigstens einen Teils des ersten Programmcodes,
- c) wiederholtes Prüfen 306 des ersten Programmcodes, beispielsweise während einer Laufzeit des Prozesses P-PC1, d) Reduzieren 308 einer Startzeit von mittels der Recheneinrichtung 10, 202 ausführbaren Programmen, beispielsweise Anwendungen.