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 PDF

Info

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
Application number
DE102008019287A
Other languages
English (en)
Other versions
DE102008019287B4 (de
Inventor
Josef Schalk
Maria Dr. Sorea
Sebastian Voss
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.)
Airbus Defence and Space GmbH
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
Priority to DE102008019287A priority Critical patent/DE102008019287B4/de
Priority to PCT/EP2009/054544 priority patent/WO2009127697A1/de
Publication of DE102008019287A1 publication Critical patent/DE102008019287A1/de
Application granted granted Critical
Publication of DE102008019287B4 publication Critical patent/DE102008019287B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

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)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

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 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

  • 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 in 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 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 in 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 3 wie auch in 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 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 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 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 2 ein Ausführungsbeispiel eines Verfahrens zum automatischen Erzeugen eines Zeitschemas, wie es in 3 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 von 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 in 2 dargestellten Ausführungsbeispiel beginnt die Berechnung bei 120 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 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. Wenn JA, dann werden bei 170 der oder die Eingabezeitschlitze für die betreffende Anwendung bestimmt, wenn NEIN, dann wird bei 180 zum Vorgänger der vorliegenden Anwendung gewechselt und es erfolgt ein Rücksprung nach 130, 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)

  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, 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.
  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.
DE102008019287A 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 Expired - Fee Related DE102008019287B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818876B (zh) * 2019-03-11 2021-04-27 西安电子科技大学 全局最优化时间触发业务调度表的生成方法

Citations (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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69115881D1 (de) * 1991-03-15 1996-02-08 Ibm Ü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
CN1792052B (zh) * 2003-05-20 2011-04-13 Nxp股份有限公司 时间触发的通信系统以及用于同步双信道网络的方法

Patent Citations (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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
DE3111555C2 (de) Verfahren und Vorrichtung zur Informationsspeicherung unter Anwendung früherer Aufzeichnung
DE102012212304A1 (de) Anordnung mit einem Mikroprozessorsystem
DE102004052555A1 (de) Verfahren zum Austauschen von Daten zwischen Teilnehmern aus verschiedenen Netzwerken
DE102008019287B4 (de) Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks
EP0784747A1 (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
DE2506337C2 (de) Verfahren zur Prüfung einer zentral gesteuerten Vermittlungsanlage
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