DE10057651C2 - Process for the production of computerized real-time systems - Google Patents

Process for the production of computerized real-time systems

Info

Publication number
DE10057651C2
DE10057651C2 DE10057651A DE10057651A DE10057651C2 DE 10057651 C2 DE10057651 C2 DE 10057651C2 DE 10057651 A DE10057651 A DE 10057651A DE 10057651 A DE10057651 A DE 10057651A DE 10057651 C2 DE10057651 C2 DE 10057651C2
Authority
DE
Germany
Prior art keywords
clock
time
sec
real
data
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.)
Expired - Lifetime
Application number
DE10057651A
Other languages
German (de)
Other versions
DE10057651A1 (en
Inventor
Ralf Muenzenberger
Frank Slomka
Matthias Doerfel
Oliver Bringmann
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.)
Inchron 14482 Potsdam De GmbH
Original Assignee
Friedrich Alexander Univeritaet Erlangen Nuernberg FAU
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 Friedrich Alexander Univeritaet Erlangen Nuernberg FAU filed Critical Friedrich Alexander Univeritaet Erlangen Nuernberg FAU
Priority to DE10057651A priority Critical patent/DE10057651C2/en
Priority to AU2001289575A priority patent/AU2001289575A1/en
Priority to US10/363,635 priority patent/US7085198B2/en
Priority to PCT/DE2001/003349 priority patent/WO2002021261A2/en
Priority to EP01969264A priority patent/EP1325410A2/en
Priority to JP2002524810A priority patent/JP4752005B2/en
Publication of DE10057651A1 publication Critical patent/DE10057651A1/en
Application granted granted Critical
Publication of DE10057651C2 publication Critical patent/DE10057651C2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Description

Die Erfindung betrifft ein Verfahren zur Herstellung von com­ putergestützten Echtzeitsystemen mit mindestens einer Verar­ beitungseinheit.The invention relates to a method for producing com computer-based real-time systems with at least one processor beitungseinheit.

Unter Echtzeitsystemen werden allgemein Systeme verstanden, die zu einem vorgegebenen Zeitpunkt und/oder nach Ablauf ei­ ner vorgegebenen Zeitspanne ein bestimmtes Rechenergebnis liefern müssen. Z. B. beträgt der Zeitaufwand zur Umwandlung von Sprache in digitale Signale sowie deren Übertragung und die anschließende Rückumwandlung der digitalen Signale in ein analoges Tonsignal etwa 250 ms, d. h. die Kommunikation via mobiler Telefongeräte erfolgt mit einer Zeitverzögerung von 250 ms. Wenn die Zeitverzögerung größer als 250 ms ist, dann ist die übertragene Sprache nicht mehr verständlich.Real-time systems are generally understood to be systems the egg at a predetermined time and / or after expiration a certain calculation result within a predetermined period of time have to deliver. For example, the time it takes to convert from speech to digital signals and their transmission and the subsequent reconversion of the digital signals into one analog audio signal about 250 ms, d. H. communication via mobile telephones are delayed by 250 ms. If the time delay is greater than 250 ms, then the transmitted language is no longer understandable.

Computergestützte Echtzeitsysteme mit mehreren Verarbeitungs­ einheiten, sogenannte verteilte Echtzeitsysteme, sind nach dem Stand der Technik weit verbreitet. z. B. handelt es sich bei mobilen Telefonen, deren Vermittlungsanlagen und Netzen um ein solches verteiltes Echtzeitsystem.Computerized real-time systems with multiple processing units, so-called distributed real-time systems, are based on widely used in the prior art. z. B. it is for mobile phones, their switching systems and networks such a distributed real-time system.

Ein verteiltes Echtzeitsystem kann aus mehreren Verarbei­ tungseinheiten bestehen. Es kann sich um Bestandteile ein und derselben Vorrichtung handeln. Es kann aber auch sein, daß Verarbeitungseinheiten, wie z. B. ein mobiles Telefon und eine Vermittlungsanlage, räumlich voneinander getrennt sind. A distributed real-time system can consist of several processes units exist. It can be an ingredient and act on the same device. But it may also be that Processing units such as B. a mobile phone and a Switching system, are spatially separated from each other.  

Die Herstellung verteilter Echtzeitsysteme erfolgt auf der Grundlage abstrakter Spezifikationen, wie z. B. der unter der Abkürzung "SDL" bekannten "Specification and Description Lan­ guage" (ITU-T. Z.100, Appendix I.ITU, SDL Methodology Guideli­ nes, ITU, 1993). SDL beruht auf dem technischen Prinzip, daß jeder Verarbeitungseinheit bzw. jedem Prozeß eine Warte­ schlange zugeordnet ist. Es ist zwingend erforderlich, daß der üblicherweise über einen Bus erfolgende Datenaustausch bzw. die Kommunikation zwischen den Verarbeitungseinheiten ausschließlich über die Warteschlange erfolgt, wobei sämtli­ che Prozesse parallel laufen.Distributed real-time systems are manufactured at the Basis of abstract specifications, such as B. the under Abbreviation "SDL" known "Specification and Description Lan guage "(ITU-T. Z.100, Appendix I. ITU, SDL Methodology Guideli nes, ITU, 1993). SDL is based on the technical principle that a control room for each processing unit or process snake is assigned. It is imperative that the data exchange that usually takes place via a bus or the communication between the processing units done exclusively via the queue, whereby all processes run in parallel.

Zur Korrelation des Datenaustauschs ist jeder Verarbeitungs­ einheit außerdem mindestens ein sogenanntes Timer-Modul zuge­ ordnet. Dabei handelt es sich um einen numerischen Zähler. Dessen Zählperiode ist nicht normiert; sie kann vom Prozes­ sortakt abgeleitet sein. Sie ist abhängig von der jeweils ge­ wählten Hardware und/oder vom jeweiligen Programm. Dadurch bedingt ist es bisher nicht zuverlässig möglich, eine ab­ strakte Spezifikation von Hard- und Software der echtzeitab­ hängigen Schichten eines Kommunikationssystems automatisch zu implementieren. Die Implementationen sind entweder zu langsam oder sie erfüllen nicht die zeitlichen Randbedingungen. Um diesem Nachteil entgegenzuwirken, wird die Hardware mit Hilfe von Schaltplänen oder mittels Hardwarebeschreibungssprachen spezifiziert und dann implementiert. Die Software wird meist mittels Programmiersprachen implementiert. Das bekannte Ver­ fahren ist Zeit- und kostenaufwendig und fehleranfällig.Every processing is necessary to correlate the data exchange unit also at least one so-called timer module assigns. It is a numerical counter. Its counting period is not standardized; it can from the process be derived from the It depends on the ge chose hardware and / or the respective program. Thereby conditionally, it has so far not been reliably possible to start one strict specification of hardware and software from real time dependent layers of a communication system automatically to implement. The implementations are either too slow or they do not meet the time constraints. Around To counteract this disadvantage, the hardware will help of circuit diagrams or by means of hardware description languages specified and then implemented. The software is mostly implemented using programming languages. The well-known Ver Driving is time-consuming, costly and prone to errors.

Aufgabe der Erfindung ist es, die Nachteile nach dem Stand der Technik zu beseitigen. Es soll insbesondere ein Verfahren angegeben werden, mit dem Echtzeitsysteme einfach, rasch und kostengünstig herstellbar sind. Weiteres Ziel der Erfindung ist es, Fehler bei der Herstellung von Echtzeitsystemen zu vermeiden.The object of the invention is to overcome the disadvantages of the prior art of technology to eliminate. In particular, it is supposed to be a procedure be specified with the real-time systems simply, quickly and are inexpensive to manufacture. Another object of the invention  is to make mistakes in the manufacture of real-time systems avoid.

Diese Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst. Zweckmäßige Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche 2 bis 9.This object is solved by the features of claim 1. Appropriate configurations result from the features of claims 2 to 9.

Nach Maßgabe der Erfindung ist ein Verfahren zur Herstellung eines computergestützten Echtzeitsystems mit mindestens einer Verarbeitungseinheit vorgesehen,
wobei ein Datenaustausch zwischen der Verarbeitungseinheit und der Umgebung oder einer oder mehreren weiteren Verarbei­ tungseinheiten synchron oder asynchron durchgeführt wird, und
wobei zur Korrelation des Datenaustauschs der Verarbeitungs­ einheit mindestens eine reale Uhr zugeordnet wird, welche durch folgende Beziehung definiert ist.
According to the invention, a method for producing a computer-based real-time system with at least one processing unit is provided,
wherein a data exchange between the processing unit and the environment or one or more further processing units is carried out synchronously or asynchronously, and
wherein for correlating the data exchange of the processing unit at least one real clock is assigned, which is defined by the following relationship.

wobei
Rv: Wertebereich, RvR + in [sec],
Gr: Granularität, GrR + in [sec],
wobei Gr und Rv auf den kleinsten auftretenden Wert normiert sind,
T: Taktperiode, TR + in [sec],
wobei
in which
R v : range of values, R vR + in [sec],
G r : granularity, G rR + in [sec],
where G r and R v are normalized to the smallest occurring value,
T: cycle period, TR + in [sec],
in which

Cc(t) = [1 + g].Ci(t) + G(p, t) + So, wobei Cc(t) ∈ R in [sec]
C c (t) = [1 + g] .C i (t) + G (p , t) + S o , where C c (t) ∈ R in [sec]

Ci(t) = t; t ∈ R in [sec],
C i (t) = t; t ∈ R in [sec],

g: Genauigkeit der Uhr, g ∈ R, z. B. die Quarzgenauigkeit in ppm.
g(p, t): Genauigkeitsänderung der Uhr über der Zeit in Ab­ hängigkeit von physikalischen Größen, dargestellt durch den Vektor p, z. B. der Temperatur, g(p, t) ∈ R
g: accuracy of the clock, g ∈ R , z. B. the quartz accuracy in ppm.
g (p , t): Accuracy change of the clock over time as a function of physical quantities, represented by the vector p , z. B. the temperature, g (p , t) ∈ R

als wirksame Genauigkeitsänderung in einem Zeitintervall (t2 - t1) G(p, t) ∈ R in [sec]
So: Startoffset, SoR in [sec].
as an effective change in accuracy in a time interval (t 2 - t 1 ) G (p , t) ∈ R in [sec]
S o : Start offset, S oR in [sec].

Das erfindungsgemäße Verfahren ermöglicht es, Daten, Datenpa­ kete oder Datenströme mit einer von der Systemlogik unabhän­ gigen Zeitmarke zu markieren. Das eröffnet völlig neue Frei­ heiten in der Spezifikation, insbesondere von verteilten Echtzeitsystemen. Mit einer nach dem erfindungsgemäßen Ver­ fahren hergestellten Spezifikation entfallen die Implementie­ rungsprobleme nach dem Stand der Technik. Es kann bereits bei der Analyse des funktionalen und zeitlichen Verhaltens sowie der nachfolgenden Spezifikation die reale Zeit berücksichtigt werden. Das vorgeschlagene Verfahren ermöglicht die Angabe eines universellen Entwurfsmusters, welches sich für die Her­ stellung, insbesondere von verteilten Echtzeitsystemen in den unterschiedlichsten Anwendungsbereichen eignet. Die mit dem erfindungsgemäßen Verfahren mögliche formale Berücksichtigung von Zeitanforderungen ermöglicht es außerdem, die echtzeitab­ hängigen Schichten eines Kommunikationssystems zu spezifizie­ ren und daraus effiziente Implementierungen automatisch abzu­ leiten.The method according to the invention enables data, data pa kete or data streams with a system logic independent to mark current timestamp. This opens up completely new freedom units in the specification, especially of distributed ones Real-time systems. With a Ver According to the manufactured specification, the implementation is eliminated State of the art problems. It can already at the analysis of the functional and temporal behavior as well real time is taken into account in the following specification become. The proposed method enables the specification  a universal design pattern that is suitable for Her position, especially of distributed real-time systems in the suitable for a wide range of applications. The one with the possible formal consideration of the method according to the invention time requirements also enables real-time depending layers of a communication system automatically implement efficient implementations conduct.

Des weiteren ist es möglich, in verteilten Echtzeitsystemen, die nicht in einer Vorrichtung realisiert sind, Beziehungen zwischen den Uhren zu definieren. So ergibt sich z. B. der Offset zweier Uhren zur Zeit t durch die Beziehung:
Furthermore, it is possible to define relationships between the clocks in distributed real-time systems that are not implemented in a device. So there is z. B. the offset of two clocks at time t by the relationship:

Unter Verwendung dieses Modells können z. B. Synchronisati­ onsalgorithmen spezifiziert und validiert werden.Using this model, e.g. B. Synchronisati algorithms are specified and validated.

Ein der Verarbeitungseinheit zugeordneter numerischer Zähler kann mittels der Uhr gesteuert werden. Bei der Verwendung von mehreren der Uhren dient vorteilhafterweise eine der Uhren als Referenzuhr zur Synchronisation der anderen Uhren. Das ermöglicht einen geordneten Datenaustausch zwischen den Ver­ arbeitungseinheiten.A numerical counter assigned to the processing unit can be controlled by the clock. When using One of the clocks advantageously serves several of the clocks as a reference clock to synchronize the other clocks. The enables an orderly data exchange between the Ver processing units.

Unter dem Begriff "Umgebung" wird hier ein technischer Prozeß verstanden. Zur Steuerung oder Regelung eines technischen Prozesses kann der Datenaustausch mit den Verarbeitungsein­ heiten zweckmäßigerweise real zeitgesteuert durchgeführt wer­ den. Bei den technischen Prozessen kann es sich in diesem Zu­ sammenhang z. B. um die Steuerung einer chemischen Fabrik, ei­ nes Antiblockiersystems eines Kraftfahrzeugs, eines Mobil­ funknetzes und dgl. handeln.The term "environment" is a technical process Roger that. To control or regulate a technical Process can be the data exchange with the processing expediently real time-controlled who the. In the technical processes, this can differ context z. B. to control a chemical factory, egg  Anti-lock braking system of a motor vehicle, a mobile act radio network and the like.

Ein von einer Verarbeitungseinheit empfangener, aus einer Ab­ folge von Datenpaketen gebildeter Datenstrom und ein gesende­ ter Datenstrom können zweckmäßigerweise entkoppelt werden, so daß der gesendete Datenstrom eine vom empfangenen Datenstrom verschiedene Abfolge der Datenpakete aufweisen kann. Damit ist es möglich, verschiedene echtzeitabhängige Datenströme im Internet zu verwalten. Für bestimmte Datenströme kann die Übertragungsgeschwindigkeit drastisch erhöht werden. Es ist nicht mehr erforderlich, die bei der Verarbeitungseinheit an­ kommende Abfolge von Datenpaketen sequentiell abzuarbeiten und in gleicher Reihenfolge wieder abzusenden.A received from a processing unit, from an Ab follow data packets formed by data packets and a send ter data stream can be expediently decoupled, so that the transmitted data stream is one of the received data stream can have different sequences of data packets. In order to it is possible to use different real time dependent data streams in the Manage internet. For certain data streams, the Transmission speed can be increased drastically. It is no longer required at the processing unit Process the upcoming sequence of data packets sequentially and send it back in the same order.

Der Verarbeitungseinheit kann eine Warteschlange zugeordnet werden. Vorteilhafterweise wird die Warteschlange, vorzugs­ weise mit der als Referenzuhr dienenden weiteren erfindungs­ gemäßen Uhr, zeitgesteuert. Es können so zeitgesteuert Daten in die Warteschlage geschrieben oder aus der Warteschlange ausgelesen werden.A queue can be assigned to the processing unit become. Advantageously, the queue is preferred way with the further invention serving as a reference clock contemporary clock, time-controlled. It can be timed data written to the queue or out of the queue be read out.

Nach einem weiteren Ausgestaltungsmerkmal werden die Datenpa­ kete mit einer von der Uhr erzeugten realen Zeitmarke verse­ hen. Die Markierung mittels realer Zeitmarken ermöglicht es, eine vorgegebene Abfolge von Datenpaketen zu senden, wobei zur Übertragung die Abfolge geändert und anschließend die vorgegebene Abfolge der Datenpakte wieder hergestellt wird. Dadurch kann die Übertragungsgeschwindigkeit erhöht werden.According to a further design feature, the data pa kete with a real time stamp verse generated by the watch hen. Marking with real time stamps enables send a predetermined sequence of data packets, where changed the sequence for transmission and then the predetermined sequence of data packets is restored. This can increase the transmission speed.

Besonders vorteilhaft ist es, mit der Uhr Zeitschranken, ins­ besondere Zeitbedingungen oder Zeitanforderungen, zu definie­ ren. Unter Zeitbedingungen werden Bedingungen verständen, un­ ter denen das System zu einer vorgegebenen Zeit eine vorgege­ bene Aktion ausführt. Zeitanforderungen sind dagegen Anforde­ rungen an das System, daß nach Ablauf einer vorgegebenen Zeit ein bestimmtes Ereignis eingetreten ist. Dabei kann es sich auch um ein externes Ereignis handeln.It is particularly advantageous to use the clock to keep time special time conditions or time requirements, to be defined Ren. Under time conditions are understood conditions, un  which the system specified at a predetermined time executes the same action. Time requirements, however, are a requirement to the system that after a specified time a certain event has occurred. It can be also act as an external event.

Nachfolgend werden bevorzugte Ausführungsbeispiele des erfin­ dungsgemäßen Verfahrens beispielhaft erläutert. Es zeigen:Preferred embodiments of the invention are described below inventive method exemplified. Show it:

Fig. 1 einen Grafen zur Definition der realen Uhr, FIG. 1 a count to define the real-time clock,

Fig. 2 schematisch den SDL-Prozeß mit einer realen Uhr, Fig. 2 shows schematically the SDL process with a real-time clock,

Fig. 3 ein synchronisiertes verteiltes Echtzeitsystem in SDL, Fig. 3 is a synchronized distributed real-time system in SDL,

Fig. 4a die Spezifikation von Uhren und den Zugriff über abstrakte Datentypen, Fig. 4a, the specification of watches and access through abstract data types,

Fig. 4b die Spezifikation von Zeitschranken und den Zugriff über abstrakte Datentypen, FIG. 4b, the specification of timing constraints and the access via abstract data types,

Fig. 5 die Spezifikation von Zeitanforderungen und den Zu­ griff über abstrakte Datentypen, Fig. 5 shows the specification of requirements and time to handle over abstract data types,

Fig. 6 die Implementierung eines Entwurfsmusters, Fig. 6 shows the implementation of a design pattern,

Fig. 7 die Spezifikation eines Vermittlungsrechners mit Verkehrsüberwachung und Fig. 7 the specification of a switching computer with traffic monitoring and

Fig. 8 den Aufbau der Ausgänge des Vermittlungsrechners nach Fig. 7. Fig. 8 shows the structure of the outputs of the switching computer to Fig. 7.

Fig. 9a-d die Spezifikation mit verschiedenen Architekturva­ rianten, Fig., The specification of different Architekturva 9a-d variants,

Fig. 1 erläutert die Unterschiede zwischen einer idealen, ei­ ner kontinuierlich realen, einer diskreten realen und eines abgeleiteten Zählers. Eine ideale Uhr ist definiert durch ei­ ne lineare Funktion. Fig. 1 explains the differences between an ideal, egg ner continuously real, a discrete real and a derived counter. An ideal watch is defined by a linear function.

Ideale Uhr:
Die durchgezogene Linie in Fig. 1 gibt die Funktion der idea­ len Uhr gemäß der folgenden Formel wieder:
Ideal watch:
The solid line in Fig. 1 represents the function of the ideal clock according to the following formula:

Ci(t) = t; t ∈ R in [sec]C i (t) = t; t ∈ R in [sec]

Die kontinuierliche reale Uhr erfordert weitere Parameter. Die kontinuierliche reale Uhr besitzt eine konstante Genauig­ keit. Diese Genauigkeit wird meist in Millionstel-Teilen an­ gegeben (ppm).The continuous real clock requires further parameters. The continuous real clock has a constant accuracy ness. This accuracy is usually expressed in parts per million given (ppm).

Zusätzlich muß berücksichtigt werden, daß die Taktperiode ei­ ner kontinuierlichen realen Uhr, bedingt durch Schwankungen von physikalischen Parametern, wie z. B. der Temperatur, schwanken kann. Dies wird ausgedrückt durch eine Funktion g (p, t). Wobei p ein Vektor mit den benötigten physikalischen Parametern in Abhängigkeit von deren zeitlichen Änderungen ist. In die Gleichung der kontinuierlichen, realen Uhr wird allerdings nicht die Funktion g(p, t) eingesetzt, sondern da es sich um periodische Schwankungen handelt kann, die Funkti­ on
In addition, it must be taken into account that the clock period of a continuous real clock, due to fluctuations in physical parameters such. B. the temperature may fluctuate. This is expressed by a function g (p , t). Where p → is a vector with the required physical parameters depending on their changes over time. However, the function g (p , t) is not used in the equation of the continuous, real clock, but since it can involve periodic fluctuations, the function

der wirksamen Genauigkeitsänderung
the effective change in accuracy

G(p, t) ∈ R in [sec]
G (p , t) ∈ R in [sec]

Treten z. B. periodische Schwankungen auf, kann es passieren, daß sich die Ungenauigkeiten der Uhr über ein Zeitintervall (t2 - t1) herausmitteln. Mit diesen Definitionen ist die kon­ tinuierliche reale Uhr durch folgende Gleichung beschrieben:
Z. B. periodic fluctuations, it can happen that the inaccuracies of the clock over a time interval (t 2 - t 1 ). With these definitions, the continuous real clock is described by the following equation:

Cc(t) = [1 + g].Ci(t) + G(p, t) + So, wobei Cc(t) ∈ R in [sec]
C c (t) = [1 + g] .C i (t) + G (p , t) + S o , where C c (t) ∈ R in [sec]

Ci(t) = t; t ∈ R in [sec] wobei
C i (t) = t; t ∈ R in [sec] where

g: Genauigkeit der Uhr, g ∈ R, z. B. die Quarzgenauigkeit in ppm
g(p, t) Genauigkeitsänderung der Uhr über der Zeit in Ab­ hängigkeit von physikalischen Größen, dargestellt durch den Vektor p z. B. der Temperatur, g(p, t) ∈ R
g: accuracy of the clock, g ∈ R , z. B. the quartz accuracy in ppm
g (p , t) Accuracy change of the clock over time as a function of physical quantities, represented by the vector p z. B. the temperature, g (p , t) ∈ R

als wirksame Genauigkeitsänderung in einem Zeitintervall (t2 - t1) G(p, t) ∈ R in [sec]
So: Startoffset, SoR in [sec]
as an effective change in accuracy in a time interval (t 2 - t 1 ) G (p , t) ∈ R in [sec]
S o : start offset, S oR in [sec]

Ein technischer Prozeß kann nicht in unendlich kleine Zeitab­ schnitte aufgelöst werden. Jede technische Uhr schwingt mit einer endlichen Frequenz. Die Frequenz korreliert zur Taktpe­ riode T der Uhr. Das kleinste ablesbare Intervall der diskre­ ten realen Uhr ist definiert als Granularität G. Die formale Abbildung der idealen Uhr auf die diskrete reale Uhr ist ge­ geben durch die folgende Beziehung:A technical process cannot take place in infinitely small time cuts are resolved. Every technical watch resonates a finite frequency. The frequency correlates to the clock period T of the clock. The smallest readable interval of the discre The real clock is defined as granularity G. The formal The ideal clock is mapped onto the discrete real clock give by the following relationship:

Diskrete reale Uhr:
Discrete real clock:

wobei
Cr(t) ∈ R
Rv: Wertebereich, RvR + in [sec],
GA: Granularität, G ∈ R + in [sec],
wobei G und Rv auf die kleinste auftretende Einheit normiert sind.
T: Taktperiode, TR + in [sec]
in which
C r (t) ∈ R
R v : range of values, R vR + in [sec],
G A : granularity, G ∈ R + in [sec],
where G and R v are normalized to the smallest unit occurring.
T: cycle period, TR + in [sec]

Die Diskretisierung der Zeit ist durch die Operation
The discretization of time is through the operation

beschrieben. Rv beschreibt den Wertebereich der diskreten realen Uhr. Nach Rv Zeiteinheiten zeigt die diskrete reale Uhr wieder 0 an. Das wird in der Gleichung durch die Modulo- Operation beschrieben. Die Ungenauigkeit G(p, t) taucht hier nicht direkt auf. Die Taktperiode T, die Granularität Gr der Startoffset So und der Wertebereich Rv sind in Sekunden anzu­ geben.described. R v describes the range of values of the discrete real clock. After R v time units, the discrete real clock shows 0 again. This is described in the equation by the modulo operation. The inaccuracy G (p , t) does not appear directly here. The cycle period T, the granularity G r of the start offset S o and the range of values R v are to be given in seconds.

Ein von der diskreten Uhr
One from the discreet clock

gesteuerter Zähler wird durch folgende Beziehung beschrieben
controlled counter is described by the following relationship

wobei
CA(t) ∈ Z
T: Taktperiode der diskreten realen Uhr, TR + in [sec],
NA: Anzahl der Änderungen, NAN +
GA: Granularität des abgeleiteten Zählers, GAN +,
RA: Wertebereich des abgeleiteten Zählers, RAN +,
τ: Verzögerungszeit, τ ∈ R + ∪ {o} in [sec].
in which
C A (t) ∈ Z
T: cycle period of the discrete real clock, TR + in [sec],
N A : number of changes, N AN +
G A : granularity of the derived counter, G AN + ,
R A : Range of values of the derived counter, R AN + ,
τ: delay time, τ ∈ R + ∪ {o} in [sec].

Die Verzögerungszeit zum Stellen des abgeleiteten Zählers ist τ. NA beschreibt die Anzahl der Anzeigeänderungen der diskre­ ten realen Uhr, bis sich die Anzeige des Zählers einmal än­ dert. Die Granularität GA gibt die Intervalländerung der An­ zeige an. RA beschreibt den Wertebereich des abgeleiteten Zählers. The delay time for setting the derived counter is τ. N A describes the number of display changes of the discreet real clock until the display of the counter changes once. The granularity G A indicates the interval change of the display. R A describes the range of values of the derived counter.

Fig. 2 zeigt schematisch die Struktur einer Verarbeitungsein­ heit in SDL bzw. einen sogenannten "SDL-Prozeß". Ein oder mehrere nach dem herkömmlichen SDL-Konzept vorgesehener Timer sind erfindungsgemäß mit einer realen Uhr verbunden. Wie aus Fig. 3 ersichtlich ist, ist es damit möglich, die Timer ver­ schiedener SDL-Prozesse zu synchronisieren. Fig. 2 shows schematically the structure of a processing unit in SDL or a so-called "SDL process". According to the invention, one or more timers provided according to the conventional SDL concept are connected to a real clock. As can be seen from Fig. 3, it is possible to synchronize the timers of different SDL processes.

Ein in den Fig. 2 und 3 gezeigtes eingehendes Signal kann mit einem Zeitstempel versehen werden, wobei es sich hierbei um eine reale Zeitmarke handelt.An incoming signal shown in FIGS. 2 and 3 can be provided with a time stamp, which is a real time stamp.

Fig. 4a zeigt die Definition eines Satzes abstrakter Datenty­ pen in SDL, mit der es möglich ist, auf die Anzeige der rea­ len Uhren zuzugreifen, die realen Uhren zurückzusetzen oder zu bestimmten realen Zeiten auf vorgegebene Werte zu stellen. FIG. 4a shows the definition of a set of abstract Datenty pen in SDL, with which it is possible to access the display of the rea len clocks to reset the real clocks or to ask for certain real time to predetermined values.

Mit dem erfindungsgemäßen Verfahren lassen sich Entwurfsmu­ ster zur automatischen Ableitung von Hard- und Software von eingebetteten verteilten Echtzeitsystemen angeben. Ein we­ sentlicher Bestandteil eines solchen Entwurfsmusters ist die Formulierung von Zeitschranken. Zu diesem Zweck ist es erfor­ derlich, daß die verwendete Programmiersprache Zeitmarken ge­ nerieren kann. Das kann z. B. durch Abfrage der Systemzeit er­ folgen. Zwingende Zeitanforderungen für ein solches Entwurfs­ muster - wie z. B. in Fig. 5 gezeigt - sind:
With the inventive method, design patterns for the automatic derivation of hardware and software from embedded, distributed real-time systems can be specified. An essential part of such a design pattern is the formulation of time barriers. For this purpose it is neces sary that the programming language used can generate time stamps. That can e.g. B. by querying the system time he follow. Mandatory time requirements for such a design pattern - such as . As shown in Figure 5 - are:

  • a) Eine erste Zeitanforderung für das periodische Auftreten des Zustands READ, d. h. für die Ausführung des Kontrollzweigs und eines Zustandsübergangs 1. Die erste Zeitanforderung er­ gibt sich aus der Rate des empfangenen Datenstroms. Sie schreibt vor, daß im statistischen Mittel genau so viele Da­ tenworte aus der Warteschlange gelesen werden können, wie ma­ ximal hineingeschrieben werden. Die erste Zeitanforderung gilt nur dann, wenn Datenworte sich in der Warteschlange be­ finden.a) A first time requirement for the periodic occurrence of the READ state, ie for the execution of the control branch and a state transition 1 . The first time request results from the rate of the received data stream. It stipulates that, on statistical average, as many data words can be read from the queue as are maximally written into them. The first time requirement only applies if data words are in the queue.
  • b) Die zweite Zeitanforderung schreibt vor, daß bei einem die Datenrate R unterstützenden Medium alle 1/R Zeiteinheiten ein Signal "Output" zur Auslastung des Mediums erzeugt werden muß. Die zweite Zeitanforderung gilt nur dann, wenn im Spei­ cher des Entwurfsmusters Datenworte abgelegt sind.b) The second time requirement stipulates that with a the medium supporting the data rate R every 1 / R time units a signal "output" for the utilization of the medium can be generated got to. The second time requirement only applies if in the dining room of the design pattern data words are stored.

Der in Fig. 4b gezeigte Datentyp "Eventclass" stellt u. a. folgende Operationen zur Verfügung, die zur Definition von Zeitbedingungen und Zeitanforderungen geeignet sind:
Append: Trägt die aktuelle Systemzeit in eine Li­ ste von Zeitstempeln ein;
Durationevent: Errechnet die Zeitdauer zwischen zwei in der Liste eingetragenen Zeitstempeln und
Monitor: Protokolliert im Fehlerfall die Ergebnis­ se der Zeitüberprüfung und schreibt diese auf ein entsprechendes Ausgabegerät.
ThrowException: Ruft eine Ausnahmeverarbeitung im Fehler­ fall auf, um das System z. B. in einen si­ cheren Zustand zu fahren.
The data type "Eventclass" shown in FIG. 4b provides, among other things, the following operations which are suitable for defining time conditions and time requirements:
Append: enters the current system time in a list of time stamps;
Durationevent: Calculates the duration between two time stamps entered in the list and
Monitor: In the event of an error, records the results of the time check and writes them to an appropriate output device.
ThrowException: Calls exception processing in the event of an error to prevent the system from B. to drive in a safe state.

Beispiele zur Realisierung von Bausteinen mit Hilfe des Mu­ sters:
Die jeweilige Funktionalität des Musters in unterschiedlichen Anwendungen oder als Baustein wird letztendlich durch die Funktionen SortInto() und SortOut() festgelegt. Wird das Ent­ wurfsmuster in Kommunikationssystemen eingesetzt, z. B. zur Realisierung von Ablaufplanungsalgorithmen, Zeit- oder Fre­ quenzmultiplexern oder Bandbreitenzuteilungen, versieht die Funktion SortInto() jedes Datenwort mit einem Zeitstempel. SortOut() liest dann die Datenworte in einer definierten Rei­ henfolge gemäß ihrer Zeitstempel aus. Ferner ist es möglich, in der Funktion SortInto() eine Verkehrsüberwachung (Policy) durchzuführen. Dabei wird ermittelt, ob der Sender eines Da­ tenstroms eine vereinbarte Dienstgüte (QoS: Quality of Ser­ vice) einhält. An dieser Stelle kann u. a. auch die Wegeinfor­ mation (Adresse, Telefonnummer, oder Pfadnummer in ATM) des Paketes ausgewertet und das Ziel der Sendefunktion festgelegt werden.
Examples for the realization of building blocks with the help of the pattern:
The respective functionality of the pattern in different applications or as a module is ultimately determined by the functions SortInto () and SortOut (). Is the design pattern used in communication systems, e.g. For example, to implement scheduling algorithms, time or frequency multiplexers or bandwidth allocations, the SortInto () function provides each data word with a time stamp. SortOut () then reads out the data words in a defined order according to their time stamp. It is also possible to carry out traffic monitoring (policy) in the SortInto () function. It is determined whether the sender of a data stream complies with an agreed quality of service (QoS). At this point, the route information (address, telephone number, or path number in ATM) of the packet can be evaluated and the destination of the send function can be determined.

Bei der Realisierung von Steuer- oder Regelungsalgorithmen dagegen wird die jeweilige Stellwertberechnung in der Funkti­ on SortOut() vorgenommen, während die Funktion SortInto() die Sensorwerte (Regelgrößen) abspeichert.When implementing control or regulation algorithms in contrast, the respective manipulated variable calculation is in the functi on SortOut (), while the SortInto () function does the Saves sensor values (controlled variables).

Auf diese Weise können zunächst mehrere Werte gesammelt wer­ den, bevor die eigentliche Berechnung durchgeführt wird.In this way, first several values can be collected before the actual calculation is carried out.

Automatische Ableitung von gemischten HW/SW Systemen:
Das im vorherigen Abschnitt beschriebene Entwurfsmuster kann sehr einfach in eine Implementierung überführt werden. Zu diesem Zweck werden Zustandsübergang 1 und Zustandsübergang 2 getrennt betrachtet. Durch die Entkopplung ist es nämlich möglich, ein eigenes Software- oder Hardwaremodul für jeden Zustandsübergang zu definieren. Dabei kann das jeweilige Ein- bzw. Ausgangsmodul auch wieder eine gemischte HW/SW- Implementierung darstellen. Eingangs- und Ausgangsübergang des Moduls können dabei durchaus überlappend ausgeführt wer­ den (pipelining), da eine Synchronisation zwischen den beiden Zustandsübergängen über den gemeinsamen Speicher des internen Puffers erfolgen kann. Ein solches Vorgehen erlaubt es, den Implementierungsaufwand drastisch zu reduzieren und die Aus­ führungsgeschwindigkeit merklich zu erhöhen. In Fig. 6 ist beispielhaft gezeigt, wie das Entwurfsmuster implementiert werden kann. Jeder Teil des Musters kann dabei entweder in Hardware oder in Software implementiert werden. Folgende Kom­ binationen sind bei der Implementierung möglich:
Automatic derivation of mixed HW / SW systems:
The design pattern described in the previous section can be easily implemented in an implementation. For this purpose, state transition 1 and state transition 2 are considered separately. Decoupling makes it possible to define a separate software or hardware module for each state transition. The respective input or output module can also be a mixed HW / SW implementation. The input and output transition of the module can be carried out in an overlapping manner (pipelining), since synchronization between the two state transitions can take place via the shared memory of the internal buffer. Such a procedure allows the implementation effort to be drastically reduced and the execution speed to be noticeably increased. In Fig. 6 there is shown an example of how the design pattern may be implemented. Each part of the pattern can be implemented either in hardware or in software. The following combinations are possible during implementation:

  • - Alle Module werden in Hard- bzw. Software implementiert, der Zustandsübergang 1 und SortInto() werden in Hardware implementiert, während Zustandsübergang 2 und SortOut() in Software implementiert werden,- All modules are implemented in hardware or software, state transition 1 and SortInto () are implemented in hardware, while state transition 2 and SortOut () are implemented in software,
  • - der Zustandsübergang 1 und SortInto() werden in Software implementiert, während Zustandsübergang 2 und SortOut() in Hardware implementiert werden,- state transition 1 and SortInto () are implemented in software, while state transition 2 and SortOut () are implemented in hardware,
  • - SortInto() wird in Hardware implementiert, alle anderen Teile in Software,- SortInto () is implemented in hardware, all others Parts in software,
  • - SortOut() wird in Hardware implementiert, alle anderen Teile in Software,- SortOut () is implemented in hardware, all others Parts in software,
  • - SortInto() und SortOut() werden in Hardware, der Rest des Prozesses wird in Software implementiert.- SortInto () and SortOut () are in hardware, the rest of the process is implemented in software.

Ein großer Vorteil dabei ist, daß für alle vier Teilaufgaben unterschiedliche Synthesetechniken verwendet werden können. Geeignete Synthesetechniken sind aus O. Bringmann et al., Mixed Abstraction Level Hardware Synthesis from SDL for Rapid Prototyping, 10th IEEE International Workshop on Rapid System Prototyping, Clearwater, June 1999 bekannt. Da die Funktionen SortInto() und SortOut() meist einen hohen algorithmischen Anteil haben, bietet sich für diese die Architektursynthese an, d. h. für die Funktionen wird mit Hilfe eines Werkzeugs ein spezieller, anwendungsspezifischer Prozessor generiert. Werden die beiden Zustandsübergänge in Hardware implemen­ tiert, können sie direkt ohne den Einsatz optimierender Ver­ fahren (Synthese) in eine einfache Hardwarebeschreibung auf der Register-Transfer-Ebene (RTL: register transfer level) überführt werden. Durch diese konzeptionelle Trennung wird die Hardware/Software-Partitionierung des jeweiligen Zu­ standsübergangs ebenfalls wesentlich erleichtert.A great advantage is that different synthesis techniques can be used for all four subtasks. Suitable synthesis techniques of O. Bring Mann et al., Known Mixed Abstraction Level Hardware Synthesis from SDL for rapid prototyping, 10 th IEEE International Workshop on Rapid System Prototyping, Clearwater, June 1999th Since the functions SortInto () and SortOut () usually have a high algorithmic component, the architecture synthesis lends itself to this, ie a special, application-specific processor is generated for the functions with the help of a tool. If the two state transitions are implemented in hardware, they can be converted directly into a simple hardware description at the register transfer level (RTL: register transfer level) without the use of optimizing processes (synthesis). This conceptual separation also significantly simplifies the hardware / software partitioning of the respective state transition.

Die überlappende Ausführung (pipelining) der beiden Module ist dann möglich, wenn beide Module nicht gleichzeitig auf die gleiche Speicherzelle des Speichers zugreifen wollen. Die Semantik des Entwurfsmusters bleibt stets gewahrt, da bei ei­ nem gleichzeitigen Zugriff eine der beiden Funktionen ange­ halten wird und wartet, bis die andere Funktion fertig ist.The overlapping execution (pipelining) of the two modules is possible if both modules do not open at the same time want to access the same memory cell of the memory. The The semantics of the design pattern are always preserved, since at ei simultaneous access one of the two functions will hold and wait for the other function to finish.

Entwurf komplexer Systeme mit den Bausteinen:
Der Aufbau eines komplexeren Systems mit Hilfe von Baustei­ nen, die aus dem beschriebenen Entwurfsmuster abgeleitet wer­ den können, wird am Beispiel eines Vermittlungsrechners für Datendienste mit QoS-Anforderungen erläutert. Die Grundbau­ steine Verkehrsüberwachung (Policy) und Bandbreitenzuteilung (Scheduler) werden durch Instanzen des Entwurfsmusters reali­ siert.
Design of complex systems with the building blocks:
The construction of a more complex system with the help of components that can be derived from the described design pattern is explained using the example of a switching computer for data services with QoS requirements. The basic building blocks traffic monitoring (policy) and bandwidth allocation (scheduler) are realized by instances of the design pattern.

Die linke Seite von Fig. 7 zeigt den grundliegenden Aufbau des Systems. Die eingehenden Datenströme, im Beispiel sind dies 2, werden mit Hilfe einer Verkehrsüberwachung (Policy) analysiert. Die Verkehrsüberwachung wird mit Hilfe des Ent­ wurfsmusters realisiert (rechte Seite in Fig. 7). Zu diesem Zweck wurde die Funktion SortInto(), wie in Fig. 7 gezeigt, definiert. The left side of Fig. 7 shows the basic structure of the system. The incoming data streams, in the example these are 2, are analyzed with the help of a traffic monitoring (policy). Traffic monitoring is implemented using the design pattern (right side in FIG. 7). For this purpose, the SortInto () function, as shown in Fig. 7, has been defined.

Bei einem solchen Vermittlungsrechner wird noch unterschieden zwischen Steuerinformationen und Nutzdaten. Enthält der Da­ tenstrom Steuerinformationen, werden diese an das Kontrollmo­ dul Control geschickt. In diesem Modul werden dann die übli­ chen Telekommunikationsprotokolle abgewickelt.A distinction is still made in such a switching computer between tax information and user data. Contains the da tenstrom control information, this is sent to the control mo sent to dul control. In this module, the usual Chen telecommunications protocols processed.

In Control werden die Informationen generiert, die den Daten­ fluß (Vermittlung) durch das System beschreiben. Dazu wird die Variable OutPID in der Verkehrsüberwachung von Control gesetzt. Die Vermittlung wird dadurch realisiert, daß es meh­ rere Instanzen des Moduls Scheduler (Fig. 8) gibt, z. B. für jede Ausgangsleitung eine, und die Datenworte von der Ver­ kehrsüberwachung an den entsprechenden Bandbreitenzuteiler gesendet werden. Durch die Adressierung (durch die Variable OutPID) des entsprechenden Bandbreitenzuteilers (Scheduler) erfolgt die Zuordnung eines Datenstroms zu einem Ausgangska­ nal.The information that describes the data flow (switching) through the system is generated in Control. To do this, the OutPID variable is set in Control's traffic monitoring. The switching is realized in that there are several instances of the module scheduler ( Fig. 8), z. B. one for each output line, and the data words are sent from the traffic monitor to the appropriate bandwidth allocator. Through the addressing (by the variable OutPID) of the corresponding bandwidth allocator (scheduler), a data stream is assigned to an output channel.

Prinzipiell ist es möglich, daß es am Eingang mehrere Ver­ kehrsüberwachungen gibt (n Eingänge) und am Ausgang mehrere Module des Typs Scheduler (m Ausgänge).In principle, it is possible that there are several ver There are traffic monitors (n inputs) and several at the output Scheduler-type modules (m outputs).

Die Festlegung, welcher bandbreitenbegrenzte Kanal an dieser Stelle implementiert wird, hängt von den Kosten und den An­ forderungen an das System ab. Prinzipiell ist die Bandbreite des verbindenden Kanals unendlich groß. Einige mögliche Vari­ anten werden beispielhaft im folgenden Abschnitt beschrieben.The determination of which bandwidth-limited channel on this Job implemented depends on the cost and the type demands on the system. In principle, the bandwidth of the connecting channel infinitely large. Some possible variations antennas are described as examples in the following section.

Automatische Ableitung eines komplexen Systems:
Fig. 9a zeigt den Grundaufbau des Vermittlungsrechners auf der Spezifikationsebene. Davon können nun verschiedene Archi­ tekturen abgeleitet werden. Softwaremodule werden auf Prozes­ soren realisiert (Abk. CPU), während Hardwaremodule in ASICs (application specific integrated circuit) "gegossen" werden. Im Bild soll ein gefüllter Kreis jeweils eine Instanz eines Entwurfsmusters darstellen, wobei als Abkürzungen P für Po­ licy bzw. S für Scheduler, C für Control verwendet werden. Kommunikationskanäle können auf Busse oder Vermittlungsbau­ steine abgebildet werden.
Automatic derivation of a complex system:
Fig. 9a shows the basic structure of the switching computer on the specification level. Various architectures can now be derived from this. Software modules are implemented on processors (abbr. CPU), while hardware modules are "cast" in ASICs (application specific integrated circuits). In the picture, a filled circle is intended to represent one instance of a design pattern, the abbreviations being P for policy or S for scheduler and C for control. Communication channels can be mapped onto buses or switching modules.

Die Implementierung in Fig. 9b besitzt einen Prozessor zur Abarbeitung der beiden Verkehrsüberwachungsinstanzen (Po­ licy), drei Hardwaremodule für die Bandbreitenzuteilungsmodu­ le (Scheduler), einen Bus zur Übertragung von Datenworten und einen Bus für Steuerinfomationen. Im Gegensatz dazu besteht die Architektur in Fig. 9c aus drei Prozessoren für die Kon­ troll- und Verkehrsüberwachungsinstanzen und einem Hardware­ modul zur Realisierung der Scheduler.The implementation in FIG. 9b has a processor for processing the two traffic monitoring entities (Po licy), three hardware modules for the bandwidth allocation modules (scheduler), a bus for the transmission of data words and a bus for control information. In contrast, the architecture in Fig. 9c consists of three processors for the control and traffic monitoring instances and a hardware module for implementing the scheduler.

In Fig. 9d wird dagegen die Vermittlungsfunktionalität nicht mit Hilfe eines gemeinsamen Busses, sondern über einen Ver­ mittlungsbaustein (Raummultiplexer) realisiert.In contrast, in FIG. 9d the switching functionality is not realized with the aid of a common bus, but rather via a switching module (space multiplexer).

Natürlich sind alle anderen Kombinationen von Software- und Hardwaremodulen auch denkbar. z. B. könnte nur ein Teil des Schedulers in Hardware realisiert werden und der restliche Teil in Software. Bis auf das Modul Control zur Realisierung der Telekommunikationsprotokolle können alle Bausteine des Vermittlungsrechners durch verschiedene Instanzen des Ent­ wurfsmusters realisiert werden.Of course, all other combinations of software and Hardware modules also conceivable. z. B. could only be a part of the Schedulers can be implemented in hardware and the rest Part in software. Except for the Control module for implementation the telecommunication protocols can all building blocks of Switching computer through different instances of the Ent pattern can be realized.

Claims (9)

1. Verfahren zur Herstellung eines computergestützten Echt­ zeitsystems mit mindestens einer Verarbeitungseinheit,
wobei ein Datenaustausch zwischen der Verarbeitungseinheit und der Umgebung oder einer oder mehreren weiteren Verarbei­ tungseinheiten synchron oder asynchron durchgeführt wird, und
wobei zur Korrelation des Datenaustauschs der Verarbeitungs­ einheit mindestens eine reale Uhr zugeordnet wird, welche in einer Computeranlage implementiert ist und durch folgende Be­ ziehung definiert ist:
wobei
Cr(t) ∈ R in [sec]
Rv: Wertebereich, RvR + in [sec],
Gr: Granularität, G ∈ R + in [sec],
wobei Gr und Rv auf den kleinste auftretende Einheit normiert sind,
T: Taktperiode, TR +, in [sec],
Cc(t) = [1 + g].Ci(t) + G(p, t) + So, wobei Cc(t) ∈ R in [sec],
Ci(t) = t; t ∈ R, in [sec],
g: Genauigkeit der Uhr, g ∈ R, z. B. die Quarzgenauigkeit in ppm,
g (p, t) Genauigkeitsänderung der Uhr über der Zeit in Ab­ hängigkeit von physikalischen Größen, dargestellt durch den Vektor p, z. B. der Temperatur, g(p, t) ∈ R
als wirksame Genauigkeitsänderung in einem Zeitintervall (t2 - t1)
So: Startoffset, SoR in [sec].
1. Method for producing a computer-aided real-time system with at least one processing unit,
wherein a data exchange between the processing unit and the environment or one or more further processing units is carried out synchronously or asynchronously, and
wherein at least one real clock is assigned to the processing unit for correlating the data exchange, which is implemented in a computer system and is defined by the following relationship:
in which
C r (t) ∈ R in [sec]
R v : range of values, R vR + in [sec],
G r : granularity, G ∈ R + in [sec],
where G r and R v are normalized to the smallest unit occurring,
T: cycle period, TR + , in [sec],
C c (t) = [1 + g] .C i (t) + G (p , t) + S o , where C c (t) ∈ R in [sec],
C i (t) = t; t ∈ R , in [sec],
g: accuracy of the clock, g ∈ R , z. B. the quartz accuracy in ppm,
g (p , t) Accuracy change of the clock over time as a function of physical quantities, represented by the vector p , z. B. the temperature, g (p , t) ∈ R
as an effective change in accuracy in a time interval (t 2 - t 1 )
S o : Start offset, S oR in [sec].
2. Verfahren nach Anspruch 1, wobei ein der Verarbeitungs­ einheit zugeordneter numerischer Zähler mittels der Uhr gemäß der folgenden Beziehung gesteuert wird.
wobei
CA(t): ∈ Z
T: Taktperiode der diskreten realen Uhr, TR + in [sec],
NA: Anzahl der Änderungen, NAN +
GA: Granularität des abgeleiteten Zählers, GAN +,
RA: Wertebereich des abgeleiteten Zählers, RAN +,
τ: Verzögerungszeit, τ ∈ R + ∪ {o} in [sec].
2. The method of claim 1, wherein a numerical counter associated with the processing unit is controlled by the clock according to the following relationship.
in which
C A (t): ∈ Z
T: cycle period of the discrete real clock, TR + in [sec],
N A : number of changes, N AN +
G A : granularity of the derived counter, G AN + ,
R A : Range of values of the derived counter, R AN + ,
τ: delay time, τ ∈ R + ∪ {o} in [sec].
3. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine der Uhren als Referenzuhr zur Synchronisation der ande­ ren Uhren dient.3. The method according to any one of the preceding claims, wherein one of the clocks as a reference clock for synchronizing the other ren watches. 4. Verfahren nach einem der vorhergehenden Ansprüche, wobei zur Steuerung oder Regelung eines technischen Prozesses der Datenaustausch mit den Verarbeitungseinheiten real zeitge­ steuert durchgeführt wird.4. The method according to any one of the preceding claims, wherein to control or regulate a technical process of Data exchange with the processing units in real time controls is carried out. 5. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein von einer Verarbeitungseinheit empfangener aus einer Ab­ folge von Datenpakten gebildeter Datenstrom und ein gesende­ ter Datenstrom entkoppelt werden, so daß der gesendete Daten­ strom eine vom empfangenen Datenstrom verschiedene Abfolge der Datenpakete aufweist.5. The method according to any one of the preceding claims, wherein a received from a processing unit from a Ab follow the data stream formed by data packets and a send ter data stream are decoupled so that the data sent stream a sequence different from the received data stream which has data packets. 6. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Verarbeitungseinheit eine Warteschlange zugeordnet wird.6. The method according to any one of the preceding claims, wherein a queue is assigned to the processing unit. 7. Verfahren nach Anspruch 6, wobei die Warteschlange mit der Uhr, vorzugsweise mit der als Referenzuhr dienenden Uhr, zeitgesteuert wird.7. The method of claim 6, wherein the queue with the clock, preferably with the clock serving as a reference clock, is timed. 8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Datenpakete mit einer von der Uhr erzeugten realen Zeit­ marke versehen werden. 8. The method according to any one of the preceding claims, wherein the data packets with a real time generated by the clock brand.   9. Verfahren nach einem der vorhergehenden Ansprüche, wobei mit der Uhr Zeitschranken, insbesondere Zeitbedingungen oder Zeitanforderungen, definiert werden.9. The method according to any one of the preceding claims, wherein with the clock time barriers, especially time conditions or Time requirements.
DE10057651A 2000-09-06 2000-11-21 Process for the production of computerized real-time systems Expired - Lifetime DE10057651C2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10057651A DE10057651C2 (en) 2000-09-06 2000-11-21 Process for the production of computerized real-time systems
AU2001289575A AU2001289575A1 (en) 2000-09-06 2001-09-03 Method for producing computer-assisted real-time systems
US10/363,635 US7085198B2 (en) 2000-09-06 2001-09-03 Method for producing computer-assisted real-time systems
PCT/DE2001/003349 WO2002021261A2 (en) 2000-09-06 2001-09-03 Method for producing computer-assisted real-time systems
EP01969264A EP1325410A2 (en) 2000-09-06 2001-09-03 Method for producing computer-assisted real-time systems
JP2002524810A JP4752005B2 (en) 2000-09-06 2001-09-03 How to create a computer-aided real-time system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10044021 2000-09-06
DE10057651A DE10057651C2 (en) 2000-09-06 2000-11-21 Process for the production of computerized real-time systems

Publications (2)

Publication Number Publication Date
DE10057651A1 DE10057651A1 (en) 2002-03-14
DE10057651C2 true DE10057651C2 (en) 2003-05-22

Family

ID=7655252

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10057651A Expired - Lifetime DE10057651C2 (en) 2000-09-06 2000-11-21 Process for the production of computerized real-time systems

Country Status (2)

Country Link
JP (1) JP4752005B2 (en)
DE (1) DE10057651C2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008010600A1 (en) 2008-02-22 2009-08-27 Inchron Gmbh Method for testing functional capability of embedded component in embedded system, involves connecting two embedded components for data exchange by bus
DE102008030162A1 (en) 2008-06-27 2009-12-31 Inchron Gmbh Method for testing operability of embedded component in e.g. computer, for e.g. vehicle, involves determining operability of embedded component by comparing time response of produced signals with predetermined time response

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096464A (en) * 1995-06-21 1997-01-10 Hitachi Ltd Time setting device
JPH10325888A (en) * 1997-05-26 1998-12-08 Ricoh Co Ltd Real-time clock and time correction method
JP2002510081A (en) * 1998-03-27 2002-04-02 シーメンス アクチエンゲゼルシヤフト Method for synchronizing a local timebase to a central timebase and a device for implementing the method and its use

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BRINGMANN, O., u.a.: Mixed Abstraction Level Hardware Synthesis from SDL for Rapid Prototyping,in: Rapid System Prototyping, 1999, IEEE Int. Workshop on, 1999, S. 114-119 *
DAVEAU, J.-M., u.a.: Protocol Selection and Interface Generation for HW-SW Codesign, in: IEEE Trans. on Very Large Scale Integration (VLSI) Systems, Vol. 5, No. 1, March 1997, S. 136-144 *
DOU, C.: Integration of SDL and VHDL for HW/SW Codesign of Communication Systems, in: Euromicro '97, New Frontiers of Information Technology, Proc. of the 23 rd EUROMICRO Conf., 1997, S. 188-195 *
KOPETZ, H., OCHSENREITER, W.: Clock Synchronization in Distributed Real-Time Systems, in: IEEE Trans. on Computers, Vol. C-36, No. 8, August 1987 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008010600A1 (en) 2008-02-22 2009-08-27 Inchron Gmbh Method for testing functional capability of embedded component in embedded system, involves connecting two embedded components for data exchange by bus
DE102008010600B4 (en) * 2008-02-22 2017-09-28 Inchron Gmbh A method for checking the functionality of an embedded component in an embedded system
DE102008010600B8 (en) * 2008-02-22 2018-01-04 Inchron Gmbh A method for checking the functionality of an embedded component in an embedded system
DE102008030162A1 (en) 2008-06-27 2009-12-31 Inchron Gmbh Method for testing operability of embedded component in e.g. computer, for e.g. vehicle, involves determining operability of embedded component by comparing time response of produced signals with predetermined time response

Also Published As

Publication number Publication date
JP2004508752A (en) 2004-03-18
DE10057651A1 (en) 2002-03-14
JP4752005B2 (en) 2011-08-17

Similar Documents

Publication Publication Date Title
EP3577802B1 (en) Method and apparatus for time-controlled data transmission in a tsn
EP2559221B1 (en) Method and apparatus for interchanging data, and network
DE102010004298B4 (en) Prevention of message loss in CAN systems
EP1763768B1 (en) Method and device for controlling a bus system, and corresponding bus system
EP3014438B1 (en) Method and apparatus for data transfer to the cyclic tasks in a distributed real time system at the correct time
DE2838757C2 (en) Circuit arrangement for converting PCM words transmitted on a PCM line
DE60316758T2 (en) System for the synchronization of commands, as well as a method, a control device and a target device for the same system
EP0021290B1 (en) Method and circuit arrangement for synchronisation of the transmission of digital information signals
EP0843486B1 (en) Time-stamp updating method in a digital data stream and remultiplexing
EP1657619A2 (en) Method for time synchronisation in a cyclically working communication system
DE10340165A1 (en) Sensor connection procedure for vehicle TTCAN networks synchronizes sensor or actuator to bus system clock during fast clock first phase
WO2000044194A1 (en) Method for the time synchronisation of a computer network and computer network with time synchronisation
EP1639758B1 (en) Method and device for the exchange of data via a bus system
DE69220267T2 (en) Pulse tamping system
EP1211070B2 (en) Device and method for synchronizing processes running in several units
DE602004008647T2 (en) EVENT TIME STAMPING
EP2544388B1 (en) Method for cycle and time unit synchronisation in an automation network
DE10057651C2 (en) Process for the production of computerized real-time systems
DE102010003248B4 (en) Method and device for processing data in a network of a vehicle
EP1428340B1 (en) Method and device for producing program interruptions in subscribers to a bus system, and corresponding bus system
WO2002021261A2 (en) Method for producing computer-assisted real-time systems
EP2299614B1 (en) Device and method for time synchronisation in a communication network
DE2217178B2 (en) Circuit arrangement for interpolating the output codes of PCM transmission systems
EP3257220B1 (en) Method for transmitting data in a multimedia system, and software product and system for controlling the transmission of data in a multimedia system
EP0091061A2 (en) Synchronisation device for a digital signal demultiplexing device

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8304 Grant after examination procedure
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: INCHRON GMBH, 91058 ERLANGEN, DE

8327 Change in the person/name/address of the patent owner

Owner name: INCHRON GMBH, 14482 POTSDAM, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000

R071 Expiry of right