EP2798495A2 - Method for combining results of periodically operating edp components at the correct time - Google Patents
Method for combining results of periodically operating edp components at the correct timeInfo
- Publication number
- EP2798495A2 EP2798495A2 EP12822954.9A EP12822954A EP2798495A2 EP 2798495 A2 EP2798495 A2 EP 2798495A2 EP 12822954 A EP12822954 A EP 12822954A EP 2798495 A2 EP2798495 A2 EP 2798495A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- component
- components
- computer system
- message
- time
- 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
Links
Classifications
-
- 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
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Definitions
- the present invention is in the field of computer technology.
- the invention relates to a method for timely aggregation of results of a plurality of periodically operating components of a distributed computer system, wherein the components communicate exclusively by means of messages via at least one communication system, and wherein each component has a global time with the precision P.
- the invention relates to a distributed computer system, in particular for the timely combination of results of a plurality of periodic components, the computer system comprising a plurality of periodically operating components, wherein the components communicate exclusively by means of messages via at least one communication system, and wherein each component over a global time with the precision P features.
- the invention also relates to a distributed computer architecture for the timely combination of the results of periodically operating components, in particular computer components.
- the invention describes an innovative method with which a multiplicity of periodically operating components of a distributed real-time system can be embedded in a hierarchical structure and how the results of these components can be brought together in a timely manner by means of a time-controlled communication system.
- a multiplicity of components-in the example of the aircraft-more than a hundred components-must work together to solve the tasks set.
- the complexity of such a system can be reduced by embedding the components in a hierarchical structure, the communication between the components according to predetermined Timed rules, and the temporal behavior of the components and the communication is predictable.
- the reduction in complexity is also required to predict system behavior after a fault has occurred in one of the components.
- a safety-critical real-time system-as in the example of the aircraft-essential system functions must remain upright even after the failure of components.
- This object is achieved by a method as mentioned above and a computer system mentioned in the introduction by assigning each component, preferably in a system design, uniquely to one of n hierarchical levels, and the durations of the periods of the components derived from the progression of the global time , within an integer multiple of each other, and within each longest period of the entire distributed computer system, the phase of transmission of each message is synchronized with the corresponding phase of reception of each transmitted message, even if the transmitting components and the receiving components are arranged on different hierarchical levels and spatially distributed.
- the duration of the period of a component is an integer multiple of a smallest period and a component is uniquely assigned to a hierarchical level on the basis of the duration of its period.
- the Components with the shortest period form the lowest hierarchical level, and the components with the longest period form the topmost hierarchical level.
- the present invention thus discloses how to build a security-critical distributed real-time system to reduce complexity. Reducing complexity reduces software development and testing time and significantly reduces the cost of system development.
- the present invention discloses how a safety-critical distributed real-time system can be constructed to reduce the cognitive effort required to understand the functions of the system.
- the complexity of such a system can be reduced, in which the components are embedded in a hierarchical structure, the communication between the components proceeds according to predetermined rules, and the temporal behavior of the components and the communication is predictable. Reducing complexity reduces software development and testing time and significantly reduces the cost of system development.
- time of the message transport by a time-controlled communication system is synchronized with the end of the period of the component sending a message.
- a component of a higher hierarchical level to receive messages from a plurality of components of the subordinate hierarchy levels. It is of particular advantage that the behavior of a set of hierarchically arranged components, which forward information to the next higher hierarchical level and wherein the information flow forms an in-tree, is replaced or replaceable by a simulation system which determines the upward behavior of the root of the in-trees replaced.
- the global time is synchronized with the temps atomique international (TAI) with an accuracy of A.
- an excellent period of the series of possible periods has the duration of exactly one TAI second.
- the messages received and sent by a component are distributed over a TTEthernet communication system.
- the communication system is designed to be redundant.
- each component forms a fault-containment unit.
- a component produces either correct, no or recognizably false messages.
- the global time is fault-tolerant.
- a component is a restart unit which attempts to restart immediately after detecting an error. Furthermore, it can still be provided that a component receiving a message checks whether the content of the message corresponds to the dynamic input assurance provided for this message.
- a result or result is only correct if it corresponds to the specification in the value range and in the time range. It therefore makes sense to understand the term component to mean a unit of software and hardware, since only such a unit has a defined behavior in the range of values and in the time domain.
- This component notion includes both a physical component where the component is a physical hardware unit and a virtual component where a software module is executed in a hypervisor-provided partition of a larger hardware unit.
- each component is a fault containment unit (FCU) in order to be able to restrict the immediate consequences of a fault cause of the specified fault class (eg, hardware or software) to a single component.
- FCU fault containment unit
- a subsequent error of a faulty component can propagate only across a faulty message across the component boundaries.
- a message can be faulty in the time domain or in the value range.
- TTEthernet [6] the timed communication system that forms an independent FCU can detect the time domain error and prevent the propagation of the error.
- errors in the value range must be recognized by the component that receives the message. To do this, the message recipient must check that incoming messages match an input assertion.
- a fail-silent component will generally consist of two FCUs. In coordination with the error hypothesis, one of these two FCUs can be very simple, eg an independent watchdog which constantly monitors the function of the component and immediately triggers a restart after detecting an error. Since experience has shown that in most cases the cause of the error is transient, this restart will be successful in the majority of cases.
- a fault-tolerant global time is introduced which can be accessed by all components of the system.
- the construction of a fault-tolerant time with a known precision P and an accuracy A is described in detail in ([4], chapter 3). If all significant events occurring in the real-time system are sparse events (see [4], chapter 3), a consistent temporal order of these events can be established throughout the system.
- Fig. 1 shows a number of components associated with four levels of abstraction
- FIG. 1 shows a system with ten components 11-14, 21-23, 31, 32, 41 which exchange messages via a time-controlled communication system 50.
- the timed communication system 50 is a priori, ie before use, announced when a component sends a message and how long the message may be maximum. This specification of the communication parameters can be done dynamically and is preferably, like all other parameters that can be changed dynamically, secured by cryptographic protocols.
- the timed Communication system 50 is thus able to detect a time misconduct of a component. If the components are fail-silent, the timed communication system can detect all component errors.
- a hierarchy of periodic components 11-14, 21-23, 31, 32, 41 is formed, wherein the duration of the period assigned to a component is an integer multiple of a smallest period.
- the periods are determined by the progression of global time. We refer to the smallest period as base period.
- the period of the entire distributed computer system results from the least common multiple (kgV) of the periods of all components. It is advantageous if the durations of the periods are a power of two of the smallest period. In this case, the least common multiple of the entire system corresponds to the longest period of a component. After the product kgV * base period, the temporal behavior of the entire distributed computer system is repeated.
- the processing times of the components may be different. However, it must be ensured that the processing time of a component is shorter than the duration of the period assigned to that component, i. the difference between period duration and processing time, the laxity, must be positive.
- This assignment of the components to the hierarchy levels 1, 2, 3, 4 is based on the logic of the given application. An example of such an assignment is shown in FIG. According to the logic of the illustrated application, the ten components 11-14, 21-23, 31, 32, 41 are assigned four hierarchy levels 1, 2, 3, 4. If e.g. If the kgV of the periods of these components has the value 30, the temporal behavior of the entire distributed computer system will repeat itself after 30 basic periods.
- a component of a lower hierarchical level only communicates with a component of a higher hierarchical level.
- the component 11 communicates with the Component 21 and the component 12 with the component 21, but not the component 11 with the component 12.
- Such a direct communication between the components 11 and 12 should only in exceptional cases, if the application necessarily requires done.
- the component 21 has three communication interfaces, two downwardly directed to the components 11, 12 and an upward to the component 31.
- this in-tree can be replaced by a simulation system which simulates the environment observed by the nodes 11, 12, 21 at the communication interface between the components 21 to 31.
- this architecture it is possible to replace parts of the real system for the purpose of testing by a simulation system. This significantly reduces the test effort required to commission large distributed systems.
- a camera may be connected to the component 11 shown in FIG. 1 and a radar device for monitoring the environment may be connected to the component 12.
- the component 21 performs a data fusion of the results of these two observations to identify the objects in the environment.
- Component 31 decides which reactions to take on the basis of the observed objects.
- the component 21 can be replaced by a simulation system in order to test the correct reactions of the entire system in the most diverse situations.
- the communication system 50 may copy and send selected messages to an independent monitoring component.
- a corresponding procedure for timely observation of the communication between components is disclosed in [2].
- Figure 2 shows the timing of processing in a component and the Communication between components. According to the invention, it is assumed that all components operate periodically. The time is divided into periods, wherein within each period, the circle of Figure 2 is run in a clockwise direction. An event within a period is specified by the phase position, ie the phase of the event to the period origin. For example, in FIG. 2, the event 100, the period origin in FIG. 2, the phase 0 degrees, the event 120, the phase 90 degrees. The period origin (event 100) can be synchronized with the global time.
- FIG. 2 describes the communication between the components 11, 21, 31 of FIG. 1, the period of component 31 being shown in FIG.
- the component 11 begins processing, e.g. reading the sensors of the component 11.
- the processing in the component 11 is completed and the timed communication system 50 is ready to transport the result of the component 11 in the form of a message to the component 21.
- component 21 begins processing.
- the processing is completed at time 130.
- the timed communication system 50 is ready to transport the result of the component 21 in the form of a message to the component 31.
- the phases of the processing in the components and the communication between the components are synchronized. According to Wikipedia [7], synchronization is understood as the temporal alignment of processes. Synchronization thus ensures that actions occur in a certain order or simultaneously; H. take place synchronously [7].
- the schedules for processing the data in the components and for inter-component communication by a scheduler are such that, within each longest period of the entire distributed computer system, the phase of transmission of each message coincides with the receipt of each message sent is synchronized, ie that in each period the sending of a message takes place before the reception of this message.
- This determination prevents a component of a previous period from being consumed by a component before it corresponding message of the current period was produced.
- This type of synchronization must also be ensured if the sending component and the receiving component are arranged on different hierarchical levels and spatially distributed.
- the realization of such a schedule calculated by a scheduler which fulfills the conditions set out above, can be realized with the TTEthernet system [6].
- fault-tolerant clock synchronization, fault containment at the component level, or temporal fault detection in the time-triggered communication system can be substantially supported by hardware-implemented functions.
- Such hardware support results in a reduction in power consumption and silicon area while increasing throughput.
- the innovative method disclosed here reduces the complexity of safety-critical real-time systems, increases reliability, and significantly lowers the costs of system development, testing, and maintenance.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
The invention relates to a method for combining results of a multiplicity of periodically operating components of a distributed computer system at the correct time, wherein the components communicate solely by means of messages via at least one communication system, and wherein each component has a global time with the precision P. Provision is made for each component to be unambiguously associated with one of n hierarchical levels, preferably in system design, wherein the durations of the periods of the components, which are derived from the progression of the global time, are an integer multiple of one another, and wherein the phase of transmitting each message is synchronized with the corresponding phase of receiving each transmitted message within each longest period of the entire distributed computer system even if the transmitting components and the receiving components are arranged on different hierarchical levels and are spatially distributed. The invention also relates to a computer system for carrying out such a method.
Description
VERFAHREN ZUR ZEITRICHTIGEN ZUSAMMENFÜHRUNG VON ERGEBNISSEN VON PROCESS FOR THE CONTINUOUS COMBINATION OF RESULTS OF
PERIODISCH ARBEITENDEN EDV-KOMPONENTEN PERIODIC WORKING COMPONENTS
Die vorliegende Erfindung liegt im Bereich der Computertechnik. The present invention is in the field of computer technology.
Konkret betrifft die Erfindung ein Verfahren zur zeitrichtigen Zusammenführung von Ergebnissen einer Vielzahl von periodisch arbeitenden Komponenten eines verteilten Computersystems, wobei die Komponenten ausschließlich mittels Nachrichten über mindestens ein Kommunikationssystem kommunizieren, und wobei jede Komponente über eine globale Zeit mit der Präzision P verfügt. Specifically, the invention relates to a method for timely aggregation of results of a plurality of periodically operating components of a distributed computer system, wherein the components communicate exclusively by means of messages via at least one communication system, and wherein each component has a global time with the precision P.
Weiters betrifft die Erfindung ein verteiltes Computersystem insbesondere zur zeitrichtigen Zusammenführung von Ergebnissen einer Vielzahl von periodisch arbeitenden Komponenten, das Computersystem umfassend eine Vielzahl von periodisch arbeitenden Komponenten, wobei die Komponenten ausschließlich mittels Nachrichten über mindestens ein Kommunikationssystem kommunizieren, und wobei jede Komponente über eine globale Zeit mit der Präzision P verfügt. Furthermore, the invention relates to a distributed computer system, in particular for the timely combination of results of a plurality of periodic components, the computer system comprising a plurality of periodically operating components, wherein the components communicate exclusively by means of messages via at least one communication system, and wherein each component over a global time with the precision P features.
Außerdem betrifft die Erfindung noch eine verteilte Computer Architektur zur zeitrichtigen Zusammenführung der Ergebnisse periodisch arbeitender Komponenten, insbesondere EDV-Komponenten. In addition, the invention also relates to a distributed computer architecture for the timely combination of the results of periodically operating components, in particular computer components.
Die Erfindung beschreibt ein innovatives Verfahren, mit welchem eine Vielzahl von periodisch arbeitenden Komponenten eines verteilten Echtzeitsystems in eine hierarchische Struktur eingebettet werden können und wie die Ergebnisse dieser Komponenten mittels eines zeitgesteuerten Kommunikationssystems zeitrichtig zusammengeführt werden können. The invention describes an innovative method with which a multiplicity of periodically operating components of a distributed real-time system can be embedded in a hierarchical structure and how the results of these components can be brought together in a timely manner by means of a time-controlled communication system.
In verteilten Echtzeitsystemen, z.B. in einem Flugzeug, muss eine Vielzahl von Komponenten— im Beispiel des Flugzeugs mehr als hundert Komponenten— zusammenwirken, um die gestellten Aufgaben zu lösen. Die Komplexität eines solchen Systems kann reduziert werden, indem die Komponenten in eine hierarchische Struktur eingebettet werden, die Kommunikation zwischen den Komponenten nach vorgegebenen
Regeln zeitgesteuert abläuft, und das zeitliche Verhalten der Komponenten und der Kommunikation vorhersehbar ist. In distributed real-time systems, eg in an aircraft, a multiplicity of components-in the example of the aircraft-more than a hundred components-must work together to solve the tasks set. The complexity of such a system can be reduced by embedding the components in a hierarchical structure, the communication between the components according to predetermined Timed rules, and the temporal behavior of the components and the communication is predictable.
Die Reduktion der Komplexität ist auch erforderlich, um das Systemverhalten nach Auftreten eines Fehlers in einer der Komponenten vorhersehen zu können. In einem sicherheitskritischen Echtzeitsystem— wie im Beispiel des Flugzeugs— müssen wesentliche Systemfunktionen auch nach dem Ausfall von Komponenten aufrecht bleiben. The reduction in complexity is also required to predict system behavior after a fault has occurred in one of the components. In a safety-critical real-time system-as in the example of the aircraft-essential system functions must remain upright even after the failure of components.
Die besondere Rolle, die hierarchische Modellen beim Verstehen von komplexen Vorgängen leisten, wurde bereits von Simon [5] im Jahre 1962 ausführlich behandelt. Auch in [1] wird vorgeschlagen, ein großes System-of-Systems hierarchisch zu strukturieren. The special role that hierarchical models play in understanding complex processes has already been dealt with in detail by Simon [5] in 1962. Also in [1] it is proposed to structure a large system-of-systems hierarchically.
Es ist eine Aufgabe der vorliegenden Erfindung, eine Verbindung von hierarchischer Systemstruktur mit synchronem Verhalten der Komponenten und systematischem Fault- Containment auf den verschiedenen Ebenen der Hierarchie zu schaffen. It is an object of the present invention to provide a combination of hierarchical system structure with synchronous behavior of the components and systematic fault containment at the various levels of the hierarchy.
Diese Aufgabe wird mit einem eingangs erwähnten Verfahren sowie einem eingangs erwähnten Computersystem dadurch gelöst, dass jede Komponente, vorzugsweise in einem Systementwurf, eindeutig einer von n Hierarchieebenen zugeordnet wird, und wobei die Dauern der Perioden der Komponenten, die vom Fortschreiten der globalen Zeit abgeleitet werden, in einem ganzzahligen Vielfachen zueinander stehen, und wobei innerhalb jeder längsten Periode des gesamten verteilten Computersystems die Phase des Sendens jeder Nachricht mit der entsprechenden Phase des Empfangs jeder gesendeten Nachricht synchronisiert ist, auch wenn die sendenden Komponenten und die empfangenden Komponenten auf unterschiedlichen Hierarchieebenen angeordnet und räumlich verteilt sind. This object is achieved by a method as mentioned above and a computer system mentioned in the introduction by assigning each component, preferably in a system design, uniquely to one of n hierarchical levels, and the durations of the periods of the components derived from the progression of the global time , within an integer multiple of each other, and within each longest period of the entire distributed computer system, the phase of transmission of each message is synchronized with the corresponding phase of reception of each transmitted message, even if the transmitting components and the receiving components are arranged on different hierarchical levels and spatially distributed.
In der vorliegenden Erfindung wird vorgeschlagen, eine Hierarchie von periodisch arbeitenden Komponenten zu bilden, wobei die Dauer der Periode einer Komponente ein ganzzahliges Vielfaches einer kleinsten Periode ist und wobei eine Komponente auf der Basis der Dauer ihrer Periode eindeutig einer Hierarchieebene zugeteilt wird. Die
Komponenten mit der kürzesten Periode bilden die unterste Hierarchieebene und die Komponenten mit der längsten Periode bilden die oberste Hierarchieebene. In the present invention, it is proposed to form a hierarchy of periodic components, wherein the duration of the period of a component is an integer multiple of a smallest period and a component is uniquely assigned to a hierarchical level on the basis of the duration of its period. The Components with the shortest period form the lowest hierarchical level, and the components with the longest period form the topmost hierarchical level.
Die vorliegende Erfindung legt somit offen, wie ein sicherheitskritisches verteiltes Echtzeitsystem aufgebaut werden kann, um die Komplexität zu reduzieren. Durch die Reduktion der Komplexität werden der Zeitaufwand für die Softwareentwicklung und das Testen herabgesetzt, sowie die Kosten für die Systementwicklung signifikant reduziert. The present invention thus discloses how to build a security-critical distributed real-time system to reduce complexity. Reducing complexity reduces software development and testing time and significantly reduces the cost of system development.
Die vorliegende Erfindung legt offen, wie ein sicherheitskritisches verteiltes Echtzeitsystem aufgebaut werden kann, um den kognitiven Aufwand, der erforderlich ist, um die Funktionen des Systems zu verstehen, zu reduzieren. Die Komplexität eines solchen Systems kann reduziert werden, in dem die Komponenten in eine hierarchische Struktur eingebettet werden, die Kommunikation zwischen den Komponenten nach vorgegebenen Regeln abläuft, und das zeitliche Verhalten der Komponenten und der Kommunikation vorhersehbar ist. Durch die Reduktion der Komplexität werden der Zeitaufwand für die Softwareentwicklung und das Testen herabgesetzt, sowie die Kosten für die Systementwicklung signifikant reduziert. The present invention discloses how a safety-critical distributed real-time system can be constructed to reduce the cognitive effort required to understand the functions of the system. The complexity of such a system can be reduced, in which the components are embedded in a hierarchical structure, the communication between the components proceeds according to predetermined rules, and the temporal behavior of the components and the communication is predictable. Reducing complexity reduces software development and testing time and significantly reduces the cost of system development.
Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrnes uns des erfindungsgemäßen Computersystems sind in den Unteransprüchen beschrieben. Further advantageous embodiments of the method according to the invention and of the computer system according to the invention are described in the subclaims.
So ist es von Vorteil, wenn der Zeitpunkt des Nachrichtentransports durch ein zeitgesteuertes Kommunikationssystem mit dem Ende der Periode der eine Nachricht sendenden Komponente synchronisiert ist. It is thus advantageous if the time of the message transport by a time-controlled communication system is synchronized with the end of the period of the component sending a message.
Günstig ist es, wenn eine Komponente einer Hierarchieebene nur mit einer Komponente einer höheren Hierarchieebene kommuniziert. It is favorable if a component of a hierarchy level only communicates with a component of a higher hierarchical level.
Außerdem ist es zweckmäßig, wenn eine Komponente einer höheren Hierarchieebene Nachrichten von einer Vielzahl von Komponenten der unterlagerten Hierarchieebenen empfängt.
Von besonderem Vorteil ist es, dass das Verhalten einer Menge von hierarchisch angeordneten Komponenten, die Informationen an die nächsthöhere Hierarchieebene weiterleiten und wobei der Informationsfluss einen In-tree bildet, durch ein Simulationssystem ersetzt bzw. ersetzbar ist, welches das nach oben gerichtete Verhalten der Wurzel des In-trees ersetzt. In addition, it is expedient for a component of a higher hierarchical level to receive messages from a plurality of components of the subordinate hierarchy levels. It is of particular advantage that the behavior of a set of hierarchically arranged components, which forward information to the next higher hierarchical level and wherein the information flow forms an in-tree, is replaced or replaceable by a simulation system which determines the upward behavior of the root of the in-trees replaced.
Zweckmäßigerweise ist vorgesehen, dass die globale Zeit mit der temps atomique international (TAI) mit einer Genauigkeit A synchronisiert ist. It is expediently provided that the global time is synchronized with the temps atomique international (TAI) with an accuracy of A.
Von Vorteil ist es, wenn die globale Zeit sparse ist. It is advantageous if the global time is sparse.
Außerdem kann vorgesehen sein, dass eine ausgezeichnete Periode der Reihe von möglichen Perioden die Dauer von exakt einer TAI Sekunde hat. In addition, it may be provided that an excellent period of the series of possible periods has the duration of exactly one TAI second.
Zweckmäßiger Weise ist vorgesehen, dass die von einer Komponente empfangenen und gesendeten Nachrichten über ein TTEthernet Kommunikationssystem verteilt werden. Appropriately, it is provided that the messages received and sent by a component are distributed over a TTEthernet communication system.
Außerdem ist es von Vorteil, wenn das Kommunikationssystem redundant ausgelegt ist. Moreover, it is advantageous if the communication system is designed to be redundant.
Außerdem ist es günstig, wenn die zumindest eine Komponente, vorzugsweise jede Komponente eine fault-containment unit bildet. Moreover, it is favorable if the at least one component, preferably each component forms a fault-containment unit.
Außerdem kann vorgesehen sein, dass eine Komponente entweder richtige, keine oder erkennbar falsche Nachrichten produziert. In addition, it can be provided that a component produces either correct, no or recognizably false messages.
Vorzugsweise ist vorgesehen, dass die globale Zeit fehlertolerant ist. It is preferably provided that the global time is fault-tolerant.
Von Vorteil ist es, wenn die dynamische Veränderung von Parametern der Komponenten oder des Kommunikationssystem durch kryptographische Protokolle abgesichert ist. It is advantageous if the dynamic change of parameters of the components or of the communication system is ensured by cryptographic protocols.
Schließlich kann mit Vorteil noch vorgesehen sein, dass eine Komponente eine Wiederanlaufeinheit ist, die nach dem Erkennen eines Fehlers sofort den Wiederanlauf versucht.
Des weiteren kann noch vorgesehen sein, dass eine Komponente, die eine Nachricht empfängt, überprüft, ob der Inhalt der Nachricht der für diese Nachricht vorgesehenen dynamischen Eingabe-Zusicherung entspricht. Finally, it can advantageously be provided that a component is a restart unit which attempts to restart immediately after detecting an error. Furthermore, it can still be provided that a component receiving a message checks whether the content of the message corresponds to the dynamic input assurance provided for this message.
Außerdem ist es von Vorteil, wenn das Verhalten der einzelnen Komponenten zeitrichtig beobachtet wird, ohne dabei das Zeitverhalten der Komponenten zu beeinflussen. Moreover, it is advantageous if the behavior of the individual components is observed in the correct time, without influencing the time behavior of the components.
In der Echtzeitdatenverarbeitung ist ein Resultat bzw. Ergebnis nur richtig, wenn es im Wertebereich und im Zeitbereich der Spezifikation entspricht. Es ist deshalb sinnvoll, unter dem Begriff einer Komponente eine Einheit aus Software und Hardware zu verstehen, da nur eine solche Einheit ein definiertes Verhalten im Wertebereich und im Zeitbereich hat. Dieser Komponentenbegriff umfasst sowohl eine physikalische Komponente, wo die Komponente eine physikalische Hardwareeinheit ist, wie auch eine virtuelle Komponente, wo eine Softwaremodul in einer von einem Hypervisor zur Verfügung gestellten Partition einer größeren Hardwareeinheit ausgeführt wird. In real-time data processing, a result or result is only correct if it corresponds to the specification in the value range and in the time range. It therefore makes sense to understand the term component to mean a unit of software and hardware, since only such a unit has a defined behavior in the range of values and in the time domain. This component notion includes both a physical component where the component is a physical hardware unit and a virtual component where a software module is executed in a hypervisor-provided partition of a larger hardware unit.
Es ist vorteilhaft, wenn jede Komponente eine Fault-Containment-Unit (FCU) ist, um die unmittelbaren Folgen einer Fehlerursache der spezifizierten Fault Klasse (z.B., Hardware oder Software) auf eine einzige Komponente eingrenzen zu können. Wenn solche Komponenten ausschließlich mittels Nachrichten kommunizieren, so kann sich ein Folgefehler einer fehlerhaften Komponente nur über eine fehlerhafte Nachricht über die Komponentengrenzen hinweg ausbreiten. Eine Nachricht kann im Zeitbereich oder im Wertebereich fehlerhaft sein. Wenn ein zeitgesteuertes Kommunikationssystem, wie z.B. TTEthernet [6], eingesetzt wird, so kann das zeitgesteuerte Kommunikationssystem, das eine unabhängige FCU bildet, den Fehler im Zeitbereich erkennen und die Ausbreitung des Fehlers verhindern. Fehler im Wertebereich müssen im allgemeinen Fall von der Komponente, die die Nachricht empfängt, erkannt werden. Zu diesem Zweck muss der Nachrichtenempfänger überprüfen, ob eintreffende Nachrichten einer Eingabe- Zusicherung (input assertion) entsprechen. Es ist vorteilhaft, wenn diese Eingabe- Zusicherung dynamisch veränderbar ist, um die Eingangsüberprüfung dem sich zeitlich ändernden aktuellen Systemzustand anpassen zu können. Wenn eine Komponente ein fail-silent Verhalten aufweist, d.h. sie produziert entweder richtige, keine oder erkennbar falsche Nachrichten, so können alle Komponentenfehler im Zeitbereich durch das
zeitgesteuerte Kommunikationssystem erkannt werden. Eine fail-silent Komponente wird im allgemeinen Fall aus zwei FCUs bestehen. In Abstimmung mit der Fehlerhypothese kann eine dieser beiden FCUs sehr einfach sein, z.B. ein unabhängiger Watchdog der die Funktion der Komponente laufend überwacht und nach dem Erkennen eines Fehlers sofort einen Wiederanlauf anstoßt. Da erfahrungsgemäß in der Mehrzahl der Fälle die Fehlerursache transient ist, wird dieser Wiederanlauf in der Mehrzahl der Fälle erfolgreich sein. It is advantageous if each component is a fault containment unit (FCU) in order to be able to restrict the immediate consequences of a fault cause of the specified fault class (eg, hardware or software) to a single component. If such components communicate exclusively by means of messages, a subsequent error of a faulty component can propagate only across a faulty message across the component boundaries. A message can be faulty in the time domain or in the value range. When a timed communication system such as TTEthernet [6] is used, the timed communication system that forms an independent FCU can detect the time domain error and prevent the propagation of the error. In the general case, errors in the value range must be recognized by the component that receives the message. To do this, the message recipient must check that incoming messages match an input assertion. It is advantageous if this input assurance can be changed dynamically in order to be able to adapt the input check to the current state of the system changing with time. If a component has fail-silent behavior, that is, it produces either correct, no, or noticeably false messages, all component errors in the time domain can be caused by the Timed communication system can be detected. A fail-silent component will generally consist of two FCUs. In coordination with the error hypothesis, one of these two FCUs can be very simple, eg an independent watchdog which constantly monitors the function of the component and immediately triggers a restart after detecting an error. Since experience has shown that in most cases the cause of the error is transient, this restart will be successful in the majority of cases.
Da die technischen Prozesse, die von einem Echtzeitsystem kontrolliert werden, nach den Gesetzen der Physik ablaufen, spielt die physikalische Zeit in der Echtzeitdatenverarbeitung eine besondere Rolle. Erfindungsgemäß wird deshalb eine fehlertolerante globale Zeit eingeführt, auf die alle Komponenten des Systems zugreifen können. Der Aufbau einer fehlertoleranten Zeit mit einer bekannten Präzision P und einer Genauigkeit A ist in ([4], Kap. 3) genau beschrieben. Wenn alle signifikanten Ereignisse, die im Echtzeitsystem auftreten, sparse events sind (siehe [4], Kap. 3] so lässt sich im gesamten System eine konsistente zeitliche Ordnung dieser Ereignisse herstellen. Since the technical processes that are controlled by a real-time system run according to the laws of physics, the physical time plays a special role in real-time data processing. Therefore, according to the invention, a fault-tolerant global time is introduced which can be accessed by all components of the system. The construction of a fault-tolerant time with a known precision P and an accuracy A is described in detail in ([4], chapter 3). If all significant events occurring in the real-time system are sparse events (see [4], chapter 3), a consistent temporal order of these events can be established throughout the system.
Die Erfindung wird im Folgenden an Hand der Zeichnung näher erläutert. In dieser zeigt The invention will be explained in more detail below with reference to the drawing. In this shows
Fig. 1 ein Anzahl von Komponenten, die vier Abstraktionsebenen zugeordnet sind, und Fig. 1 shows a number of components associated with four levels of abstraction, and
Fig. 2 den Ablauf eines Verarbeitungszyklus in der periodischen Darstellung der Zeit. 2 shows the sequence of a processing cycle in the periodic representation of the time.
Die folgende Beschreibung einer Realisierung stellt dabei nur eine von vielen Möglichkeiten zur technischen Umsetzung der Erfindung dar. The following description of a realization represents only one of many possibilities for technical implementation of the invention.
Figur 1 zeigt ein System mit zehn Komponenten 11-14, 21-23, 31, 32, 41, die über ein zeitgesteuertes Kommunikationssystem 50 Nachrichten austauschen. Dem zeitgesteuerten Kommunikationssystem 50 wird a priori, d.i. vor der Nutzung, bekannt gegeben, wann eine Komponente eine Nachricht sendet und wie lange die Nachricht maximal sein darf. Diese Vorgabe der Kommunikationsparameter kann dynamisch erfolgen und ist vorzugsweise, wie alle anderen Parameter, die dynamisch verändert werden können, durch kryptographische Protokolle abzusichern. Das zeitgesteuerte
Kommunikationssystem 50 ist somit in der Lage, ein zeitliches Fehlverhalten einer Komponente zu erkennen. Wenn die Komponenten fail-silent sind, so kann das zeitgesteuerte Kommunikationssystem alle Komponentenfehler erkennen. FIG. 1 shows a system with ten components 11-14, 21-23, 31, 32, 41 which exchange messages via a time-controlled communication system 50. The timed communication system 50 is a priori, ie before use, announced when a component sends a message and how long the message may be maximum. This specification of the communication parameters can be done dynamically and is preferably, like all other parameters that can be changed dynamically, secured by cryptographic protocols. The timed Communication system 50 is thus able to detect a time misconduct of a component. If the components are fail-silent, the timed communication system can detect all component errors.
In dieser Erfindung wird im Systementwurf eine Hierarchie von periodisch arbeitenden Komponenten 11-14, 21-23, 31, 32, 41 gebildet, wobei die Dauer der einer Komponente zugewiesenen Periode ein ganzzahliges Vielfaches einer kleinsten Periode ist. Die Perioden werden vom Fortschreiten der globalen Zeit bestimmt. Wir bezeichnen die kleinste Periode als Basisperiode. Die Periode des gesamten verteilten Computersystems ergibt sich aus dem kleinsten gemeinsamen Vielfachen (kgV) der Perioden aller Komponenten. Es ist vorteilhaft, wenn die Dauern der Perioden eine Zweierpotenz der kleinsten Periode sind. In diesem Fall entspricht das kleinste gemeinsame Vielfache des Gesamtsystems der längsten Periode einer Komponente. Nach dem Produkt kgV*Basisperiode wiederholt sich das zeitliche Verhalten des gesamten verteilten Computer Systems.. In this invention, in the system design, a hierarchy of periodic components 11-14, 21-23, 31, 32, 41 is formed, wherein the duration of the period assigned to a component is an integer multiple of a smallest period. The periods are determined by the progression of global time. We refer to the smallest period as base period. The period of the entire distributed computer system results from the least common multiple (kgV) of the periods of all components. It is advantageous if the durations of the periods are a power of two of the smallest period. In this case, the least common multiple of the entire system corresponds to the longest period of a component. After the product kgV * base period, the temporal behavior of the entire distributed computer system is repeated.
In der vorliegenden Architektur können die Verarbeitungsdauern der Komponenten unterschiedlich lang sein. Es muss jedoch gewährleistet sein, dass die Verarbeitungsdauer einer Komponente kürzer ist als die Dauer der Periode, die dieser Komponente zugewiesen wurde, d.h. die Differenz zwischen Periodendauer und Verarbeitungsdauer, die Laxheit (laxity), muss positiv sein. In the present architecture, the processing times of the components may be different. However, it must be ensured that the processing time of a component is shorter than the duration of the period assigned to that component, i. the difference between period duration and processing time, the laxity, must be positive.
Diese Zuordnung der Komponenten zu den Hierarchieebenen 1, 2, 3, 4 erfolgt auf der Basis der Logik der gegebenen Applikation. Ein Beispiel einer solchen Zuordnung ist in der Figur 1 dargestellt. Entsprechend der Logik der dargestellten Applikation sind die zehn Komponenten 11-14, 21-23, 31, 32, 41 vier Hierarchieebenen 1, 2, 3, 4 zugeteilt. Wenn z.B. das kgV der Perioden dieser Komponenten den Wert 30 hat, so wird sich nach 30 Basisperioden das zeitliche Verhalten des gesamten verteilten Computersystems wiederholen. This assignment of the components to the hierarchy levels 1, 2, 3, 4 is based on the logic of the given application. An example of such an assignment is shown in FIG. According to the logic of the illustrated application, the ten components 11-14, 21-23, 31, 32, 41 are assigned four hierarchy levels 1, 2, 3, 4. If e.g. If the kgV of the periods of these components has the value 30, the temporal behavior of the entire distributed computer system will repeat itself after 30 basic periods.
Erfindungsgemäß ist es vorteilhaft, wenn eine Komponente einer unteren Hierarchieebene nur mit einer Komponente einer höheren Hierarchieebene kommuniziert. So kommunizieren z.B. in Figur 1 die Komponente 11 mit der
Komponente 21 und die Komponente 12 mit der Komponente 21, nicht jedoch die Komponente 11 mit der Komponente 12. Eine solche direkte Kommunikation zwischen den Komponenten 11 und 12 soll nur in Ausnahmefällen, wenn es die Applikation unbedingt erfordert, erfolgen. Die Komponente 21 hat drei Kommunikationsinterfaces, zwei nach unten gerichtete zu den Komponenten 11, 12 und ein nach oben gerichtetes zur Komponente 31. According to the invention, it is advantageous if a component of a lower hierarchical level only communicates with a component of a higher hierarchical level. For example, in FIG. 1, the component 11 communicates with the Component 21 and the component 12 with the component 21, but not the component 11 with the component 12. Such a direct communication between the components 11 and 12 should only in exceptional cases, if the application necessarily requires done. The component 21 has three communication interfaces, two downwardly directed to the components 11, 12 and an upward to the component 31.
Wenn die Komponenten 11, 12 z.B. über Sensoren verfügen, mit denen sie ihre Umgebung beobachten können, so kann der Informationsfluss zwischen den Komponenten 11, 12, 21 durch einen In-tree beschrieben werden, wobei die Komponente 21 die Wurzel des In-trees bildet [3]. In diesem In-tree fließt die Information in Figur 1 von unten nach oben. Erfindungsgemäß kann dieser In-tree durch ein Simulationssystem ersetzt werden, das die von den Knoten 11, 12, 21 beobachtete Umgebung am Kommunikationsinterface zwischen den Komponenten 21 zu 31 simuliert. Somit ist es in dieser Architektur möglich, Teile des realen Systems zum Zwecke des Testens durch ein Simulationssystem zu ersetzen. Damit lässt sich der Testaufwand bei der Inbetriebnahme großer verteilter Systeme wesentlich senken. If the components 11, 12 e.g. Have sensors with which they can observe their environment, so the flow of information between the components 11, 12, 21 can be described by an in-tree, with the component 21 forms the root of the in-trees [3]. In this In-tree the information flows in Figure 1 from bottom to top. According to the invention, this in-tree can be replaced by a simulation system which simulates the environment observed by the nodes 11, 12, 21 at the communication interface between the components 21 to 31. Thus, in this architecture it is possible to replace parts of the real system for the purpose of testing by a simulation system. This significantly reduces the test effort required to commission large distributed systems.
Z.B. kann an die in Figur 1 angeführte Komponente 11 eine Kamera und an die Komponente 12 ein Radargerät zur Beobachtung der Umwelt angeschlossen sein. Die Komponente 21 führt eine Datenfusion der Ergebnisse dieser beiden Beobachtungen durch, um die Objekte in der Umwelt zu identifizieren. Die Komponente 31 entscheidet, welche Reaktionen aufgrund der beobachteten Objekte vorzunehmen sind. In der Testphase kann die Komponente 21 durch ein Simulationssystem ersetzt werden, um die richtigen Reaktionen des Gesamtsystems in den verschiedensten Situationen zu testen. For example, For example, a camera may be connected to the component 11 shown in FIG. 1 and a radar device for monitoring the environment may be connected to the component 12. The component 21 performs a data fusion of the results of these two observations to identify the objects in the environment. Component 31 decides which reactions to take on the basis of the observed objects. In the test phase, the component 21 can be replaced by a simulation system in order to test the correct reactions of the entire system in the most diverse situations.
Um das Verhalten einer Komponente oder eines kompletten In-trees beobachten zu können, ohne das Zeitverhalten der Applikation zu beeinflussen, kann das Kommunikationssystem 50 ausgewählte Nachrichten kopieren und an eine unabhängige Beobachtungskomponente senden. Ein entsprechendes Verfahren zur zeitrichtigen Beobachtung der Kommunikation zwischen Komponenten ist in [2] offen gelegt. In order to observe the behavior of a component or a complete in-tree without affecting the timing of the application, the communication system 50 may copy and send selected messages to an independent monitoring component. A corresponding procedure for timely observation of the communication between components is disclosed in [2].
Figur 2 zeigt den zeitlichen Ablauf der Verarbeitung in einer Komponente und der
Kommunikation zwischen Komponenten. Erfindungsgemäß wird angenommen, dass alle Komponenten periodisch arbeiten. Die Zeit wird in Perioden eingeteilt, wobei innerhalb jeder Periode der Kreis von Figur 2 im Uhrzeigersinn durchlaufen wird. Ein Ereignis innerhalb einer Periode wird durch die Phasenlage, d.i. die Phase des Ereignisses zum Periodenursprung spezifiziert. Z.B. hat in Figur 2 das Ereignis 100, der Periodenursprung in Fig. 2, die Phase 0 Grad, das Ereignis 120 die Phase 90 Grad. Der Periodenursprung (das Ereignis 100) kann mit der globalen Zeit synchronisiert werden. Figure 2 shows the timing of processing in a component and the Communication between components. According to the invention, it is assumed that all components operate periodically. The time is divided into periods, wherein within each period, the circle of Figure 2 is run in a clockwise direction. An event within a period is specified by the phase position, ie the phase of the event to the period origin. For example, in FIG. 2, the event 100, the period origin in FIG. 2, the phase 0 degrees, the event 120, the phase 90 degrees. The period origin (event 100) can be synchronized with the global time.
In Figur 2 wird die Kommunikation zwischen den Komponenten 11, 21, 31 von Figur 1 beschrieben, wobei in Figur 2 die Periode von Komponente 31 dargestellt ist. Wenn das periodische Ereignis 100 auftritt, so beginnt die Komponente 11 mit der Verarbeitung, z.B. dem Lesen der Sensoren der Komponente 11. Zum Zeitpunkt 110 ist die Verarbeitung in der Komponente 11 abgeschlossen und das zeitgesteuerte Kommunikationssystem 50 ist bereit, das Ergebnis der Komponente 11 in Form einer Nachricht an die Komponente 21 zu transportieren. Nach Ankunft der Nachricht bei der Komponente 21 zum Zeitpunkt 120 beginnt die Komponente 21 mit der Bearbeitung. Die Bearbeitung ist zum Zeitpunkt 130 abgeschlossen. Zu diesem Zeitpunkt 130 ist das zeitgesteuerte Kommunikationssystem 50 bereit, das Ergebnis der Komponente 21 in Form einer Nachricht zur Komponente 31 zu transportieren. Wie aus Figur 2 ersichtlich, sind erfindungsgemäß in der vorgeschlagenen Architektur die Phasen der Verarbeitung in den Komponenten und der Kommunikation zwischen den Komponenten synchronisiert. Laut Wikipedia [7] wird unter der Synchronisation das zeitliche Aufeinander- Abstimmen von Vorgängen verstanden. Synchronisation sorgt also dafür, dass Aktionen in einer bestimmten Reihenfolge oder gleichzeitig auftreten, d. h. synchron stattfinden [7] . FIG. 2 describes the communication between the components 11, 21, 31 of FIG. 1, the period of component 31 being shown in FIG. When the periodic event 100 occurs, the component 11 begins processing, e.g. reading the sensors of the component 11. At the time 110, the processing in the component 11 is completed and the timed communication system 50 is ready to transport the result of the component 11 in the form of a message to the component 21. Upon arrival of the message at component 21 at time 120, component 21 begins processing. The processing is completed at time 130. At this point in time 130, the timed communication system 50 is ready to transport the result of the component 21 in the form of a message to the component 31. As can be seen from FIG. 2, according to the invention, in the proposed architecture, the phases of the processing in the components and the communication between the components are synchronized. According to Wikipedia [7], synchronization is understood as the temporal alignment of processes. Synchronization thus ensures that actions occur in a certain order or simultaneously; H. take place synchronously [7].
Erfindungsgemäß sind die Zeitpläne für die Verarbeitung der Daten in den Komponenten und für den Nachrichtenaustausch zwischen den Komponenten von einem Scheduler derart zu erstellen, dass innerhalb jeder längsten Periode des gesamten verteilten Computersystems die Phase des Sendens jeder Nachricht mit der entsprechenden Phase des Empfangs jeder gesendeten Nachricht synchronisiert ist, d.h., dass in jeder Periode das Senden einer Nachricht vor dem Empfang dieser Nachricht stattfindet. Durch diese Festlegung wird verhindert, dass eine Nachricht einer zeitlich vorangegangenen Periode von einer Komponente konsumiert wird, bevor die
entsprechende Nachricht der laufenden Periode produziert wurde. Diese Art der Synchronisation muss auch gewährleistet sein wenn die sendende Komponente und die empfangende Komponente auf unterschiedlichen Hierarchieebenen angeordnet und räumlich verteilt sind. Die Realisierung eines solchen von einem Scheduler errechneten Zeitplans, der die vorab dargelegten Bedingungen erfüllt, lässt sich mit dem TTEthernet System [6] realisieren. According to the invention, the schedules for processing the data in the components and for inter-component communication by a scheduler are such that, within each longest period of the entire distributed computer system, the phase of transmission of each message coincides with the receipt of each message sent is synchronized, ie that in each period the sending of a message takes place before the reception of this message. This determination prevents a component of a previous period from being consumed by a component before it corresponding message of the current period was produced. This type of synchronization must also be ensured if the sending component and the receiving component are arranged on different hierarchical levels and spatially distributed. The realization of such a schedule calculated by a scheduler, which fulfills the conditions set out above, can be realized with the TTEthernet system [6].
Es ist vorteilhaft, wenn ein Element dieser Reihe von Perioden exakt der physikalischen Sekunde entspricht, so dass die Aktionen von Systemen, die über keine gemeinsame interne Synchronisation verfügen, über die externe Zeit synchronisiert werden können. It is advantageous if an element of this series of periods corresponds exactly to the physical second, so that the actions of systems that do not have common internal synchronization can be synchronized over the external time.
In einer sicherheitsrelevanten Anwendung darf es keine Komponente geben, deren Ausfall zu einem fehlerhaften Verhalten oder zum Ausfall des Gesamtsystems führt. Es ist deshalb vorteilhaft, in sicherheitsrelevanten Anwendungen das Kommunikationssystem redundant auszulegen, so dass der Ausfall eines Teilsystems des Kommunikationssystems toleriert werden kann. In a safety-relevant application, there must be no component whose failure leads to faulty behavior or failure of the entire system. It is therefore advantageous to configure the communication system redundant in security-relevant applications, so that the failure of a subsystem of the communication system can be tolerated.
Die technische Entwicklung der Mikroelektronik ermöglicht es, viele der vorgestellten Verfahrensschritte in einem oder mehreren FPGA Chips oder direkt in ASICs zu realisieren. Zum Beispiel kann die fehlertolerante Uhrensynchronisation, das Fault- Containment auf der Ebene der Komponenten, oder die temporale Fehlererkennung im zeitgesteuerten Kommunikationssystem durch in Hardware realisierten Funktionen wesentlich unterstützt werden. Eine solche Hardwareunterstützung führt zu einer Reduzierung des Energieverbrauchs und der Siliziumfläche bei gleichzeitiger Erhöhung des Durchsatzes. The technical development of microelectronics makes it possible to realize many of the presented process steps in one or more FPGA chips or directly in ASICs. For example, fault-tolerant clock synchronization, fault containment at the component level, or temporal fault detection in the time-triggered communication system can be substantially supported by hardware-implemented functions. Such hardware support results in a reduction in power consumption and silicon area while increasing throughput.
Zusammenfassend sei festgehalten, dass das hier offen gelegte innovative Verfahren die Komplexität von sicherheitskritischen Echtzeitsystemen herabsetzt, die Zuverlässigkeit erhöht und die Kosten für die Systementwicklung, das Testen und die Wartung signifikant senkt. In summary, the innovative method disclosed here reduces the complexity of safety-critical real-time systems, increases reliability, and significantly lowers the costs of system development, testing, and maintenance.
Zitierte Literatur
[1] US 7,979,247 Butterfield, et al.. System, method and Computer program product for developing a system-of-systems architecture model. Granted July 12, 2011 Quoted literature [1] US 7,979,247 Butterfield, et al. System, method and computer program product for developing a system-of-systems architecture model. Granted July 12, 2011
[2] Österreichische Patentanmeldung A 1842/2011durch FTS Computertechnik GmbH vom 19.12.2011. Verfahren zur zeitrichtigen Beobachtung von TTEthernet Nachrichten. [2] Austrian Patent Application A 1842/2011 by FTS Computertechnik GmbH dated 19.12.2011. Method for the timely observation of TTEthernet messages.
[3] Wikipedia. Graphentheorie— Baum. [3] Wikipedia. Graph theory tree.
[4] Kopetz, H. Real-Time Systems, Design Principles for Distributed Embedded Applications. Springer Verlag. 2011. [4] Kopetz, H. Real-Time Systems, Design Principles for Distributed Embedded Applications. Springer Verlag. 2011th
[5] Simon, H.A. . Science of the Artificial. MIT Press. 1962. [5] Simon, H.A. , Science of the Artificial. WITH Press. 1,962th
[6] SAE Standard von TT Ethernet. URL: http:/ / standards.sae.org/ as6802 [6] SAE standard by TT Ethernet. URL: http://standards.sae.org/ as6802
[7] Wikipedia. Sychronisation.
[7] Wikipedia. Sychronisation.
Claims
\. Verfahren zur zeitrichtigen Zusammenführung von Ergebnissen einer Vielzahl von periodisch arbeitenden Komponenten eines verteilten Computersystems, wobei die Komponenten ausschließlich mittels Nachrichten über mindestens ein Kommunikationssystem kommunizieren, und wobei jede Komponente über eine globale Zeit mit der Präzision P verfügt, dadurch gekennzeichnet, dass jede Komponente, vorzugsweise in einem Systementwurf, eindeutig einer von n Hierarchieebenen zugeordnet wird, und wobei die Dauern der Perioden der Komponenten, die vom Fortschreiten der globalen Zeit abgeleitet werden, in einem ganzzahligen Vielfachen zueinander stehen, und wobei innerhalb jeder längsten Periode des gesamten verteilten Computersystems die Phase des Sendens jeder Nachricht mit der entsprechenden Phase des Empfangs jeder gesendeten Nachricht synchronisiert ist, auch wenn die sendenden Komponenten und die empfangenden Komponenten auf unterschiedlichen Hierarchieebenen angeordnet und räumlich verteilt sind. \. A method for time-correct merging of results of a plurality of periodic components of a distributed computer system, wherein the components communicate exclusively by means of messages via at least one communication system, and wherein each component has a global time with the precision P, characterized in that each component, preferably in a system design, is uniquely assigned to one of n hierarchical levels, and wherein the durations of the periods of the components derived from the progression of the global time are in an integer multiple, and within each longest period of the entire distributed computer system, the phase of the Sending each message is synchronized with the corresponding phase of the reception of each message sent, even if the transmitting components and the receiving components arranged on different hierarchical levels and spatially distributed s ind.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Zeitpunkt des Nachrichtentransports durch ein zeitgesteuertes Kommunikationssystem mit dem Ende der Periode der eine Nachricht sendenden Komponente synchronisiert ist. 2. The method according to claim 1, characterized in that the time of the message transport is synchronized by a time-controlled communication system with the end of the period of the message sending component.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine Komponente einer Hierarchieebene nur mit einer Komponente einer höheren Hierarchieebene kommuniziert. 3. The method of claim 1 or 2, characterized in that a component of a hierarchical level communicates only with a component of a higher hierarchical level.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass eine Komponente einer höheren Hierarchieebene Nachrichten von einer Vielzahl von Komponenten der unterlagerten Hierarchieebenen empfängt. 4. The method according to any one of claims 1 to 3, characterized in that a component of a higher hierarchical level receives messages from a plurality of components of the subordinate hierarchy levels.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das Verhalten einer Menge von hierarchisch angeordneten Komponenten, die Informationen an die nächsthöhere Hierarchieebene weiterleiten und wobei der Informationsfluss einen In-tree bildet, durch ein Simulationssystem ersetzt bzw. ersetzbar ist, welches das nach oben gerichtete Verhalten der Wurzel des In-trees ersetzt. 5. The method according to any one of claims 1 to 4, characterized in that the behavior of a set of hierarchically arranged components that forward information to the next higher hierarchical level and wherein the information flow a In-tree forms, is replaced or replaced by a simulation system that replaces the upward behavior of the root of the In-trees.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die globale Zeit mit der temps atomique international (TAI) mit einer Genauigkeit A synchronisiert ist. 6. The method according to any one of claims 1 to 5, characterized in that the global time with the temps atomique international (TAI) is synchronized with an accuracy of A.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die globale Zeit sparse ist. 7. The method according to any one of claims 1 to 6, characterized in that the global time is sparse.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass eine ausgezeichnete Periode der Reihe von möglichen Perioden die Dauer von exakt einer TAI Sekunde hat. A method according to any one of claims 1 to 7, characterized in that an excellent period of the series of possible periods has the duration of exactly one TAI second.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die von einer Komponente empfangenen und gesendeten Nachrichten über ein TTEthernet Kommunikationssystem verteilt werden. 9. The method according to any one of claims 1 to 8, characterized in that the received and sent by a component messages are distributed over a TTEthernet communication system.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass das Kommunikationssystem redundant ausgelegt ist. 10. The method according to any one of claims 1 to 9, characterized in that the communication system is designed to be redundant.
11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass zumindest eine Komponente, vorzugsweise jede Komponente eine fault-containment unit bildet. 11. The method according to any one of claims 1 to 10, characterized in that at least one component, preferably each component forms a fault-containment unit.
12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass eine Komponente entweder richtige, keine oder erkennbar falsche Nachrichten produziert. 12. The method according to any one of claims 1 to 11, characterized in that a component produces either correct, no or recognizable false news.
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass die globale Zeit fehlertolerant ist. 13. The method according to any one of claims 1 to 12, characterized in that the global time is fault-tolerant.
14. Verfahren nach der Ansprüche 1 bis 13, dadurch gekennzeichnet, dass die dynamische Veränderung von Parametern der Komponenten oder des Kommunikationssystem durch kryptographische Protokolle abgesichert ist. 14. The method according to claims 1 to 13, characterized in that the dynamic change of parameters of the components or of the communication system is secured by cryptographic protocols.
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass eine Komponente eine Wiederanlaufeinheit ist, die nach dem Erkennen eines Fehlers sofort den Wiederanlauf versucht. 15. The method according to any one of claims 1 to 14, characterized in that a component is a restart unit, which immediately tries to restart after detecting an error.
16. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass eine Komponente, die eine Nachricht empfängt, überprüft, ob der Inhalt der Nachricht der für diese Nachricht vorgesehenen dynamischen Eingabe-Zusicherung entspricht. 16. The method according to any one of claims 1 to 15, characterized in that a component which receives a message, checks whether the content of the message corresponds to the intended for this message dynamic input assurance.
17. Verfahren nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, dass das Verhalten der einzelnen Komponenten zeitrichtig beobachtet wird, ohne dabei das Zeitverhalten der Komponenten zu beeinflussen. 17. The method according to any one of claims 1 to 16, characterized in that the behavior of the individual components is observed in the correct time, without affecting the time behavior of the components.
18. Verteilte Computer Architektur zur zeitrichtigen Zusammenführung der Ergebnisse periodisch arbeitender Komponenten, insbesondere EDV-Komponenten, dadurch gekennzeichnet, dass ein oder mehrere der in den Ansprüchen 1-17 offengelegten Verfahrensschritte in einer Computerhardware bestehend aus einer oder mehreren CPUs, FPGAs oder ASICs realisiert ist. 18. Distributed computer architecture for the timely combination of the results of periodically operating components, in particular computer components, characterized in that one or more of the disclosed in claims 1-17 process steps in a computer hardware consisting of one or more CPUs, FPGAs or ASICs is realized ,
19. Verteiltes Computersystem umfassend eine Vielzahl von periodisch arbeitenden Komponenten, wobei die Komponenten ausschließlich mittels Nachrichten über mindestens ein Kommunikationssystem kommunizieren, und wobei jede Komponente über eine globale Zeit mit der Präzision P verfügt, dadurch gekennzeichnet, dass jede Komponente, vorzugsweise in einem Systementwurf, eindeutig einer von n Hierarchieebenen zugeordnet ist, und wobei die Dauern der Perioden der Komponenten, die vom Fortschreiten der globalen Zeit abgeleitet werden, in einem ganzzahligen Vielfachen zueinander stehen, und wobei innerhalb jeder längsten Periode des gesamten verteilten Computersystems die Phase des Sendens jeder Nachricht mit der entsprechenden Phase des Empfangs jeder gesendeten Nachricht synchronisiert ist, auch wenn die sendenden Komponenten und die empfangenden Komponenten auf unterschiedlichen Hierarchieebenen angeordnet und räumlich verteilt sind. 19. A distributed computer system comprising a plurality of periodically operating components, wherein the components communicate exclusively by means of messages via at least one communication system, and wherein each component has a global time with the precision P, characterized in that each component, preferably in a system design, is uniquely associated with one of n hierarchical levels, and wherein the durations of the periods of the components derived from the progression of the global time are in an integer multiple, and within each longest period of the entire distributed computer system, the phase of sending each message is synchronized to the corresponding phase of the reception of each message sent, even if the transmitting components and the receiving components are arranged on different hierarchical levels and spatially distributed.
20. Computersystem nach Anspruch 19, dadurch gekennzeichnet, dass der Zeitpunkt des Nachrichtentransports durch ein zeitgesteuertes Kommunikationssystem mit dem Ende der Periode der eine Nachricht sendenden Komponente synchronisiert ist. A computer system according to claim 19, characterized in that the time of message transport by a time-controlled communication system is synchronized with the end of the period of the message sending component.
21. Computersystem nach Anspruch 19 oder 20, dadurch gekennzeichnet, dass eine Komponente einer Hierarchieebene nur mit einer Komponente einer höheren Hierarchieebene kommuniziert. 21. Computer system according to claim 19 or 20, characterized in that a component of a hierarchy level only communicates with a component of a higher hierarchical level.
22. Computersystem nach einem der Ansprüche 19 bis 21, dadurch gekennzeichnet, dass eine Komponente einer höheren Hierarchieebene Nachrichten von einer Vielzahl von Komponenten der unterlagerten Hierarchieebenen empfängt. 22. A computer system according to any one of claims 19 to 21, characterized in that a component of a higher hierarchical level receives messages from a plurality of components of the subordinate hierarchy levels.
23. Computersystem nach einem der Ansprüche 19 bis 22, dadurch gekennzeichnet, dass das Verhalten einer Menge von hierarchisch angeordneten Komponenten, die Informationen an die nächsthöhere Hierarchieebene weiterleiten und wobei der Informationsfluss einen In-tree bildet, durch ein Simulationssystem ersetzt bzw. ersetzbar ist, welches das nach oben gerichtete Verhalten der Wurzel des In-trees ersetzt. 23. Computer system according to one of claims 19 to 22, characterized in that the behavior of a set of hierarchically arranged components, which forward information to the next higher hierarchical level and wherein the information flow forms an in-tree, is replaced or replaceable by a simulation system, which replaces the upward behavior of the root of the in-tree.
24. Computersystem nach einem der Ansprüche 19 bis 23, dadurch gekennzeichnet, dass die globale Zeit mit der temps atomique international (TAI) mit einer Genauigkeit A synchronisiert ist. 24. Computer system according to one of claims 19 to 23, characterized in that the global time is synchronized with the temps atomique international (TAI) with an accuracy of A.
25. Computersystem nach einem der Ansprüche 19 bis 24, dadurch gekennzeichnet, dass die globale Zeit sparse ist. 25. Computer system according to one of claims 19 to 24, characterized in that the global time is sparse.
26. Computersystem nach einem der Ansprüche 19 bis 25, dadurch gekennzeichnet, dass eine ausgezeichnete Periode der Reihe von möglichen Perioden die Dauer von exakt einer TAI Sekunde hat. A computer system according to any one of claims 19 to 25, characterized in that an excellent period of the series of possible periods has the duration of exactly one TAI second.
27. Computersystem nach einem der Ansprüche 19 bis 26, dadurch gekennzeichnet, dass die von einer Komponente empfangenen und gesendeten Nachrichten über ein TTEthernet Kommunikationssystem verteilt werden. 27. Computer system according to one of claims 19 to 26, characterized in that the components received and sent by a component are distributed over a TTEthernet communication system.
28. Computersystem nach einem der Ansprüche 19 bis 27, dadurch gekennzeichnet, dass das Kommunikationssystem redundant ausgelegt ist. 28. Computer system according to one of claims 19 to 27, characterized that the communication system is redundant.
29. Computersystem nach einem der Ansprüche 19 bis 28, dadurch gekennzeichnet, dass zumindest eine Komponente, vorzugsweise jede Komponente eine fault- containment unit bildet. 29. Computer system according to one of claims 19 to 28, characterized in that at least one component, preferably each component forms a fault containment unit.
30. Computersystem nach einem der Ansprüche 19 bis 29, dadurch gekennzeichnet, dass eine Komponente entweder richtige, keine oder erkennbar falsche Nachrichten produziert. 30. Computer system according to one of claims 19 to 29, characterized in that a component produces either correct, no or recognizably false messages.
31. Computersystem nach einem der Ansprüche 19 bis 30, dadurch gekennzeichnet, dass die globale Zeit fehlertolerant ist. 31. Computer system according to one of claims 19 to 30, characterized in that the global time is fault-tolerant.
32. Computersystem nach der Ansprüche 19 bis 31, dadurch gekennzeichnet, dass die dynamische Veränderung von Parametern der Komponenten oder des Kommunikationssystem durch kryptographische Protokolle abgesichert ist. 32. Computer system according to claims 19 to 31, characterized in that the dynamic change of parameters of the components or the communication system is secured by cryptographic protocols.
33. Computersystem nach einem der Ansprüche 19 bis 32, dadurch gekennzeichnet, dass eine Komponente eine Wiederanlaufeinheit ist, die nach dem Erkennen eines Fehlers sofort den Wiederanlauf versucht. 33. Computer system according to one of claims 19 to 32, characterized in that a component is a restart unit, which immediately attempts to restart after the detection of an error.
34. Computersystem nach einem der Ansprüche 19 bis 33, dadurch gekennzeichnet, dass eine Komponente, die eine Nachricht empfängt, überprüft, ob der Inhalt der Nachricht der für diese Nachricht vorgesehenen dynamischen Eingabe-Zusicherung entspricht. A computer system according to any one of claims 19 to 33, characterized in that a component receiving a message checks to see if the content of the message corresponds to the dynamic input assurance provided for that message.
35. Computersystem nach einem der Ansprüche 19 bis 34, dadurch gekennzeichnet, dass das Verhalten der einzelnen Komponenten zeitrichtig beobachtet wird, ohne dabei das Zeitverhalten der Komponenten zu beeinflussen. 35. Computer system according to one of claims 19 to 34, characterized in that the behavior of the individual components is observed in the correct time, without influencing the time behavior of the components.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AT18872011 | 2011-12-27 | ||
PCT/AT2012/050208 WO2013096986A2 (en) | 2011-12-27 | 2012-12-27 | Method for combining results of periodically operating edp components at the correct time |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2798495A2 true EP2798495A2 (en) | 2014-11-05 |
Family
ID=47678423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12822954.9A Withdrawn EP2798495A2 (en) | 2011-12-27 | 2012-12-27 | Method for combining results of periodically operating edp components at the correct time |
Country Status (3)
Country | Link |
---|---|
US (1) | US9407696B2 (en) |
EP (1) | EP2798495A2 (en) |
WO (1) | WO2013096986A2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014138765A1 (en) * | 2013-03-14 | 2014-09-18 | Fts Computertechnik Gmbh | Device and method for the autonomous control of motor vehicles |
US10241858B2 (en) | 2014-09-05 | 2019-03-26 | Tttech Computertechnik Ag | Computer system and method for safety-critical applications |
US10671382B2 (en) | 2015-06-25 | 2020-06-02 | Tttech Auto Ag | Device and method for integrating software components into a distributed time-controlled real-time system |
WO2016205841A1 (en) | 2015-06-25 | 2016-12-29 | Fts Computertechnik Gmbh | Method for debugging software components in a distributed, time-controlled real time system |
US10019292B2 (en) | 2015-12-02 | 2018-07-10 | Fts Computertechnik Gmbh | Method for executing a comprehensive real-time computer application by exchanging time-triggered messages among real-time software components |
AT519164A3 (en) * | 2016-08-16 | 2018-10-15 | Fts Computertechnik Gmbh | Fault-tolerant method and device for controlling an autonomous technical plant on the basis of a consolidated environmental model |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6748451B2 (en) * | 1998-05-26 | 2004-06-08 | Dow Global Technologies Inc. | Distributed computing environment using real-time scheduling logic and time deterministic architecture |
US7430498B2 (en) | 2004-09-07 | 2008-09-30 | The Boeing Company | System, method and computer program product for developing a system-of-systems architecture model |
KR100606083B1 (en) * | 2004-11-04 | 2006-07-31 | 삼성전자주식회사 | System and method for assigning subchannel in a broadband wireless access communication system |
EP2165507B1 (en) * | 2007-06-11 | 2011-09-07 | Fts Computertechnik Gmbh | Method and architecture for securing real-time data |
US8761084B2 (en) * | 2009-01-14 | 2014-06-24 | Synapsense Corporation | Apparatus and method for establishing data communication in a time-synchronized mesh wireless network during time synchronization failures |
-
2012
- 2012-12-27 WO PCT/AT2012/050208 patent/WO2013096986A2/en active Application Filing
- 2012-12-27 US US14/369,080 patent/US9407696B2/en active Active
- 2012-12-27 EP EP12822954.9A patent/EP2798495A2/en not_active Withdrawn
Non-Patent Citations (2)
Title |
---|
None * |
See also references of WO2013096986A2 * |
Also Published As
Publication number | Publication date |
---|---|
WO2013096986A3 (en) | 2014-05-08 |
WO2013096986A2 (en) | 2013-07-04 |
US9407696B2 (en) | 2016-08-02 |
US20150046603A1 (en) | 2015-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013096986A2 (en) | Method for combining results of periodically operating edp components at the correct time | |
EP2657797B1 (en) | Method for operating a redundant automation system | |
EP2857913B1 (en) | Redundant automation system | |
DE102005055428B4 (en) | Bus module for connection to a bus system and use of such a bus module in an AS-i bus system | |
EP1297394A1 (en) | Redundant control system and control computer and peripheral unit for said control system | |
EP1906277A1 (en) | Method for synchronising two control devices and redundant structured automation apparatus | |
EP2648100B1 (en) | Automation device with devices for processor monitoring | |
EP3176696A1 (en) | Method of realizing and executing a complex real-time application | |
EP3049932A1 (en) | Method for detecting a failure of a constituent system in a system-of-systems | |
EP2375636A1 (en) | Device and method for configuring a bus system | |
DE102016014417B4 (en) | CIRCUIT FOR MONITORING A DATA PROCESSING SYSTEM | |
EP3273352A1 (en) | Computerized system | |
EP3314412B1 (en) | Method for debugging software components in a distributed, time-controlled real time system | |
EP1484679B1 (en) | Method and system to guarantee maximum response times in complex or distributed systems , secure or unsecure systems | |
DE102017123911A1 (en) | Method and apparatus for monitoring the response time of a security function provided by a security system | |
DE102011082598A1 (en) | control arrangement | |
WO2002071223A1 (en) | Fault-tolerant computer cluster and a method for operating a cluster of this type | |
EP3469484B1 (en) | Data transmission between signal failsafe computing units | |
WO2002075992A2 (en) | System and method for introducing redundancy mechanisms into a communication system | |
DE102010038484A1 (en) | Plant controlling method, involves transmitting error signal to output modules independent of fixed transmission sequence, and transferring control signal to plant in safe state based on error signal | |
DE102016217762A1 (en) | Monitoring of safety-related functions by a non-secure arithmetic unit | |
EP4266175B1 (en) | Method for computer-assisted operation of a memory unit and execution of application programs with memory check for memory errors | |
DE102011004363B4 (en) | Control device for controlling network participants, method for operating a computer network and computer network | |
EP2592554B1 (en) | Method for optimizing the waiting time in replica-deterministic systems | |
EP3529673B1 (en) | Control of redundant processing units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20140703 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20160122 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: TTTECH COMPUTERTECHNIK AG |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20190226 |