DE10211517A1 - Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem - Google Patents

Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem

Info

Publication number
DE10211517A1
DE10211517A1 DE10211517A DE10211517A DE10211517A1 DE 10211517 A1 DE10211517 A1 DE 10211517A1 DE 10211517 A DE10211517 A DE 10211517A DE 10211517 A DE10211517 A DE 10211517A DE 10211517 A1 DE10211517 A1 DE 10211517A1
Authority
DE
Germany
Prior art keywords
schedule
bus
messages
transmission
bit
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.)
Withdrawn
Application number
DE10211517A
Other languages
English (en)
Inventor
Thomas Fuehrer
Bernd Mueller
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE10211517A priority Critical patent/DE10211517A1/de
Publication of DE10211517A1 publication Critical patent/DE10211517A1/de
Withdrawn legal-status Critical Current

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/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • 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/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
    • 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
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Calculators And Similar Devices (AREA)
  • Traffic Control Systems (AREA)
  • Bus Control (AREA)

Abstract

Verfahren zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem (Bus schedule), wobei der Zeitplan durch Verwendung eines genetischen Algorithmus erstellt wird.

Description

Stand der Technik
Die Erfindung betrifft ein Verfahren und eine Vorrichtung sowie ein Computerprogramm und ein Computerprogrammprodukt zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem gemäß den Oberbegriffen der Ansprüche.
Die Vernetzung von Steuergeräten, Sensoren und Aktorik mit Hilfe eines Kommunikationssystems oder Bussystems hat in den letzten Jahren beim Bau von modernen Kraftfahrzeugen oder auch im Maschinenbau, insbesondere im Werkzeugmaschinenbereich als auch in der Automatisierung drastisch zugenommen. Synergieeffekte durch Verteilung von Funktionen auf mehrere Steuergeräte können dabei erzielt werden. Man spricht von verteilten Systemen. Die Kommunikation zwischen verschiedenen Stationen findet mehr und mehr über einen Bus oder ein Bussystem statt. Der Kommunikationsverkehr auf dem Bus, Zugriffs- und Empfangsmechanismen sowie Fehlerbehandlung werden über ein Protokoll geregelt.
Als Protokoll im Kfz-Bereich etabliert ist der CAN. Dieser ist ein ereignisgesteuertes Protokoll, d. h. Protokollaktivitäten wie das Senden einer Nachricht werden durch Ereignisse iniziiert, die ihren Ursprung außerhalb des Kommunikationssystems haben. Der eindeutige Zugang zum Kommunikationssystem wird über eine prioritätsbasierte Bitarbitrierung gelöst. Eine Voraussetzung dafür ist, dass jeder Nachricht eine eindeutige Priorität zugewiesen ist. Dies erfolgt in der Regel beim CAN-Protokoll durch eine Kennung, die am Anfang jeder Nachricht enthalten ist und den Nachrichteninhalt eindeutig identifiziert. Diese Kennung oder Identifikation ID (message identifier) ist je nach CAN- Version unterschiedlich lang (z. B. 11 Bit bei Basic CAN). Das CAN-Protokoll ist sehr flexibel, ein Hinzufügen weiterer Knoten und Nachrichten ist problemlos möglich, solange es noch freie Prioritäten (speziell message identifier) gibt. Die Sammlung aller im Netzwerk zu sendenden. Nachrichten mit Prioritäten werden in einer Liste, der sogenannten Kommunikationsmatrix, abgelegt. Die Erstellung der Kommunikationsmatrix ist in den meisten Fällen somit nur die Sammlung aller Nachrichten im System. Die Reihenfolge bzw. Abfolge der Nachrichten basiert vielfach auf dem langjährigen Know-How der Applikationsingenieure und Systemdesigner. Es existieren aber auch Tools, die diese Erstellung der Kommunikationsmatrizen unterstützen.
Ein alternativer Ansatz zur ereignisgesteuerten, spontanen Kommunikation ist der rein zeitgesteuerte Ansatz. Alle Kommunikationsaktivitäten auf dem Bus sind strikt periodisch. Protokollaktivitäten wie das Senden einer Nachricht werden nur durch das Fortschreiten einer (globalen) Zeit ausgelöst. Der Zugang zum Medium basiert auf der Zuteilung von Zeitbereichen, in denen ein Sender exklusives Senderecht hat. Das Protokoll ist vergleichsweise unflexibel, ein Hinzufügen von neuen Knoten ist nur dann möglich, wenn zuvor schon die entsprechenden Zeitbereiche freigelassen wurden. Dieser Umstand zwingt den Systemdesigner bzw. Applikationsingenieur, die Nachrichtenreihenfolge schon vor Inbetriebnahme festzusetzen. Es wird also ein Fahrplan oder Bus-Schedule erstellt, der den Anforderungen der Nachrichten bezüglich Wiederholrate, Redundanz, Deadlines usw. genügen muss. Dieser sogenannte Bus-Schedule ist somit ein Fahrplan oder Zeitplan oder Ablaufplan oder Kommunikationsplan bezüglich der Nachrichtenübermittlung auf dem Bus. Die Positionierung der Nachrichten innerhalb der Sendeperioden muss auf die Applikationen abgestimmt werden, die die Nachrichteninhalte produzieren, um die Latenzen zwischen Applikation und Sendezeitpunkt minimal zu halten. Wenn diese Abstimmung nicht erfolgt, würde der Vorteil der zeitgesteuerten Übermittlung (minimale Latenz-Jitter beim Senden der Nachricht am Bus) zerstört. Damit werden hohe Anforderungen an die Planungstools gestellt.
Der in den Patentanmeldungen DE 100 00 302 A1, DE 100 00 303 A1, DE 100 00 304 A1, DE 100 00 305 A1 gezeigte Lösungsansatz, auch dargestellt im ISO-Draft 11898-4, des zeitgesteuerten oder time-triggered CAN, genügt den oben skizzierten Forderungen nach zeitgesteuerter Kommunikation sowie den Forderungen nach einem gewissen Maß an Flexibilität. Dieser sogenannte TTCAN (time triggered controller area network) erfüllt dies durch den Aufbau der Kommunikationsrunde (basic cycle) in sogenannte exklusive Zeitfenster für periodische Nachrichten bestimmter Kommunikationsteilnehmer und in sogenannte arbitrierende Zeitfenster für spontane Nachrichten mehrerer Kommunikationsteilnehmer. Bei der Planung eines TTCAN- Netzwerks oder TTCAN-Bussystems werden aber, wie oben beschrieben die zeitgesteuerten Nachrichten das Gerüst für die Erstellung des Busscheduls vorgeben. Die Anforderungen der zeitgesteuerten Kommunikation müssen auch in einer TTCAN-Kommunikationsmatrix bzw. Bus-Schedule bzw. Zeitplan für die Übermittlung der Nachrichten optimal unterstützt bzw. garantiert werden. Erst in zweiter Instanz können die ereignisgesteuerten Nachrichten bzw. arbitrierenden Zeitfenster berücksichtigt werden. Die entsprechenden Planungstools müssen sozusagen beide Welten der Kommunikationsplanung unterstützen.
Für die zeitgesteuerte Kommunikation und die Auflösung der Kommunikationsbeziehungen (Applikation zum Sendezeitpunkt der Nachricht am Bus) in Form einer Kommunikationsmatrix unter Einbeziehung der Nachrichtenlatenzen, Nachrichtenperioden und Deadlines werden hohe Anforderungen an die Planungstools gestellt. Aktuell verfügbare kommerzielle Tools, insbesondere CAN-basierte Tools, unterstützen diese Anforderungen wie z. B. TTCAN- spezifisiche Planung überhaupt noch nicht. Erste Lösungsansätze für strikt zeitgesteuerte Kommunikationsprotokolle wie z. B. TTP/C zeigen, dass die einzusetzenden Algorithmen schnell als NP-vollständiges Problem münden. Das Auffinden des globalen Maximums, also der besten Lösung für das gesamte Kommunikationsnetzwerk bezüglich des Busscheduls kann nicht garantiert werden. Es werden möglicherweise nur suboptimale Lösungsmengen für einen Bus-Schedule mit herkömmlichen Suchalgorithmen gefunden.
Daneben sind im Stand der Technik genetische Algorithmen bekannt. Projekte wie beispielsweise VLSI, Circuit-Layout- Generierung über genetische Algorithmen oder Lösung nichtlinearer Gleichungen über genetische Altorithmen (for fitting potential surfaces) wenden diese Technik an. Ein Zitat aus D. Goldberg "Genetic Algorithms in Search, Optimization & Machine Learing" vom Verlag Addison-Wesley Publishing Company Inc. von Januar 1989 zeigt die grundsätzliche Idee der genetischen Algorithmen: "Genetic algorithms are search algorithms based an the mechanics of natural selection and natural genetics. They combine survival of the fittest among string structures with a structured yet randomized information exchange to form a search algorithm with some of the innovative flair of human search. In every generation, a new set of artificial creatures (strings) is created using bits and pieces of the fittest of the old; an occasional new part is tried for good measure. While randomized, genetic algorithms are no simple random walk. They efficiently explolt historical information to speculate an new search points with expected improved performance."
Dieser Ansatz zur alternativen Suche von Lösungen in immens großen Lösungsräumen hatte zum Ziel, die adaptiven Prozesse der natürlichen Systeme zu abstrahieren und zu erklären. D. h. die genetischen Algorithmen basieren prinzipiell auf der natürlichen Auslese oder genetischen Selektion. Dabei werden Überlebensprinzipien, wie das Überleben der Stärksten mit Populations- oder Lösungsstrukturen und dabei entstehendem Informationsaustausch kombiniert. In jeder Generation werden also neue Populationen oder Lösungen kreiert, die Teile der Besten der alten Generationen verwenden. Denn im Gegensatz zu genetischen Algorithmen liefern viele Funktionen F eine breite Streuung und diskontinuierliche Ergebnisse und sind daher für viele traditionelle Ansätze der Suche nach Lösungen F(x) ungeeignet. Genetische Algorithmen umgehen dieses Problem durch Nachbildung der natürlichen Evolution nach dem Darwinschen Modell.
Es ist somit Aufgabe der Erfindung, die angeklungenen Probleme bezüglich der Planung des Zeitplanes oder Fahrplanes des Busses, also des Bus-Schedules zu überwinden.
Vorteile der Erfindung
Die vorliegende Erfindung kombiniert somit die Vorteile der genetischen Algorithmen speziell für Suchaufgaben über einen großen Lösungsraum mit den Anforderungen des zeitgesteuerten Kommunikationssystems TTCAN, einen optimalen Busfahrplan, also Bus-Schedule oder Zeitplan für zeitgesteuerte, periodische Nachrichten und ereignisgesteuerte, spontane Nachrichten gemäß TTCAN, vor Inbetriebnahme zu finden.
Die Erfindung zeigt somit vorteilhafter Weise ein Verfahren und eine Vorrichtung sowie ein Computerprogramm und ein Computerprogrammprodukt zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem (Bus- Schedule), wobei der Zeitplan durch die Verwendung eines genetischen Algorithmus erstellt wird. Zweckmäßiger Weise werden die Nachrichten in periodische und spontane Nachrichten unterteilt, wobei die Nachrichten mit einer Kennung versehen sind oder versehen werden, um diese in einer für genetische Algorithmen geeigneten Codierung vorliegen zu haben.
Zweckmäßiger Weise handelt es sich bei dem Bussystem um ein TTCAN-Bussystem, wobei für die Nachrichten Zeitfenster vorgesehen sind und als Zeitplan entweder die Reihenfolge der Zeitfenster und/oder der Nachrichten dargestellt wird.
Vorteilhafter Weise wird aus der Vielzahl der potentiellen Zeitpläne als Lösung für ein Bus-Schedule wenigstens ein möglicher Zeitplan ermittelt, der einer starken, insbesondere besten Lösung entspricht. Dabei werden die Zeitpläne als Lösung für den Bus-Schedule mit wenigstens einem ersten vorgebbaren Bewertungskriterium bewertet, anhand dessen eine Optimierung der Zeitpläne bzw. eine Auswahl der Zeitpläne ermöglicht wird.
Ein zweckmäßiges erstes Bewertungskriterium ist der Vergleich der Summe der Latenzzeiten des wenigstens einen Zeitplans mit einem vorgegebenen Wert oder der Summe der Latentzeiten wenigstens eines weiteren Zeitplans.
Ein weiteres Bewertungskriterium gleichzeitig oder alternativ ist der Vergleich der Summe der Deadlines, also der notwendigen Übermittlungszeitpunkte oder der notwendigen Übermittlungszeiten der Nachrichten, bezogen auf die Zeitpläne. Vorteilhafter Weise wird im Weiteren der wenigstens eine mögliche Zeitplan, der ausgewählt wird, abhängig von den Bewertungskriterien mit wenigstens einem zweiten Zeitplan, insbesondere ebenfalls einem ausgewählten Zeitplan, gekreuzt. Zweckmäßiger Weise erfolgt das Kreuzen der Zeitpläne durch Austauschen wenigstens einer Nachricht beider Zeitpläne oder, besonders vorteilhaft, durch Austauschen wenigstens eines Bits der Zeitpläne, sofern diese in binärer Form dargestellt werden, insbesondere mittels einer Kennung oder eines Identifiers, wodurch ein eindeutiges Bitmuster der Nachricht(en) oder der Zeitfenster enthalten ist.
Weiterhin von Vorteil ist, neben der Kreuzung eine Mutation vorzusehen, so dass wenigstens ein Bit wenigstens eines Zeitplans verändert, also insbesondere gekippt wird, so dass neben den gefundenen guten Lösungen weitere potentielle Lösungen entstehen.
Vorteilhafter Weise kann der genannte Algorithmus bzw. das entsprechende Verfahren als Computerprogramm realisiert werden, so dass bei Ablauf des selben auf einem Computer oder der erfindungsgemäßen Vorrichtung (welche andererseits aber auch vollständig in Hardware realisiert sein kann) das erfindungsgemäße Verfahren ausgeführt wird. Zweckmäßiger Weise kann dieses Computerprogramm auch auf einem Datenträger als Computerprogrammprodukt vorliegen, wobei der Datenträger in jeder üblichen Form vorliegen kann.
Die Vorteile der Erfindung entsprechen somit insbesondere den Vorteilen der genetischen Algorithmen bei der Suche nach einer möglichst global gültigen Lösung in unüberschaubaren Lösungsräumen. Ein TTCAN-Bus-Schedule ist erfindungsgemäß ein solcher Lösungsraum. Durch die Mechanismen der Evolution, also Überleben des Stärksten, wird gewährleistet, dass man sich recht rasch auf eine optimale Lösung zubewegt. Der Mechanismus der Kreuzung vervielfältigt sozusagen besonders aussichtsreiche Familien. Der Mechanismus der Mutation gewährleistet, dass man per Zufall und/oder willkürlichem Eingriff aus der Evolutionsrichtung der besten Lösung geworfen wird und eventuell einen weiteren, optimalen Lösungsansatz findet. Dieser Lösungsansatz wäre aber eventuell durch konventionelle Suchalgorithmen erst nach unakzeptabel langer Zeit gefunden worden. Möglicherweise ist dieser neue Pfad vielversprechend, so dass er im nächsten Schritt des genetischen Algorithmus weiterverfolgt wird, oder er fällt über die erste Bewertungsfunktion wieder heraus. Wird ein neuer Lösungsweg eingeschlagen so wird aufgrund der vorab gewählten Codierung und durch den Mechanismus der Kreuzung die bereits vorhandene Information weitergegeben und nicht verworfen (Historie).
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus der Beschreibung sowie den Merkmalen der Ansprüche.
Zeichnung
Die Erfindung wird im Weiteren anhand der mit einer Figur dargestellten Zeichnung näher erläutert. Dabei zeigt die Figur eine Vorrichtung, in welcher symbolisch dargestellt das erfindungsgemäße Verfahren abläuft.
Beschreibung der Ausführungsbeispiele
Die prinzipielle Funktionsweise der genetischen Algorithmen wird in den nachfolgenden Schritten dargestellt:
  • - Codierung der Parameter bzw. des Parametersets in geeigneter Form, also hier der Nachrichten für das Bus- Schedule. Als geeignete Form kann insbesondere ein Bitmuster zur Codierung verwendet werden, z. B. speziell der Identifier aus dem controller area network CAN oder aus dem TTCAN. Die Darstellung der periodischen und der spontanen Nachrichten eines TTCAN-Netzwerks in einer für genetische Algorithmen geeigneten Codierung ist beispielsweise auch die Codierung des Parametersets, z. B. als Bitvektor von n × m Bits, wobei m Bits die Nachrichten-ID, also den Nachrichten-Identifier oder Kennung codieren und n Nachrichten im TTCAN-Netzwerk vorhanden sind.
  • - Die Idee der Erfindung umfasst ferner eine erste Bewertung der Anfangspopulation, wobei die stärksten Lösungen herausgefunden werden sollen und diese als Messlatte für zukünftige Populationen erkannt werden müssen. Dazu muss wenigstens eine Bewertungsfunktion bzw. Bewertungskriterium erstellt werden, um zu einer Filterung der besten Lösungen einer Population, also der aussichtsreichsten Zeitpläne bzw. Bus-Schedules entsprechend der Bewertungskriterien zu gelangen.
    Beispielhafte Bewertungskriterien oder Bewertungsfunktionen sind z. B. die Bewertung nach der minimalen Summe aller Latenzzeiten oder der minimalsten Summe für Deadlines nach dem Ansatz "earliest deadline first".
  • - Anschließend werden insbesondere zufällig ausgewählte Instanzen der stärksten aus der ersten Population untereinander gekreuzt, wodurch eine neue Population entsteht, z. B. gemeinsam mit einigen ungekreuzten. Für die technische Anwendung zur Erstellung des Bus-Schedules bedeutet das die Bereitstellung von Kreuzungsfunktionen, also wenigstens einem Kreuzungskriterium. Am Beispiel des Bitmusters oder Bitvektors kann dies z. B. die Kreuzung von zufällig ausgewählten Lösungen an einer bestimmten Stelle k aus k ∈ [1 . . . n × m], wobei k ebenfalls mittels Zufallsgenerator bestimmt werden kann bei m Bits zur Nachrichtencodierung und n Nachrichten im TTCAN-Netzwerk.
  • - Optional können zusätzlich wiederum nach bestimmten zweiten Bewertungskriterien bei einigen Instanzen/Lösungen oder allen Instanzen/Lösungen sogenannte Mutationen durchgeführt werden, so dass Mutationen aus der aktuellen Population entstehen und sich eventuell grundlegend von anderen unterscheiden. Im Rahmen der technischen Anwendung bedeutet dies wiederum, dass beispielsweise im Rahmen der TTCAN-binären Darstellung z. B. ein Zufallsgenerator vorgesehen ist, der 1 Bit aus den n × m Bits des Nachrichtenbitvektors, insbesondere mit CAN oder TTCAN-Identifier kippt. Diese Mutationen können nach einer bestimmten Zahl Verfahrensabläufen, z. B. nach dem 5. oder 10. Mal oder auch zufällig per Zufallsfunktion erfolgen.
Damit werden nach jedem Durchlauf die stärksten oder eben besten Lösungen bezüglich der Bewertungskriterien ausgewählt, wobei erneut einige der ausgewählten besten Lösungen gekreuzt werden können und die optionalen Mutationen weitere Lösungsvorschläge freigeben.
Somit ist der Kern der Erfindung die Lösung des Suchproblems eines optimalen Busschedules für den TTCAN mit Einsatz von genetischen Algorithmen. Dabei ist die Erfindung nicht auf die in diesem Ausführungsbeispiel dargestellten spezifischen Codierungen der Nachrichten für diese genetischen Algorithmen oder spezifische Bewertungsfunktionen sowie spezifische Kreuzungs- oder Mutationsfunktionen beschränkt.
Die einzige Figur zeigt dazu ein System, insbesondere eine Vorrichtung 100, insbesondere einen Computer oder Busteilnehmer. Der Computer 100 kann separat ausgeführt sein, oder aber als Busteilnehmer an einem Bus, insbesondere einen TTCAN-Bus 101 angebunden sein. Der Computer 100 enthält Mittel, die es ermöglichen, wenigstens einzelne Verfahrensschritte des erfindungsgemäßen Verfahrens entsprechend den Ansprüchen ablaufen zu lassen. Insbesondere vorteilhaft ist der Ablauf des Verfahrens in Form eines Computerprogrammes, wodurch im Endeffekt eine optimierte Lösung bezüglich des Bus-Schedules entsteht. So ist hierbei die Einbindung des Verfahrens zur Lösungsfindung in einem Entwicklungstool dargestellt. Dabei kann die Wahl der Bewertungsfunktion, die Wahl der Kreuzungsfunktion sowie die Wahl der Mutationsfunktion individuell vom Systemdesigner oder Anwendungsingenieur als Modul hinzugefügt werden, oder es kann automatisch aus einer systeminherenten Bibliothek dieser Funktionen eine vorgegeben bzw. ausgegeben werden. Damit kann das Entwicklungstool nur die Erstellung des Bus- Schedules umfassen entsprechend dem Verfahren der genetischen Algorithmen, womit gewährleistet ist, dass abhängig von bestimmten Systemvoraussetzungen oder Vorgaben, beispielsweise durch Auftraggeber wie Automobilhersteller, unterschiedliche Metriken, Randbedingungen in Verfahren modular mit dem gleichen Entwicklungswerkzeug eingesetzt werden können.
Das dargestellte Flussdiagramm zeigt im Block 202 den Start des Verfahrens. Im Block 103 erfolgt die Codierung der Busnachrichten, beispielsweise durch Verwendung einer Kennung in binärer Darstellung. Dazu kann vorteilhafter Weise der Identifier des TTCAN-Systems bzw. des CAN entsprechend der Nachrichten verwendet werden. Diese Codierung kann bereits vorgegeben sein und kann nur optional in das Verfahren integriert werden. Ausgehend von dieser Codierung der Busnachrichten werden in Block 104 verschiedene mögliche Lösungsansätze gebildet bzw. dargestellt. Dabei können Nachrichten und/oder Zeitfenster auch öfter als einmal im Busschedule auftauchen. Diese Lösungsansätze des Suchproblems sind also verschiedene Reihenfolgen der Busnachrichten bzw. Zeitfenster für Busnachrichten, wobei bei Darstellung in binärer Form, insbesondere mit Identifiern, verschiedene Bitmuster als Lösungsansätze vorliegen. Diese Bitmuster können einerseits per Zufallsgenerator erzeugt oder auch durch Permutation erzielt werden, wobei durch Permutation alle Möglichkeiten zur Verfügung gestellt werden können. Weitere Kriterien für die Bildung von Lösungsansätzen können bestimmte Vorgabekriterien, wie zeitkritische Nachrichten zuerst und Ähnliches sein oder auch bezüglich des Identifiers auf Prioritäten der Identifier beruhen, usw. Optional kann hierbei bereits, beispielsweise anhand einer Bibliothek, geprüft werden, dass bei der Erstellung möglicher Lösungsansätze bezüglich des Zeitplans der Nachrichtenübermittlung nur gültige Nachrichten in Form der Bitmuster bzw. nur gültige Identifier verwendet werden.
Ungültige Lösungsansätze, insbesondere nicht mögliche Bitmuster (z. B. weil diese Nachrichten und/oder Zeitfenster bzw. die entsprechende Codierung im System nicht existieren) und somit auch ungültige Zeitpläne können dann optional schon im Block 104 ausgeschlossen werden.
Im Block 105 erfolgt dann die Bewertung der Lösungsansätze bzw. der unterschiedlichen Zeitpläne, also der Bus- Schedules, insbesondere in binärer Form durch Aneinanderreihung der Identifier des TTCAN beispielsweise. Zur Bewertung der Lösungsansätze werden beispielsweise alle Latenzzeiten einzelner Lösungsansätze ermittelt und diese entweder miteinander oder mit einem Referenzwert verglichen, um so die minimale Summe aller Latenzzeiten zu ermitteln. Eine andere Bewertung kann beispielsweise über die minimale oder minimalste Summe für Deadlines, also der spätest notwendigen Übermittlungszeitpunkte bzw. Übermittlungszeiten der Nachrichten sein. Dabei sind auch weitere Kriterien zur Bewertung der Lösungsansätze denkbar.
In Block 106 erfolgt sodann die Auswahl der besten Lösungen, also der besten Bus-Schedules entsprechend der Lösungsansätze und der oder des Bewertungskriteriums. Dabei kann z. B. eine vorgebbare Anzahl von Lösungen ausgewählt werden, also beispielsweise die besten 50% oder die besten 5 Stück, oder aber es wird zur Auswahl der besten Lösungen gegen einen Schwellwert bezüglich der Bewertungskriterien bzw. des Bewertungskriteriums verglichen und nur, beispielsweise bei minimalen Summen, bei Unterschreitung dieses Schwellwertes wird die Lösung als auszuwählende mögliche Lösung gewählt.
Im Block 107 sind dann die Kreuzungsfunktionen oder Kreuzungskriterien vorgegeben, und es wird die Kreuzung durchgeführt. Das bedeutet z. B., dass insbesondere zufällig gewählte Lösungen, die aus der Auswahl im Block 106 hervorgegangen sind, an einer vorgebbaren oder per Zufallsgenerator ermittelten Stelle k wenigstens ein Bit austauschen. Wie bereits angedeutet, kann neben der zufälligen Ermittlung dieser Austauschstelle im Bitvektor bzw. im Bitmuster auch eine feste Vorgabe der Kreuzungsposition, beispielsweise jedes erste, jedes zweite, jedes dritte oder andere festgelegte Positionen vorgegeben werden. Dabei können alle Lösungen gekreuzt werden, oder auch nur einige wenige. So kann auch hier die Anzahl der zu kreuzenden Lösungsansätze, also Bus-Schedules, vorgegeben werden. Durch die Kreuzung entsteht im Block 107 somit ein Pool von Lösungen bzw. Lösungsansätzen, wobei jede Lösung einen Bus-Schedule bzw. einen Zeitplan zur Übermittlung der Nachrichten auf den Bus darstellt. Auch hier kann optional vorgesehen sein, entsprechend Block 104 zu prüfen, ob die entstehenden Lösungen im Rahmen der Kreuzung gültige Bitmuster, also gültige Nachrichten bzw. gültige Kennungen, insbesondere Identifier enthalten. So können auch hier ungültige Bus-Schedules als Lösungen aussortiert werden.
In Abfrage 108 wird dann abhängig von bestimmten Kriterien geprüft, ob eine Mutation im Block 109 durchgeführt werden soll oder nicht. Diese Kriterien können einerseits sein, dass eine bestimmte Anzahl von Verfahrensdurchläufen zu einer Mutation führen oder per Zufallsgenerator eine Mutation angestoßen wird. Wird eine Mutation angestoßen, gelangt man zu Block 109. Darin wird nun wenigstens einer der Lösungsansätze, also ein Bus-Schedule, insbesondere als Bitvektor oder Bitmuster kopiert und dieser wenigstens eine, beispielsweise durch Verändern wenigstens eines Bits, insbesondere durch Bitkippen, mutiert, um dann wieder dem Lösungspool hinzugefügt zu werden. Soll keine Mutation durchgeführt werden oder nach der durchgeführten Mutation, gelangt man aus Block 108 oder Block 109 zu Block 110.
Darin wird geprüft, ob ein weiterer Durchlauf durchgeführt werden soll. Dies kann beispielsweise anhand der Anzahl von zur Verfügung stehenden Bus-Schedules erfolgen oder auch anhand bestimmter Abbruchkriterien nach einer vorgebbaren Anzahl von Schleifendurchläufen oder dergleichen. Dieser Block 110 kann optional auch nach Block 106, also nach Auswahl der besten Lösungen nach der Bewertung im Block 105 vorgesehen sein. Ist das Abbruchkriterium in Block 110 erfüllt, gelangt man zum Verfahrensende in Block 111 oder aber erneut zu Block 105 zur Bewertung der vorliegenden Lösungsansätze, also der einzelnen Bus-Schedules aus dem Lösungspool.
D. h. zusammenfassend, durch eine geeignete Darstellung der Parameter, also des Parametersets, insbesondere hier der TTCAN-Nachrichten, z. B. als Bitvektor, der eine Lösungsvariante darstellt, können auf einfache Weise viele mögliche Lösungsansätze codiert werden. Diese Darstellungsform ist für den folgenden Durchlauf der elektronischen, nachempfundenen genetischen Evolution optimiert. Es kann aus den Randbedingungen der Applikation auf einfachem Weg eine Bewertungsfunktion erstellt werden, um die aktuelle Lösungspopulation zu bewerten. Beispielsweise kann diese Bewertungsfunktion F nach dem Ansatz "earliest deadline first" oder "shortest latency time" usw. erstellt werden. Die vorliegenden Lösungen (aktuelle Population) würde dann über diese Bewertungsfunktion bewertet und die stärksten oder besten würden für die nächste Iteration herangezogen, z. B. die ersten vier Lösungen mit der kürzesten Deadline, wenn nach "earliest deadline first" bewertet wurde. Aus diesen stärksten oder besten Lösungen könnte man wieder zwei Lösungen herausnehmen und miteinander kreuzen, z. B. an der Stelle k. Es entstehen zwei neue Lösungen, die sich eventuell aufgrund der Herkunft als noch besser erweisen (das zeigt die nächste Bewertung). Es steht dem Algorithmus frei, die aktuelle Population auch noch über Mutation zu bearbeiten. Dabei würde z. B. ein Bit aus einem Lösungsbitvektor gekippt oder verschoben usw. (also mutiert), um eventuell auf einen komplett neuen Lösungsansatz zu stoßen. Dieser aus der Mutation resultierende Lösungsansatz gemeinsam mit den gekreuzten Lösungen und den verbliebenen alten stärksten Lösungen werden wieder der Bewertungsfunktion zugeführt usw.
Der Ansatz des genetischen Algorithmus kann prinzipiell in jedes TTCAN-Planungswerkzeug mit geeigneten Schnittstellen eingebaut werden. Dabei ist natürlich die Zahl zur Codierung der Nachrichten für eine geeignete Kreuzungsfunktion und für eine geeignete Mutationsfunktion zu treffen. Natürlich muss auch eine Bewertungsfunktion nach einer bestimmten Metrik bzw. individuellen Randbedingungen realisiert werden. Diese Festlegung kann entweder fest in das Entwicklungstool eingebaut werden oder aber als Zusätze, die beim Design eines TTCAN-Netzwerks modular hinzugefügt werden, angeboten werden. Prinzipiell müsste bei diesem Ansatz also nur das Verfahren, nach genetischen Algorithmen zu suchen, im TTCAN- Entwicklungswerkzeug implementiert werden.
Damit ergibt sich eine vorteilhafte Möglichkeit zur Erzielung eines optimierten Bus-Schedules im automatisierten Verfahren.

Claims (19)

1. Verfahren zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem (Bus schedule), dadurch gekennzeichnet, dass der Zeitplan durch Verwendung eines genetischen Algorithmus erstellt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Nachrichten in periodische und spontane Nachrichten unterteilt werden.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Nachrichten mit einer Kennung versehen sind oder werden und die Nachrichten mit der entsprechenden Kennung in einer vorgebbaren Reihenfolge als Zeitplan dargestellt werden.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es sich bei dem Bussystem um ein TTCAN-Bussystem handelt und für die Nachrichten Zeitfenster entsprechend der Sendereihenfolge als Zeitplan vorgesehen sind.
5. Verfahren nach Anspruch 1, 2 und 4, dadurch gekennzeichnet, dass wenigstens ein bezüglich der Reihenfolge vorgebbares Zeitfenster im Zeitplan zur Übermittlung spontaner Nachrichten eingesetzt wird und die spontanen Nachrichten in dem wenigstens einen Zeitfenster eine Arbitrierung durchführen.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für die Übermittlung der Nachrichten Zeitfenster vorgesehen sind und wenigstens eine Reihenfolge der Zeitfenster oder der Nachrichten als wenigstens ein möglicher Zeitplan ermittelt wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass der wenigstens eine mögliche Zeitplan mit wenigstens einem vorgebbaren ersten Bewertungskriterium bewertet wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass als erstes Bewertungskriterium ein Vergleich der Summe der Latenzzeiten des wenigstens einen Zeitplans mit einem vorgegebenen Wert oder der Summe der Latenzzeiten wenigstens eines weiteren Zeitplans verglichen wird.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass als erstes Bewertungskriterium ein Vergleich der Summe der notwendigen Übermittlungszeitpunkte oder -zeiten der Nachrichten (Deadlines) des wenigstens einen Zeitplans mit einem vorgegebenen Wert oder der Summe der notwendigen Übermittlungszeitpunkte oder -zeiten der Nachrichten (Deadlines) wenigstens eines weiteren Zeitplans verglichen wird.
10. Verfahren nach Anspruch 6 und 7, dadurch gekennzeichnet, dass wenigstens ein möglicher Zeitplan abhängig von dem wenigstens einen ersten Bewertungskriterium ausgewählt wird.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass der wenigstens eine mögliche Zeitplan der ausgewählt wird mit wenigstens einem zweiten möglichen Zeitplan gekreuzt wird.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die zu kreuzenden Zeitpläne derart verändert werden, dass wenigstens eine Nachricht ausgetauscht wird.
13. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass als Kennung ein Bitmuster, insbesondere entsprechend dem CAN Bus oder TTCAN Bus, verwendet wird.
14. Verfahren nach Anspruch 11 und 13, dadurch gekennzeichnet, dass die zu kreuzenden Zeitpläne derart verändert werden, dass wenigstens ein Bit des Bitmusters ausgetauscht wird.
15. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die wenigstens eine Reihenfolge der Zeitfenster oder Nachrichten als Zeitplan in Form von Bits dargestellt ist und abhängig von wenigstens einem zweiten Kriterium wenigstens ein Bit verändert wird.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass das wenigstens eine Bit gemäß einer Zufallsfunktion verändert wird.
17. Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem (Bus schedule), dadurch gekennzeichnet, dass Mittel vorgesehen sind, welche den Zeitplan unter Verwendung eines genetischen Algorithmus erstellen.
18. Computerprogramm, welches bei Ausführung auf einem Computer oder auf einer Vorrichtung gemäß Anspruch 17 wenigstens ein Verfahren nach wenigstens einem der Ansprüche 1 bis 16 ausführt.
19. Computerprogrammprodukt, insbesondere Datenträger, welches bei Eingabe in einen Computer oder eine Vorrichtung nach Anspruch 17 wenigstens ein Verfahren nach wenigstens einem der Ansprüche 1 bis 16 ausführt.
DE10211517A 2001-03-15 2002-03-14 Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem Withdrawn DE10211517A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10211517A DE10211517A1 (de) 2001-03-15 2002-03-14 Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10112906 2001-03-15
DE10211517A DE10211517A1 (de) 2001-03-15 2002-03-14 Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem

Publications (1)

Publication Number Publication Date
DE10211517A1 true DE10211517A1 (de) 2002-09-26

Family

ID=7677836

Family Applications (3)

Application Number Title Priority Date Filing Date
DE10291153T Expired - Fee Related DE10291153D2 (de) 2001-03-15 2002-03-14 Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem
DE50205287T Expired - Lifetime DE50205287D1 (de) 2001-03-15 2002-03-14 Verfahren und vorrichtung zur erstellung eines zeitplans der übermittlung von nachrichten auf einem bussystem
DE10211517A Withdrawn DE10211517A1 (de) 2001-03-15 2002-03-14 Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE10291153T Expired - Fee Related DE10291153D2 (de) 2001-03-15 2002-03-14 Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem
DE50205287T Expired - Lifetime DE50205287D1 (de) 2001-03-15 2002-03-14 Verfahren und vorrichtung zur erstellung eines zeitplans der übermittlung von nachrichten auf einem bussystem

Country Status (6)

Country Link
US (1) US7949811B2 (de)
EP (1) EP1391086B1 (de)
AU (1) AU2002257527A1 (de)
DE (3) DE10291153D2 (de)
ES (1) ES2254674T3 (de)
WO (1) WO2002076032A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006029426A1 (de) * 2004-09-15 2006-03-23 Tttech Computertechnik Ag Verfahren zum erstellen von kommunikationsplänen für ein verteiltes echtzeit-computersystem
US8271984B2 (en) 2006-03-03 2012-09-18 Dspace Digital Signal Processing And Control Engineering Gmbh Method for creating an optimized flowchart for a time-controlled distribution computer system

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE524201C2 (sv) 2002-12-17 2004-07-06 Lars-Berno Fredriksson Anordning vid distribuerat styr- och övervakningssystem
JP5435241B2 (ja) * 2007-04-16 2014-03-05 エスティー‐エリクソン、ソシエテ、アノニム データ格納方法、データロード方法およびシグナルプロセッサ
DE102007051657A1 (de) * 2007-10-26 2009-04-30 Robert Bosch Gmbh Kommunikationssystem mit einem CAN-Bus und Verfahren zum Betreiben eines solchen Kommunikationssystems
DE102011085764A1 (de) * 2011-11-04 2013-05-08 Robert Bosch Gmbh Verfahren zum Betreiben einer Busanordnung
US10361934B2 (en) 2015-09-28 2019-07-23 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
US9954892B2 (en) * 2015-09-28 2018-04-24 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
CN105205536B (zh) * 2015-11-06 2017-11-10 天津津航计算技术研究所 基于混合遗传算法的1553b总线消息传输优化方法
US9917667B2 (en) 2015-12-21 2018-03-13 Hamilton Sundstrand Corporation Host-to-host test scheme for periodic parameters transmission in synchronized TTP systems
US20180032964A1 (en) * 2016-08-01 2018-02-01 Nec Europe Ltd. Transportation system and method for allocating frequencies of transit services therein
JP7114515B2 (ja) * 2019-03-14 2022-08-08 国立大学法人東海国立大学機構 通信装置、通信システム及びメッセージ調停方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319781A (en) * 1991-05-03 1994-06-07 Bolt Beranek And Newman Inc. Generation of schedules using a genetic procedure
US6633854B1 (en) * 1999-11-05 2003-10-14 Genuity Inc. System and method for analyzing genertic algorithms
DE10000303B4 (de) 2000-01-05 2011-09-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
DE10000302B4 (de) 2000-01-05 2011-08-11 Robert Bosch GmbH, 70469 Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
DE10000305B4 (de) * 2000-01-05 2011-08-11 Robert Bosch GmbH, 70469 Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
DE10000304B4 (de) * 2000-01-05 2011-09-15 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006029426A1 (de) * 2004-09-15 2006-03-23 Tttech Computertechnik Ag Verfahren zum erstellen von kommunikationsplänen für ein verteiltes echtzeit-computersystem
US8271984B2 (en) 2006-03-03 2012-09-18 Dspace Digital Signal Processing And Control Engineering Gmbh Method for creating an optimized flowchart for a time-controlled distribution computer system
DE102006010400B4 (de) 2006-03-03 2023-04-13 Dspace Gmbh Verfahren zur Erstellung eines optimierten Ablaufplans für ein zeitgesteuertes verteiltes Rechnersystem

Also Published As

Publication number Publication date
US7949811B2 (en) 2011-05-24
EP1391086B1 (de) 2005-12-14
DE50205287D1 (de) 2006-01-19
AU2002257527A1 (en) 2002-10-03
DE10291153D2 (de) 2004-04-15
EP1391086A2 (de) 2004-02-25
WO2002076032A2 (de) 2002-09-26
ES2254674T3 (es) 2006-06-16
WO2002076032A3 (de) 2003-11-13
US20040153682A1 (en) 2004-08-05

Similar Documents

Publication Publication Date Title
EP1789885B1 (de) Verfahren zum erstellen von kommunikationsplänen für ein verteiltes echtzeit-computersystem
DE10211281B4 (de) Verfahren und Vorrichtung zur Synchronisation der Zykluszeit von mehreren Bussen sowie entsprechendes Bussystem
DE102006010400B4 (de) Verfahren zur Erstellung eines optimierten Ablaufplans für ein zeitgesteuertes verteiltes Rechnersystem
EP1391086B1 (de) Verfahren und vorrichtung zur erstellung eines zeitplans der übermittlung von nachrichten auf einem bussystem
DE102017121026A1 (de) Fahrzeuginternes Kommunikationsnetz
EP1223725A1 (de) Verfahren und Vorrichtung zur Relevanzprüfung eines Kennzeichners
EP3684015A1 (de) Vorrichtung und verfahren zur klassifizierung von daten insbesondere für ein controller area netzwerk oder ein automotive ethernet netzwerk
EP0974901A2 (de) Verfahren zur Ermittlung einer einheitlichen globalen Sicht vom Systemzustand eines verteilten Rechnernetzwerkes
EP1428084A2 (de) Verfahren und vorrichtung zur zeitbestimmung in einem bussystem und bussystem
EP4315090A1 (de) Verfahren zum laufzeitbasierten konfigurieren einer geräteinternen signalübertragung in einem steuergerät sowie entsprechend betreibbares steuergerät und kraftfahrzeug
EP1428340B1 (de) Verfahren und vorrichtung zur erzeugung von programmunterbrechungen bei teilnehmern eines bussystems und bussystem
DE10360856A1 (de) Bussystem für ein Flugzeug
EP1440544B1 (de) Verfahren zur kommunikation eines realzeit-datenverkehrs in einem kollisionserkennungs-basierten kommunikationsnetz, entsprechendes speichermedium und kommunikationsnetz
EP1320047A2 (de) Verfahren zur Analyse des Zeitverhaltens komplexer verteilter Systeme
EP1717651A2 (de) Verfahren und Vorrichtung zum Auswerten von Ereignissen aus dem Betrieb eines Fahrzeuges
EP3575976A1 (de) Verfahren zum bestimmen einer physikalischen verbindungstopologie eines für die steuergerätentwicklung eingerichteten, echtzeitfähigen testgeräts
EP3838709B1 (de) Verfahren zur übergabe von telegrammen von einer streckenzentrale an ein fahrzeug und streckenzentrale
DE19935092C1 (de) Vorrichtung und Verfahren zum Übertragen von Adressinformationen in einem seriellen Übertragungssystem
EP1497954B1 (de) Verfahren und vorrichtung zum auffüllen von datenabschnitten mit einem füllmuster und anschliessendem überschreiben mit information, sowie bussystem hierzu
WO2021105132A1 (de) Verfahren zur datenkommunikation zwischen teilnehmern in einem automatisierungsnetzwerk, masterteilnehmer für ein automatisierungsnetzwerk und automatisierungsnetzwerk
DE102018112803A1 (de) Verfahren zum Bestimmen einer physikalischen Verbindungstopologie eines für die Steuergerätentwicklung eingerichteten, echtzeitfähigen Testgeräts
WO1999022278A1 (de) Datenübertragungsvorrichtung für die steuerung bzw. regelung eines betriebsprozesses
EP1265147A2 (de) Bus-Konfiguration für einen universellen Melde- und Steuer-Bus
DE10115885A1 (de) System und Verfahren zur Verwaltung von Interruptanforderungen

Legal Events

Date Code Title Description
8141 Disposal/no request for examination