EP3314427A1 - Vorrichtung und verfahren zur integration von softwarekomponenten in ein verteiltes zeitgesteuertes echtzeitsystem - Google Patents

Vorrichtung und verfahren zur integration von softwarekomponenten in ein verteiltes zeitgesteuertes echtzeitsystem

Info

Publication number
EP3314427A1
EP3314427A1 EP16745033.7A EP16745033A EP3314427A1 EP 3314427 A1 EP3314427 A1 EP 3314427A1 EP 16745033 A EP16745033 A EP 16745033A EP 3314427 A1 EP3314427 A1 EP 3314427A1
Authority
EP
European Patent Office
Prior art keywords
development system
target hardware
time
software components
integration
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
EP16745033.7A
Other languages
English (en)
French (fr)
Inventor
Hermann Kopetz
Stefan Poledna
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.)
Tttech Auto AG
Original Assignee
Tttech Computertechnik AG
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 Tttech Computertechnik AG filed Critical Tttech Computertechnik AG
Publication of EP3314427A1 publication Critical patent/EP3314427A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the invention relates to an apparatus for integrating software components of a distributed real-time software system executed on a target hardware and on a development system, wherein the target hardware comprises compute nodes and the development system comprises one or more computers.
  • the invention relates to a method for integrating software components of a distributed real-time software system on such a device.
  • a sauceware component is part of a software system which exchanges data and control signals with other parts of the software system (other software components) via specified interfaces.
  • a functional specification is created for each software component.
  • a functional specification of a software component describes the syntax and semantics of the input data, the output data, and the internal state of the software component, as well as the processing algorithm that determines how to compute the output data and the next inner state from the input data and the initial internal state.
  • Program development is usually done on a development system that supports convenient tools for program code testing and debugging and simulation.
  • the en- hancement system usually supports more functions than the target hardware, eg additional functions for interactive simulation of the execution of the programs.
  • target hardware is understood to mean the distributed hardware environment that is used in a planned product.
  • the software components developed separately on the development system must be ported to the target hardware, while maintaining the given real-time barriers.
  • the device is designed as an advanced development system, in which extended development system, the computer nodes of the target hardware are connected to the computers of the development system via one or more timed distributor units, the advanced development system sparse global time of known precision, and wherein the compute nodes of the target hardware are connected to the computers of the development system via the one or more timed distribution units such that the data content of a TT message template of a TT platform of the target hardware from both a simulation process of the development system can be provided on time by an operational process of the target hardware.
  • this object can also be achieved with a method mentioned in the introduction, in which the integration of the software components is realized in several phases, wherein in the first phase of the integration the TT message templates exchanged between the parallel executable software components , and by means of the TT message templates a TT platform is formed, in which the periodic transmission and reception times of each TT message template are defined, and in the following phases of the integration, the data contents of the TT message templates are first of simulation processes and later operational processes and, in a final phase of integration, the data contents of all TT message templates are provided by operational processes.
  • the activation signals for starting the software components are defined in the first phase of the system integration.
  • the TT platform monitors the specified CPU runtime of a software component on the target hardware.
  • the TT platform defines memory areas for the data structures of a software component and monitors the access of the operational processes to these memory areas.
  • a development system that is augmented by the target hardware and where messages can be exchanged between the development system and the target hardware, given given real-time bounds, is referred to as an advanced development system.
  • TT message template an abstraction of a timed message in which the following attributes of a TT message are specified: period duration, message length, message sender and message recipient. Since the concrete payload of a message template need not be present, the TT message templates can be specified once the processing times of the operational processes on the target hardware and the transport times of the TT messages exchanged on the target hardware between the software components have been determined.
  • TT platform is understood to mean a time-controlled architecture level of a distributed real-time system on which TT message templates are exchanged at predetermined periodically recurring points in time between software components. Furthermore, the TT platform provides the environment for the execution of the software components, monitors the runtime and memory accesses of the software components and produces the signals for the start of execution - the activation signals- of the software components. A signal is an event that takes place at a time.
  • a device which makes it possible to produce the data contents of TT message templates of the TT platform of the target hardware in a timely manner both from simulation processes of the development system and from operational processes of the target hardware.
  • the message content of a message template is produced in a timely manner if the message content contains the results of the preceding period and where the description of the message has been completed in time prior to the a priori specified time of sending the timed message concerned.
  • the system integration can be divided into a number of phases, with the TT platform being built on the target hardware in the first phase of system integration, and the contents of the TT message templates of this TT platform being progressively incremented first by simulation processes and then by operational ones in the following phases Processes are provided. In the final phase of system integration, the operational processes produce all the contents of the TT message templates.
  • FIG. 1 shows the structure of an exemplary extended development system
  • FIG. 2 shows the construction of a sparse global time.
  • Fig. 1 shows the structure of an extended development system. It consists of a target hardware 100 and a development system 150. These two systems are connected via a communication channel 130, on which timed messages can be transported.
  • the target hardware 100 consists of four computer nodes 101, 102, 103, 104, which can exchange timed messages with each other and with the development system 150 via the communication channel 130 via a distribution unit 110.
  • the TT platform may provide multiple partitions for executing software components from a hypervisor.
  • the development system 150 shown in FIG. 1 consists of four computers, eg personal computers, 151, 152, 153, 154, which can exchange timed messages with each other and via the communication channel 130 with the destination hardware via a time-controlled distribution unit 160.
  • Fig. 2 shows the structure of global time.
  • the abscissa 200 shows the progression of the global time.
  • the dashes on lines 201 and 202 represent the ticks of watches 201 and 202.
  • the maximum synchronization error of the corresponding ticks of two clocks of an ensemble of clocks which depends on the synchronization algorithm and the quality of the clocks, is called precision of a clock ensemble.
  • the precision in the sequence determines the granularity of a digital time base [4].
  • the digitization leads to a digitization error of the same order of magnitude as the synchronization error.
  • a sparse time base 203 is introduced in the extended development system where sparse events may only occur in intervals 210, 220, 230 and 240 and where the identifier of these intervals is the global time stamps with the integers 1, 2, 3 and 4 is made. Since the time interval of sparse events is greater than the sum of synchronization errors and digitization errors, it is possible to consistently determine the temporal order of sparse events in the distributed system based on their timestamps.
  • the distribution units 110 and 160 are parameterized in the extended development system such that the data contents of the message templates can be calculated by the simulation processes and written to the message templates of the TT platform in a timely manner. As a result, these data contents are incrementally calculated by a process of the target hardware 100, up to In the final phase of system integration, all data content of the TT platform is calculated by the operational processes executing on the target hardware 100.
  • the device described already supports the step-by-step integration of the software at a time when not all the project teams of a large project have completed their program code. If the final program code does not yet exist, the data content of a message template may be provided by a simple utility running on the development system. Such a simple utility provides data content from the allowed data area of a TT message template.
  • the present invention simplifies the complex integration of software components in a timed distributed computer system and is therefore of great economic benefit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft eine Vorrichtung zur Integration von Software-Komponenten eines verteilten Echtzeitsoftwaresystems, die auf einer Zielhardware und auf einem Entwicklungssystem ausgeführt werden, wobei die Zielhardware Rechnerknoten umfasst und das Entwicklungssystem einen oder mehrere Computer umfasst. Die Vorrichtung ist als ein erweitertes Entwicklungssystem ausgebildet, bei welchem erweiterten Entwicklungssystem die Rechnerknoten der Zielhardware mit den Computern des Entwicklungssystems über eine oder mehrere zeitgesteuerte Verteilereinheiten verbunden sind, wobei das erweiterte Entwicklungssystem eine sparse globale Zeit von bekannter Präzision hat, und wobei die Rechnerknoten der Zielhardware mit den Computern des Entwicklungssystems über die eine oder die mehreren zeitgesteuerten Verteilereinheiten derart verbunden sind, dass der Dateninhalt einer TT-Nachrichtenschablone einer TT Plattform der Zielhardware sowohl von einem Simulationsprozess des Entwicklungssystems wie auch von einem operativen Prozess der Zielhardware zeitgerecht bereit gestellt werden kann.

Description

VORRICHTUNG UND VERFAHREN ZUR INTEGRATION VON SOFTWAREKOMPONENTEN IN EIN VERTEILTES ZEITGESTEUERTES ECHTZEITSYSTEM
Die Erfindung betrifft eine Vorrichtung zur Integration von Software-Komponenten eines verteilten Echtzeitsoftwaresystems, die auf einer Zielhardware und auf einem Entwicklungssystem ausgeführt werden, wobei die Zielhardware Rechnerknoten umfasst und das Entwicklungssystem einen oder mehrere Computer umfasst.
Weiters betrifft die Erfindung ein Verfahren zur Integration von Software-Komponenten eines verteilten Echtzeitsoftwaresystems auf einer solchen Vorrichtung.
Im Rahmen des Architekturentwurfs eines großen Echtzeitsystems wird eine gegebene Aufgabenstellung in eine Anzahl von Software-Komponenten unterteilt. Eine Soßwarekomponente ist ein Teil eines Softwaresystems, der mit anderen Teilen des Softwaresystems (anderen Softwarekomponenten) über spezifizierte Schnittstellen Daten und Kontrollsignale austauscht. Im Rahmen des Architekturentwurfs wird für jede Softwarekomponente eine funktionale Spezifikation erstellt.
Eine funktionale Spezifikation einer Softwarekomponente beschreibt die Syntax und die Semantik der Eingabedaten, der Ausgabedaten und des inneren Zustandes der Softwarekomponente, sowie den Verarbeitungsalgorithmus der festlegt, wie aus den Eingabedaten und dem anfänglichen inneren Zustand die Ausgabedaten und der nächstefolgende innere Zustand zu errechnen ist.
Bei einem großen Projekt entwickeln eigenständige Projektteams aus der funktionalen Spezifikation jeder Softwarekomponente den Programmcode für die entsprechende Softwarekomponente. Die Programmentwicklung erfolgt normalerweise auf einem Entwicklungssystem, das komfortable Werkzeuge zum Testen und Debugging des Programmcodes und zur Simulation unterstützt. Um die Programmentwicklung zu erleichtern, unterstützt das Enhoicklungssystem normalerweise mehr Funktionen als die Zielhardware, z.B. zusätzliche Funktionen zur interaktiven Simulation des Ablaufs der Programme. Wir bezeichnen die Ausführung einer Softwarekomponente auf dem Entwicklungssystem, z.B. auf einem Personal Computer des Entwicklungssystems, als Simulationsprozess.
Die endgültigen Versionen der Softwarekomponenten kommen auf der Zielhardware zum Einsatz. Unter dem Begriff Zielhardware wird die verteilte Hardwareumgebung, die in einem geplanten Produkt zum Einsatz kommt, verstanden.
Wir bezeichnen die Ausführung einer Softwarekomponente auf der Zielhardware als operativen Prozess. In einem Echtzeitsystem müssen die operativen Prozesse nicht nur die Vorgaben der funktionalen Spezifikationen sondern auch die durch die Aufgabenstellung vorgegebenen Echtzeitschranken erfüllen. Die Verarbeitungsdauer eines operativen Prozesses auf der Zielhardware hängt von der Leistungsfähigkeit dieser Hardware ab.
Im Rahmen der Systemintegration müssen die auf dem Entwicklungssystem getrennt entwickelten Softwarekomponenten auf die Zielhardware portiert werden, wobei die gegebenen Echtzeitschranken einzuhalten sind.
Es ist eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung zur Integration der Softwarekomponenten von einem Entwicklungssystem auf die Zielhardware sowie ein entsprechendes Verfahren anzugeben, wie diese Integration der Softwarekomponenten auf der Zielhardware schrittweise realisiert werden kann.
Diese Aufgabe wird mit einer eingangs erwähnten Vorrichtung dadurch gelöst, dass erfindungsgemäß die Vorrichtung als ein erweitertes Entwicklungssystem ausgebildet ist, bei welchem erweiterten Entwicklungssystem die Rechnerknoten der Zielhardware mit den Computern des Entwicklungssystems über eine oder mehrere zeitgesteuerte Verteilereinheiten verbunden sind, wobei das erweiterte Entwicklungssystem eine sparse globale Zeit von bekannter Präzision hat, und wobei die Rechnerknoten der Zielhardware mit den Computern des Entwicklungssystems über die eine oder die mehreren zeitgesteuerten Verteilereinheiten derart verbunden sind, dass der Dateninhalt einer TT- Nachrichtenschablone einer TT Plattform der Zielhardware sowohl von einem Simulationsprozess des Entwicklungssystems wie auch von einem operativen Prozess der Zielhardware zeitgerecht bereit gestellt werden kann. Weiters kann vorteilhafter Weise diese Aufgabe auch mit einem eingangs erwähnten Verfahren gelöst, bei welchem die Integration der Software-Komponenten in mehreren Phasen realisiert wird, wobei in der ersten Phase der Integration die TT- Nachrichtenschablonen, die zwischen den parallel ablauffähigen Software-Komponenten ausgetauscht werden, spezifiziert werden und mittels der TT-Nachrichtenschablonen eine TT-Plattform gebildet wird, in der die periodischen Sende- und Empfangszeitpunkte jeder TT-Nachrichtenschablone festgelegt sind, und wobei in den folgenden Phasen der Integration die Dateninhalte der TT-Nachrichtenschablonen zuerst von Simulationsprozessen und später von operativen Prozessen bereit gestellt werden, und wobei in einer finalen Phase der Integration die Dateninhalte aller TT- Nachrichtenschablonen von operativen Prozessen bereit gestellt werden.
Von Vorteil kann es sein, wenn in der ersten Phase der System-Integration die Aktivierungssignale zum Start der Software-Komponenten festgelegt werden.
Es kann vorgesehen sein, dass die TT-Plattform die festgelegte CPU Laufzeit einer Software- Komponente auf der Zielhardware überwacht.
Es kann zweckmäßig sein, wenn die TT-Plattform Speicherbereiche für die Datenstrukturen einer Software-Komponente festlegt und den Zugriff der operativen Prozesse auf diese Speicherbereiche überwacht.
Ein Entwicklungssystem, das um die Zielhardware erweitert wird und wo Nachrichten zwischen dem Entwicklungssystem und der Zielhardware unter Einhaltung gegebener Echtzeitschranken ausgetauscht werden können, wird als erweitertes Entwicklungssystem bezeichnet.
In einem zeitgesteuerten Echtzeitsystem werden die Softwarekomponenten periodisch aktiviert, wobei der Datenfluss zwischen den Softwarekomponenten mit periodischen zeitgesteuerten TT-Nachrichten (TT, „time-triggered") realisiert wird. In [1] wird der Aufbau eines solchen periodischen Systems beschrieben und es wird erklärt, wie die Verarbeitungsdauer eines operativen Prozesses auf der Zielhardware und die Transportzeiten der TT-Nachrichten, die auf der Zielhardware zwischen den Softwarekomponenten ausgetauscht werden, ermittelt werden können. Wir bezeichnen als TT -Nachrichtenschablone eine Abstraktion einer zeitgesteuerten Nachricht, in der folgende Attribute einer TT-Nachricht spezifiziert sind: Periodendauer, Nachrichtenlänge, Nachrichtensender und Nachrichtenempfänger. Da die konkreten Nutzdaten einer Nachrichtenschablone nicht vorhanden sein müssen, können die TT- Nachrichtenschablonen spezifiziert werden, sobald die Verarbeitungsdauern der operativen Prozesse auf der Zielhardware und die Transportzeiten der TT-Nachrichten, die auf der Zielhardware zwischen den Softwarekomponenten ausgetauscht werden, festgelegt wurden.
Unter dem Begriff TT-Plattform wird eine zeitgesteuerte Architekturebene eines verteilten Echtzeitsystems verstanden, auf der TT-Nachrichtenschablonen zu vorgegebenen periodisch wiederkehrenden Zeitpunkten zwischen Software-Komponenten ausgetauscht werden. Im Weiteren stellt die TT Plattform die Umgebung für die Ausführung der Software Komponenten zur Verfügung, überwacht die Laufzeit und die Speicherzugriffe der Softwarekomponenten und produziert die Signale für den Start der Ausführung— die Aktivierungssignale— der Software- Komponenten. Ein Signal ist ein Ereignis, das zu einem Zeitpunkt stattfindet.
Es wird eine Vorrichtung beschrieben, die es ermöglicht, die Dateninhalte von TT- Nachrichtenschablonen der TT Plattform der Zielhardware sowohl von Simulationsprozessen des Entwicklungssystems wie auch von operativen Prozessen der Zielhardware zeitgerecht zu produzieren. Der Nachrichteninhalt einer Nachrichtenschablone wird zeitgerecht produziert, wenn der Nachrichteninhalt die Ergebnisse der vorgelagerten Periode enthält und wo das Beschreiben der Nachricht zeitlich vor dem a priori festgelegten Zeitpunkt des Sendens der betroffenen zeitgesteuerten Nachricht abgeschlossen wurde.
Um die Relation zeitlich vor im erweiterten Entwicklungssystem eindeutig und systemweit konsistent herstellen zu können, ist der Aufbau einer globalen sparse Zeit im erweiterten Entwicklungssystem erforderlich. Ereignisse, die zeitlich in Relation gesetzt werden, z.B. die Fertigstellung des Schreiben des Nachrichteninhalts und der Sendezeitpunkt der betroffenen Nachricht, dürfen nur mit dem Zeitstempel des aktiven Intervalls der sparse Zeit gekennzeichnet werden. Die Dauer der aktiven und passiven Intervalle der sparse Zeit wird durch die Präzision der Uhrensynchronisation bestimmt [4]. Ein Ereignis A ist dann und nur dann zeitlich vor dem Ereignis B, wenn gilt (globaler sparse Zeitstempel von A) < (globaler sparse Zeitstempel von B).
Die Systemintegration kann in eine Anzahl von Phasen unterteilt, wobei in der ersten Phase der Systemintegration die TT-Plattform auf der Zielhardware aufgebaut wird und in den folgenden Phasen die Inhalte der TT-Nachrichtenschablonen dieser TT Plattform schrittweise zuerst von Simulationsprozessen und in der Folge von operativen Prozessen bereit gestellt werden. In der finalen Phase der Systemintegration produzieren die operativen Prozesse alle Inhalte der TT-Nachrichtenschablonen.
Im Folgenden wird die Erfindung an Hand der Zeichnung näher erläutert. In dieser zeigt Fig. 1 die Struktur eines beispielhaften erweiterten Entwicklungssystems, und Fig. 2 den Aufbau einer sparse globalen Zeit.
Das folgende konkrete Beispiel behandelt eine der vielen möglichen Realisierungen der vorliegenden Erfindung.
In Fig. 1 ist die Struktur eines erweiterten Entwicklungssystems dargestellt. Es besteht aus einer Zielhardware 100 und einem Entwicklungssystem 150. Diese beiden Systeme sind über einen Kommunikationskanal 130, auf dem zeitgesteuerte Nachrichten transportiert werden können, verbunden.
In Fig. 1 besteht die Zielhardware 100 aus vier Rechnerknoten 101, 102, 103, 104, die über eine Verteilereinheit 110 untereinander und mit dem Entwicklungssystem 150 über den Kommunikationskanal 130 zeitgesteuerte Nachrichten austauschen können. In einem Rechnerknoten, z.B. im Rechnerknoten 101, können von der TT Plattform von einem Hypervisor mehrere Partitionen zur Ausführung von Softwarekomponenten bereit gestellt werden.
Das in Fig. 1 dargestellte Entwicklungssystem 150 besteht aus vier Rechnern, z.B. Personal Computern, 151, 152, 153, 154, die über eine zeitgesteuerte Verteilereinheit 160 untereinander und über den Kommunikationskanal 130 mit der Zielhardware zeitgesteuerte Nachrichten austauschen können. Fig. 2 zeigt die Struktur der globalen Zeit. Auf der Abszisse 200 ist das Fortschreiten der globalen Zeit dargestellt. Die Querstriche auf den Linien 201 und 202 stellen die Ticks der Uhren 201 und 202 dar.
Es ist prinzipiell unmöglich, Uhren in einem verteilten System exakt zu synchronisieren. Daher können die entsprechenden Ticks von synchronisierten Uhren, die in Fig. 2 durch strichlierte Linien verbunden sind, voneinander abweichen. Diese Abweichung bezeichnet man als Synchronisationsfehler. Den maximalen Synchronisationsfehler der entsprechenden Ticks zweier Uhren eines Ensembles von Uhren, der vom Synchronisationsalgorithmus und der Qualität der Uhren abhängt, bezeichnet man als Präzision eines Uhrenensembles. Die Präzision bestimmt in der Folge die Granularität einer digitalen Zeitbasis [4]. Die Digitalisierung führt zu einem Digitalisierungsfehler, der die gleiche Größenordnung hat wie der Synchronisationsfehler.
Aufgrund des Synchronisationsfehlers und des Digitalisierungsfehlers ist es möglich, dass das Ereignis 260, das vor dem Ereignis 261 auftritt und von der Uhr 201 den Zeitstempel 1.1 zugewiesen erhält, einen späteren Zeitstempel aufweist als das Ereignis 261, das von der Uhr 202 beobachtet wird und den Zeitstempel 1.0 erhält. Da 1.1 > 1.0 gilt, wird aufgrund der Zeitstempel fälschlicher Weise angenommen, dass das Ereignis 260 nach dem Ereignis 261 aufgetreten ist.
Um diese Inkonsistenz zu vermeiden, wird in dem erweiterten Entwicklungssystem eine sparse Zeitbasis 203 eingeführt, wo sparse Ereignisse nur in den Intervallen 210, 220, 230 und 240 auftreten dürfen und wo die Kennung dieser Intervalle— die globalen Zeitstempel— mit den ganzen Zahlen 1, 2, 3 und 4 vorgenommen wird. Da der zeitliche Abstand von sparse Ereignissen grösser ist als die Summe von Synchronisationsfehler und Digitalisierungsfehler, ist es möglich, die temporale Ordnung von sparse Ereignissen im verteilten System konsistent auf der Basis ihrer Zeitstempel zu bestimmen.
Nach dem Aufbau der TT Plattform werden in der ersten Phase die Verteilereinheiten 110 und 160 in dem erweiterten Entwicklungssystem derart parametrisiert, dass die Dateninhalte der Nachrichtenschablonen von den Simulationsprozessen errechnet und zeitgerecht in die Nachrichtenschablonen der TT Plattform geschrieben werden können. In der Folge werden diese Dateninhalte schrittweise von einem Prozess der Zielhardware 100 berechnet, bis in der finalen Phase der Systemintegration alle Dateninhalte der TT Plattform von den auf der Zielhardware 100 exekutierenden operativen Prozesse errechnet werden.
Die beschriebene Vorrichtung unterstützt die schrittweise Integration der Software bereits zu einem Zeitpunkt, zu dem nicht alle Projektteams eines großen Projekts ihren Programmcode fertiggestellt haben. Wenn der endgültige Programmcode noch nicht vorhanden ist, kann der Dateninhalt einer Nachrichtenschablone von einem einfachen Hilfsprogramm, das auf dem Entwicklungssystem ausgeführt wird, bereitgestellt werden. Ein solches einfaches Hilfsprogramm stellt Dateninhalte aus dem erlaubten Datenbereich einer TT- Nachrichtenschablone zur Verfügung.
Die vorliegende Erfindung vereinfacht die aufwendige Integration von Softwarekomponenten in einem zeitgesteuerten verteilten Computersystem und ist daher von großem wirtschaftlichen Nutzen.
Zitierte Literatur:
[1] PCT Anmeldung PCT/AT2015/ 050055 der Firma FTS Computertechnik GMBH v. 3.3.2015: Verfahren zur verteilten Entwicklung von Prozessprogrammen eines verteilten Echtzeitsoftwaresystems auf einer verteilten Entwicklungshardware.
[2] US Patent 7937500. Fletcher et al.. Dynamic Real-Time Integration of Software Resources through Serices of a Content Framezoork. Granted May 3, 20111
[3] US Pat. Application 20030140333. Odaka et al.. Integration of Computer System Components. Published July 24, 2003.
[4] Kopetz, H.. Real-time Systems-Design Principles for Distributed Embedded Applications. Springer Verlag, 2011.
[5] Wilhelm, R. et al. (2008). The Worst-Case Execution Time Problem— Overview of Methods and Survey of Tools. ACM Trans, on Embedded Computer Systems, Vol. 7(3). (pp. 1-53).

Claims

PATENTANSPRÜCHE
1. Vorrichtung zur Integration von Software-Komponenten eines verteilten Echtzeitsoftwaresystems, die auf einer Zielhardware und auf einem Entwicklungssystem ausgeführt werden, wobei die Zielhardware Rechnerknoten umfasst und das Entwicklungssystem einen oder mehrere Computer umfasst, dadurch gekennzeichnet, dass die Vorrichtung als ein erweitertes Entwicklungssystem ausgebildet ist, bei welchem erweiterten Entwicklungssystem die Rechnerknoten der Zielhardware mit den Computern des Entwicklungssystems über eine oder mehrere zeitgesteuerte Verteilereinheiten verbunden sind, wobei das erweiterte Entwicklungssystem eine sparse globale Zeit von bekannter Präzision hat, und wobei die Rechnerknoten der Zielhardware mit den Computern des Entwicklungssystems über die eine oder die mehreren zeitgesteuerten Verteilereinheiten derart verbunden sind, dass der Dateninhalt einer TT-Nachrichtenschablone einer TT Plattform der Zielhardware sowohl von einem Simulationsprozess des Entwicklungssystems wie auch von einem operativen Prozess der Zielhardware zeitgerecht bereit gestellt werden kann.
2. Verfahren zur Integration von Software-Komponenten eines verteilten Echtzeitsoftwaresystems auf einer Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Integration der Software-Komponenten in mehreren Phasen realisiert wird, wobei in der ersten Phase der Integration die TT-Nachrichtenschablonen, die zwischen den parallel ablauffähigen Software-Komponenten ausgetauscht werden, spezifiziert werden und mittels der TT-Nachrichtenschablonen eine TT-Plattform gebildet wird, in der die periodischen Sende- und Empfangszeitpunkte jeder TT-Nachrichtenschablone festgelegt sind, und wobei in den folgenden Phasen der Integration die Dateninhalte der TT-Nachrichtenschablonen zuerst von Simulationsprozessen und später von operativen Prozessen bereit gestellt werden, und wobei in einer finalen Phase der Integration die Dateninhalte aller TT- Nachrichtenschablonen von operativen Prozessen bereit gestellt werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass in der ersten Phase der System-Integration die Aktivierungssignale zum Start der Software-Komponenten festgelegt werden.
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass die TT-Plattform die festgelegte CPU Laufzeit einer Software-Komponente auf der Zielhardware überwacht.
5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass die TT- Plattform Speicherbereiche für die Datenstrukturen einer Software-Komponente festlegt und den Zugriff der operativen Prozesse auf diese Speicherbereiche überwacht.
EP16745033.7A 2015-06-25 2016-06-16 Vorrichtung und verfahren zur integration von softwarekomponenten in ein verteiltes zeitgesteuertes echtzeitsystem Withdrawn EP3314427A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AT505492015 2015-06-25
PCT/AT2016/050208 WO2016205842A1 (de) 2015-06-25 2016-06-16 Vorrichtung und verfahren zur integration von softwarekomponenten in ein verteiltes zeitgesteuertes echtzeitsystem

Publications (1)

Publication Number Publication Date
EP3314427A1 true EP3314427A1 (de) 2018-05-02

Family

ID=56555140

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16745033.7A Withdrawn EP3314427A1 (de) 2015-06-25 2016-06-16 Vorrichtung und verfahren zur integration von softwarekomponenten in ein verteiltes zeitgesteuertes echtzeitsystem

Country Status (3)

Country Link
US (1) US10671382B2 (de)
EP (1) EP3314427A1 (de)
WO (1) WO2016205842A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829378B (zh) * 2018-05-24 2022-06-21 北京顺丰同城科技有限公司 一种应用软件的开发方法、装置及电子设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021457A (en) * 1995-09-28 2000-02-01 Intel Corporation Method and an apparatus for minimizing perturbation while monitoring parallel applications
US7334216B2 (en) * 2000-04-04 2008-02-19 Sosy, Inc. Method and apparatus for automatic generation of information system user interfaces
EP1280024B1 (de) * 2001-07-26 2009-04-01 Freescale Semiconductor, Inc. Uhrensynchronisation in einem verteilten System
EP1388792A1 (de) * 2001-09-05 2004-02-11 Matsushita Electric Industrial Co., Ltd. Synchronisationsnachrichtenverarbeitungsverfahren
US7343428B2 (en) 2001-09-19 2008-03-11 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US20030140333A1 (en) 2001-12-20 2003-07-24 Hitachi, Ltd. Integration of computer system components
US8245239B2 (en) * 2005-07-06 2012-08-14 Honeywell International Inc. Deterministic runtime execution environment and method
JP2009524952A (ja) * 2006-01-27 2009-07-02 エフテーエス コンピューターテヒニク ゲゼルシャフト ミット ベシュレンクテル ハフツング 時間制御型のセキュアな通信
US8015323B2 (en) * 2006-02-28 2011-09-06 Infineon Technologies Ag Acquisition of data and autonomous transfer of data through communication interface in automotive system
US7787486B2 (en) * 2006-11-13 2010-08-31 Honeywell International Inc. Method and system for achieving low jitter in real-time switched networks
EP2421221B1 (de) 2007-06-11 2013-10-23 FTS Computertechnik GmbH Verfahren und Architekur zur Sicherung von Echtzeitdaten
US7937360B2 (en) * 2008-02-25 2011-05-03 International Business Machines Corporation Transferring messages to a directory
US7930041B2 (en) * 2008-09-29 2011-04-19 Rockwell Automation Technologies, Inc. Industrial controller with coordination of network transmissions using global clock
US9213551B2 (en) * 2011-03-11 2015-12-15 Oracle International Corporation Return address prediction in multithreaded processors
US8914794B2 (en) * 2011-06-30 2014-12-16 Rockwell Automation Technologies, Inc. Multiple deployment of applications with multiple configurations in an industrial automation environment
AT512290B1 (de) 2011-12-19 2013-07-15 Fts Computertechnik Gmbh Verfahren zur zeitrichtigen beobachtung von ttethernet nachrichten
EP2798495A2 (de) 2011-12-27 2014-11-05 FTS Computertechnik GmbH Verfahren zur zeitrichtigen zusammenführung von ergebnissen von periodisch arbeitenden edv-komponenten
WO2013155548A1 (de) 2012-04-19 2013-10-24 Fts Computertechnik Gmbh Verfahren und vorrichtung zur konsistenten änderung der zeitpläne in einer zeitgesteuerten vermittlung
US8826072B2 (en) * 2012-05-09 2014-09-02 Imec Method and system for real-time error mitigation
EP2936775B1 (de) 2012-12-18 2016-11-02 FTS Computertechnik GmbH Verfahren zur erhöhung der sicherheit in einem verteilten echtzeitsystem sowie echtzeitsystem
US20140331209A1 (en) * 2013-05-02 2014-11-06 Amazon Technologies, Inc. Program Testing Service
AT514444A2 (de) 2013-06-24 2015-01-15 Fts Computertechnik Gmbh Verfahren und Vorrichtung zur zeitrichtigen Datenübergabe an die zyklischen Tasks in einem verteilten Echtzeitsystem
AT514714A1 (de) * 2013-09-04 2015-03-15 Fts Computertechnik Gmbh Verfahren zur Übertragung von Nachrichten in einem Computernetzwerk sowie Computernetzwerk
US9332072B2 (en) * 2014-02-20 2016-05-03 Cisco Technology, Inc. Maintaining distribution-network-wide time synchronization in smart grid devices
EP3114536B1 (de) 2014-03-05 2022-01-05 TTTech Auto AG Vorrichtung und verfahren zur verteilten entwicklung von prozessprogrammen eines verteilten echtzeitsystems auf einer verteilten entwicklungshardware

Also Published As

Publication number Publication date
US20180165089A1 (en) 2018-06-14
US10671382B2 (en) 2020-06-02
WO2016205842A1 (de) 2016-12-29

Similar Documents

Publication Publication Date Title
DE3854935T2 (de) Verfahren und Gerät zur Simulation von begrenzten verteilten diskreten Ereignissen
EP3014438B1 (de) Verfahren und vorrichtung zur zeitrichtigen datenübergabe an die zyklischen tasks in einem verteilten echtzeitsystem
DE112013000758T5 (de) Erzeugen von Taktsignalen für einen zyklusgenauen, zyklusreproduzierbaren FPGA-gestützten Hardware-Beschleuniger
LU93299B1 (de) Ablaufsteuerung von Programmmodulen
EP3382629A1 (de) Verfahren und zeitgeber zum bereitstellen von sicherheitsgeschützten zeitangaben
EP3176696A1 (de) Verfahren zur realisierung und zum ausführen einer umfangreichen echtzeitcomputeranwendung
WO2018054465A1 (de) Verfahren und vorrichtungen zur synchronisierten simulation und emulation von automatisierten produktionsanlagen
EP2798495A2 (de) Verfahren zur zeitrichtigen zusammenführung von ergebnissen von periodisch arbeitenden edv-komponenten
EP1639758B1 (de) Verfahren und vorrichtung zum austausch von daten über ein bussystem
EP2801174A1 (de) Verfahren und vorrichtung zur konsistenten änderung der zeitpläne in einer zeitgesteuerten vermittlung
EP3314427A1 (de) Vorrichtung und verfahren zur integration von softwarekomponenten in ein verteiltes zeitgesteuertes echtzeitsystem
EP3314412B1 (de) Verfahren zum debugging von softwarekomponenten in einem verteilten zeitgesteuerten echtzeitsystem
DE102008019287B4 (de) Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks
DE10104926B4 (de) Verfahren zur parallelen Simulation von Mobilfunknetzen
EP2592554B1 (de) Verfahren zur Optimierung der Wartezeit in replika-deterministischen Systemen
DE102016105384A1 (de) Nutzen eines Prozessors mit einem Fehler der Tageszeituhr
DE102020100215A1 (de) Gleichzeitige Profilbereitstellungen
EP1894066A1 (de) Speicherprogrammierbare steuerung
DE112018007890T5 (de) Kommunikationsvorrichtung, kommunikationssystem, kommunikationsverfahren und kommunikationsprogramm
DE60035644T2 (de) Ablauffolgeplanung der nicht ganzzahligen Simulationszeit für mixed-signal Simulation
DE102008002785A1 (de) Event-Router-Scheduler-Modul für die eventbasierte Verbindung und Synchronisation funktioneller Module in serviceorientierten Komponenten, Geräten und unterstützenden Anwendungen
EP3669278A1 (de) Verfahren und vorrichtung zum rückwirkungsfreien und integritätsgeschützten synchronisieren von log-daten
DE102013209915A1 (de) Verfahren und Vorrichtung zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung eines Rechnersystems
DE102016121542A1 (de) Ablaufsteuerung von Programmmodulen
DE102007002312A1 (de) Restbussimulation

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

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

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20180102

AK Designated contracting states

Kind code of ref document: A1

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

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: TTTECH AUTO AG

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20210514

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