WO2009127697A1 - Verfahren zum automatischen erzeugen eines zeitschemas für über einen zeitgesteuerten gemeinsamen datenbus kommunizierende verteilte anwendungen oder prozesse eines digitalen netzwerks - Google Patents

Verfahren zum automatischen erzeugen eines zeitschemas für über einen zeitgesteuerten gemeinsamen datenbus kommunizierende verteilte anwendungen oder prozesse eines digitalen netzwerks Download PDF

Info

Publication number
WO2009127697A1
WO2009127697A1 PCT/EP2009/054544 EP2009054544W WO2009127697A1 WO 2009127697 A1 WO2009127697 A1 WO 2009127697A1 EP 2009054544 W EP2009054544 W EP 2009054544W WO 2009127697 A1 WO2009127697 A1 WO 2009127697A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
time slot
input
output
time
Prior art date
Application number
PCT/EP2009/054544
Other languages
English (en)
French (fr)
Inventor
Josef Schalk
Maria Sorea
Sebastian Voss
Original Assignee
Eads Deutschland 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 Eads Deutschland Gmbh filed Critical Eads Deutschland Gmbh
Publication of WO2009127697A1 publication Critical patent/WO2009127697A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Abstract

Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen eines digitalen Netzwerks, wobei die einzelnen Anwendungen in einem vorgegebenen Ablaufplan und vorgegebener Reihenfolge jeweils während vorgegebener Zeitdauer durchgeführt und Nachrichten während Zeitschlitzen vorgegebener Länge innerhalb eines Nachrichtenzyklus über dem gemeinsamen Datenbus von jeweiligen Anwendungen ausgegeben oder jeweiligen Anwendungen eingegeben werden. Erfindungsgemäß ist es vorgesehen dass aus der Reihenfolge und Zeitdauer der einzelnen Anwendungen und der Anzahl und Länge der Zeitschlitze die Nachrichtenzykluszeit mit einer Länge entsprechend mindestens einem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad berechnet wird, dass der Eingabezeitschlitz der letzten Anwendung innerhalb eines Nachrichtenzyklus bestimmt wird, und dass ausgehend vom Eingabezeitschlitz der letzten Anwendung die Ausgabe- und Eingabezeitschlitze der jeweils vorangehenden Anwendungen bis zum Ausgabezeitschlitz der ersten Anwendung innerhalb eines Nachrichtenzyklus bestimmt werden.

Description

Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks
Die Erfindung betrifft ein Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks.
Digitale Netzwerke mit einem zeitgesteuerten gemeinsamen Datenbus, bei denen eine Anzahl von verteilten Anwendungen oder Prozesse über den gemeinsamen Datenbus kommunizieren, finden zunehmend Verwendung in hochentwickelten Umgebungen, in welchen eine Vielzahl von Anwendungen oder Prozessen zuverlässig und in kurzer Zeit durchgeführt werden sollen, insbesondere in der Luft- und Raumfahrt und bei Automobilen. (Im folgenden wird nur noch von „Anwendungen" gesprochen.) Nutzung des gemeinsamen Datenbusses durch die verteilten Anwendungen erfolgt nach einem Zeitschema, welches den Ablaufplan, die Reihenfolge und die Dauer der einzelnen Anwendungen zu berücksichtigen hat. Die Ausgabe und Eingabe der zwischen den einzelnen verteilten Anwendungen zu kommunizierenden Daten erfolgt während jeweiliger Zeitschlitze, während derer die Daten von einer Anwendung ausgegeben und einer anderen Anwendung eingegeben werden. Von großer Wichtigkeit bei der Erzeugung des Zeitschemas für den Datenaustausch zwischen den einzelnen Anwendungen ist, insbesondere wenn eine schnelle Verarbeitungszeit gefordert wird, wie beispielsweise bei der Luftfahrt, dass das System unter Realzeitbedingungen zuverlässig funktioniert, was insbesondere für sicherheitsrelevante Anwendungen von großer Bedeutung ist. Somit bildet die Erzeugung eines effektiven und optimalen Zeitschemas für die Nutzung des zeitgesteuerten gemeinsamen Datenbusses einen Schlüssel, um ein hoch leistungsfähiges und zuverlässiges System zu erhalten. Dies um so mehr, je komplexer das handzuhabende digitale Netzwerk ist .
Aus der US 2004/0208158 Al, der US 6 483 846, US 5 978 578 und US 4 980 824 sind gattungsähnliche Verfahren zum automatischen Erzeugen von Zeitschemas für kommunizierende verteilte Anwendungen oder Prozesse bekannt.
Die Aufgabe der Erfindung ist es, ein Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks zu schaffen, welches effektiv ist und die Erfüllung von Echtzeitbedingungen sicherstellt. Insbesondere soll die Vorhersehbarkeit und Zuverlässigkeit der Datenkommunikation zwischen den verteilten Anwendungen sichergestellt werden.
Gemäß einem ersten Aspekt der Erfindung wird die Aufgabe gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 1.
Gemäß einem zweiten Aspekt der Erfindung wird die Aufgabe gelöst durch ein Verfahren mit den Merkmalen des Anspruchs 2.
Jeweilige vorteilhafte Ausführungsformen und Weiterbildungen des erfindungsgemäßen Verfahrens sind in den Unteransprüchen gekennzeichnet .
Durch die Erfindung wird ein Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks, bei dem die einzelnen Anwendungen in einem vorgegebenen Ablaufplan und vorgegebener Reihenfolge jeweils während vorgegebener Zeitdauer durchgeführt und Nachrichten während Zeitschlitzen vorgegebener Länge innerhalb eines Nachrichtenzyklus über den gemeinsamen Datenbus von jeweiligen Anwendungen ausgegeben oder jeweiligen Anwendungen eingegeben werden, geschaffen.
Gemäß einem ersten Aspekt der Erfindung ist es vorgesehen,
dass aus der Reihenfolge und Zeitdauer der einzelnen Anwendungen und der Anzahl und Länge der Zeitschlitze die Nachrichtenzykluszeit mit einer Länge entsprechend mindestens einem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad berechnet wird,
- dass der Eingabezeitschlitz der letzten Anwendung innerhalb eines Nachrichtenzyklus bestimmt wird, und
- dass ausgehend vom Eingabezeitschlitz der letzten Anwendung die Ausgabe- und Eingabezeitschlitze der jeweils vorangehenden Anwendungen bis zum Ausgabezeitschlitz der ersten Anwendung innerhalb eines Nachrichtenzyklus bestimmt werden .
Die Zeit, die zum Einlesen bzw. Auslesen nötig ist, kann durch einen eigens nur für diesen Zweck vorgesehenen Zeitschlitz abgebildet werden (Eingabezeitschlitz/ Ausgabezeitschlitz) . Es kann jedoch auch vorgesehen werden, dass die Zeit, die zum Einlesen bzw. Auslesen nötig ist, bereits in der Zeitdauer einer Anwendung (eines Prozesses) enthalten ist, und kein extra Zeitschlitz vorgesehen werden muß. Der Begriff „Zeitschlitz" ist hier entsprechend allgemein zu verstehen.
Es kann vorgesehen sein, dass für jede Anwendung automatisch geprüft wird, ob für diese eine Ausgabe an eine oder mehrere folgende andere Anwendungen vorgesehen ist.
Es kann vorgesehen sein, dass, wenn für die vorliegende Anwendung eine Ausgabe an eine oder mehrere folgende andere Anwendungen vorgesehen ist, geprüft wird, ob für diese eine Nachfolgeranwendung vorgesehen ist, der bereits ein Eingabezeitschlitz zugewiesen ist.
Dabei kann, wenn für die vorliegende Anwendung eine Nachfolgeranwendung mit einem bereits zugewiesenen Eingabezeitschlitz vorgesehen ist, deren Eingabezeitschlitz als Ausgabezeitschlitz für die vorliegende Anwendung zugewiesen werden.
Es kann, wenn für die vorliegende Anwendung keine Nachfolgeranwendung mit einem bereits zugewiesenen Eingabezeitschlitz vorgesehen ist, der vorliegenden Anwendung automatisch der nächste folgende freie Zeitschlitz als Ausgabezeitschlitz zugewiesen werden.
Es kann vorgesehen sein, dass für die vorliegende Anwendung die Vorgängeranwendung auf dem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad bestimmt und deren Ausgabezeitschlitz als Eingabezeitschlitz für die vorliegende Anwendung bestimmt wird.
Dabei kann die Anfangszeit der Vorgängeranwendung ausgehend von deren als Eingabezeitschlitz für die vorliegende Anwendung verwendeten Ausgabezeitschlitz berechnet und festgelegt werden.
Vorteilhafterweise werden die jeweiligen Verfahrensschritte für alle Zweige des Ablaufplans so lange wiederholt bis der Ausgabezeitschlitz und die Anfangszeit der ersten Anwendung innerhalb eines Nachrichtenzyklus zugewiesen sind.
Gemäß einem zweiten Aspekt der Erfindung ist es bei einem Verfahren der vorausgesetzten Art vorgesehen, dass aus der Reihenfolge und Zeitdauer der einzelnen Anwendungen und der Anzahl und Länge der Zeitschlitze die Nachrichtenzykluszeit mit einer Länge entsprechend mindestens einem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad berechnet wird,
dass der Ausgabezeitschlitz der ersten Anwendung innerhalb eines Nachrichtenzyklus bestimmt wird, und
dass ausgehend vom Ausgabezeitschlitz der ersten Anwendung die Eingabe- und Ausgabezeitschlitze der jeweils nachfolgenden Anwendungen bis zum Eingabezeitschlitz der letzten Anwendung innerhalb des Nachrichtenzyklus bestimmt werden .
Dabei kann es vorgesehen sein, dass für jede Anwendung automatisch geprüft wird, ob für diese eine Eingabe von einer oder mehreren zeitlich vorangehenden anderen Anwendungen vorgesehen ist.
Wenn für die vorliegende Anwendung eine Eingabe von einer oder mehreren vorangehenden anderen Anwendungen vorgesehen ist, kann automatisch geprüft werden, ob für diese eine Vorgängeranwendung vorgesehen ist, der bereits ein Ausgabezeitschlitz zugewiesen ist.
Es kann, wenn für die vorliegende Anwendung eine Vorgängeranwendung mit einem bereits zugewiesenen Ausgabezeitschlitz vorgesehen ist, deren Ausgabezeitschlitz als Eingabezeitschlitz für die vorliegende Anwendung zugewiesen werden.
Es kann, wenn für die vorliegende Anwendung keine Vorgängeranwendung mit einem bereits zugewiesenen Ausgabezeitschlitz vorgesehen ist, der vorliegenden Anwendung automatisch der nächste vorangehende freie Zeitschlitz als Eingabezeitschlitz zugewiesen werden.
Es kann vorgesehen sein, dass für die vorliegende Anwendung die Nachfolgeranwendung auf dem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad bestimmt und deren Eingabezeitschlitz als Ausgabezeitschlitz für die vorliegende Anwendung bestimmt wird.
Dabei kann die Beendigungszeit der Nachfolgeranwendung ausgehend von deren als Ausgabezeitschlitz für die vorliegende Anwendung verwendeten Eingabezeitschlitz berechnet und festgelegt werden.
Vorteilhafterweise werden die jeweiligen Verfahrensschritte für alle Zweige des Ablaufplans so lange wiederholt, bis der Eingabezeitschlitz und die Beendigungszeit der letzten Anwendung innerhalb eines Nachrichtenzyklus zugewiesen sind.
Bei jedem der vorgenannten Verfahren kann es weiterhin vorgesehen sein, dass der Nachrichtenzyklus um Leerlaufzeitschlitze erweitert wird.
Weiter kann vorgesehen sein, dass eine Konsistenzüberprüfung durchgeführt wird, um sicherzustellen, dass die Ausgabezeitschlitze nicht enden bevor die aufnehmende Anwendung beginnt.
Wenn dies der Fall wäre, wird der betreffende Zweig als Problem behaftet markiert.
Die Problemlösung kann erfolgen durch eine entsprechende Verschiebung der betroffenen Anwendungen zueinander, beispielsweise durch Einfügen zusätzlicher Zeitschlitze. Die Anfangszeit einer Anwendung auf dem längsten Pfad, deren Ausgabezweig die Konsistenzprüfung verfehlt, kann beispielsweise inkrementierend um jeweils einen Schlitz verschoben werden.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung erläutert.
Es zeigt:
Fig. 1 ein Diagramm eines beispielhaft stark vereinfachten Ablaufplans von einzelnen Anwendungen, welche über einen zeitgesteuerten gemeinsamen Datenbus innerhalb eines digitalen Netzwerks kommunizieren sollen, zur Erläuterung eines Ausführungsbeispiels der Erfindung;
Fig. 2 ein Flußdiagramm zur Erläuterung eines Verfahrens zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen eines digitalen Netzwerks gemäß einem Ausführungsbeispiel der Erfindung; und
Fig. 3 ein Diagramm, welches die zeitliche Lage der einzelnen Anwendungen des in Fig. 1 gezeigten Ablaufplans sowie von Zeitschlitzen, um jeweilige Daten von den Anwendungen auszugeben bzw. zu den Anwendungen einzugeben, sowie eine Tabelle, in welcher die zeitliche Lage der Anwendungen nach ihrer Anfangszeit und die Lage der Zeitschlitze wiedergegeben ist .
Das Diagramm von Fig. 1 zeigt sechs Anwendungen oder Prozesse Task 1 bis Task 6, welche während eines bestimmten Zeitintervalls, welches hier als Nachrichtenzykluszeit bezeichnet wird, abgearbeitet werden sollen. Die von den einzelnen Anwendungen Task 1 bis Task 6 abgegebenen Nachrichten sind mit mi bis mς bezeichnet. Die Anwendung Task 1 gibt zwei Nachrichten aus, nämliche eine Nachricht mi an die Anwendung Task 5 und eine weitere Nachricht mi* an die Anwendung Task 2. Bei dem dargestellten Ausführungsbeispiel beginnt der Nachrichtenpfad bei der Anwendung Task 1 und endet bei der Anwendung Task 4.
Fig. 3 zeigt ein entsprechendes Zeitschema für die Anwendungen Task 1 bis Task 4 des in Fig. 1 gezeigten Ablaufdiagramms und die Lage der jeweiligen Zeitschlitze für die Ausgabe bzw. Eingabe von Daten von den jeweiligen Anwendungen bzw. zu den jeweiligen Anwendungen. Die zeitliche Dauer der einzelnen Anwendungen Task 1 bis Task 6 ist in Fig.
3 wie auch in Fig. 1 durch die Länge der die Anwendungen Task 1 bis Task 6 repräsentierenden Kästchen verdeutlicht. Die Anfangszeit der jeweiligen Anwendungen Task 1 bis Task 6 sowie die Lage der Zeitschlitze, in welchen die Daten von diesen ausgegebenen bzw. zu diesen eingegeben werden, sind in der Tabelle im einzelnen aufgeführt.
Die Gesamtdauer eines Nachrichtenzyklus bzw. Nachrichtenzykluszeit beträgt bei dem dargestellten Ausführungsbeispiel 700 μs . Diese setzt sich zusammen aus der Länge eines statischen Segments mit 580 μs, welches in 29 statische Zeitschlitze von jeweils 20 μs unterteilt ist, und einer Leerlaufzeit NIT (Network IdIe Time) von 120 μs .
Die Anfangszeit der Anwendung Task 1 liegt bei Si = 80 μs. Die Ausgabe der Nachricht mi an die Anwendung Task 5 erfolgt im Zeitschlitz 10, die Ausgabe der Nachricht mi* an die Anwendung Task 2 im nachfolgenden Zeitschlitz 11. Die Anwendung Task 2 beginnt bei 220 μs, die Anwendung Task 5 bei 240 μs . Die Ausgabe der Nachricht m5 der Anwendung Task 5 an die nachfolgende Anwendung Task 6, vgl. Fig. 1, erfolgt im Zeitschlitz 7, die Anwendung Task 6 selbst beginnt bei
460 μs . Die Ausgabe der Nachricht m2 von der Anwendung Task 2 an die ihr nachfolgende Anwendung Task 3, vgl. Fig. 1, erfolgt im Zeitschlitz 19, die Anwendung Task 3 selbst beginnt bei 400 μs . Die Ausgaben der Nachrichten mς bzw. m3 von den Anwendungen Task 6 bzw. Task 3 an die Anwendung Task 4, welche bei selbst 580 μs beginnt, erfolgt in den Zeitschlitzen 27 bzw. 28. Mit dem Beginn der Anwendung Task 4 bei 580 μs beginnt auch die Leerlaufzeit NIT, welche länger ist als die Zeitdauer der letzten Anwendung Task 4 innerhalb des Nachrichtenzyklus.
Bei dem in den Fig. 1 und 3 gezeigten Ausführungsbeispiel sind keine Eingabe an die erste Anwendung Task 1 und keine Ausgabe von der letzten Anwendung Task 4 vorgesehen. Wenn jedoch beispielsweise eine Eingabe für die erste Anwendung Task 1 und/oder eine Ausgabe von der letzten Anwendung Task 4 stattfinden sollten, so würden diese übergreifend zwischen zwei aufeinanderfolgenden Nachrichtenzyklen stattfinden. Das heißt, eine Ausgabe einer Nachricht von einer der Anwendungen Task 2 bis Task 4 an die erste Anwendung Task 1 würde so erfolgen, dass sie dieser im nächsten Nachrichtenzyklus zur Verfügung steht, bzw. eine Ausgabe der letzten Anwendung Task 4 an eine der innerhalb eines Nachrichtenzyklus vorangehenden Anwendungen würde dementsprechend im folgenden Nachrichtenzyklus realisiert werden.
Die Diagramme der Fig. 1 und 3 sind, wie bereits vorher erwähnt, zum Zwecke des Beispiels extrem vereinfacht, in der praktischen Anwendung wären die Zahl der Anwendungen sehr viel größer und der Ablaufplan und das Zeitschema erheblich komplexer .
Im folgenden soll anhand des Flußdiagramms von Fig. 2 ein Ausführungsbeispiel eines Verfahrens zum automatischen Erzeugen eines Zeitschemas, wie es in Fig. 3 dargestellt ist, erläutert werden. Grundlage ist der in Fig. 1 dargestellte Ablaufplan, welcher die Rangfolge der zu verarbeitenden einzelnen Anwendungen Task 1 bis Task 6 und die jeweiligen zwischen diesen auszutauschenden Nachrichten mi - mς darstellt. Dieser wird im Flußdiagramm von Fig. 2 bei 100 eingegeben. Nachfolgend wird bei 110 eine Berechnung des längsten Pfades innerhalb des Ablaufplans in Bezug auf die Rechenzeit für die einzelnen Anwendungen und die Menge der zu übertragenden Daten durchgeführt. Der längste Pfad wird mittels einer ersten Tiefenanalyse (DFS = Depth First Search) durchgeführt. Bei dem Ausführungsbeispiel von Fig. 1 werden ausgehend vom Task 4 die beiden Pfade Task 4 > Task 3 > Task 2 > Task 1 sowie Task 4 > Task 6 > Task 5 > Task 1 geprüft, wobei der erstgenannte Pfad als längster Pfad ermittelt wird.
Bei dem in Fig. 2 dargestellten Ausführungsbeispiel beginnt die Berechnung bei 120 mit der Ermittlung des Senkenelements Task 4 des Ablaufplans gemäß Fig. 1 unter Durchführung einer rekursiven Berechnung entlang dem vorher bestimmten längsten Pfad. Das Senkenelement Task 4 zeichnet sich dadurch aus, dass dieses keine Ausgangssignale aufweist sondern nur Eingangssignale (m3, m6) . Alternativ könnte gemäß einem anderen Ausführungsbeispiel die Berechnung auch in der umgekehrten Reihenfolge entlang dem besagten längsten Pfad durchgeführt werden, also beginnend beim Quellenelement Task 1. Hier jedoch, wie gesagt, wird beim Senkenelement Task 4 begonnen .
Bei 130 wird dann mit der Berechnung für die vorliegende Anwendung begonnen, hier also für das Senkenelement Task 4. Für die jeweils vorliegende Anwendung wird bei 140 geprüft, ob für diese eine Ausgabebeziehung zu einer oder mehreren anderen Anwendungen besteht. Wenn JA, dann werden der oder die Ausgabezeitschlitze für die vorliegende Anwendung bei 150 bestimmt, wenn NEIN, wird bei 160 geprüft, ob für die vorliegende Anwendung eine Eingabebeziehung von einer oder mehreren anderen Anwendungen besteht. Beispielsweise im ersten Schleifendurchlauf für Task 4 besteht keine Ausgabebeziehung mehr, das Ergebnis bei 140 ist also NEIN. Bei 160 ist das Ergebnis für Task 4 „JA" weil eine weitere Eingabebeziehung außerhalb des längsten Pfades in m6 besteht.
Wenn JA, dann werden bei 170 der oder die Eingabezeitschlitze für die betreffende Anwendung bestimmt (im Beispiel gemäß Fig. 1 wird der Eingabezeitschlitz 28 für m3 bestimmt), wenn NEIN, dann wird bei 180 zum Vorgänger der vorliegenden Anwendung gewechselt (in diesem Beispiel zum Task 3) und es erfolgt ein Rücksprung nach 130, wo dann diese Vorgängeranwendung (Task 3) zur laufenden Anwendung (Task 4) gemacht und die beschriebene Bestimmung der Zeitschlitze von neuem vorgenommen wird.
Das Bestimmen der Ausgabezeitschlitze bei 150 erfolgt im einzelnen in der Weise, dass zunächst geprüft wird, ob die vorliegende Anwendung einen Nachfolger hat, dessen Anfangszeit schon berechnet bzw. bestimmt ist (im zweiten Schleifendurchlauf für Task 3 bedeutet das NEIN denn Task 3 hat nur einen Nachfolger - Task 4 - dessen Anfangszeit schon bestimmt ist) . Wenn NEIN, erfolgt eine weitere Prüfung dahingehend, ob die Nachricht (en) (m3) von der ausgebenden Anwendung (Task 3) schon einem Zeitschlitz zugewiesen ist, z.B. der gleichen Nachricht, wie sie auf dem längsten Pfad gesendet wird. Wenn NEIN, erfolgt eine Zuweisung der zwischen der ausgebenden Anwendung (Task 3) und der aufnehmenden Anwendung (Task 4) gesendeten Nachricht (en) (m3) auf dem nächsten in Frage kommenden freien Zeitschlitz (28) . Wenn JA, kann noch geprüft werden, ob das Nachfolgerelement des vorliegenden Elements eines auf einem Zweig ist, welcher hinsichtlich des Ablaufplans problematisch sein kann. Sollte dies der Fall sein, wäre die Anfangszeit der Anwendung auf dem längsten Pfad neu zu berechnen, deren Ausgabe zu einer Inkonsistenz führt. Durch das Einfügen zusätzlicher Zeitschlitze kann eine solche Inkonsistenz behoben werden.
Die Anfangszeit der Nachfolgeranwendung kann vom Ende des letzten benutzten Zeitschlitzes berechnet werden. Dann wird die Zuweisung oder Bestimmung der Ausgabezeitschlitze bei 150 für die nächste Anwendung aufgerufen.
Wenn aber die vorher genannte Überprüfung, ob die vorliegende Anwendung einen Nachfolger hat, dessen Anfangszeit schon berechnet ist, zum Ergebnis JA führt, wird wiederum geprüft, ob für die Nachricht (en) von der ausgebenden Anwendung schon ein Zeitschlitz zugewiesen ist, z.B. die gleiche Nachricht wie auf dem längsten Pfad gesendet. Wenn NEIN, erfolgt für die zwischen der sendenden Anwendung und der aufnehmenden Anwendung übermittelten Nachricht (en) eine Zuweisung auf den nächsten in Frage kommenden freien Zeitschlitz. Wenn JA, wird die vorliegende Zeit (Bus-Zeit) am Ende des letzten Zeitschlitzes zur Übertragung der Nachricht vom vorliegenden Element zum Nachfolgerelement verwendet. Wenn die bereits vorher erläuterte Konsistenzüberprüfung das Vorliegen eines Konsistenzfehlers ergibt, kann in einer ähnlichen Weise wie vorher erläutert verfahren werden.
Die Bestimmung der Eingabezeitschlitze bei 170 erfolgt gemäß dem vorliegenden Ausführungsbeispiel in der Weise:
1. Bestimmen des Vorgängers der vorliegenden Anwendung auf dem längsten Pfad (im genannten Beispiel für Task 3 ist die Vorgängeranwendung Task 2) .
2. Zuweisen der zwischen der ausgebenden Anwendung (Task 2) und der aufnehmenden Anwendung (Task 3) übertragenen Nachricht (en) (m2) auf den nächsten freien Zeitschlitz
(19) . 3. Die Anfangszeit für die ausgebende Anwendung (Task 2) wird relativ zu der im vorherigen Schritt 2 berechneten
Zeitschlitzposition (19) und die vorliegende Zeit
(vorliegende Bus-Zeit) berechnet. Dies stellt einen minimalen Abstand zwischen ausgebender (Task 2) und aufnehmender Anwendung (Task 3) sicher.
4. Nachdem alle anderen Anwendungen mit Eingabezeitbeziehungen und Nachrichten in der gleichen Weise bestimmt worden sind, folgen wieder die Schritte 2 und 3 für die nächste Anwendung.
5. Die laufende Zeit wird auf die früheste in Schritt 3 berechnete Startzeit gelegt.
Das Bestimmen der Ausgabezeitschlitze bei 150 umfaßt eine Berechnung der Zeitschlitze, welche notwendig sind, um die Nachricht (en) von der ausgebenden Anwendung (vorliegende Anwendung) zu der entsprechenden aufnehmenden Anwendung zu übertragen. Bei der Konsistenzüberprüfung wird sichergestellt, ob diese Ausgabezeitschlitze enden, bevor die aufnehmende Anwendung beginnt. Wenn dies der Fall wäre, wird der betreffende Zweig als Problem behaftet markiert. Die Problemlösung kann erfolgen durch eine entsprechende Verschiebung der betroffenen Anwendungen zueinander, beispielsweise durch Einfügen zusätzlicher Zeitschlitze, respektive einem größeren Abstand zwischen den Anwendungen. Die Anfangszeit einer Anwendung auf dem längsten Pfad, deren Ausgabezweig die Konsistenzprüfung verfehlt, kann beispielsweise inkrementierend um jeweils einen Schlitz verschoben werden.
Durch die Erfindung wird ein automatisches Erzeugen des Zeitschemas in Form eines rekursiven Verfahrens für auf einem zeitgesteuerten Kommunikationsnetzwerk basierende Echtzeitsysteme geschaffen, bei der eine Anwendungs- bzw. Prozessplanung auf Systemebene mit einer Nachrichtenplanung auf Kommunikationsebene integriert werden. Dies gestattet eine automatische Erzeugung des Zeitschemas, welche garantiert, dass die Echtzeiterfordernisse des betrachteten Systems erfüllt sind. Damit ist eine Verbesserung von Zuverlässigkeit und Vorhersehbarkeit bei der Kommunikation verbunden .

Claims

Ansprüche
1. Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks, wobei die einzelnen Anwendungen oder Prozesse in einem vorgegebenen Ablaufplan und vorgegebener Reihenfolge jeweils während vorgegebener Zeitdauer durchgeführt und Nachrichten während Zeitschlitzen vorgegebener Länge innerhalb eines Nachrichtenzyklus über den gemeinsamen Datenbus von jeweiligen Anwendungen ausgegeben oder jeweiligen Anwendungen eingegeben werden, wobei aus der Reihenfolge und Zeitdauer der einzelnen Anwendungen und der Anzahl und Länge der Zeitschlitze die Nachrichtenzykluszeit mit einer Länge entsprechend mindestens einem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad berechnet wird, der Eingabezeitschlitz der letzten Anwendung innerhalb eines Nachrichtenzyklus bestimmt wird, und ausgehend vom Eingabezeitschlitz der letzten Anwendung die Ausgabe- und Eingabezeitschlitze der jeweils vorangehenden Anwendungen bis zum Ausgabezeitschlitz der ersten Anwendung innerhalb eines Nachrichtenzyklus bestimmt werden .
2. Verfahren nach dem Oberbegriff des Anspruchs 1, dadurch gekennzeichnet, dass aus der Reihenfolge und Zeitdauer der einzelnen Anwendungen und der Anzahl und Länge der Zeitschlitze die Nachrichtenzykluszeit mit einer Länge entsprechend mindestens einem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad berechnet wird, dass der Ausgabezeitschlitz der ersten Anwendung innerhalb eines Nachrichtenzyklus bestimmt wird, und dass ausgehend vom Ausgabezeitschlitz der ersten Anwendung die Eingabe- und Ausgabezeitschlitze der jeweils nachfolgenden Anwendungen bis zum Eingabezeitschlitz der letzten Anwendung innerhalb des Nachrichtenzyklus bestimmt werden .
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für jede Anwendung automatisch geprüft wird, ob für diese eine Ausgabe an eine oder mehrere folgende andere Anwendungen vorgesehen ist.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass, wenn für die vorliegende Anwendung eine Ausgabe an eine oder mehrere folgende andere Anwendungen vorgesehen ist, automatisch geprüft wird, ob für diese eine Nachfolgeranwendung vorgesehen ist, der bereits ein Eingabezeitschlitz zugewiesen ist.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass, wenn für die vorliegende Anwendung eine Nachfolgeranwendung mit einem bereits zugewiesenen Eingabezeitschlitz vorgesehen ist, deren Eingabezeitschlitz als Ausgabezeitschlitz für die vorliegende Anwendung zugewiesen wird.
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass, wenn für die vorliegende Anwendung keine Nachfolgeranwendung mit einem bereits zugewiesenen Eingabezeitschlitz vorgesehen ist, der vorliegenden Anwendung automatisch der nächste folgende freie Zeitschlitz als Ausgabezeitschlitz zugewiesen wird.
7. Verfahren nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass für die vorliegende Anwendung die Vorgängeranwendung auf dem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad bestimmt und deren Ausgabezeitschlitz als Eingabezeitschlitz für die vorliegende Anwendung bestimmt wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Anfangszeit der Vorgängeranwendung ausgehend von deren als Eingabezeitschlitz für die vorliegende Anwendung verwendeten Ausgabezeitschlitz berechnet und festgelegt wird.
9. Verfahren nach einem der Ansprüche 3 bis 8, dadurch gekennzeichnet, dass die jeweiligen Verfahrensschritte für alle Zweige des Ablaufplans so lange wiederholt werden bis der Ausgabezeitschlitz und die Anfangszeit der ersten Anwendung innerhalb eines Nachrichtenzyklus zugewiesen sind.
10. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass für jede Anwendung automatisch geprüft wird, ob für diese eine Eingabe von einer oder mehreren zeitlich vorangehenden anderen Anwendungen vorgesehen ist.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass, wenn für die vorliegende Anwendung eine Eingabe von einer oder mehreren zeitlich vorangehenden anderen Anwendungen vorgesehen ist, automatisch geprüft wird, ob für diese eine Vorgängeranwendung vorgesehen ist, der bereits ein Ausgabezeitschlitz zugewiesen ist.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass, wenn für die vorliegende Anwendung eine Vorgängeranwendung mit einem bereits zugewiesenen Ausgabezeitschlitz vorgesehen ist, deren Ausgabezeitschlitz als Eingabezeitschlitz für die vorliegende Anwendung zugewiesen wird.
13. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass, wenn für die vorliegende Anwendung keine Vorgängeranwendung mit einem bereits zugewiesenen Ausgabezeitschlitz vorgesehen ist, der vorliegenden Anwendung automatisch der nächste vorangehende freie Zeitschlitz als Eingabezeitschlitz zugewiesen wird.
14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass für die vorliegende Anwendung die Nachfolgeranwendung auf dem längsten innerhalb eines Nachrichtenzyklus zurückzulegenden Nachrichtenpfad bestimmt und deren Eingabezeitschlitz als Ausgabezeitschlitz für die vorliegende Anwendung bestimmt wird.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass die Beendigungszeit der Nachfolgeranwendung ausgehend von deren als Ausgabezeitschlitz für die vorliegende Anwendung verwendeten Eingabezeitschlitz berechnet und festgelegt wird.
16. Verfahren nach einem der Ansprüche 10 bis 15, dadurch gekennzeichnet, dass die jeweiligen Verfahrensschritte für alle Zweige des Ablaufplans so lange wiederholt werden, bis der Eingabezeitschlitz und die Beendigungszeit der letzten Anwendung innerhalb eines Nachrichtenzyklus zugewiesen sind.
17. Verfahren nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, dass der Nachrichtenzyklus noch um Leerlaufzeitschlitze erweitert wird.
18. Verfahren nach einem der Ansprüche 1 bis 17, dadurch gekennzeichnet, dass eine Konsistenzüberprüfung durchgeführt wird, um sicherzustellen, dass die Ausgabezeitschlitze nicht enden bevor die aufnehmende Anwendung beginnt.
19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass, wenn die Konsistenzüberprüfung ergibt, dass die Ausgabezeitschlitze enden bevor die aufnehmende Anwendung beginnt, wird der betreffende Zweig als Problem behaftet markiert und zur Problemlösung eine entsprechende Verschiebung der betroffenen Anwendungen zueinander, insbesondere durch Einfügen zusätzlicher Zeitschlitze vorgenommen wird.
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass die Anfangszeit einer Anwendung auf dem längsten Pfad, deren Ausgabezweig die Konsistenzprüfung verfehlt, inkrementierend um jeweils einen Schlitz verschoben wird.
PCT/EP2009/054544 2008-04-16 2009-04-16 Verfahren zum automatischen erzeugen eines zeitschemas für über einen zeitgesteuerten gemeinsamen datenbus kommunizierende verteilte anwendungen oder prozesse eines digitalen netzwerks WO2009127697A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008019287.2 2008-04-16
DE102008019287A DE102008019287B4 (de) 2008-04-16 2008-04-16 Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks

Publications (1)

Publication Number Publication Date
WO2009127697A1 true WO2009127697A1 (de) 2009-10-22

Family

ID=40809916

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/054544 WO2009127697A1 (de) 2008-04-16 2009-04-16 Verfahren zum automatischen erzeugen eines zeitschemas für über einen zeitgesteuerten gemeinsamen datenbus kommunizierende verteilte anwendungen oder prozesse eines digitalen netzwerks

Country Status (2)

Country Link
DE (1) DE102008019287B4 (de)
WO (1) WO2009127697A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254256A1 (en) * 2010-11-19 2013-09-26 Huawei Device Co., Ltd Method and Apparatus for Data Interaction
CN109818876A (zh) * 2019-03-11 2019-05-28 西安电子科技大学 全局最优化时间触发业务调度表的生成方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017200914B4 (de) * 2016-12-16 2023-12-21 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zur Steuerung der Energieeffizienz eines Kommunikationsbordnetzes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0503212A1 (de) * 1991-03-15 1992-09-16 International Business Machines Corporation Übertragungsnetz und Verfahren zur Steuerung des Zugangs zu den Bussen in diesem Netz
EP0952707A2 (de) * 1998-04-18 1999-10-27 LUCAS INDUSTRIES public limited company Serielles Datenübertragungsbussystem
WO2004105278A1 (en) * 2003-05-20 2004-12-02 Philips Intellectual Property & Standards Gmbh Time-triggered communication system and method for the synchronization of a dual-channel network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980824A (en) * 1986-10-29 1990-12-25 United Technologies Corporation Event driven executive
US5978578A (en) * 1997-01-30 1999-11-02 Azarya; Arnon Openbus system for control automation networks
US6483846B1 (en) * 1998-07-10 2002-11-19 Honeywell Inc. Middleware-based real-time communication system
US20040208158A1 (en) * 1998-08-19 2004-10-21 Fellman Ronald D. Methods and apparatus for providing quality-of-service guarantees in computer networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0503212A1 (de) * 1991-03-15 1992-09-16 International Business Machines Corporation Übertragungsnetz und Verfahren zur Steuerung des Zugangs zu den Bussen in diesem Netz
EP0952707A2 (de) * 1998-04-18 1999-10-27 LUCAS INDUSTRIES public limited company Serielles Datenübertragungsbussystem
WO2004105278A1 (en) * 2003-05-20 2004-12-02 Philips Intellectual Property & Standards Gmbh Time-triggered communication system and method for the synchronization of a dual-channel network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254256A1 (en) * 2010-11-19 2013-09-26 Huawei Device Co., Ltd Method and Apparatus for Data Interaction
US9203896B2 (en) * 2010-11-19 2015-12-01 Huawei Device Co., Ltd. Method and apparatus for data interaction
US9686376B2 (en) 2010-11-19 2017-06-20 Huawei Device Co., Ltd. Method and apparatus for data interaction
CN109818876A (zh) * 2019-03-11 2019-05-28 西安电子科技大学 全局最优化时间触发业务调度表的生成方法
CN109818876B (zh) * 2019-03-11 2021-04-27 西安电子科技大学 全局最优化时间触发业务调度表的生成方法

Also Published As

Publication number Publication date
DE102008019287B4 (de) 2010-07-22
DE102008019287A1 (de) 2009-10-29

Similar Documents

Publication Publication Date Title
DE102010004298B4 (de) Verhinderung eines Nachrichtenverlustes in CAN-Systemen
EP1723750B1 (de) Verfahren zur Datenkommunikation
WO2007101590A1 (de) Verfahren zur erstellung eines optimierten ablaufplans für ein zeitgesteuertes verteiltes rechnersystem
EP2306349A1 (de) Verfahren zur Prüfung der Echtzeitfähigkeit eines Systems
DE102013011850A1 (de) Numerische Steuerung für die Kommunikation mit E/A Einheiten
EP3176696A1 (de) Verfahren zur realisierung und zum ausführen einer umfangreichen echtzeitcomputeranwendung
EP3620923B1 (de) Watchdog zur überwachung eines prozessors
WO2009127697A1 (de) Verfahren zum automatischen erzeugen eines zeitschemas für über einen zeitgesteuerten gemeinsamen datenbus kommunizierende verteilte anwendungen oder prozesse eines digitalen netzwerks
EP1220104A2 (de) Verfahren und Kommunikationssystem zum Austausch von Daten zwischen mindestens zwei Teilnehmern über ein Bussystem
DE102016221526A1 (de) Vorrichtung und Verfahren zum Bearbeiten einer Mehrzahl Aufgaben
EP1979793B1 (de) Verfahren und vorrichtung zur adressvergabe in einem system mit mehreren parallel angeordneten generatoreinheiten
EP2299614A2 (de) Vorrichtung und Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz
DE3023699A1 (de) Verfahren und anordnung zur erzeugung von impulsen vorgegebener zeitrelation innerhalb vorgegebener impulsintervalle mit hoher zeitlicher aufloesung
EP2191338B1 (de) System zur erstellung eines simulationsprogramms
DE102009000581A1 (de) Synchronisierung zweier Kommunikationsnetzwerke eines elektronischen Datenverarbeitungssystems
DE102004050293B3 (de) Verfahren zur Simulation des Betriebs eines Netzwerks
DE102020007145A1 (de) Verfahren zur Anordnung von Laufzeitkomponenten auf Ausführungseinheiten einer Recheneinheit
DE102009000584A1 (de) Diagnose der Synchronisation zweier Kommunikationsnetzwerke eines elektronischen Datenverarbeitungssystems
WO2023066626A1 (de) Verfahren zur verarbeitung von daten mit einem datenverarbeitungsnetzwerk umfassend eine mehrzahl von datenverarbeitungsmodulen, datenverarbeitungsmodul und datenverarbeitungsnetzwerk
DE102014016884A1 (de) Datenflußsteuerung und Loadbalancing in Fahrzeugsteuergeräten mit Mehrkernprozessoren
WO2022063663A1 (de) Verfahren, datenverarbeitungsmodul und datenverarbeitungsnetzwerk zur verarbeitung von daten
DE102021209509A1 (de) Verfahren und Vorrichtung zum Bearbeiten von zumindest einer ersten und einer zweiten Rechenoperation in einer Recheneinheit
DE102018207175A1 (de) Verfahren und Vorrichtung zum Aktivieren von Tasks in einem Betriebssystem
DE102021211712A1 (de) Datenverarbeitungsnetzwerk zur Datenverarbeitung
DE10214526B4 (de) Verfahren zur Kalibrierung einer Zeitsteuerung eines Prozessorsystems und Prozessorsystem zur Realisierung des Verfahrens

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09731903

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 09731903

Country of ref document: EP

Kind code of ref document: A1