DE102008019287A1 - Verfahren zum automatischen Erzeugen eines Zeitschemas für kommunizierende verteilte Prozesse eines digitalen Netzwerks - Google Patents
Verfahren zum automatischen Erzeugen eines Zeitschemas für kommunizierende verteilte Prozesse eines digitalen Netzwerks Download PDFInfo
- Publication number
- DE102008019287A1 DE102008019287A1 DE102008019287A DE102008019287A DE102008019287A1 DE 102008019287 A1 DE102008019287 A1 DE 102008019287A1 DE 102008019287 A DE102008019287 A DE 102008019287A DE 102008019287 A DE102008019287 A DE 102008019287A DE 102008019287 A1 DE102008019287 A1 DE 102008019287A1
- Authority
- DE
- Germany
- Prior art keywords
- application
- output
- input
- time
- applications
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 2
- 241001136792 Alle Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/62—Establishing a time schedule for servicing the requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
- 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 nach dem Oberbegriff des Anspruchs 1.
- 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.
- 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:
-
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; -
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 -
3 ein Diagramm, welches die zeitliche Lage der einzelnen Anwendungen des in1 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
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 m1 bis m6 bezeichnet. Die Anwendung Task 1 gibt zwei Nachrichten aus, nämliche eine Nachricht m1 an die Anwendung Task 5 und eine weitere Nachricht m1* 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. -
3 zeigt ein entsprechendes Zeitschema für die Anwendungen Task 1 bis Task 4 des in1 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 in3 wie auch in1 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 Idle Time) von 120 μs.
- Die Anfangszeit der Anwendung Task 1 liegt bei S1 = 80 μs. Die Ausgabe der Nachricht m1 an die Anwendung Task 5 erfolgt im Zeitschlitz 10, die Ausgabe der Nachricht m1* 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.
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.1 , erfolgt im Zeitschlitz 19, die Anwendung Task 3 selbst beginnt bei 400 μs. Die Ausgaben der Nachrichten m6 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
1 und3 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
1 und3 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
2 ein Ausführungsbeispiel eines Verfahrens zum automatischen Erzeugen eines Zeitschemas, wie es in3 dargestellt ist, erläutert werden. - Grundlage ist der in
1 dargestellte Ablaufplan, welcher die Rangfolge der zu verarbeitenden einzelnen Anwendungen Task 1 bis Task 6 und die jeweiligen zwischen diesen auszutauschenden Nachrichten m1–m6 darstellt. Dieser wird im Flußdiagramm von2 bei100 eingegeben. Nachfolgend wird bei110 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 in2 dargestellten Ausführungsbeispiel beginnt die Berechnung bei120 mit dem Senkenelement Task 4 des Ablaufplans unter Durchführung einer rekursiven Berechnung entlang dem vorher bestimmten längsten Pfad. 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 bei140 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 bei150 bestimmt, wenn NEIN, wird bei160 geprüft, ob für die vorliegende Anwendung eine Eingabebeziehung von einer oder mehreren anderen Anwendungen besteht. Wenn JA, dann werden bei170 der oder die Eingabezeitschlitze für die betreffende Anwendung bestimmt, wenn NEIN, dann wird bei180 zum Vorgänger der vorliegenden Anwendung gewechselt und es erfolgt ein Rücksprung nach130 , wo dann diese Vorgängeranwendung zur laufenden oder vorliegenden Anwendung 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. Wenn NEIN, erfolgt eine weitere Prüfung dahingehend, ob die Nachricht(en) von der ausgebenden Anwendung 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 und der aufnehmenden Anwendung gesendeten Nachricht(en) auf dem nächsten in Frage kommenden freien Zeitschlitz. 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.
- 2. Zuweisen der zwischen der ausgebenden Anwendung und der aufnehmenden Anwendung übertragenen Nachricht(en) auf den nächsten freien Zeitschlitz.
- 3. Die Anfangszeit für die ausgebende Anwendung wird relativ zu der im vorherigen Schritt 2 berechneten Zeitschlitzposition und die vorliegende Zeit (vorliegende Bus-Zeit) berechnet. Dies stellt einen minimalen Abstand zwischen ausgebender und aufnehmender Anwendung 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. 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 (20)
- 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, 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 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Verfahren nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, dass der Nachrichtenzyklus noch um Leerlaufzeitschlitze erweitert wird.
- 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.
- 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.
- 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.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
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 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 (2)
Publication Number | Publication Date |
---|---|
DE102008019287A1 true DE102008019287A1 (de) | 2009-10-29 |
DE102008019287B4 DE102008019287B4 (de) | 2010-07-22 |
Family
ID=40809916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102008019287A Expired - Fee Related 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 |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102008019287B4 (de) |
WO (1) | WO2009127697A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2629572A1 (de) * | 2010-11-19 | 2013-08-21 | Huawei Device Co., Ltd. | Verfahren und vorrichtung für dateninteraktionen |
DE102017200914A1 (de) * | 2016-12-16 | 2018-06-21 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und Vorrichtung zur Steuerung der Energieeffizienz eines Kommunikationsbordnetzes |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818876B (zh) * | 2019-03-11 | 2021-04-27 | 西安电子科技大学 | 全局最优化时间触发业务调度表的生成方法 |
Citations (4)
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 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0503212B1 (de) * | 1991-03-15 | 1995-12-27 | International Business Machines Corporation | Übertragungsnetz und Verfahren zur Steuerung des Zugangs zu den Bussen in diesem Netz |
GB9808155D0 (en) * | 1998-04-18 | 1998-06-17 | Lucas Ind Plc | Serial data communication bus system |
JP2006529072A (ja) * | 2003-05-20 | 2006-12-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 二重チャネルネットワークの同期化に関する時間トリガ型通信システムおよび方法 |
-
2008
- 2008-04-16 DE DE102008019287A patent/DE102008019287B4/de not_active Expired - Fee Related
-
2009
- 2009-04-16 WO PCT/EP2009/054544 patent/WO2009127697A1/de active Application Filing
Patent Citations (4)
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 |
Non-Patent Citations (1)
Title |
---|
BURGHARDT, Manfred, Hrsg.: Siemens Aktiengesellschaft, Berlin und München: Projektmanagement: Leitfaden für die Planung, Überwachung und Steuerung von Entwicklungsprojekten, 4., wesentlich überarbeitete Auflage, 1997 Erlangen, München: Publicis MCD Verlag, 1997, S. 214-221 ISBN 3-89578-069-3 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2629572A1 (de) * | 2010-11-19 | 2013-08-21 | Huawei Device Co., Ltd. | Verfahren und vorrichtung für dateninteraktionen |
EP2629572A4 (de) * | 2010-11-19 | 2013-12-25 | Huawei Device Co Ltd | Verfahren und vorrichtung für dateninteraktionen |
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 |
DE102017200914A1 (de) * | 2016-12-16 | 2018-06-21 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und Vorrichtung zur Steuerung der Energieeffizienz eines Kommunikationsbordnetzes |
DE102017200914B4 (de) | 2016-12-16 | 2023-12-21 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und Vorrichtung zur Steuerung der Energieeffizienz eines Kommunikationsbordnetzes |
Also Published As
Publication number | Publication date |
---|---|
WO2009127697A1 (de) | 2009-10-22 |
DE102008019287B4 (de) | 2010-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1330685B1 (de) | Prüfverfahren und prüfvorrichtung zur inbetriebnahme von mittels einer programmlogik gesteuerten systemen | |
DE69505218T2 (de) | Verfahren zur Fehleridentifizierung in einem komplexen System | |
DE3111555C2 (de) | Verfahren und Vorrichtung zur Informationsspeicherung unter Anwendung früherer Aufzeichnung | |
DE102012212304A1 (de) | Anordnung mit einem Mikroprozessorsystem | |
DE102008019287B4 (de) | Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks | |
WO1997005373A1 (de) | Verfahren und vorrichtung zur steuerung eines stellgliedes | |
EP3620923B1 (de) | Watchdog zur überwachung eines prozessors | |
DE2403669A1 (de) | Spezialcomputer | |
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 | |
DE102006008634A1 (de) | Mikrocontrollersystem mit Peripherieeinheiten | |
DE102004050293B3 (de) | Verfahren zur Simulation des Betriebs eines Netzwerks | |
DE3036923C2 (de) | Mit Eingabeeinrichtungen wahlweise bestückbare Station für Signalübertragungseinrichtungen | |
EP2574996A1 (de) | Verfahren zur Ermittlung eines Teillastzustandes einer Anlage | |
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 | |
DE102024001340A1 (de) | Verfahren zum Auslegen eines Fertigungssystems zum Herstellen von Batteriemodulen und Steuerungseinheit | |
WO2022063663A1 (de) | Verfahren, datenverarbeitungsmodul und datenverarbeitungsnetzwerk zur verarbeitung von daten | |
DE102004029646A1 (de) | Druckmaschinensteuerungssystem | |
DE1944058A1 (de) | Schaltung zum Zaehlen von Impulsen | |
DE10333899B4 (de) | Verfahren zur Sicherstellung protokollschichtbezogenener Konformitätsanforderungen von Datenübertragungsprotokollen | |
DE69608331T2 (de) | Verfahren zur Steuerung der Übertragung von Nachrichten im Übertragungsnetzwerk eines elektronischen Bordsystems eines Automobils | |
DE102021100598A1 (de) | Ursachenanalyse bei synchronisierung von echtzeitfähigen mit nicht-echtzeitfähigen teilsimulationen | |
DE10214526B4 (de) | Verfahren zur Kalibrierung einer Zeitsteuerung eines Prozessorsystems und Prozessorsystem zur Realisierung des Verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Representative=s name: ROESLER RASCH & PARTNER PATENT- UND RECHTSANWA, DE |
|
R081 | Change of applicant/patentee |
Owner name: AIRBUS DEFENCE AND SPACE GMBH, DE Free format text: FORMER OWNER: EADS DEUTSCHLAND GMBH, 85521 OTTOBRUNN, DE Effective date: 20140814 |
|
R082 | Change of representative |
Representative=s name: ROESLER - RASCH - VAN DER HEIDE & PARTNER PATE, DE Effective date: 20140814 Representative=s name: ISARPATENT - PATENTANWAELTE- UND RECHTSANWAELT, DE Effective date: 20140814 Representative=s name: ROESLER RASCH & PARTNER PATENT- UND RECHTSANWA, DE Effective date: 20140814 |
|
R082 | Change of representative |
Representative=s name: ISARPATENT - PATENT- UND RECHTSANWAELTE BEHNIS, DE Representative=s name: ISARPATENT - PATENT- UND RECHTSANWAELTE BARTH , DE Representative=s name: ISARPATENT - PATENTANWAELTE- UND RECHTSANWAELT, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |