DE102005010580A1 - Verfahren zur Echtzeitanalyse eines Systems - Google Patents

Verfahren zur Echtzeitanalyse eines Systems Download PDF

Info

Publication number
DE102005010580A1
DE102005010580A1 DE102005010580A DE102005010580A DE102005010580A1 DE 102005010580 A1 DE102005010580 A1 DE 102005010580A1 DE 102005010580 A DE102005010580 A DE 102005010580A DE 102005010580 A DE102005010580 A DE 102005010580A DE 102005010580 A1 DE102005010580 A1 DE 102005010580A1
Authority
DE
Germany
Prior art keywords
act
time
task
tasks
time interval
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.)
Ceased
Application number
DE102005010580A
Other languages
English (en)
Inventor
Frank Dr. Slomka
Karsten Albers
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.)
INCHRON GMBH, 14482 POTSDAM, DE
Original Assignee
Inchron GmbH
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 Inchron GmbH filed Critical Inchron GmbH
Priority to DE102005010580A priority Critical patent/DE102005010580A1/de
Priority to PCT/EP2006/001955 priority patent/WO2006092318A1/de
Priority to EP06723199A priority patent/EP1854003A1/de
Priority to JP2007557434A priority patent/JP2008532150A/ja
Priority to US11/884,916 priority patent/US8185900B2/en
Publication of DE102005010580A1 publication Critical patent/DE102005010580A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Echtzeitanalyse eines Systems, wobei vom System Tasks (Ð) abzuarbeiten sind und wobei ein durch das Abarbeiten einer Task (Ð) definierter Job Systemkosten verursacht. Um ein besonders schnelles und genaues Verfahren bereitzustellen, ist vorgesehen, dass eine Näherung des Verfahrens aufgehoben wird, wenn ein Zeitintervall (I) nicht als in Echtzeit abarbeitbar gilt, indem für zumindest einen Job einer Task (Ð) an Stelle des Näherungswerts die Systemkosten berücksichtigt werden.

Description

  • Die Erfindung betrifft ein Verfahren zur Echtzeitanalyse eines Systems.
  • Bei einer Vielzahl von technischen Systemen, wie beispielsweise eingebetteten Echtzeitsystemen oder eingebetteten Computersystemen, ist es erforderlich, dass vom System Aufgaben, sogenannte Tasks, in einem vorgegebenen, auch mit Zeitschranke oder Deadline bezeichneten Zeitintervall vom System abgearbeitet werden. Vom System abzuarbeitende Aufgaben werden im Folgenden auch unter dem Tasksystem zusammengefasst. Die Echtzeitanalyse wird zur Automatisierung der Entwicklung von Echtzeitsystemen benötigt. Bei Verfahren zur Echtzeitanalyse kann zwischen sogenannten hinreichenden und notwendigen Verfahren unterschieden werden. Mit einem hinreichenden Verfahren werden für ein System nicht echtzeitfähige Tasksysteme mit Sicherheit erkannt. Alle Tasksysteme können mit Sicherheit richtig klassifiziert werden. Bei hinreichenden Verfahren kann es dagegen möglich sein, dass ein vom System in Echtzeit abarbeitbares Tasksystem als nicht echtzeitfähig klassifiziert wird.
  • Aus S. Baruah, A. Mok, L. Rosier: "Preemptive Scheduling Hard-Real-Time Sporadic Tasks on One Processor." in Proceedings of the Real-Time Systems Symposium, 182-190, 1990, ist ein notwendiges Verfahren zur Echtzeitanalyse bekannt. Bei dem Verfahren wird eine in einem vorgegebenen Zeitintervall anfallende, zum Abarbeiten von Tasks erforderliche kumulierte maximale Rechenzeit mit der jeweiligen Intervalllänge verglichen. Dabei gilt ein Tasksystem als nicht in Echtzeit abarbeitbar, wenn die Rechenzeit für ein vorgegebenes Zeitintervall die Intervalllänge übersteigt. Es brauchen zwar nur Zeitintervalle überprüft werden, welche kleiner als ein be stimmbares, vom Tasksystem abhängiges maximales Zeitintervall sind. Jedoch kann es sein, dass viele Zeitintervalle unnötig überprüft werden, wodurch die Laufzeit des Verfahrens unnötig verlängert wird.
  • Aus J.A. Stankovic, M. Spuri, K. Ramamritham, G.C. Buttazzo: "Deadline Scheduling for Real-Time Systems EDF and Related Algorithms", in Kluwer Academic Publishers, Bosten/Dodrecht/London, 1998, S. 42–50, ist ein Verfahren bekannt, bei welchem die Anzahl der zu überprüfenden Zeitintervalle im Vergleich zum Verfahren nach Baruah et. al. reduziert werden kann. Es werden lediglich Zeitintervalle berücksichtigt, in welchen sich die Rechenzeit des Systems ändern kann. Ein Nachteil dieses Verfahrens ist, dass die Laufzeit des Verfahrens nicht nur von der Größe des Tasksystems, sondern auch vom Verhältnis der Parameter der Tasks, wie z. B. Periode, Deadline oder Ausführungszeit, abhängig ist. Aus Karsten Albers, Frank Slomka: "An Event Stream driven Approximation for the Analysis of Real-Time System", in IEEE Proceedings of the 16th Euromicro Conference on Real-Time Systems 2004 (ECRTS'04), Catania, Italy, S. 187–195 ist es bekannt, dass eine Echtzeitanalyse für ein Tasksystem, welches sowohl Tasks mit kleinen als auch mit großen Perioden enthält, mit dem Verfahren nach Stankovic et. al. eine hohe Laufzeit erfordert. Ferner müssen bei Tasksystemen mit hohem Auslastungsgrad sehr viele Zeitintervalle überprüft werden. Das führt zu einer hohen Laufzeit des Verfahrens.
  • Aus M. Devi: "An Improved Schedulability Test for Uniprocessor Periodic Task Systems", in IEEE Proceedings of the 15th Euromicro Conference on Real-Time Systems, 2003, ist ein hinreichendes Verfahren zur Echtzeitanalyse bekannt. Es stellt eine Weiterentwicklung der zuvor beschriebenen Verfahren dar. Die Laufzeit des Verfahrens ist im Wesentlichen nur von der Größe des Tasksystems abhängig. Ein solches Verfahren wird auch als Verfahren mit polynominaler Komplexität bezeichnet. Bei dem Verfahren nach Devi ist es möglich, dass ein tatsächlich echtzeitfähiges Tasksystem nicht als solches erkannt und falsch klassifiziert wird. Beispielsweise werden Tasksysteme, welche eine optimale Auslastung des Systems ermöglichen, nicht mit Sicherheit als echtzeitfähig klassifiziert.
  • Ein weiteres Verfahren zur Echtzeitanalyse ist aus S. Chakraborty, S. Künzli, L. Thiele: "Approximate Schedulability Analysis", 23rd IEEE Real-Time Systems Symposium (RTSS), IEEE Press, 159–168, 2002, bekannt. Bei dem Verfahren handelt es sich um ein Näherungsverfahren, bei welchem ein maximaler Fehler fest vorgegeben werden kann. Indem ein kleiner Fehler vorgegeben wird kann der Anteil der als echtzeitfähig klassifizierbaren Tasksysteme gegenüber einem größeren Fehler erhöht werden. Nachteilig ist es, dass die Laufzeit des Verfahrens mit kleiner werdendem Fehler ansteigt. Bei dem Verfahren nach Chakraborty et. al. handelt es sich um ein hinreichendes Verfahren, bei welchem viele Zeitintervalle unnötig überprüft werden.
  • Aufgabe der Erfindung ist es, die Nachteile nach dem Stand der Technik zu beseitigen. Es soll insbesondere ein besonders schnelles und genaues Verfahren zur Echtzeitanalyse angegeben werden.
  • Diese Aufgabe wird gelöst durch die Merkmale der Ansprüche 1 und 26. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Merkmalen der Ansprüche 2 bis 25.
  • Nach Maßgabe der Erfindung sind bei einem Verfahren zur Echtzeitanalyse eines Systems, wobei vom System Tasks abzuarbeiten sind und wobei ein durch das Abarbeiten einer Task definierter Job Systemkosten verursacht folgende Schritte vorgesehen:
    • a) Festlegen eines Zeitintervalls, in welchem Tasks vom System abzuarbeiten sind,
    • b) Ermitteln eines Grenzwerts für Systemkosten, welche im Zeitintervall zum Abarbeiten der Tasks verfügbar sind,
    • c) Ermitteln von Gesamtsystemkosten, für die durch die im Zeitintervall anfallenden Jobs verursachten Systemkosten, wobei zur Ermittlung der Gesamtsystemkosten für
    • i) eine erste Menge bildende Jobs die Systemkosten und
    • ii) eine zweite Menge bildende Jobs jeweils ein Näherungswert für die Systemkosten verwendet werden/wird,
    • d) Vergleich der ermittelten Gesamtsystemkosten mit dem Grenzwert, wobei
    • i) das Zeitintervall dann als in Echtzeit abarbeitbar gilt, wenn die Gesamtsystemkosten den Grenzwert nicht übersteigen, wobei,
    • ii) wenn die Gesamtsystemkosten den Grenzwert übersteigen, die zweite Menge, falls diese nicht leer ist, derart verringert wird, dass für eine weitere Ermittlung der Gesamtsystemkosten für zumindest einen Job einer Task der zweiten Menge an Stelle des Näherungswerts die Systemkosten berücksichtigt werden, und wobei
    • iii) die Echtzeitfähigkeit des Systems dann als nicht gegeben angesehen wird, wenn die zweite Menge leer ist und die Gesamtsystemkosten den Grenzwert übersteigen.
  • Bei dem erfindungsgemäßen Verfahren werden für einen Job der ersten Menge die Systemkosten und für einen Job der zweiten Menge ein Näherungswert verwendet. Der Näherungswert für die Systemkosten eines Jobs kann auf der Grundlage der Systemkosten des Jobs ermittelt werden. Sofern die zweite Menge nicht leer ist handelt es sich bei dem Verfahren um ein Näherungsverfahren. Die Genauigkeit des Verfahrens, d. h. der Grad der Approximation, ist abhängig von der Mächtigkeit der zweiten Menge. Dabei ist unter dem "Grad der Approximation" die Abweichung des Näherungsverfahrens von einem exakten Verfahren zu verstehen. Die Genauigkeit des Näherungsverfahrens steigt mit steigendem Grad der Approximation. Damit steigt im Allgemeinen auch der Aufwand des Näherungsverfahrens, wodurch z. B. die Laufzeit ansteigt. Bei dem erfindungsgemäßen Verfahren kann der Grad der Approximation während des Verfahrens dynamisch verändert werden. Eine Erhöhung des Grades der Approximation kann durch eine Verringerung der zweiten Menge erfolgen. Um die Laufzeit des Verfahrens möglichst gering zu halten kann beispielsweise die Mächtigkeit der zweiten Menge, z. B. bereits bei Beginn des Verfahrens, möglichst groß gewählt werden. Das Verfahren kann mit einem kleinen Grad der Approximation und niedrigem Aufwand und einer kleinen Laufzeit gestartet werden. Stellt sich im Verlauf des Verfahrens heraus, dass der Grad der Approximation zu gering ist, weil etwa die Gesamtsystemkosten den Grenzwert übersteigen, kann der Grad der Approximation dynamisch erhöht werden. Das kann durch eine Verringerung der Mächtigkeit der zweiten Menge erfolgen. Bei einer Verringerung der zweiten Menge werden bei der Ermittlung der Gesamtsystemkosten zumindest für einen Job der zweiten Menge an Stelle des Näherungswerts die Systemkosten verwendet. Die Gesamtsystemkosten können um einen im Näherungswert enthaltenen Fehler verkleinert werden. Durch die Verkleinerung der Gesamtsystemkosten kann es möglich sein, dass die Gesamtsystemkosten unter den Grenzwert sinken. In diesem Fall kann das Tasksystem für das überprüfte Zeitintervall als vom System in Echtzeit abarbeitbar klassifiziert werden. Bei einem fest vorgegebenen Grad der Approximation wäre hingegen das Tasksystem als nicht echtzeitfähig klassifiziert worden. Mit dem erfindungsgemäßen Verfahren können Tasksysteme mit größerer Sicherheit richtig klassifiziert werden. Ferner kann durch die Möglichkeit einer dynamischen Einstellung des Grads der Approximation der Aufwand und die Laufzeit des Verfahrens deutlich reduziert werden.
  • Nach einer Ausgestaltung der Erfindung wird, wenn die Gesamtsystemkosten kleiner als der Grenzwert sind, die zweite Menge vergrößert. Bei einer Vergrößerung der zweiten Menge wird der Grad der Approximation verringert, d. h. die Anzahl der genäherten Jobs wird erhöht. Mit einer höheren Anzahl genäherter Jobs kann die Laufzeit verringert werden. Das Verfahren kann noch schneller und effizienter durchgeführt werden.
  • Nach einer weiteren Ausgestaltung der Erfindung wird mindestens einer Task eine veränderbare Testgrenze zugeordnet, wobei für Tasks, deren Testgrenze im Zeitintervall überschritten wird, der Näherungswert für die Jobs der Task verwendet wird, und wobei, wenn die Gesamtsystemkosten größer als der Grenzwert sind, zumindest eine Testgrenze einer Task derart verändert wird, dass die zweite Menge verringert wird. Anhand der Testgrenzen kann das Verhältnis der Näherungswerte zu den Gesamtsystemkosten begrenzt bzw. verschoben werden. Das Verhältnis kann z. B. zur Ermittlung eines momentanen Fehlers verwendet und an den Anwender weitergegeben werden. Die Mächtigkeit der zweiten Menge und der damit verknüpfte Grad der Approximation kann in besonders einfacher Weise durch Erhöhen oder Erniedrigen der Testgrenzen verändert werden. Durch eine Erhöhung der Testgrenzen kann der Grad der Approximation gesteigert werden. Vorteilhafterweise stellt die Testgrenze für eine Task eine Anzahl von Jobs der Task dar, wobei die Test grenze erreicht ist, wenn das Zeitintervall der Anzahl entsprechend viele Jobs umfasst. Besonders vorteilhaft ist es, zumindest anfänglich für alle Tasks dieselbe Testgrenze zu wählen, z. B. dieselbe Anzahl von Jobs. Andererseits ist es auch möglich, dass der Anwender beispielsweise einen anfänglichen maximal möglichen Fehler vorgibt, mit welchem das Verfahren beginnen soll und auf dessen Grundlage die Testgrenzen bestimmt werden. Um die Laufzeit und den Aufwand des Verfahrens zu reduzieren, kann, wenn die Gesamtsystemkosten kleiner als der Grenzwert sind, die Testgrenze einer Task der zweiten Menge derart verändert werden, dass die zweite Menge vergrößert wird.
  • Vorzugsweise wird zur Verringerung der zweiten Menge zumindest ein Zahlenwert, wie z. B. eine Testgrenze, vergrößert, vorzugsweise verdoppelt, und/oder zur Vergrößerung der zweiten Menge zumindest ein Zahlenwert, wie z. B. eine Testgrenze, verringert. Eine Veränderung des Zahlenwerts kann beispielsweise durch eine fest vorgegebene Rechenoperation in einer besonders einfachen und schnellen Weise erfolgen.
  • Nach einer Ausgestaltung der Erfindung wird, wenn die Gesamtsystemkosten größer als der Grenzwert sind, das Verfahren mit einem bereits überprüften Zeitintervall fortgeführt, in welchem die Gesamtsystemkosten kleiner als der Grenzwert waren. Dabei kann ein beliebiges Zeitintervall gewählt werden, in welchem die Gesamtsystemkosten kleiner als der Grenzwert waren. Es ist auch möglich, wenn die Gesamtsystemkosten im Zeitintervall größer als der Grenzwert sind, dass das Verfahren im Zeitintervall fortgeführt wird. Bei dieser Ausgestaltung können Ergebnisse von bereits überprüften Zeitintervallen verwendet werden. Eine nochmalige Durchführung des Verfahrens von Anfang an kann vermieden werden. Das Verfahren kann besonders schnell und effizient ausgeführt werden.
  • Nach einer Ausgestaltung des Verfahrens wird zur Verringerung der zweiten Menge eine der folgenden Eigenschaften der Tasks berücksichtigt: Höhe der tatsächlichen Systemkosten, Fehleranteil der genäherten Systemkosten an einem Gesamtfehler des Verfahrens. Es ist möglich, die Näherung für solche Jobs zuerst aufzuheben, welche die höchsten Systemkosten verursachen. Analog kann die Näherung zuerst für diejenigen Jobs aufgehoben werden, welche den größten Fehleranteil aufweisen. Damit kann erreicht werden, dass die Gesamtsystemkosten bereits zu Beginn der Aufhebung der Näherung um einen möglichst hohen Betrag reduziert werden.
  • Nach einer besonders bevorzugten Ausgestaltung der Erfindung wird die Echtzeitfähigkeit nacheinander für Zeitintervalle mit ansteigender Größe überprüft. Ist ein Zeitintervall in Echtzeit abarbeitbar, so können auch alle kleineren Zeitintervalle als in Echtzeit abarbeitbar angesehen werden. Übersteigen die Gesamtsystemkosten in einem überprüften Zeitintervall den Grenzwert, so kann das Verfahren im gleichen Zeitintervall mit einem höheren Grad der Approximation fortgesetzt werden. Werden die Intervalle der Größe nach in aufsteigender Reihenfolge überprüft, so können die Gesamtsystemkosten besonders einfach, z. B. durch Aufsummieren der Systemkosten und der Näherungswerte, ermittelt werden.
  • Nach einer weiteren Ausgestaltung des Verfahrens werden die Tasks zur Bestimmung der Gesamtsystemkosten gruppiert. Ein derartiges Vorgehen ist insbesondere dann sinnvoll, wenn diese auf unterschiedlichen Prioritätsebenen liegen.
  • Nach einer Ausgestaltung der Erfindung wird zumindest eine Task wiederholend vom System abgearbeitet. Vorzugsweise wird zumindest eine Task mit einem zeitlichen Mindestabstand oder periodisch mit einer Periode abgearbeitet.
  • Eine weitere Ausgestaltung der Erfindung sieht vor, dass die Systemkosten auf der Grundlage einer für das Abarbeiten der Tasks erforderlichen Bearbeitungszeit berechnet werden. Es ist auch möglich, dass die Systemkosten auf der Grundlage einer oberen Schranke für die höchstens erforderliche Bearbeitungszeit berechnet werden. Ferner ist es möglich, die Systemkosten auf der Grundlage einer für das Abarbeiten der Jobs erforderlichen Auslastung einer Ausführungskomponente, vorzugsweise einer CPU, des Systems zu berechnen.
  • Nach einer Ausgestaltung der Erfindung wird der Grenzwert auf der Grundlage einer im Zeitintervall verfügbaren Kapazität des Systems ermittelt. Beispielsweise ist es möglich, den Grenzwert mit Hilfe der Kapazität eines Prozessors oder einer CPU zu bestimmen. Wird eine konstante Kapazität angenommen, so kann der Grenzwert bestimmt werden, indem die Länge des Zeitintervalls mit der Kapazität multipliziert wird. Bei dieser Bestimmung wird einem Zeitintervall der doppelten Länge der doppelte Grenzwert zugeordnet. Es ist auch möglich, den Grenzwert durch eine Menge von Systemkosten zu beschreiben, welche von der CPU innerhalb des dem Grenzwert zugeordneten Zeitintervalls abgearbeitet werden können. Ferner können für unterschiedliche Zeitintervalle verschiedene Grenzwerte verwendet werden. Dadurch können Prozessoren mit einer schwankenden Kapazität besser und genauer modelliert werden. Es ist auch möglich, lediglich einigen Zeitintervallen unterschiedliche Grenzwerte zuzuordnen. Vorzugsweise werden die Grenzwerte in aufsteigender Größe Zeitintervallen mit ebenfalls steigender Größe zugeordnet. Ein für ein Zeitintervall bestimmter Grenzwert, kann zur Bestimmung des Grenzwerts eines größeren, z. B. des nächst größeren, Zeitintervalls verwendet werden. Verglichen mit dem Verfahren mit festen Grenzwerten kann mit einem geringen zusätzlichen Berechnungsaufwand eine wesentlich genauere Analyse ermöglicht werden.
  • Nach einer Ausgestaltung der Erfindung werden die Gesamtsystemkosten für diskrete, einen Anfangs- und einen Endzeitpunkt aufweisende Zeitintervalle ermittelt, wobei der Endzeitpunkt ein Ende einer Zeitschranke ist, bis zu welcher ein Job einer Task spätestens abzuarbeiten ist. Mit diskreten Zeitintervallen kann in einem einfachen Zahlensystem gerechnet werden. Es brauchen keine aufwändigen Gleitkommaoperationen ausgeführt werden. Indem als Endzeitpunkte an sich bekannte Zeitschranken verwendet werden, können die Zeitintervalle in besonders einfacher Weise bestimmt werden. Bei gleichem Anfangspunkt der Zeitintervalle ist es lediglich erforderlich, den Endzeitpunkt mit einer Zeitschranke eines, z. B. nicht genäherten, Jobs gleichzusetzen.
  • Nach einer Ausgestaltung des Verfahrens wird der Näherungswert für einen Job auf der Grundlage einer spezifischen Auslastung des Systems berechnet. Die spezifische Auslastung wiederum kann als Quotient aus Bearbeitungszeit und Periode der Task berechnet werden. Es ist auch möglich, dass die spezifische Auslastung für ein Intervall berücksichtigt wird, welches kleiner ist als das Zeitintervall.
  • Nach einer besonders bevorzugten Ausgestaltung der Erfindung wird derjenige Task vom System zuerst abgearbeitet, für welchen das Ende der Zeitschranke zeitlich am nächsten liegt. Es ist auch möglich, dass die Tasks in einer durch eine Priorität vorgegebenen Reihenfolge vom System abgearbeitet werden. Ferner können die Tasks mit einem Ereignisstrommodell beschrieben werden.
  • Nach einer Ausgestaltung der Erfindung wird folgender Algorithmus verwendet:
    Figure 00110001
  • Eine weitere Ausgestaltung der Erfindung sieht folgenden Algorithmus vor:
    Figure 00110002
    Figure 00120001
  • Hierin bedeutet τrev die Menge der Tasks, für welche die Näherung bei einem Durchlauf des Algorithmus aufgehoben wird.
  • Nach weiterer Maßgabe der Erfindung ist ein Computerprogrammiererzeugnis zur Analyse des Zeitverhaltens komplexer Systeme mit Programmcodemitteln zur Durchführung des erfindungsgemäßen Verfahrens vorgesehen. Vorteile des Computerprogrammiererzeugnis ergeben sich aus den Vorteilen der oben beschriebenen Verfahren.
  • Im Folgenden wird das erfindungsgemäße Verfahren anhand von Ausführungsbeispielen näher erläutert.
  • Bei einem ersten Beispiel wird ein Näherungsverfahren zur Echtzeitanalyse eines Systems betrachtet. Für ein System ist ein abzuarbeitendes Tasksystem τn mit n Tasks τ vorgesehen, wobei n eine natürliche Zahl ist. Bei dem Verfahren werden für die Tasks τ werden nur solche Zeitintervalle I überprüft, welche kleiner als ein maximales Zeitintervall sind. Als Systemkosten wird die Rechenzeit R verwendet. Die Zeitintervalle I sind diskret, d. h. sie weisen einen Anfangs- und einen Endzeitpunkt auf. Dabei ist ein Endzeitpunkt eines Zeitintervalls I durch ein Ende einer Zeitschranke dτ eines Jobs einer Task τ des Tasksystems τn gegeben. D. h. der Job muss spätestens bis zum Endzeitpunkt abgearbeitet sein. Für eine Task τ werden die ersten nτ Zeitintervalle Iτ 1, ...,
    Figure 00130001
    < Imax, z. B. der Größe nach in aufsteigender Reihenfolge, überprüft. Die Intervalle Iτ 1, ... bzw.
    Figure 00130002
    umfassen 1, 2, ... bzw. nτ Jobs der Task τ. Für jede Task τ wird ferner eine von den Parametern der Task τ abhängige Testobergrenze Tmax(τ) bestimmt, für welche gilt:
    Figure 00130003
    ≤ Tmax(τ) ≤ Imax. Bei der Ermittlung einer Gesamtrechenzeit werden für die Zeitintervalle I ≤ Tmax(τ) die tatsächlichen Systemkosten der Jobs der Task τ und für Zeitintervalle I, mit Tmax(τ) ≤ I ≤ Imax ein Näherungswert für die Systemkosten verwendet. Die Zahlen nτ und der Fehler des Näherungsverfahrens sind voneinander abhängig. Bei der Analyse von Zeitintervallen
    Figure 00130004
    einer weiteren Task τ', für welche Tmax(τ) <
    Figure 00130005
    gilt, werden die genäherten Kosten des Jobs der Task τ anteilmäßig berücksichtigt. Die Analyse ist so lange fortzuführen bis das maximale Zeitintervall Imax überschritten wird. Durch die genäherten Systemkosten entsteht bei der Ermittlung der Gesamtrechenzeit ein Fehler. Es kann also sein, dass die ermittelte Gesamtrechenzeit größer ist als die des exakten Verfahrens.
  • Damit die Laufzeit des Verfahrens und die Anzahl der zu überprüfenden Zeitintervalle möglichst gering sind, wird mit einer kleinen maximalen Anzahl nτ von Zeitintervallen pro Task τ, d. h. mit einer niedrigen Testobergrenze Tmax(τ) begonnen, beispielsweise mit nτ = 1. Übersteigt die einen Fehler enthaltende Gesamtrechenzeit einen Grenzwert für die im überprüften Intervall verfügbare Rechenzeit, so wird die Testobergrenze Tmax(τ) verschoben und entsprechend die maximale Anzahl nτ der Zeitintervalle für zumindest eine Task τ erhöht. Beispielsweise kann die Erhöhung derart erfolgen, dass die Anzahl nτ verdoppelt wird. Dabei sind gerade solche Verschiebungen der Testobergrenze Tmax(τ) von Bedeutung, welche über den Endzeitpunkt des überprüften Zeitintervalls hinweg verschoben werden. Dies wirkt sich auf die Anzahl der im Zeitintervall genäherten Jobs aus. Bei einer Verringerung der Anzahl der genäherten Jobs wird die Gesamtrechenzeit um den Fehleranteil der nicht mehr genäherten Jobs verringert. Dadurch ist es möglich, dass die Gesamtrechenzeit unter den Grenzwert sinkt. Kann das erreicht werden, so kann das Tasksystem für das überprüfte Zeitintervall akzeptiert werden.
  • Bei einem zweiten Ausführungsbeispiel des Verfahrens werden Zeitintervalle I der Größe nach in aufsteigender Reihenfolge überprüft. Wird das überprüfte Zeitintervall als in Echtzeit abarbeitbar klassifiziert, so gilt dies auch für alle kleineren Zeitintervalle I. Wird das überprüfte Zeitintervall I als nicht in Echtzeit abarbeitbar klassifiziert, so werden für zumindest einen genäherten Job einer Task τ an Stelle des Näherungswerts die Systemkosten verwendet. Dabei reicht eine nochmalige Überprüfung des bereits überprüften Zeitintervalls I aus. Es ist nicht zwingend erforderlich, dass die Echtzeitanalyse ausgehend von einem kleineren Zeitintervall I oder von Anfang an wiederholt wird.
  • Das Verfahren kann wie folgt realisiert werden:
    Bei dem Verfahren kann eine spezifische Auslastung U des Tasksystems τn folgendermaßen berechnet werden:
    Figure 00140001
  • Dabei sind τi, i = 1, 2, ... Tasks aus dem Tasksystem τn, ci die Systemkosten und pi eine Periode oder ein zeitlicher Mindestabstand der Task τi.
  • In einem ersten Schritt wird überprüft, ob die spezifische Auslastung U den Wert 1 übersteigt. In diesem Fall ist das Tasksystem nicht echtzeitfähig und die Echtzeitanalyse kann beendet werden.
  • In einem zweiten Schritt werden ein oder mehrere maximale Testintervalle Imax festgelegt. Ferner werden zur Ausführung des Verfahrens notwendige Variablen initialisiert, wie z. B. eine kumulierten aktuellen Rechenzeit Ract für das aktuelle Zeitintervall Iact. Die Variablen werden, z. B. mit Null, initialisiert. Ein dem aktuellen Zeitintervall Iact vorangehendes Zeitintervall wird mit Iold bezeichnet. Das jeweils erste Zeitintervall
    Figure 00150001
    der Tasks τi des Tasksystems τn wird in eine Testliste TestList eingefügt. Das erste Zeitintervall
    Figure 00150002
    ergibt sich aus einer Zeitschranke
    Figure 00150003
    des ersten Jobs einer jeden Task τi. Ferner wird eine zulässige Anzahl Anz von Zeitintervallen bestimmt. Vorzugsweise ist zu Beginn des Verfahrens die Anzahl Anz auf 1 gesetzt und eine Liste ApproxList von Tasks τ, deren Jobs genähert werden leer.
  • In einem dritten Schritt werden die nachfolgenden Anweisungen wiederholend ausgeführt, bis entweder die Testliste TestList leer ist, oder das maximale Testintervall überschritten ist, d. h. wenn z. B. gilt: Iact ≥ Imax.
  • Als erste Anweisung wird als aktuelle Zeitintervall Iact bestimmt. Das aktuelle Zeitintervall Iact wird mit dem kleinsten Zeitintervall aus der Testliste Testlist gleichgesetzt. Das kleinste Zeitintervall wird aus der Testliste TestList entfernt. Sollte dieses Zeitintervall mehrfach für verschiedene Tasks τi in der Testliste TestList enthalten sein, wird nur ein Eintrag gelöscht. τact bezeichnet die zu dem aktuellen Zeitintervall Iact gehörende Task. Als nächste Anweisung wird die Rechenzeit Ract mit folgender Formel berechnet: Ract = Rold + cact + Uapprox × (Iact – Iold)
  • Dabei bezeichnet Uapprox eine spezifische Auslastung der genäherten Tasks. Uapprox kann mit folgender Formel berechnet werden:
    Figure 00160001
  • Uapprox kann auch in einer Variable gespeichert und im Laufe der Echtzeitanalyse, sofern erforderlich, aktualisiert werden.
  • In einer weiteren Anweisung wird die kumulierte aktuelle Rechenzeit Ract mit einem Grenzwert GWact für das aktuelle Zeitintervall Iact verglichen. Der Grenzwert GWact kann beispielsweise mit der Intervalllänge des aktuellen Zeitintervalls Iact gleichgesetzt werden.
  • Ist in einem ersten Fall die Rechenzeit Ract kleiner oder gleich dem Grenzwert GWact, so ist der Echtzeitnachweis für das Zeitintervall Iact erbracht. Durch eine nächste Anweisung wird geprüft, ob die Testobergrenze Tmaxact) der aktuellen Task τact erreicht oder überschritten ist. Die Testobergrenze Tmaxact) hängt von der aktuell zulässigen Anzahl Anz der Zeitintervalle ab. Für periodische Tasks kann die Überprüfung durch folgende Formel erfolgen: Iact ≥ (Anz – 1) × pact + dact
  • Dabei bezeichnet dact die aktuelle Zeitschranke und pact die Periode der Task τact. Ist die Testobergrenze Tmax(τact) erreicht, so wird in einer nächsten Anweisung die Task τact der Liste ApproxList der genäherten Tasks hinzugefügt. Falls erforderlich wird Uapprox aktualisiert.
  • Ist die Testobergrenze Tmaxact) noch nicht erreicht, so wird ein nächst größeres Zeitintervall Inext für die Task τact in die Testliste TestList eingefügt. Für periodische Tasks kann das Zeitintervall Inext folgendermaßen bestimmt werden: Inext = Iact' + pact
  • Als letzte Anweisung des ersten Falls wird der Wert des letzten akzeptierten Zeitintervalls Iold auf den Wert des aktuellen Zeitintervall Iact gesetzt.
  • Ist in einem zweiten Fall die Rechenzeit Ract dagegen größer als der Grenzwert GWact, so wird versucht, die Rechenzeit Ract schrittweise zu reduzieren. Es wird geprüft, ob durch die Reduktion die Rechenzeit Ract kleiner wird als der Grenzwert GWact. Das kann wie folgt durchgeführt werden:
    Ist die Liste ApproxList leer so ist das Tasksystem nicht echtzeitfähig.
  • Ist die Liste ApproxList nicht leer, so wird die Anzahl Anz erhöht. Die Anzahl Anz kann beispielsweise verdoppelt werden. Dann wird überprüft, ob durch die Erhöhung in der Liste ApproxList enthaltene Tasks nicht mehr genähert werden. Die nicht mehr genäherten Tasks werden bestimmt. Es werden diejenigen Tasks bestimmt, welchen infolge der erhöhten Anzahl Anz eine Testobergrenze Tmax(τ) zugeordnet wird, welche größer als das aktuelle Zeitintervall Iact ist. Die so bestimmten Tasks werden aus der Liste ApproxList entfernt und ihr nächstes Zeitintervall, das größer als Iact ist wird in die Liste Test-List eingefügt. Dann wird die Rechenzeit Ract um den Fehleranteil der wie oben bestimmten Tasks reduziert. Für periodische Tasks kann der Fehler in einem Intervall I folgendermaßen bestimmt werden:
    Figure 00180001
  • Dabei bezeichnen di, pi, und ci die Zeitschranke, Periode und Kosten der Task τi. Die Fehler werden von Rechenzeit Ract subtrahiert. Ist die reduzierte Rechenzeit R'act nach wie vor größer der Grenzwert GWact, so war die Erhöhung der Anzahl Anz noch nicht ausreichend. Die Anzahl Anz wird weiter erhöht, beispielsweise nochmals verdoppelt. Die Erhöhung der Anzahl wird so lange wiederholt bis entweder die reduzierte Rechenzeit R'act kleiner oder gleich dem Grenzwert GWact ist oder bis die Liste ApproxList leer ist. Ist infolge einer Erhöhung der Anzahl Anz die Rechenzeit R'act nicht mehr größer als der Grenzwert GWact, so wird das Verfahren wie im ersten Fall fortgeführt. Ist für jede Erhöhung der Anzahl Anz die Rechenzeit R'act größer als der Grenzwert GWact, so ist der Echtzeitnachweis für das Tasksystem τn fehlgeschlagen.
  • Bei einem dritten Ausführungsbeispiel kann der Grad der Approximation verringert werden. Der Grad der Approximation kann dynamisch an die Erfordernisse des Tasksystems τn angepasst werden. Die Laufzeit des Verfahrens kann weiter minimiert werden. Beispielsweise kann für jedes Zeitintervall eine maximale Anzahl von Tasks genähert werden. Dabei kann folgendes Verfahren angewandt werden:
    Die Zeitintervalle werden der Größe nach in aufsteigender Reihenfolge überprüft. Wird festgestellt, dass die Rechenzeit Ract kleiner als der Grenzwert GWact ist, so wird die Anzahl Anz verringert. Dabei wird die Testobergrenze Tmax(τ) für zumindest eine Task τ derart verschoben, dass die Task τ im Zeitintervall Iact oder Inew genähert wird.
  • Bei einem vierten Ausführungsbeispiel werden die Tasks τ so früh wie möglich, z. B. nach dem ersten Zeitintervall Iτ 1, genähert. Diese Näherung kann, wie oben beschrieben, wieder aufgehoben werden. Wird eine Näherung aufgehoben, so erfolgt eine erneute Wiedereinführung der Näherung baldmöglichst, z. B. in dem der Aufhebung folgenden Zeitintervall. Bei dem Verfahren ist es möglich, nur dann Zeitintervalle I in die Testliste einzufügen, wenn dies aufgrund der Aufhebung einer Näherung erfolgt. Das Verfahren ermöglicht eine weitgehende Näherung, ist schnell und genau.
  • Das vierte Ausführungsbeispiel kann beispielsweise folgendermaßen realisiert werden:
    Die sich jeweils aus dem ersten Job einer jeden Task τ ergebenden ersten Zeitintervalle Iτ 1 werden in die Testliste TestList eingefügt. Die Zeitintervalle Iτ 1 in der Testliste TestList werden dann der Größe nach in aufsteigender Reihenfolge abgearbeitet. Alle weiteren Zeitintervalle I der Tasks werden zunächst genähert, d.h. sind nicht in der Testliste TestList eingefügt. Wenn ein Echtzeitnachweis für ein Zeitintervall Iτ 1 fehlschlägt, wird die Näherung, wie oben beschrieben, schrittweise reduziert. Das erfolgt entweder bis der Echtzeitnachweis für das überprüfte Zeitintervall I erbracht ist oder keine Task mehr genähert werden kann. Kann keine Task mehr genähert werden ist das Tasksystem nicht echtzeitfähig. Die Aufhebung der Näherung einer Task τ führt dazu, dass für diese Task τ ein Zeitintervall Iτ 1, i > 2, in die Testliste TestList eingefügt wird. Vorzugsweise entspricht das Zeitintervall Iτ 1 dem nächst größeren Zeitintervall der Task τ, welches auf ein Zeitintervall folgt, in welchem der Test fehlgeschlagen ist. Das nächst größere Intervall kann auf die gleiche Weise bestimmt werden wie bei der Echtzeitanalyse mit dynamischem Fehler. Die Echtzeitanalyse endet, wenn in einem Zeitintervall alle Tasks genähert werden und/oder die Rechenzeit Ract größer ist als der Grenzwert GWact.
  • Bei allen Ausführungsbeispielen kann infolge einer deutlichen Reduktion der Zahl der zu überprüfenden Zeitintervalle eine besonders geringe Laufzeit des Verfahrens erreicht werden. Indem der Grad der Approximation angepasst wird kann die Echtzeitfähigkeit von Systemen sehr genau analysiert werden.
  • τn
    Tasksystem
    τ
    Task
    τ'
    weitere Task
    Anz
    Anzahl
    ci
    Kosten
    dτ, di
    Zeitschranke
    GWact
    Grenzwert
    I
    Zeitintervall
    Iτ
    i-tes Zeitintervall einer Task τ
    Iτ
    maximales Zeitintervall einer Task τ
    Imax
    maximales Zeitintervall
    Iact
    aktuelles Zeitintervall
    Iold
    vorangehendes Zeitintervall
    nτ
    Anzahl von Zeitschranken
    pi
    Periode
    R
    Rechenzeit
    Ract
    aktuelle Rechenzeit
    Tmax(τ)
    Testobergrenze

Claims (26)

  1. Verfahren Echtzeitanalyse eines Systems, wobei vom System Tasks (τ) abzuarbeiten sind und wobei ein durch das Abarbeiten einer Task (τ) definierter Job Systemkosten verursacht, mit folgenden Schritten: a) Festlegen eines Zeitintervalls (Iact), in welchem Tasks (τ) vom System abzuarbeiten sind, b) Ermitteln eines Grenzwerts (GWact) für Systemkosten, welche im Zeitintervall (I) zum Abarbeiten der Tasks (τ) verfügbar sind, c) Ermitteln von Gesamtsystemkosten (Ract), für die durch die im Zeitintervall (I) anfallenden Jobs verursachten Systemkosten, wobei zur Ermittlung der Gesamtsystemkosten (Ract) für i) eine erste Menge bildende Jobs die Systemkosten und ii) eine zweite Menge bildende Jobs jeweils ein Näherungswert für die Systemkosten verwendet werden/wird, d) Vergleich der ermittelten Gesamtsystemkosten (Ract) mit dem Grenzwert (GWact), wobei i) das Zeitintervall (Iact) dann als in Echtzeit abarbeitbar gilt, wenn die Gesamtsystemkosten (Ract) den Grenzwert (GWact) nicht übersteigen, wobei, ii) wenn die Gesamtsystemkosten (Ract) den Grenzwert (GWact) übersteigen, die zweite Menge, falls diese nicht leer ist, derart verringert wird, dass für eine weitere Ermittlung der Gesamtsystemkosten (Rat) für zumindest einen Job einer Task (τ) der zweiten Mengen an Stelle des Näherungswerts die Systemkosten berücksichtigt werden, und wobei iii) die Echtzeitfähigkeit des Systems dann als nicht gegeben angesehen wird, wenn die zweite Menge leer ist und die Gesamtsystemkosten (Ract) den Grenzwert (GWact) übersteigen.
  2. Verfahren nach Anspruch 1, wobei, wenn die Gesamtsystemkosten (Ract) kleiner als der Grenzwert (GWact) sind, die zweite Menge vergrößert wird.
  3. Verfahren nach einem der vorhergehenden Ansprüche, wobei mindestens einer Task (τ) eine veränderbare Testgrenze
    Figure 00230001
    zugeordnet wird, wobei für Tasks (τ), deren Testgrenze
    Figure 00230002
    im Zeitintervall (Iact) überschritten wird, der Näherungswert für die Jobs der Task (τ) verwendet wird, und wobei, wenn die Gesamtsystemkosten (Ract) größer als der Grenzwert (GWact) sind, zumindest eine Testgrenze
    Figure 00230003
    derart verändert wird, dass die zweite Menge verringert wird.
  4. Verfahren nach Anspruch 3, wobei, wenn die Gesamtsystemkosten (Ract) kleiner als der Grenzwert (GWact) sind, die Testgrenze
    Figure 00230004
    einer Task (τ) der zweiten Menge derart verändert wird, dass die zweite Menge vergrößert wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei zur Verringerung der zweiten Menge zumindest ein Zahlenwert vergrößert, vorzugsweise verdoppelt, wird und/oder zur Vergrößerung der zweiten Menge zumindest ein Zahlenwert verringert wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei, wenn die Gesamtsystemkosten (Ract) größer als der Grenzwert (GWact) sind, das Verfahren mit einem bereits überprüften Zeitintervall (Iold) fortgeführt wird, in welchem die Gesamtsystemkosten (Ract) kleiner als der Grenzwert (GWact) waren.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei, wenn die Gesamtsystemkosten (Ract) im Zeitintervall (Iact) größer als der Grenzwert (GWact) sind, das Verfahren im Zeitintervall (Iact) fortgeführt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei zur Verringerung der zweiten Menge eine der folgenden Eigenschaften der Tasks berücksichtigt wird: Höhe der tatsächlichen Systemkosten, Fehleranteil der genäherten Systemkosten an einem Gesamtfehler des Verfahrens.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Echtzeitfähigkeit nacheinander für Zeitintervalle (I) mit ansteigender Größe überprüft wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei bei der Bestimmung der Gesamtsystemkosten (Ract) die Tasks (τ) gruppiert werden.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei zumindest eine Task (τ) wiederholend vom System abzuarbeiten sind.
  12. Verfahren nach einem der vorhergehenden Ansprüche, wobei zumindest eine Task (τ) mit einem zeitlichen Mindestabstand oder periodisch mit einer Periode (pi) abzuarbeiten ist.
  13. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Systemkosten auf der Grundlage einer für das Abarbeiten der Tasks (τ) erforderlichen Bearbeitungszeit berechnet werden.
  14. Verfahren nach einem der Ansprüche 1 bis 12, wobei die Systemkosten auf der Grundlage einer oberen Schranke für die höchstens erforderliche Bearbeitungszeit berechnet werden.
  15. Verfahren nach einem der Ansprüche 1 bis 12, wobei die Systemkosten auf der Grundlage einer für das Abarbeiten der Tasks (τ) erforderlichen Auslastung einer Ausführungskomponente, vorzugsweise einer CPU, des Systems berechnet werden.
  16. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Grenzwert (GWact) auf der Grundlage einer im Zeitintervall (Iact) verfügbaren Kapazität des Systems ermittelt wird.
  17. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Gesamtsystemkosten (Rat) für diskrete, einen Anfangs- und einen Endzeitpunkt aufweisende Zeitintervalle (I,
    Figure 00250001
    ) ermittelt werden, wobei der Endzeitpunkt ein Ende einer Zeitschranke (dact, di) ist, bis zu welcher ein Job einer Task (τ) spätestens abzuarbeiten ist.
  18. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Näherungswert für einen Job auf der Grundlage einer spezifischen Auslastung des Systems berechnet wird.
  19. Verfahren nach Anspruch 18, wobei die spezifische Auslastung als Quotient aus Bearbeitungszeit und Periode (pi) der Task (τ) berechnet wird.
  20. Verfahren nach einem der Ansprüche 18 oder 19, wobei die spezifische Auslastung für ein Intervall berücksichtigt wird, welches kleiner ist als das Zeitintervall (Iact).
  21. Verfahren nach einem der vorhergehenden Ansprüche, wobei derjenige Task (τ) vom System zuerst abgearbeitet wird, für welchen das Ende der Zeitschranke (dact, di) zeitlich am nächsten liegt.
  22. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Tasks (τ) in einer durch eine Priorität vorgegebenen Reihenfolge vom System abgearbeitet werden.
  23. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Tasks (τ) mit einem Ereignisstrommodell beschrieben werden.
  24. Verfahren nach einem der vorhergehenden Ansprüche, wobei folgender Algorithmus verwendet wird:
    Figure 00260001
    Figure 00270001
  25. Verfahren nach einem der Ansprüche 1 bis 23, wobei folgender Algorithmus verwendet wird:
    Figure 00270002
  26. Computerprogrammiererzeugnis zur Analyse des Zeitverhaltens komplexer Systemen mit Programmcodemitteln zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche.
DE102005010580A 2005-03-04 2005-03-04 Verfahren zur Echtzeitanalyse eines Systems Ceased DE102005010580A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102005010580A DE102005010580A1 (de) 2005-03-04 2005-03-04 Verfahren zur Echtzeitanalyse eines Systems
PCT/EP2006/001955 WO2006092318A1 (de) 2005-03-04 2006-03-03 Verfahren zur echtzeitanalyse eines systems
EP06723199A EP1854003A1 (de) 2005-03-04 2006-03-03 Verfahren zur echtzeitanalyse eines systems
JP2007557434A JP2008532150A (ja) 2005-03-04 2006-03-03 システムのリアルタイム分析のための方法
US11/884,916 US8185900B2 (en) 2005-03-04 2006-03-03 Method for the real-time capability analysis of a system by selectively using approximated or actual system expenses for jobs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005010580A DE102005010580A1 (de) 2005-03-04 2005-03-04 Verfahren zur Echtzeitanalyse eines Systems

Publications (1)

Publication Number Publication Date
DE102005010580A1 true DE102005010580A1 (de) 2006-09-07

Family

ID=36480896

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005010580A Ceased DE102005010580A1 (de) 2005-03-04 2005-03-04 Verfahren zur Echtzeitanalyse eines Systems

Country Status (5)

Country Link
US (1) US8185900B2 (de)
EP (1) EP1854003A1 (de)
JP (1) JP2008532150A (de)
DE (1) DE102005010580A1 (de)
WO (1) WO2006092318A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533727B2 (en) * 2009-02-16 2013-09-10 Inchron Gmbh Method for analysing the real-time capability of a system
US9043644B2 (en) * 2012-12-04 2015-05-26 International Business Machines Corporation Using separate processes to handle short-lived and long-lived jobs to reduce failure of processes
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
KR102252079B1 (ko) * 2019-09-20 2021-05-13 인천대학교 산학협력단 실시간 시스템을 위한 실시간성 분석 장치 및 그 동작 방법
KR102264205B1 (ko) * 2019-09-20 2021-06-10 인천대학교 산학협력단 실시간 시스템에서의 작업 할당 스케줄링이 가능한지 여부를 판정할 수 있는 실시간성 분석 장치 및 그 동작 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2723653B1 (fr) * 1994-08-11 1996-09-13 Cegelec Procede pour ordonnancer des taches successives qui ne subissent que des contraintes du type delais
US5964829A (en) * 1996-03-27 1999-10-12 Lucent Technologies Inc. Method and apparatus for providing enhanced pay per view in a video server employing a coarse-grained striping scheme
GB9710522D0 (en) * 1997-05-23 1997-07-16 Rolls Royce Plc Control system
US7165252B1 (en) * 1999-06-21 2007-01-16 Jia Xu Method of scheduling executions of processes with various types of timing properties and constraints
JP2002342097A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd タスク割当可能時間決定装置及びタスク割当可能時間決定方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Baruah, S.K., u.a.: Preemptively scheduling hard- real-time sporadic tasks on one processor. In: Proceedings of the Real-Time Systems Symposium, 5-7 Dez. 1990, S. 182-190 *
Chakraborty, S., u.a.: Approximate schedulability analysis. In: 23rd IEEE Real-Time Systems Sympos- ium, 2002 (RTSS 2002), 3-5 Dez. 2002, S. 159-168 *
Devi, U.C.: An improved schedulability test for uniprocessor periodic task systems. In: Proceed- ings. 15th Euromicro Conference on Real-Time Sys- tems, 2-4 July 2003, S. 23-30 *
Stankovic, J.A., u.a.: Implications of classical scheduling results for real-time systems. In: Computer, Vol. 28, Issue 6, Juni 1995, S. 16-25 *

Also Published As

Publication number Publication date
JP2008532150A (ja) 2008-08-14
EP1854003A1 (de) 2007-11-14
US20080276247A1 (en) 2008-11-06
US8185900B2 (en) 2012-05-22
WO2006092318A1 (de) 2006-09-08

Similar Documents

Publication Publication Date Title
EP1831786B1 (de) Verfahren zur verteilung von rechenzeit in einem rechnersystem
EP1756714A2 (de) Verfahren zur prüfung der echtzeitfähigkeit eines systems
DE3012425A1 (de) Fehlergesicherte einrichtung zur benutzung eines digitalen rechners
DE102005010580A1 (de) Verfahren zur Echtzeitanalyse eines Systems
EP1149338B1 (de) Lastverteilungsverfahren eines multiprozessorsystems und multiprozessorsystem
DE10315525A1 (de) Steuerverfahren zur ruckbegrenzten Geschwindigkeitsführung eines bewegbaren Maschinenelementes einer numerisch gesteuerten industriellen Bearbeitungsmaschine
DE69824119T2 (de) Implantierbare aktive medizinische Einrichtung, insbesondere Herzstimulator, gesteuert von wenigstens einem physiologischen Parameter
DE102007051803A1 (de) Verfahren und Vorrichtung zur Datenverarbeitung
CH651681A5 (de) Verfahren zum betrieb einer datenverarbeitungsanlage mit einem rechner.
EP1514180A2 (de) Reaktionszeit-beschränkung eines software-prozesses
DE2453526A1 (de) Verfahren zur regulierung der belastung einer elektronischen datenverarbeitungsanlage
DE10110444A1 (de) Verfahren und Vorrichtung zum Ermitteln der Auslastung eines Rechengeräts
EP0697779B1 (de) Verfahren zur Steuerung der Lastabwehr eines Echtzeitrechners
DE102016113968A1 (de) Prozessor zur korrelationsbasierter Endlosschleifenerkennung
DE69911461T2 (de) Verfahren zur organisation der produktion einer montagelinie von unterschiedlich ausgestatteten einheiten wie kraftfahrzeugen
DE102012102373A1 (de) Verfahren zur Abschätzung eines Ressourcenverbrauchs bei der Erzeugung eines Steuergeräteprogrammcodes
DE112008002253B4 (de) EDF-Implementierung für Realzeitsysteme mit statischen Prioritäten
DE10341071B3 (de) Verfahren zur Überlastabwehr, besonders für Call Processsing Plattformen
EP1047990B1 (de) Vorrichtung und verfahren zur steuerung von prozessen auf einem computersystem
DE102006037971B3 (de) Verfahren zur Beschränkung einer von einer Vorrichtung bei deren Betrieb tatsächlich aufgenommenen oder abgegebenen Istleistung, Lastrechner, Computerprogramm und Speichermedium mit dem Computerprogramm zur Durchführung des Verfahrens
DE10218892B4 (de) Integrationsverfahren für mindestens ein Grundprogramm mit einem Grundfenster in ein Zusatzprogramm mit einem Zusatzfenster
EP1526419A2 (de) Verfahren zum Bestimmen und Bereitstellen von Laufzeitinformationen für Roboter-Steuerprogramme
DE102005051101A1 (de) Verfahren zum Implementieren von Software-Timern und Datenverarbeitungssystem
DE19928798C2 (de) Verfahren zur Erfassung der Auslastung eines Prozessors
DE60308940T2 (de) Strahl-Scheduler Methode für ein Multi-Funktionsradar, sonar oder lidar

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: INCHRON GMBH, 14482 POTSDAM, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final
R003 Refusal decision now final

Effective date: 20140731