EP1325410A2 - Method for producing computer-assisted real-time systems - Google Patents

Method for producing computer-assisted real-time systems

Info

Publication number
EP1325410A2
EP1325410A2 EP01969264A EP01969264A EP1325410A2 EP 1325410 A2 EP1325410 A2 EP 1325410A2 EP 01969264 A EP01969264 A EP 01969264A EP 01969264 A EP01969264 A EP 01969264A EP 1325410 A2 EP1325410 A2 EP 1325410A2
Authority
EP
European Patent Office
Prior art keywords
clock
time
sec
real
vlb
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.)
Ceased
Application number
EP01969264A
Other languages
German (de)
French (fr)
Inventor
Ralf MÜNZENBERGER
Frank Slomka
Matthias DÖRFEL
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 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
Priority claimed from DE10057651A external-priority patent/DE10057651C2/en
Application filed by Friedrich Alexander Univeritaet Erlangen Nuernberg FAU filed Critical Friedrich Alexander Univeritaet Erlangen Nuernberg FAU
Publication of EP1325410A2 publication Critical patent/EP1325410A2/en
Ceased legal-status Critical Current

Links

Classifications

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

Definitions

  • the invention relates to a method for producing computer-based real-time systems with at least one processing unit according to the preamble of claim 1. It also relates to a computer system which has been designed to carry out the method.
  • Real-time systems are generally understood to be systems which have to deliver a specific computing result at a predetermined point in time and / or after a predetermined period of time has elapsed.
  • the time required to convert speech into digital signals and their transmission and the subsequent reconversion of the digital signals into an analog audio signal is approximately 250 ms, i.e. communication via mobile telephone devices takes place with a time delay of 250 ms. If the time delay is greater than 250 ms, the transmitted language is no longer understandable.
  • distributed real-time systems Computer-based real-time systems with several processing units, so-called distributed real-time systems, are widely used in the prior art.
  • mobile phones, their switching systems and networks are such a distributed real-time system.
  • a distributed real-time system can consist of several processing units. They can be components of one and the same device. However, it may also be the case that processing units, such as a mobile telephone and a switching system, are spatially separated from one another. Distributed real-time systems are produced on the basis of abstract specifications, such as, for example, the "Specification and Description Language” known under the abbreviation "SDL" (ITU-T. Z. 100, Appendix I. ITU, SDL Methodology Guidelines, ITU, 1993 ). SDL is based on the technical principle that a queue is assigned to each processing unit or process. It is imperative that the data exchange or communication between the processing units, which usually takes place via a bus, takes place exclusively via the queue, with all processes running in parallel.
  • SDL Specification and Description Language
  • each processing unit is also assigned at least one so-called timer module. It is a numerical counter. Its counting period is not standardized; it can be derived from the processor clock. It depends on the hardware selected and / or the respective program. As a result, it has so far not been reliably possible to automatically implement an abstract specification of hardware and software for the real-time-dependent layers of a communication system. The implementations are either too slow or they do not meet the time constraints. In order to counteract this disadvantage, the hardware is specified using circuit diagrams or using hardware description languages and then implemented. The software is mostly implemented using programming languages. The known method is time-consuming and costly and prone to errors.
  • the object of the invention is to eliminate the disadvantages of the prior art.
  • a method is to be specified with which real-time systems can be produced simply, quickly and inexpensively.
  • An automatic implementation of an abstract specification of real-time systems should be made possible.
  • Another object of the invention is to avoid errors in the manufacture of real-time systems.
  • a method for producing a computer-based real-time system with at least one processing unit in which the real clock is defined by the following relationship: (T)
  • R v range of values, R v GR + in [sec],
  • T clock period, TGR + in [sec], where
  • g accuracy of the clock, g e R, e.g. the quartz accuracy in ppm.
  • g (p ⁇ , t) Accuracy change of the clock over time depending on physical quantities, represented by the vector p ⁇ , e.g. the temperature, g (p ⁇ , t) G IR * 2
  • the method according to the invention makes it possible to mark data, data packets or data streams in a computer system with a precise time stamp that is independent of the system logic. This opens up completely new freedom in the specification, especially of distributed real-time systems. With a specification produced according to the method according to the invention, the implementation problems according to the prior art are eliminated. The real time can already be taken into account when analyzing the functional and temporal behavior and the subsequent specification.
  • the proposed method makes it possible to specify a universal design pattern which is suitable for the production, in particular of distributed real-time systems, in a very wide variety of application areas.
  • the formal consideration of time requirements possible with the method according to the invention also makes it possible to specify the real-time-dependent layers of a communication system and to automatically derive efficient implementations therefrom.
  • a numerical counter assigned to the processing unit can be controlled by means of the clock.
  • one of the clocks advantageously serves as a reference clock for synchronizing the other clocks. This enables an orderly data exchange between the processing units.
  • the term "environment” is understood here to mean a technical process. To control or regulate a technical
  • the data exchange with the processing units can expediently be carried out in real time-controlled manner.
  • the technical processes can e.g. to control a chemical factory, an anti-lock braking system of a motor vehicle, a mobile radio network and the like. act.
  • a data stream received by a processing unit and formed from a sequence of data packets and a transmitted data stream can expediently be decoupled, so that the transmitted data stream can have a sequence of data packets that is different from the received data stream.
  • the transmission speed can be increased drastically for certain data streams. It is no longer necessary to process the sequence of data packets arriving at the processing unit sequentially and to send them again in the same order.
  • a queue can be assigned to the processing unit.
  • the queue is advantageously time-controlled, preferably with the further clock according to the invention serving as a reference clock. In this way, time-controlled data can be written to the queue or read from the queue.
  • the data packets are provided with a real time stamp generated by the clock. Marking by means of real time stamps makes it possible to send a predefined sequence of data packets, the sequence being changed for transmission and the predefined sequence of data packets subsequently being restored. This can increase the transmission speed.
  • Time conditions are understood to mean conditions under which the system carries out a specified action at a specified time.
  • Time requirements are system requirements that a specific event has occurred after a specified time has elapsed. This can also be an external event.
  • a computer system which is suitable for carrying out the method according to the invention.
  • a computer system With such a computer system, a precise automatic implementation of abstract specifications of software and hardware for real-time systems can be carried out quickly and easily.
  • Preferred exemplary embodiments of the method according to the invention are explained in more detail below. Show it:
  • Fig. 7 the specification of a switching computer with traffic monitoring
  • FIG. 8 shows the structure of the outputs of the switching computer according to FIG. 7.
  • Fig. 1 represents the function of the ideal clock according to the following formula:
  • Ci (t) t; t e R in [sec]
  • the continuous real clock requires further parameters.
  • the continuous real clock has a constant accuracy. This accuracy is usually given in parts per million (ppm).
  • the cycle period of a continuous real clock can fluctuate due to fluctuations in physical parameters such as temperature.
  • This is expressed by a function g (p ⁇ , t).
  • p ⁇ is a vector with the required physical parameters depending on their changes over time.
  • the function g (p ⁇ , t) is not used in the equation of the continuous, real clock, but because it can be periodic fluctuations, the function
  • g accuracy of the clock, g G IR, e.g. the quartz accuracy in ppm.
  • R v range of values, R v G IR + in [sec],
  • G A Granularity, GG IR + in [sec], where G and R v are normalized to the smallest unit that occurs.
  • the discretization of time is described by OperationL T.
  • 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, the start offset S Q and the value range R v are to be specified in seconds.
  • T clock period of the discrete real clock, TG IR + in [sec],
  • N A number of changes, N A GN +
  • G A granularity of the derived counter, G A GN + ,
  • R A Range of values of the derived counter, R A G IM + ,
  • the delay time for setting the derived counter is T.
  • N A is the number of ad changes in the discrete th real pm until the meter is again changed.
  • the granularity G A indicates the interval change of the display.
  • R A describes the range of values of the derived counter.
  • Fig. 2 shows schematically the structure of a processing unit in SDL or a so-called "SDL process".
  • one or more timers provided according to the conventional SDL concept are connected to a real clock. How from 3 can be seen, it is thus possible to synchronize the timers of different SDL processes.
  • An incoming signal shown in FIGS. 2 and 3 can be provided with a time stamp, which is a real time stamp.
  • 4a shows the definition of a set of abstract data types in SDL, with which it is possible to access the display of the real clocks, to reset the real clocks or to reset them to predetermined values at certain real times.
  • design patterns for the automatic derivation of hardware and software from embedded, distributed real-time systems can be specified.
  • a useful part of such a design pattern is the formulation of time barriers.
  • the programming language used can generate time stamps. This can e.g. by querying the system time.
  • Possible time requirements for such a design pattern - such as shown in Fig. 5 are:
  • 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 requirement results from the rate of the received data stream. It stipulates that on average, as many data words can be read from the queue as the maximum number of words that can be written into them. The first time request only applies if data words are in the queue.
  • the second time requirement stipulates that in the case of a medium supporting the data rate R, a signal “output” must be generated for the utilization of the medium every 1 / R time units. The second time requirement only applies if data words are stored in the memory of the design pattern.
  • Eventclass The data type "Eventclass" shown in FIG. The following operations are available that 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 in order to e.g. to drive to a safe state.
  • Sortinto () and SortOut are respectively determined by the functions Sortinto () and SortOut ().
  • the Sortinto () function each data word with a time stamp.
  • SortOut () then reads the data words in a defined order according to their time stamp.
  • policy traffic monitoring
  • QoS Quality of Service
  • the respective manipulated variable calculation is carried out in the SortOut () function, while the Sortinto () function stores the sensor values (controlled variables).
  • 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 Einzw. Output module again represent a mixed HW / SW implementation.
  • the module's input and output transitions can be overlapped (pipelining), since synchronization between the two state transitions can take place via the shared memory of the internal buffer.
  • 6 shows an example of how the design pattern can be implemented.
  • Each part of the pattern can be implemented either in hardware or in software. The following combinations are possible during implementation:
  • SortOut () is implemented in hardware, all others
  • Sortinto () and SortOut () are implemented in hardware, the rest of the process is implemented in software.
  • 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).
  • Policy traffic monitoring
  • Traffic monitoring is implemented using the design pattern (right side in Fig. 7).
  • Sortinto () function as shown in Fig. 7, has been defined.
  • control information In such a switching computer, a distinction is still made between control information and user data. Does the data contain tenstrom control information, this is sent to the control module Control. The usual telecommunications protocols are then processed in this module. The information that describes the data flow (mediation) 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 scheduler module (FIG. 8), for example one for each output line, and the data words are sent from the traffic monitoring to the corresponding bandwidth allocator. The addressing (using the OutPID variable) of the corresponding bandwidth allocator (scheduler) assigns a data stream to an output channel.
  • the scheduler module FIG. 8
  • FIG. 9a shows the basic structure of the switching computer on the specification level.
  • Software modules are implemented on processors (abbr. CPU), while hardware modules are "cast” in ASICs (application specific integrated circuits).
  • ASICs application specific integrated circuits
  • a filled circle is supposed to be one instance of each Represent design patterns, using abbreviations P for Policy or S for Scheduler, C for Control. Communication channels can be mapped to buses or switching modules.
  • the implementation in FIG. 9b has a processor for processing the two traffic monitoring entities [policy], three hardware modules for the bandwidth allocation modules (scheduler), a bus for the transmission of data words and a bus for control information.
  • policy the two traffic monitoring entities
  • bandwidth allocation modules the bandwidth allocation modules
  • bus for the transmission of data words
  • bus for control information
  • FIG. 9c the architecture in FIG. 9c consists of three processors for the control and traffic monitoring instances and a hardware module for implementing the schedulers.
  • the switching functionality is not implemented with the aid of a common bus, but rather via a switching module (space multiplexer).

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

The invention relates to a method for producing a computer-assisted real-time system that comprises at least one processing unit. Data exchange between said processing unit and the environment or one or more additional processing units is synchronous or asynchronous. At least one real clock is allocated to the processing unit to correlate data exchange, said clock being defined by the following relation (a).

Description

Beschreibungdescription
Verfahren zur Herstellung von computergestützten EchtzeitsystemenProcess for the production of computerized real-time systems
Die Erfindung betrifft ein Verfahren zur Herstellung von computergestützten Echtzeitsystemen mit mindestens einer Verarbeitungseinheit nach dem Oberbegriff des Anspruchs 1. Sie betrifft ferner eine zur Durchführung des Verfahrens hergerich- tete Computeranlage.The invention relates to a method for producing computer-based real-time systems with at least one processing unit according to the preamble of claim 1. It also relates to a computer system which has been designed to carry out the method.
Unter Echtzeitsystemen werden allgemein Systeme verstanden, die zu einem vorgegebenen Zeitpunkt und/oder nach Ablauf einer 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 which have to deliver a specific computing result at a predetermined point in time and / or after a predetermined period of time has elapsed. For example, the time required to convert speech into digital signals and their transmission and the subsequent reconversion of the digital signals into an analog audio signal is approximately 250 ms, i.e. communication via mobile telephone devices takes place with a time delay of 250 ms. If the time delay is greater than 250 ms, 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.Computer-based real-time systems with several processing units, so-called distributed real-time systems, are widely used in the prior art. For example, mobile phones, their switching systems and networks are 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. 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 Guidelines, ITU, 1993) . SDL beruht auf dem technischen Prinzip, daß jeder Verarbeitungseinheit bzw. jedem Prozeß eine Warteschlange 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ämtliche Prozesse parallel laufen.A distributed real-time system can consist of several processing units. They can be components of one and the same device. However, it may also be the case that processing units, such as a mobile telephone and a switching system, are spatially separated from one another. Distributed real-time systems are produced on the basis of abstract specifications, such as, for example, the "Specification and Description Language" known under the abbreviation "SDL" (ITU-T. Z. 100, Appendix I. ITU, SDL Methodology Guidelines, ITU, 1993 ). SDL is based on the technical principle that a queue is assigned to each processing unit or process. It is imperative that the data exchange or communication between the processing units, which usually takes place via a bus, takes place exclusively via the queue, with all processes running in parallel.
Zur Korrelation des Datenaustausche ist jeder Verarbeitungs- einheit außerdem mindestens ein sogenanntes Timer-Modul zugeordnet. Dabei handelt es sich um einen numerischen Zähler. Dessen Zählperiode ist nicht normiert; sie kann vom Prozessortakt abgeleitet sein. Sie ist abhängig von der jeweils gewählten Hardware und/oder vom jeweiligen Programm. Dadurch bedingt ist es bisher nicht zuverlässig möglich, eine abstrakte Spezifikation von Hard- und Software der echtzeitabhä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 Verfahren ist zeit- und kostenaufwendig und fehleranfällig.In order to correlate the data exchange, each processing unit is also assigned at least one so-called timer module. It is a numerical counter. Its counting period is not standardized; it can be derived from the processor clock. It depends on the hardware selected and / or the respective program. As a result, it has so far not been reliably possible to automatically implement an abstract specification of hardware and software for the real-time-dependent layers of a communication system. The implementations are either too slow or they do not meet the time constraints. In order to counteract this disadvantage, the hardware is specified using circuit diagrams or using hardware description languages and then implemented. The software is mostly implemented using programming languages. The known method is time-consuming and costly and prone to errors.
Neben SDL gibt es auch andere Implementierungs-Sprachen, in die Uhren als Komponenten eingebunden sein können. Z.B. kann bei der unter der Abkürzung "UML" bekannten Unified Modelling Language auf Uhren zugegriffen werden. Eine weitere Implemen- tierungs-Sprache ist die unter der Abkürzung "VHDL" bekannte Very High speed integrated circuit hardware Description Language. Sowohl UML als auch WHDL kommen ohne das Vorsehen von Warteschlangen aus.In addition to SDL, there are other implementation languages in which clocks can be integrated as components. For example, with the unified modeling known under the abbreviation "UML" Language can be accessed on clocks. Another implementation language is the Very High speed integrated circuit hardware description language known under the abbreviation "VHDL". Both UML and WHDL do not require queues.
Aus Kopetz, H., Ochsenreiter, W. : Clock Syncronisation in Di- stributed Real-Time Systems; in IEEE Trans, on Computers, Vol. C-36, No.8, August 1987, ist ein gattungsgemäßes Verfah- ren zur Herstellung eines computergestützten Echtzeitsystems bekannt. Nicht bekannt aus dem vorgenannten Dokument ist eine Spezifikation einer realen Uhr, welche die vorgenannten Nachteile aus dem Stand der Technik beseitigt.From Kopetz, H., Ochsenreiter, W.: Clock Synchronization in Distributed Real-Time Systems; in IEEE Trans, on Computers, Vol. C-36, No.8, August 1987, a generic method for the production of a computer-based real-time system is known. A specification of a real watch which eliminates the aforementioned disadvantages from the prior art is not known from the aforementioned document.
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. Es soll eine automatische Implementierung einer abstrakten Spezifikation von Echtzeitsy- stemen ermöglicht werden. Weiteres Ziel der Erfindung ist es, Fehler bei der Herstellung von Echtzeitsystemen zu vermeiden.The object of the invention is to eliminate the disadvantages of the prior art. In particular, a method is to be specified with which real-time systems can be produced simply, quickly and inexpensively. An automatic implementation of an abstract specification of real-time systems should be made possible. Another object of the invention is to avoid errors in the manufacture of real-time systems.
Diese Aufgabe wird durch die Merkmale der Ansprüche 1 und 10 gelöst . Zweckmäßige Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche 2 bis 9.This object is solved by the features of claims 1 and 10. 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, bei dem die reale Uhr durch folgende Beziehung definiert ist: (t)According to the invention, a method for producing a computer-based real-time system with at least one processing unit is provided, in which the real clock is defined by the following relationship: (T)
(t; G mod R„ wobei Cr (t) e R in [sec](t; G mod R „where C r (t) e R in [sec]
T rT r
wobeiin which
Rv : Wertebereich, Rv G R+ in [sec] ,R v : range of values, R v GR + in [sec],
Gr : Granularität , Gr C (R+ in [sec] ,G r : granularity, G r C (R + in [sec],
wobei Gr und Rv auf den kleinsten auftretenden Wert normiert sind,where G r and R v are normalized to the smallest occurring value,
T : Taktperiode, T G R+ in [sec] , wobeiT: clock period, TGR + in [sec], where
Cc (t) = [1+g] • Ci (t) + G (p,t) + S0, wobei Cc (t) 6 R in [sec]C c (t) = [1 + g] • Ci (t) + G (p , t) + S 0 , where C c (t) 6 R in [sec]
(t) = t ; t G R in [sec](t) = t; t G R in [sec]
g: Genauigkeit der Uhr, g e R, z.B. die Quarzgenauigkeit in ppm.g: accuracy of the clock, g e R, e.g. the quartz accuracy in ppm.
g (p,t) : Genauigkeitsänderung der Uhr über der Zeit in Abhängigkeit von physikalischen Größen, dargestellt durch den Vektor p, z.B. der Temperatur, g (p,t) G IR *2g (p , t): Accuracy change of the clock over time depending on physical quantities, represented by the vector p , e.g. the temperature, g (p , t) G IR * 2
G (p"* '.#tt)) == J j cg(p"*,t) dt als wirksame Genauigkeitsänderung in einem Zeitintervall (t - ti) , G (p,t) G IR in [sec]G (p "* '. # Tt)) == J j cg (p " * , t) dt as effective change of accuracy in a time interval (t - ti), G (p , t) G IR in [sec]
S0: Startoffset, SQ G IR in [sec]S 0 : start offset, S Q G IR in [sec]
Das erfindungsgemäße Verfahren ermöglicht es, Daten, Datenpakete oder Datenströme in einer Computeranlage mit einer von der Systemlogik unabhängigen genauen Zeitmarke zu markieren. Das eröffnet völlig neue Freiheiten in der Spezifikation, insbesondere von verteilten Echtzeitsystemen. Mit einer nach dem erfindungsgemäßen Verfahren hergestellten Spezifikation entfallen die Implementierungsprobleme 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 Herstellung, 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 echtzeitabhängigen Schichten eines Kommunikationssystems zu spezifizieren und daraus effizi- ente Implementierungen automatisch abzuleiten.The method according to the invention makes it possible to mark data, data packets or data streams in a computer system with a precise time stamp that is independent of the system logic. This opens up completely new freedom in the specification, especially of distributed real-time systems. With a specification produced according to the method according to the invention, the implementation problems according to the prior art are eliminated. The real time can already be taken into account when analyzing the functional and temporal behavior and the subsequent specification. The proposed method makes it possible to specify a universal design pattern which is suitable for the production, in particular of distributed real-time systems, in a very wide variety of application areas. The formal consideration of time requirements possible with the method according to the invention also makes it possible to specify the real-time-dependent layers of a communication system and to automatically derive efficient implementations therefrom.
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: 01D ( t ) = Cx ( t ) - CD ( t )Furthermore, it is possible to define relationships between the clocks in distributed real-time systems that are not implemented in a device. For example, the offset of two clocks at time t results from the relationship: 0 1D (t) = C x (t) - C D (t)
Unter Verwendung dieses Modells können z.B. Synchronisati- onsalgorithmen spezifiziert und validiert werden.Using this model e.g. Synchronization 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 Verarbeitungseinheiten .A numerical counter assigned to the processing unit can be controlled by means of the clock. When using several of the clocks, one of the clocks advantageously serves as a reference clock for synchronizing the other clocks. This enables an orderly data exchange between the processing units.
Unter dem Begriff "Umgebung" wird hier ein technischer Prozeß verstanden. Zur Steuerung oder Regelung eines technischenThe term "environment" is understood here to mean a technical process. To control or regulate a technical
Prozesses kann der Datenaustausch mit den Verarbeitungseinheiten zweckmäßigerweise real zeitgesteuert durchgeführt werden. Bei den technischen Prozessen kann es sich in diesem Zusammenhang z.B. um die Steuerung einer chemischen Fabrik, ei- nes Antiblockiersystems eines Kraftfahrzeugs, eines Mobil- funknetzes und dgl . handeln.Processes, the data exchange with the processing units can expediently be carried out in real time-controlled manner. In this context, the technical processes can e.g. to control a chemical factory, an anti-lock braking system of a motor vehicle, a mobile radio network and the like. act.
Ein von einer Verarbeitungseinheit empfangener, aus einer Abfolge 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 ankommende Abfolge von Datenpaketen sequentiell abzuarbeiten und in gleicher Reihenfolge wieder abzusenden. Der Verarbeitungseinheit kann eine Warteschlange zugeordnet werden. Vorteilhafterweise wird die Warteschlange, vorzugsweise 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 data stream received by a processing unit and formed from a sequence of data packets and a transmitted data stream can expediently be decoupled, so that the transmitted data stream can have a sequence of data packets that is different from the received data stream. This makes it possible to manage various real-time-dependent data streams on the Internet. The transmission speed can be increased drastically for certain data streams. It is no longer necessary to process the sequence of data packets arriving at the processing unit sequentially and to send them again in the same order. A queue can be assigned to the processing unit. The queue is advantageously time-controlled, preferably with the further clock according to the invention serving as a reference clock. In this way, time-controlled data can be written to the queue or read from the queue.
Nach einem weiteren Ausgestaltungsmerkmal werden die Datenpa- kete mit einer von der Uhr erzeugten realen Zeitmarke versehen. 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 packets are provided with a real time stamp generated by the clock. Marking by means of real time stamps makes it possible to send a predefined sequence of data packets, the sequence being changed for transmission and the predefined sequence of data packets subsequently being restored. This can increase the transmission speed.
Besonders vorteilhaft ist es, mit der Uhr Zeitschranken, insbesondere Zeitbedingungen oder Zeitanforderungen, zu definieren. Unter Zeitbedingungen werden Bedingungen verstanden, un- ter denen das System zu einer vorgegebenen Zeit eine vorgegebene Aktion ausführt. Zeitanforderungen sind dagegen Anforderungen 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 define time limits, in particular time conditions or time requirements. Time conditions are understood to mean conditions under which the system carries out a specified action at a specified time. Time requirements, on the other hand, are system requirements that a specific event has occurred after a specified time has elapsed. This can also be an external event.
Nach weiterer Maßgabe der Erfindung ist eine Computeranlage vorgesehen, welche zur Durchführung des erfindungsgemäßen Verfahrens geeignet ist. Mittels einer solchen Computeranläge ist eine präzise automatische Implementierung abstrakter Spe- zifikationen von Soft- und Hardware für Echtzeitsysteme schnell und einfach durchführbar. Nachfolgend werden bevorzugte Ausführungsbeispiele des erfindungsgemäßen Verfahrens näher erläutert. Es zeigen:According to a further provision of the invention, a computer system is provided which is suitable for carrying out the method according to the invention. With such a computer system, a precise automatic implementation of abstract specifications of software and hardware for real-time systems can be carried out quickly and easily. Preferred exemplary embodiments of the method according to the invention are explained in more detail below. Show it:
Fig. 1 einen Grafen zur Definition der realen Uhr,1 is a graph for the definition of the real clock,
Fig. 2 schematisch den SDL-Prozeß mit einer realen Uhr,2 schematically shows the SDL process with a real clock,
Fig. 3 ein synchronisiertes verteiltes Echtzeitsystem in SDL,3 shows a synchronized distributed real-time system in SDL,
Fig. 4a die Spezifikation von Uhren und den Zugriff über abstrakte Datentypen,4a the specification of clocks and access via abstract data types,
Fig. 4b die Spezifikation von Zeitschranken und den Zugriff über abstrakte Datentypen,4b the specification of time barriers and access via abstract data types,
Fig. 5 die Spezifikation von Zeitanforderungen und den Zugriff über abstrakte Datentypen,5 the specification of time requirements and access via abstract data types,
Fig. 6 die Implementierung eines Entwurfsmusters,6 shows the implementation of a design pattern,
Fig. 7 die Spezifikation eines Vermittlungsrechners mit Verkehrsüberwachung undFig. 7 the specification of a switching computer with traffic monitoring and
Fig. 8 den Aufbau der Ausgänge des Vermittlungsrechners nach Fig. 7.8 shows the structure of the outputs of the switching computer according to FIG. 7.
Fig. 9a-d die Spezifikation mit verschiedenen Architekturvarianten,9a-d the specification with different architecture variants,
Fig. 1 erläutert die Unterschiede zwischen einer idealen, einer kontinuierlich realen, einer diskreten realen und eines abgeleiteten Zählers. Eine ideale Uhr ist definiert durch eine lineare Funktion.1 explains the differences between an ideal, a continuously real, a discrete real and one derived counter. An ideal watch is defined by a linear function.
Ideale Uhr:Ideal watch:
Die durchgezogene Linie in Fig. 1 gibt die Funktion der idealen Uhr gemäß der folgenden Formel wieder :The solid line in Fig. 1 represents the function of the ideal clock according to the following formula:
Ci (t) = t ; t e R in [sec]Ci (t) = t; t e R in [sec]
Die kontinuierliche reale Uhr erfordert weitere Parameter. Die kontinuierliche reale Uhr besitzt eine konstante Genauigkeit. Diese Genauigkeit wird meist in Millionstel-Teilen angegeben (ppm) .The continuous real clock requires further parameters. The continuous real clock has a constant accuracy. This accuracy is usually given in parts per million (ppm).
Zusätzlich muß berücksichtigt werden, daß die Taktperiode einer 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- onIn addition, it must be taken into account that the cycle period of a continuous real clock can fluctuate due to fluctuations in physical parameters such as temperature. 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 because it can be periodic fluctuations, the function
fc2 fc 2
G (p"*, t) = J gg((pp"*V,t) dt der wirksamen Genauigkeitsänderung t 1G (p "* , t) = J gg ((pp " * V, t) dt of the effective change in accuracy t 1
G (p,t) G IR in [sec] Treten z.B. periodische Schwankungen auf, kann es passieren, daß sich die Ungenauigkeiten der Uhr über ein Zeitintervall (t2 - ti) herausmitteln. Mit diesen Definitionen ist die kon- tinuierliche reale Uhr durch folgende Gleichung beschrieben:G (p , t) G IR in [sec] If, for example, periodic fluctuations occur, it can happen that the inaccuracies of the clock are averaged out over a time interval (t 2 - ti). With these definitions, the continuous real clock is described by the following equation:
Cc (t) = [1+g] Ci (t) + G (p,t) + S0, wobei Cc (t) G IR in [sec]C c (t) = [1 + g] Ci (t) + G (p , t) + S 0 , where C c (t) G IR in [sec]
d (t) = t ; t G IR in [sec] wobeid (t) = t; t G IR in [sec] where
g: Genauigkeit der Uhr, g G IR, z.B. die Quarzgenauigkeit in ppm.g: accuracy of the clock, g G IR, e.g. the quartz accuracy in ppm.
g (p,t) Genauigkeitsänderung der Uhr über der Zeit in Abhängigkeit von physikalischen Größen, dargestellt durch den Vektor p, z.B. der Temperatur, g (p,t) G IRg (p , t) Accuracy change of the clock over time as a function of physical quantities, represented by the vector p , e.g. the temperature, g (p , t) G IR
G (p"* ,,tt)) == J J g(p"*, t) dt als wirksame GenauigkeitsänderungG (p "* ,, tt)) = = JJ g (p " * , t) dt as an effective change in accuracy
in einem Zeitintervall (t2 - ti) G (p,t) G IR in [sec]in a time interval (t 2 - ti) G (p , t) G IR in [sec]
S0: Startoffset, SQ G IR in [sec]S 0 : start offset, S Q G IR in [sec]
Ein technischer Prozeß kann nicht in unendlich kleine Zeitabschnitte aufgelöst werden. Jede technische Uhr schwingt mit einer endlichen Frequenz. Die Frequenz korreliert zur Taktperiode 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 gegeben durch die folgende Beziehung:A technical process cannot be broken down into infinitely small periods. Every technical watch vibrates with a finite frequency. The frequency correlates to the clock period T of the clock. The smallest readable interval of the discrete real clock is defined as granularity G. The formal Mapping the ideal clock to the discrete real clock is given by the following relationship:
Diskrete reale Uhr:Discrete real clock:
(t )(t)
(t ) = mod Rv, wobei Cr (t ) G IR in [sec](t) = mod R v , where C r (t) G IR in [sec]
TT
wobeiin which
Cr (t ) G IRC r (t) G IR
Rv : Wertebereich, Rv G IR+ in [sec] ,R v : range of values, R v G IR + in [sec],
GA : Granularität , G G IR+ in [sec] , wobei G und Rv auf die kleinste auftretende Einheit normiert sind .G A : Granularity, GG IR + in [sec], where G and R v are normalized to the smallest unit that occurs.
Taktperiode, T 6 R+ in [sec]Clock period, T 6 R + in [sec]
Cc(t)C c (t)
Die Diskretisierung der Zeit ist durch die OperationL T 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 SQ und der Wertebereich Rv sind in Sekunden anzugeben.The discretization of time is described by OperationL T. 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, the start offset S Q and the value range R v are to be specified in seconds.
Cc (t)C c (t)
Ein von der diskreten Uhr T gesteuerterA controlled by the discrete clock T.
Zähler wird durch folgende Beziehung beschrieben Cc (t-Counter is described by the following relationship C c (t-
(t) = T GA mod RA (t) = TG A mod R A
NA N A
wobeiin which
CA (t) G 2C A (t) G 2
T: Taktperiode der diskreten realen Uhr, T G IR+ in [sec] ,T: clock period of the discrete real clock, TG IR + in [sec],
NA: Anzahl der Änderungen, NA G N+ N A : number of changes, N A GN +
GA: Granularität des abgeleiteten Zählers, GA G N+,G A : granularity of the derived counter, G A GN + ,
RA: Wertebereich des abgeleiteten Zählers, RA G IM+,R A : Range of values of the derived counter, R A G IM + ,
T: Verzögerungszeit, T G IR+ {o} in [sec]T: delay time, TG IR + {o} in [sec]
Die Verzögerungszeit zum Stellen des abgeleiteten Zählers ist T. NA beschreibt die Anzahl der Anzeigeänderungen der diskre- ten realen Uhr, bis sich die Anzeige des Zählers einmal ändert. Die Granularität GA gibt die Intervalländerung der Anzeige an. RA beschreibt den Wertebereich des abgeleiteten Zählers .The delay time for setting the derived counter is T. N A is the number of ad changes in the discrete th real pm until the meter is again changed. 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 Verarbeitungseinheit 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 verschiedener 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. How from 3 can be seen, it is thus 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 Datentypen 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.4a shows the definition of a set of abstract data types in SDL, with which it is possible to access the display of the real clocks, to reset the real clocks or to reset them to predetermined values at certain real times.
Mit dem erfindungsgemäßen Verfahren lassen sich Entwurfsmuster zur automatischen Ableitung von Hard- und Software von eingebetteten verteilten Echtzeitsystemen angeben. Ein zweckmäßiger Bestandteil eines solchen Entwurfsmusters ist die Formulierung von Zeitschranken. Zu diesem Zweck ist es insbesondere erforderlich, daß die verwendete Programmiersprache Zeitmarken generieren kann. Das kann z.B. durch Abfrage der Systemzeit erfolgen. Mögliche Zeitanforderungen für ein solches Entwurfsmuster - wie z.B. in Fig. 5 gezeigt - sind:With the method according to the invention, design patterns for the automatic derivation of hardware and software from embedded, distributed real-time systems can be specified. A useful part of such a design pattern is the formulation of time barriers. For this purpose, it is particularly necessary that the programming language used can generate time stamps. This can e.g. by querying the system time. Possible time requirements for such a design pattern - such as shown in Fig. 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 ergibt sich aus der Rate des empfangenen Datenstroms. Sie schreibt vor, daß im statistischen Mittel genau so viele Datenworte aus der Warteschlange gelesen werden können, wie maximal hineingeschrieben werden. Die erste Zeitanforderung gilt nur dann, wenn Datenworte sich in der Warteschlange befinden. b) Die zweite Zeitanforderung schreibt vor, daß bei einem die Datenrate R unterstützenden Medium alle l/R Zeiteinheiten ein Signal "Output" zur Auslastung des Mediums erzeugt werden muß. Die zweite Zeitanforderung gilt nur dann, wenn im Speicher des Entwurfsmusters Datenworte abgelegt sind.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 requirement results from the rate of the received data stream. It stipulates that on average, as many data words can be read from the queue as the maximum number of words that can be written into them. The first time request only applies if data words are in the queue. b) The second time requirement stipulates that in the case of a medium supporting the data rate R, a signal “output” must be generated for the utilization of the medium every 1 / R time units. The second time requirement only applies if data words are stored in the memory of the design pattern.
Der in Fig. 4b gezeigte Datentyp "Eventclass" stellt u.a. folgende Operationen zur Verfügung, die zur Definition von Zeitbedingungen und Zeitanforderungen geeignet sind:The data type "Eventclass" shown in FIG. The following operations are available that are suitable for defining time conditions and time requirements:
Append : Trägt die aktuelle Systemzeit in eine Liste von Zeitstempeln ein;Append: enters the current system time in a list of time stamps;
Durationevent Errechnet die Zeitdauer zwischen zwei in der Liste eingetragenen Zeitstempeln undDurationevent Calculates the duration between two time stamps entered in the list and
Monitor: Protokolliert im Fehlerfall die Ergebnisse der Zeitüberprüfung und schreibt diese auf ein entsprechendes Ausgabegerät.Monitor: In the event of an error, records the results of the time check and writes them to an appropriate output device.
ThrowException : Ruft eine Ausnahmeverarbeitung im Fehlerfall auf, um das System z.B. in einen sicheren Zustand zu fahren.ThrowException: Calls exception processing in the event of an error in order to e.g. to drive to a safe state.
Beispiele zur Realisierung von Bausteinen mit Hilfe des Musters :Examples of building blocks using the pattern:
Die jeweilige Funktionalität des Musters in unterschiedlichen Anwendungen oder als Baustein wird letztendlich durch die Funktionen Sortinto () und SortOut ( ) festgelegt. Wird das Entwurfsmuster 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 Reihenfolge 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 Datenstroms eine vereinbarte Dienstgüte (QoS: Quality of Service) einhält. An dieser Stelle kann u.a. auch die Wegeinformation (Adresse, Telefonnummer, oder Pfadnummer in ATM) des Paketes ausgewertet und das Ziel der Sendefunktion festgelegt werden.The respective functionality of the pattern in different applications or as a module is ultimately determined by the functions Sortinto () and SortOut (). If the design pattern is used in communication systems, eg to implement scheduling algorithms, time or frequency multiplexers or bandwidth allocations, the Sortinto () function each data word with a time stamp. SortOut () then reads 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: Quality of Service). 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 sending function can be determined.
Bei der Realisierung von Steuer- oder Regelungsalgorithmen dagegen wird die jeweilige Stellwertberechnung in der Funktion SortOut () vorgenommen, während die Funktion Sortinto () die Sensorwerte (Regelgrößen) abspeichert.When implementing control or regulation algorithms, on the other hand, the respective manipulated variable calculation is carried out in the SortOut () function, while the Sortinto () function stores the sensor values (controlled variables).
Auf diese Weise können zunächst mehrere Werte gesammelt werden, bevor die eigentliche Berechnung durchgeführt wird.In this way, several values can first be collected before the actual calculation is carried out.
Automatische Ableitung von gemischten HW/SW Systemen:Automatic derivation of mixed HW / SW systems:
Das im vorherigen Abschnitt beschriebene Entwurfsmuster kann sehr einfach in eine Implementierung überführt werden. Zu diesem Zweck werden Zustandsuberg ang 1 und Zustandsühergang 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 Einbzw. Ausgangsmodul auch wieder eine gemischte HW/SW- Implementierung darstellen. Eingangs- und Ausgangsübergang des Moduls können dabei durchaus überlappend ausgeführt werden (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 Ausfü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 Kombinationen sind bei der Implementierung möglich: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 Einzw. Output module again represent a mixed HW / SW implementation. The module's input and output transitions can be overlapped (pipelining), since synchronization between the two state transitions can take place via the shared memory of the internal buffer. Such an approach allows the Reduce implementation effort drastically and increase execution speed significantly. 6 shows an example of how the design pattern can 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, der Zustandsübergang 1 und Sortinto ( ) werden in Software implementiert, während Zustandsübergang 2 und SortOut () in Hardware implementiert werden, • Sortinto ( ) wird in Hardware implementiert, alle anderenAll modules are implemented in hardware and software, state transition 1 and Sortinto () are implemented in hardware, while state transition 2 and SortOut () are implemented in software, state transition 1 and Sortinto () are implemented in software, while state transition 2 and SortOut () are implemented in hardware, • Sortinto () is implemented in hardware, all others
Teile in Software,Parts in software,
SortOut ( ) wird in Hardware implementiert, alle anderenSortOut () is implemented in hardware, all others
Teile in Software,Parts in software,
Sortinto () und SortOut () werden in Hardware, der Rest des Prozesses wird in Software implementiert.Sortinto () and SortOut () are implemented 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 0. 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 implementiert, 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 are from 0. Bringmann et al. , Mixed Abstraction Level Hardware Synthesis from SDL for Rapid Prototyping, 10 th IEEE International Workshop on Rapid System Prototyping, Clearwater, June 1999. Since the functions Sortinto () and SortOut () usually have a high algorithmic component, the architecture synthesis lends itself to them, ie for the functions a special, application-specific processor is generated with the help of a tool. If the two state transitions are implemented in hardware, they can be used directly without the use of optimizing drive (synthesis) into a simple hardware description at the register transfer level (RTL: register transfer level). This conceptual separation also considerably 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 einem gleichzeitigen Zugriff eine der beiden Funktionen angehalten wird und wartet, bis die andere Funktion fertig ist.The pipelining of the two modules is possible if both modules do not want to access the same memory cell of the memory at the same time. The semantics of the design pattern are always preserved, since if one is accessed at the same time, one of the two functions is stopped and waits until the other function is finished.
Entwurf komplexer Systeme mit den Bausteinen:Design of complex systems with the building blocks:
Der Aufbau eines komplexeren Systems mit Hilfe von Bausteinen, die aus dem beschriebenen Entwurfsmuster abgeleitet werden 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 realisiert.The construction of a more complex system using 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 Entwurfsmusters 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 Kontrollmodul Control geschickt. In diesem Modul werden dann die üblichen Telekommunikationsprotokolle abgewickelt. In Control werden die Informationen generiert, die den Datenfluß (Ver- mittlung) durch das System beschreiben. Dazu wird die Variable OutPID in der Verkehrsüberwachung von Control gesetzt. Die Vermittlung wird dadurch realisiert, daß es mehrere Instanzen des Moduls Scheduler (Fig. 8) gibt, z.B. für jede Ausgangsleitung eine, und die Datenworte von der Ver- kehrsuberwachung an den entsprechenden Bandbreitenzuteiler gesendet werden. Durch die Adressierung (durch die Variable OutPID) des entsprechenden Bandbreitenzuteilers ( Scheduler) erfolgt die Zuordnung eines Datenstroms zu einem Ausgangskanal .In such a switching computer, a distinction is still made between control information and user data. Does the data contain tenstrom control information, this is sent to the control module Control. The usual telecommunications protocols are then processed in this module. The information that describes the data flow (mediation) 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 scheduler module (FIG. 8), for example one for each output line, and the data words are sent from the traffic monitoring to the corresponding bandwidth allocator. The addressing (using the OutPID variable) of the corresponding bandwidth allocator (scheduler) assigns a data stream to an output channel.
Prinzipiell ist es möglich, daß es am Eingang mehrere Verkehrsüberwachungen gibt (n Eingänge) und am Ausgang mehrere Module des Typs Scheduler (m Ausgänge) .In principle, it is possible for there to be several traffic monitors at the entrance (n entrances) and several scheduler-type modules (m exits) at the exit.
Die Festlegung, welcher bandbreitenbegrenzte Kanal an dieser Stelle implementiert wird, hängt von den Kosten und den Anforderungen an das System ab. Prinzipiell ist die Bandbreite des verbindenden Kanals unendlich groß. Einige mögliche Varianten werden beispielhaft im folgenden Abschnitt beschrieben.Determining which bandwidth-limited channel is implemented at this point depends on the cost and system requirements. In principle, the bandwidth of the connecting channel is infinite. Some possible variants are described in the following section as examples.
Automatische Ableitung eines komplexen SystemsAutomatic derivation of a complex system
Fig. 9a zeigt den Grundaufbau des Vermittlungsrechners auf der Spezifikationsebene. Davon können nun verschiedene Archi- tekturen abgeleitet werden. Softwaremodule werden auf Prozessoren 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 Policy bzw. S für Scheduler, C für Control verwendet werden. Kommunikationskanäle können auf Busse oder Vermittlungsbausteine abgebildet werden.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 supposed to be one instance of each Represent design patterns, using abbreviations P for Policy or S for Scheduler, C for Control. Communication channels can be mapped to buses or switching modules.
Die Implementierung in Fig. 9b besitzt einen Prozessor zur Abarbeitung der beiden Verkehrsüberwachungsinstanzen [Policy) , drei Hardwaremodule für die Bandbreitenzuteilungsmodule ( 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 Kontroll- und Verkehrsüberwachungsinstanzen und einem Hardwaremodul zur Realisierung der Scheduler.The implementation in FIG. 9b has a processor for processing the two traffic monitoring entities [policy], 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 to this, the architecture in FIG. 9c consists of three processors for the control and traffic monitoring instances and a hardware module for implementing the schedulers.
In Fig. 9d wird dagegen die Vermittlungsfunktionalität nicht mit Hilfe eines gemeinsamen Busses, sondern über einen Vermittlungsbaustein (Raummultiplexer) realisiert.In contrast, in FIG. 9d, the switching functionality is not implemented 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 are also conceivable. e.g. only part of the scheduler could be implemented in hardware and the rest in software. Except for the Control module for implementing the telecommunication protocols, all components of the switching computer can be implemented by different instances of the design pattern.

Claims

Patentansprüche claims
1. Verfahren zur Herstellung eines computergestützten Echtzeitsystems mit mindestens einer Verarbeitungseinheit (Via, Vlb, ...) ,1. Method for producing a computer-aided real-time system with at least one processing unit (Via, Vlb, ...),
wobei ein Datenaustausch zwischen der Verarbeitungseinheit Via, Vlb, ...) und der Umgebung oder einer oder mehreren weiteren Verarbeitungseinheiten (V2a, V2b, ...) synchron oder asynchron durchgeführt wird, undwherein data exchange between the processing unit Via, Vlb, ...) and the environment or one or more further processing units (V2a, V2b, ...) is carried out synchronously or asynchronously, and
wobei zur Korrelation des in einer Computer nläge erfolgenden Datenaustausche der Verarbeitungseinheit (Via, Vlb,...) mindestens eine reale Uhr zugeordnet wird, dadurch gekennzeichnet, daß die reale Uhr durch folgende Beziehung definiert ist :at least one real clock being assigned to correlate the data exchange taking place in a computer system (Via, Vlb, ...), characterized in that the real clock is defined by the following relationship:
Cc (t)C c (t)
(t) = G mod Rv r(t) = G mod R v r
wobeiin which
Cr (t) G R in [sec]C r (t) GR in [sec]
Rv : Wertebereich, Rv G IR+ in [sec] ,R v : range of values, R v G IR + in [sec],
Gr : Granularität, G G IR+ in [sec] , wobei Gr und Rv auf den kleinste auftretende Einheit normiert sind.G r : granularity, GG IR + in [sec], where G r and R v are normalized to the smallest unit occurring.
T : Taktperiode , T G IR+ , in [sec] , Cc (t ) = [1+g] d (t) + G (p-,t) + So; wobei Cc (t) G IR in [sec]T: clock period, TG IR + , in [sec], C c (t) = [1 + g] d (t) + G (p-, t) + S o; where C c (t) G IR in [sec]
Ci (t) = t ; t G IR, in [sec] g: Genauigkeit der Uhr, g G IR, z.B. die Quarzgenauigkeit in ppm.Ci (t) = t; t G IR, in [sec] g: accuracy of the clock, g G IR, e.g. the quartz accuracy in ppm.
g (p,t) Genauigkeitsänderung der Uhr über der Zeit in Abhängigkeit von physikalischen Größen, dargestellt durch den Vektor p z.B. der Temperatur, g (p,t) G IRg (p , t) Accuracy change of the clock over time depending on physical quantities, represented by the vector p e.g. the temperature, g (p , t) G IR
G (p*,t) (p"*,t) dt, als wirksame Genauigkeitsänderung in einem Zeitintervall (t2 - ti)G (p * , t) (p "* , t) dt, as an effective change in accuracy in a time interval (t 2 - ti)
S0: Startoffset, S0 G IR in [sec]S 0 : start offset, S 0 G IR in [sec]
2. Verfahren nach Anspruch 1, wobei ein der Verarbeitungs- einheit (Via, Vlb,...) zugeordneter numerischer Zähler mittels der Uhr gemäß der folgenden Beziehung gesteuert wird.2. The method according to claim 1, wherein a numerical counter assigned to the processing unit (Via, Vlb, ...) is controlled by means of the clock according to the following relationship.
wobei in which
(t) : G Z(t): G Z
T: Taktperiode der diskreten realen Uhr, T G IR+ in [sec] NA: Anzahl der Änderungen, NA G M+ T: clock period of the discrete real clock, TG IR + in [sec] N A : number of changes, N A GM +
GA: Granularität des abgeleiteten Zählers, GA G N+, RA: Wertebereich des abgeleiteten Zählers, RA G N+,G A : granularity of the derived counter, G A GN + , R A : range of values of the derived counter, R A GN + ,
T: Verzδgerungszeit, r 6 IR+ {o} in [sec] .T: delay time, r 6 IR + {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 serves as a reference clock for synchronizing the other clocks.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei zur Steuerung oder Regelung eines technischen Prozesses der Datenaustausch mit den Verarbeitungseinheiten (Via, Vlb, ... V2a, V2b,...) real zeitgesteuert durchgeführt wird.4. The method according to any one of the preceding claims, wherein to control or regulate a technical process, the data exchange with the processing units (Via, Vlb, ... V2a, V2b, ...) is carried out in real time.
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein von einer Verarbeitungseinheit (Via, Vlb, ... V2a, V2b, ...) empfangener aus einer Abfolge von Datenpakten gebildeter Da- tenstrom und ein gesendeter Datenstrom entkoppelt werden, so daß der gesendete Datenstrom eine vom empfangenen Datenstrom verschiedene Abfolge der Datenpakete aufweist .5. The method according to any one of the preceding claims, wherein a data stream received from a processing unit (Via, Vlb, ... V2a, V2b, ...) formed from a sequence of data packets and a transmitted data stream are decoupled, so that the sent data stream has a different sequence of data packets from the received data stream.
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Verarbeitungseinheit (Via, Vlb,...) eine Warteschlange zugeordnet wird.6. The method according to any one of the preceding claims, wherein the processing unit (Via, Vlb, ...) is assigned a queue.
7. Verfahren nach Anspruch 6, wobei die Warteschlange mit der Uhr, vorzugsweise mit der als Referenzuhr dienenden Uhr, zeitgesteuert wird. 7. The method according to claim 6, wherein the queue with the clock, preferably with the clock serving as a reference clock, is time-controlled.
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 are provided with a real time stamp generated by the clock.
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 time limits, in particular time conditions or time requirements, are defined with the clock.
10. Computeranlage hergerichtet zur Durchführung des Verfah- rens nach einem der vorhergehenden Ansprüche 10. Computer system prepared for carrying out the method according to one of the preceding claims
EP01969264A 2000-09-06 2001-09-03 Method for producing computer-assisted real-time systems Ceased EP1325410A2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE10044021 2000-09-06
DE10044021 2000-09-06
DE10057651 2000-11-21
DE10057651A DE10057651C2 (en) 2000-09-06 2000-11-21 Process for the production of computerized real-time systems
PCT/DE2001/003349 WO2002021261A2 (en) 2000-09-06 2001-09-03 Method for producing computer-assisted real-time systems

Publications (1)

Publication Number Publication Date
EP1325410A2 true EP1325410A2 (en) 2003-07-09

Family

ID=26006947

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01969264A Ceased EP1325410A2 (en) 2000-09-06 2001-09-03 Method for producing computer-assisted real-time systems

Country Status (4)

Country Link
US (1) US7085198B2 (en)
EP (1) EP1325410A2 (en)
AU (1) AU2001289575A1 (en)
WO (1) WO2002021261A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008030163A1 (en) 2008-06-27 2009-12-31 Inchron Gmbh Embedded system i.e. computer system, simulating method, involves simulating dynamic characteristics reacting with events by simulator core, and determining actually required execution times of program sequence on target system
WO2011076278A1 (en) 2009-12-23 2011-06-30 Inchron Gmbh Method and data processing system for simulating an embedded system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173207B1 (en) * 1997-09-22 2001-01-09 Agilent Technologies, Inc. Real-time control system with non-deterministic communication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0221261A2 *

Also Published As

Publication number Publication date
WO2002021261A2 (en) 2002-03-14
US7085198B2 (en) 2006-08-01
US20040027924A1 (en) 2004-02-12
AU2001289575A1 (en) 2002-03-22
WO2002021261A3 (en) 2002-07-18

Similar Documents

Publication Publication Date Title
WO2018166576A1 (en) Method and device for time-controlled data transmission in a tsn
EP2559221B1 (en) Method and apparatus for interchanging data, and network
EP1471433B1 (en) Method and device for synchronizing the cycle time of a number of buses, and a corresponding bus system
DE102010004298B4 (en) Prevention of message loss in CAN systems
EP3014438B1 (en) Method and apparatus for data transfer to the cyclic tasks in a distributed real time system at the correct time
EP2109259A1 (en) Method, bus components and ethernet-based device for controlling an automation system
EP1763768B1 (en) Method and device for controlling a bus system, and corresponding bus system
DE10340165A1 (en) Sensor connection procedure for vehicle TTCAN networks synchronizes sensor or actuator to bus system clock during fast clock first phase
WO2002076031A2 (en) Synchronization of at least one node of a bus system
EP1639758B1 (en) Method and device for the exchange of data via a bus system
DE69220267T2 (en) Pulse tamping system
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
DE10057651C2 (en) Process for the production of computerized real-time systems
WO2002021261A2 (en) Method for producing computer-assisted real-time systems
EP1320047B1 (en) Method for analyzing the temporal behavior of complex distributed 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
DE10333934A1 (en) Synchronization of data processing units
DE10229110A1 (en) Method for synchronizing nodes of a communication system
DE102009000581A1 (en) Synchronization of two communication networks of an electronic data processing system
DE19800619A1 (en) Circuit for transmitting plesiochronic signals in Synchronous Digital Hierarchy transmission system
EP1374460B1 (en) Circuit arrangement and method for synchronised transmission of audio data streams in a bus system
DE29809721U1 (en) Arrangement for the control and regulation of technical processes
DE10232988A1 (en) Method and device for the clocked output of asynchronously received digital signals
EP4062595A1 (en) Method, system, and gateway for linking time-sensitive fieldbuses

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030224

AK Designated contracting states

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

17Q First examination report despatched

Effective date: 20071116

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: INCHRON GMBH

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: INCHRON GMBH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20111207