JP4752005B2 - How to create a computer-aided real-time system - Google Patents

How to create a computer-aided real-time system Download PDF

Info

Publication number
JP4752005B2
JP4752005B2 JP2002524810A JP2002524810A JP4752005B2 JP 4752005 B2 JP4752005 B2 JP 4752005B2 JP 2002524810 A JP2002524810 A JP 2002524810A JP 2002524810 A JP2002524810 A JP 2002524810A JP 4752005 B2 JP4752005 B2 JP 4752005B2
Authority
JP
Japan
Prior art keywords
time
clock
real
data
processing units
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
JP2002524810A
Other languages
Japanese (ja)
Other versions
JP2004508752A (en
Inventor
ラルフ ミュンツェンベルゲル
フランク スロムカ
マティーアス デルフェル
オリバー ブリングマン
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
Inchron GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inchron GmbH filed Critical Inchron GmbH
Priority claimed from PCT/DE2001/003349 external-priority patent/WO2002021261A2/en
Publication of JP2004508752A publication Critical patent/JP2004508752A/en
Application granted granted Critical
Publication of JP4752005B2 publication Critical patent/JP4752005B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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

【0001】
本発明は、請求項1の前提特徴部分に記載の少なくとも1つの処理ユニットを有するコンピュータ支援リアルタイムシステムを作成する方法に関する。また、本方法を実行するように設計されたコンピュータシステムにも関する。
【0002】
リアルタイムシステムとは、一般に、所定の時間でおよび/または所定の時間間隔の経過後に、特定の計算結果を供給しなければならないシステムのことをいう。例えば、音声をデジタル信号に変換して送信し、その後、デジタル信号をアナログオーディオ信号に戻すのに必要な時間は約250msである。したがって、携帯電話を介した通信は、250nmの時間遅延を伴う。この時間遅延が250msよりも大きい場合、送信された音声を理解することはもはやできない。
【0003】
多数の処理ユニットを有するコンピュータ支援リアルタイムシステム、いわゆる分散型リアルタイムシステムは、従来、広く用いられている。例えば、このようなシステムは、携帯電話、それら携帯電話のスイッチングシステム、およびそのような分散型リアルタイムシステムの周辺のネットワークを含む。
【0004】
分散型リアルタイムシステムは、多数の処理ユニットを備え得る。これらは、同一装置からなる一つの構成要素である。しかし、処理ユニット、例えば、携帯電話およびスイッチングシステムを物理的に相互に分離することも可能である。
【0005】
分散型リアルタイムシステムは、SDL(Specification and Description Language)の略語で知られる、「仕様記述言語」(ITU−T.Z.100、Appendix I.ITU、SDL Methodology Guidelines、ITU、1993)等の抽象仕様に基づいて作成される。SDLは、各処理ユニットおよび関連キューを有する各処理の技術原理に基づいている。通常、バスを介して行われるデータ交換またはデータ通信が、処理ユニット間で、排他的にキューを介し、全ての処理が並行した状態で行われることが絶対不可欠である。
【0006】
データ交換を相互に関連づけるために、各処理ユニットは、少なくとも一つの関連づけられたいわゆるタイマーモジュールを有する。これは、計数期間が標準化されていないが、処理クロックから導出できる数値カウンタである。これは、個々に選択されたハードウェアおよび/または個々のプログラムに依存する。このことは、現在まで、通信システム内のリアルタイム依存レイヤのハードウェアおよびソフトウェア用の抽象仕様を自動的に実装することが確実にはできなかったことを意味してきた。この実装は、遅すぎるか、または限界時間条件を満たさないかのいずれかである。この不利益を克服するために、回路図の助けを借りるか、またはハードウェア記述言語によって、ハードウェアが指定され、実装される。ソフトウェアは、一般に、プログラミング言語によって実装される。この公知の方法は、時間を要し、費用がかかり、故障の影響を受けやすい。
【0007】
SDLの他に、クロックが成分として含まれ得る他の実装言語が存在する。例えば、「UML」の略語である公知の統一モデリング言語は、クロックを利用する。さらなる実装言語は、「VHDL」の略語である公知の超高速集積回路ハードウェア記述言語である。UMLおよびWHDLのいずれもキューの提供を含まない。
【0008】
この汎用的なコンピュータ支援リアルタイムシステムを作成する方法は、Kopetz,H.Ochsenreiter,W.:Clock Synchronization in Distributed Real−Time Systems;in IEEE Trans. on Computers、Vol.C−36、No.8、August 1987に示されているように公知である。上記文書には、上記従来技術の不利益を克服するリアルタイムクロックの仕様が何ら含まれていない。
【0009】
本発明の目的は、従来技術の不利益を克服することである。そのねらいは、特に、リアルタイムシステムを容易、迅速に、低コストで作成し得る方法を提供することである。他のねらいは、リアルタイムシステム用の抽象仕様の自動実装を可能にすることである。本発明のさらなるねらいは、リアルタイムシステムの作成における欠陥を避けることである。
【0010】
この目的は、請求項1および10の特徴によって達成される。便宜的な改良点が請求項2〜9の特徴に見られ得る。
【0011】
本発明は、少なくとも1つの処理ユニットを有するコンピュータ支援リアルタイムシステムを作成する方法であって、リアルタイムクロックが以下の関係:
【数19】

Figure 0004752005
ここで、
【数20】
Figure 0004752005
【数21】
Figure 0004752005
【数22】
Figure 0004752005
(GrおよびRvは発生する最小単位に関して正規化されている)
【数23】
Figure 0004752005
【数24】
Figure 0004752005
【数25】
Figure 0004752005
【数26】
Figure 0004752005
例えば、ppmの単位におけるクリスタル精度であり、
g(p+ ,t)は、時間に関する前記クロックの精度を変更するベクトルp+ によって表される物理的変数の関数であり、
【数27】
Figure 0004752005
【数28】
Figure 0004752005
【数29】
Figure 0004752005
によって定義されている。
【0012】
本発明による方法によって、コンピュータシステム内のデータ、データパケット、またはデータストリームが、システム論理から独立した正確なタイムマーカによってマークされることが可能となる。これによって、特に、分散型リアルタイムシステムに関し、仕様について、全く新たな自由が広げられる。本発明による方法に基づいて作成される仕様は、従来技術による実装の問題を克服する。リアルタイムでの応答が、機能的時間応答および後続の仕様の解析中にさえも考慮され得る。この提案された方法は、最も大きく異なる適用領域において、特に、リアルタイムシステムを分散する作成に適した普遍的設計パターンを指定することを可能にする。本発明による方法によって可能となる時間要件の形式的な考慮によって、さらに、通信システムにおけるリアルタイム依存レイヤを指定することが可能となり、これによって、効率的な実装を自動的に導出することが可能となる。
【0013】
また、1つの装置内に実装されていない分散型リアルタイムシステムにおけるクロック間の関係を定義することも可能である。一例としては、時間tに関する2つのクロック間のオフセットは、関係:
【数30】
Figure 0004752005
によって求められる。
【0014】
一例として、同期アルゴリズムは、このモデルを用いて指定され検証され得る。
【0015】
処理ユニットに関連づけられた数値カウンタは、クロックによって制御され得る。多数のクロックが用いられる場合、それらのクロックのうちの1つが、他のクロックの同期用の基準クロックとして有利に用いられる。これによって、データが処理ユニット間で組織化された様式で交換されることが可能となる。
【0016】
これに関連して、「環境」という表現は技術的処理を意味する。処理ユニットとのデータ交換は、技術的処理の開ループ制御または閉ループ制御のために、リアルタイム制御下で好適に実行され得る。これに関連して、例えば、技術的処理は、化学工場、自動車両用アンチロックブレーキングシステム、移動式無線ネットワーク等の制御である。
【0017】
処理ユニットによって受信され、データパケットのシーケンスで形成されるデータストリームは、送信されたデータストリームが受信されたデータストリームと同じデータパケットシーケンスを有することを必要としないように、送信されたデータストリームから好適に分離され得る。よって、異なるリアルタイム依存データストリームをインターネット上で管理することが可能である。送信速度は、いくつかのデータストリームに関しては劇的に上昇し得る。処理ユニットに到達するデータパケットのシーケンスを逐次的に処理するか、またはそれらのデータパケットを再度同じシーケンスに渡す必要はまったくない。
【0018】
処理ユニットは、関連づけられたキューを有する。このキューは、好ましくは、基準クロックとして用いられる本発明によるさらなるクロックによって、有利に時間制御される。よって、時間制御下で、データをキューに書き込むか、またはデータをキューから読み出すことが可能である。
【0019】
さらなる改良特徴に従って、データパケットに、クロックによって作成されるリアルタイムマーカが提供される。リアルタイムマーカによるマーキングによって、データパケットの所定のシーケンスを送信することが可能となり、シーケンスは送信のために変更され、データパケットの所定のシーケンスは後に再生される。これによって、送信速度を上昇させることが可能となる。
【0020】
クロックを用いて時間制限、特に、時間条件または時間要件を定義することは特に有利である。時間条件という表現は、システムが所定の時間で所定の動作を実行する条件を意味する。一方、時間要件とは、特定のイベントが所定の時間が経過した後に発生しなければならないというシステムに対する要件である。これは、外部イベントである。
【0021】
本発明によるさらなる手段に基づいて、本発明による方法を実行するために適切なコンピュータシステムが提供される。このようなコンピュータシステムによって、リアルタイムシステムシステム用のソフトウェアおよびハードウェアの抽象仕様の正確な自動実装が迅速かつ単純な様式で可能となる。
【0022】
本発明による方法の好適な例示的実施形態を下記においてより詳細に説明する。
【0023】
図1は、理想的なカウンタ、連続リアルカウンタ、離散リアルカウンタ、および導出カウンタ間の相違を説明するための図である。理想カウンタは、線形関数によって定義される。
【0024】
理想的なクロック:
図1の実線は、以下の式:
【数31】
Figure 0004752005
に基づく理想的なクロックの関数を示す。
【0025】
連続リアルクロックは、さらなるパラメータを必要とする。連続リアルクロックは、通常、100万分の1(ppm)の単位で示される一定の精度を有する。
【0026】
さらに、連続リアルクロックのクロック周期は、温度等の物理的パラメータの変動により変動し得ることに留意すべきである。これは、関数g(p+ ,t)によって表される。ここで、p+ は、必要とされる物理的パラメータを有し、それらの物理的パラメータの変更速度の関数としてのベクトルである。しかし、周期的変動が存在し得るため、関数g(p+,t)は、連続リアルタイムクロックの等式では用いられない。しかし、有効な精度の変化に関する関数である以下の式よって表される。
【数32】
Figure 0004752005
【数33】
Figure 0004752005
【0027】
例えば、周期的変動が発生する場合、時間間隔(t2 −t1 )にわたるクロックの不正確性を平均化することが可能である。これらの定義を用いると、連続リアルタイムクロックは以下の式で表される。
【数34】
Figure 0004752005
【0028】
ここでは、以下のように定義される。
【数35】
Figure 0004752005
【数36】
Figure 0004752005
例えば、ppmの単位におけるクリスタル精度である。
g(p+ ,t)は、ベクトルp+ によって表される物理的変数の関数として時間に関するクロックの精度を変更する。
【数37】
Figure 0004752005
【数38】
Figure 0004752005
【数39】
Figure 0004752005
【0029】
技術的処理は、無限量の短い時間間隔には分解され得ない。いずれの物理的クロックも有限周波数で発振する。この周波数は、クロックのクロック周期Tと相互に関連づけられる。離散リアルタイムクロックの最短の判読可能な間隔は、細分性Gとして定義される。理想的なクロックの離散リアルタイムクロック上への形式的なマッピングは、以下の関係式で表される。
【0030】
離散リアルタイムクロック:
【数40】
Figure 0004752005
【0031】
ここでは、以下のように定義される。
【数41】
Figure 0004752005
【数42】
Figure 0004752005
【数43】
Figure 0004752005
【数44】
Figure 0004752005
ここで、GおよびRvは発生する最小単位に関して正規化されている。
【数45】
Figure 0004752005
【0032】
時間の量子化は、演算
【数46】
Figure 0004752005
によって記述される。RV は、離散リアルクロックの数値範囲を示す。RV 時間制限の後、離散リアルタイムクロックは再び0を示す。これは等式のモジュロ演算によって示される。不正確性G(p+ ,t)は、ここでは直接的には現れない。クロック周期T、細分性Gr 、開始オフセットSo 、および数値レートRv は、秒の単位で示されなければならない。
【0033】
離散クロック
【数47】
Figure 0004752005
によって制御されるカウンタは、以下の関係式で表される。
【0034】
【数48】
Figure 0004752005
【0035】
ここでは、以下のように定義される。
【数49】
Figure 0004752005
【数50】
Figure 0004752005
【数51】
Figure 0004752005
【数52】
Figure 0004752005
【数53】
Figure 0004752005
【数54】
Figure 0004752005
【0036】
導出カウンタの設定に対する遅延時間はτである。NA は、カウンタの表示が1回変わるまでの離散リアルタイムクロックに関する表示の変更の数を示す。細分性GA は、表示間隔の変化を示す。RA は、導出カウンタの数値範囲を示す。
【0037】
図2は、SDLにおける処理ユニットおよびいわゆる「SDL処理」の構造を模式的に示す図である。従来のSDL概念に基づいて提供される1つ以上のタイマーは、本発明に従って、1つのリアルタイムクロックに接続される。図3から明白であるように、これによって、異なるSDL処理用のタイマーを同期させることが可能である。
【0038】
図2および図3に示すような到達信号には、タイムスタンプ(この場合にはリアルタイムマーカである)が提供され得る。
【0039】
図4aは、SDLにおける抽象データタイプのセットの定義を示す図である。これによって、リアルタイムクロックの表示にアクセスすること、リアルタイムクロックをリセットすること、またはリアルタイムクロックを特定のリアルタイムに関連する所定値に設定することが可能である。
【0040】
本発明による方法によって、埋め込まれた分散リアルタイムシステムのハードウェアおよびソフトウェアの自動的導出のために設計パターンを指定することが可能となる。このような設計パターンの1つの好適な構成要素は、時間制限の公式化である。特に、この目的のためには、用いられるプログラミング言語がタイムマーカを生成することが可能であることが必要である。これは、例えば、システム時間を要求することによって行われ得る。一例として図5に示すこのような設計パターンの考えられ得る時間要件は以下である。
【0041】
a) 状態READの周期的な発生、すなわち、ブランチの監視および状態遷移1の実行に関する第1の時間要件。第1の時間要件は、データストリームが受信される速度に起因する。これは、統計上の平均に基づいて、キューから読み出され得るデータワードの数がキューに書き込まれ得る最大数とちょうど同じであることを指定する。第1の時間要件は、キューがデータワードを含む場合にのみ適用可能である。
【0042】
b) 第2の時間要件は、データレートRに対応する媒体に関して、その媒体をロードするための「出力」信号が1/R時間単位毎に作成されなければならないことを指定する。第2の時間要件は、データワードが設計パターンのメモリ内に格納される場合のみ適用可能である。
【0043】
図4bに示す「Eventclass」データタイプは、とりわけ、時間条件および時間要件の定義に適した以下の演算を提供する。
【0044】
Append: タイムスタンプのリストに現在のシステム時間を入力する。
Durationevent: リストに入力された2つのタイムスタンプ間の期間を計算する。
Monitor: 故障が生じた場合に、定時点検の結果を記録し、それらの結果を適切な出力装置に書き込む。
ThrowException: 故障が生じた場合に、例えば、システムを安全な状態に変更するために例外処理を呼び出す。
【0045】
このパターンの支援を受けたモジュールの実装例について:
異なるアプリケーションにおける、またはモジュールとしてのパターンのそれぞれの機能は、最終的に、関数SortInto()およびSortOut()によって定義される。設計パターンが、例えば、シーケンスプランニングアルゴリズム、時分割または周波数分割マルチプレクサ、もしくは帯域幅割当てをインプリメトするために、通信システムで用いられる場合、各データワードの関数SortInto()にタイムスタンプが与えられる。次いで、SortOut()が定義されたシーケンスのデータワードをそれらのタイムスタンプに基づいて読み出す。さらに、関数SortInto()においてトラフィックの監視(Policy)を実行することが可能である。この処理では、データストリームの送信元が一致したサービス品質(QoS)を含んでいるかどうかに関して判定が行われる。この時点で、とりわけ、そのパケットに関するルーティング情報(アドレス、電話番号、またはATMにおけるパス番号)も評価され得、伝達関数の宛先が定義される。
【0046】
一方で、開ループまたは閉ループ制御アルゴリズムを実装する場合、それぞれの操作量の計算が関数SortOut()において実行される一方、関数SortInto()はセンサ値(制御量)を格納する。
【0047】
このようにして、実際の計算が実行される前に、まず、多数の値が収集され得る。
【0048】
混合HW/SWシステムの自動導出について:
上記のセクションに記載した設計パターンは変換され、非常に容易に実装され得る。状態遷移1および状態遷移2は、この目的のために個別に考慮される。これは、この分離によって各状態遷移のための特定のソフトウェアまたはハードウェアを定義することが可能となるためである。この場合、個々の入力または出力モジュールもまた、混合HW/SW実装を表し得る。この場合、このモジュールの入力遷移および出力遷移は、常に重なり合うように実行され得るが(パイプライン)、これは、2つの状態遷移間の同期が内部バッファの共有メモリを介して達成され得るためである。このような手順によって、実装の複雑性を劇的に低減することが可能となり、実行され得る速度を著しく上昇させることが可能となる。一例として、図6は、設計パターンがどのように実装され得るかを示す。この場合、このパターンの各部分はハードウェアまたはソフトウェアのいずれかで実装され得る。この実装に関して、以下の組み合わせが可能である。
【0049】
・全てのモジュールがハードウェアまたはソフトウェアに実装される。
・状態遷移1およびSortInto()がハードウェアに実装される一方、状態遷移2およびSortOut()はソフトウェアに実装される。
・状態遷移1およびSortInto()がソフトウェアに実装される一方、状態遷移2およびSortOut()はハードウェアに実装される。
・SortInto()がハードウェアに実装され、全ての他の部分はソフトウェアに実装される。
・SortOut()がハードウェアに実装され、全ての他の部分はソフトウェアに実装される。
・SortInto()およびSortOut()がハードウェアに実装され、残りの処理はソフトウェアに実装される。
【0050】
この場合の1つの大きな利点は、異なる合成技術が4つのタスクエレメントの全てに対して用いられ得ることである。適切な合成技術は、O.Bringmannらの「Mixed Abstraction Level Hardware Synthesis from SDL for Rapid Prototyping」、10th IEEE International Workshop on Rapid System Prototyping、Clearwater、June 1999より公知である。関数SortInto()およびSortOut()は、一般に、高位アルゴリズム成分を有するため、アーキテクチャ合成がそれらの関数に用いられ得る。すなわち、特殊な特定用途向けのプロセッサがツールを用いてそれらの関数のために生成される。2つの状態遷移がハードウェアに実装される場合、これらは、いずれの最適化方法(合成)を用いることなく、レジスタートランスファーレベル(RTL)で単純なハードウェア記述に直接的に変換され得る。この概念的分離は同様に、個々の状態遷移のハードウェア/ソフトウェア分割をかなり単純化する。
【0051】
2つのモジュールが重なり合う実施形態(パイプライン)は、両方のモジュールが同時にメモリ内の同じメモリセルにアクセスすることが望まれないことを前提に実行可能である。設計パターンのセマンティクスは常に保護されるが、これは、同時アクセスが生じた場合、2つの関数のうちの一方が停止し、他方の関数が終了するまで待機するためである。
【0052】
モジュールを用いた複雑なシステムの設計について:
上述の設計パターンから導出され得るモジュールの支援を受けた比較的に複雑なシステムの構築をQoS要件を備えたデータサービス用のスイッチングコンピュータの例を用いて説明する。トラフィックの監視(Policy)および帯域幅割当て(Scheduler)のための基本的なモジュールは、設計パターンのインスタンスによって提供される。
【0053】
図7の左側にシステムの基本構造を示す。到来するデータストリーム(本例では2つ存在する)が、トラフィックの監視(Policy)によって解析される。トラフィックの監視は、設計パターン(図7の右側)の支援を受けて提供される。図7に示すように、関数SortInto()はこの目的のために定義されている。
【0054】
このようなスイッチングコンピュータでは、制御情報とペイロードデータとの間にも区別がつけられる。データストリームが制御情報を含む場合、この情報は監視モジュールControlへと送られる。次いで、通常のテレコミュニケーションプロトコルがこのモジュールで処理される。システム内のデータフロー(スイッチング)を記述する情報が、Controlで生成される。これは、トラフィックの監視において変数OutPIDを設定するControlによって行われる。このスイッチングは、図8のモジュールSchedulerの多数のインスタンス(例えば、各出力線に対して1つ)、およびトラフィックの監視から適切な帯域幅アロケータへと送られるデータワードによって提供される。適切な帯域幅アロケータ(Scheduler)の(変数OutPID)によるアドレス指定によって、1つの出力チャネルに割り当てられるデータストリームが生じる。
【0055】
原則的に、入力に多数のトラフィックモニター(n個の入力)が存在し、出力にSchedulerタイプの多数のモジュール(m個の出力)が存在することが可能である。
【0056】
この時点で帯域幅が制限されたチャネルが実装される定義は、システムのコストおよび要件に依存する。原則的に、接続チャネルの帯域幅は無限に広い。
【0057】
いくつかの考え得る変形例を以下のセクションにおいて例として示す。
【0058】
複雑なシステムの自動導出について:
図9a)は、仕様レベルでのスイッチングコンピュータの基本構造を示す。ここでは、種々のアーキテクチャがここから導出され得る。ソフトウェアモジュールはプロセッサ(CPUと略記する)上に提供される一方、ハードウェアモジュールはASIC(特定用途向け集積回路)において「キャスト」される。図面では、それぞれの場合において、実線の円が設計パターンの1つのインスタンスを示し、P、S、およびCがPolicy、Scheduler、およびControlの略語として用いられる。通信チャネルが、バスまたはスイッチングモジュール上にマッピングされ得る。
【0059】
図9b)の実装は、2つのトラフィック監視インスタンス(Policy)を処理するプロセッサ、帯域幅割当てモジュール用の3つのハードウェアモジュール(Scheduler)、データワードを送信するためのバス、および制御情報用のバスを有する。これに対して、図9c)のアーキテクチャは、監視インスタンスおよびトラフィック監視インスタンス用の3つのプロセッサ、およびSchedulerを提供する1つのハードウェアモジュールを備える。
【0060】
図9d)では、対照的に、スイッチング機能は共通のバスを用いることによってではなく、スイッチングモジュール(空間分割マルチプレクサ)を介して実装される。
【0061】
ソフトウェアモジュールおよびハードウェアモジュールの任意の他の組み合わせも当然ながら実現可能であり、例えば、Schedulerの一部のみがハードウェアに実装され、残りの部分がソフトウェアに実装され得る。テレコミュニケーションプロトコルを提供するControlモジュールを除いて、スイッチングコンピュータの全てのモジュールが、設計パターンにおいて種々のインスタンスの形態を有し得る。
【図面の簡単な説明】
【図1】 図1は、リアルタイムクロックを定義するグラフを示す。
【図2】 図2は、リアルタイムクロックを用いたSDL処理を模式的に示す。
【図3】 図3は、SDLを用いた同期した分散型リアルタイムシステムを示す。
【図4a】 図4aは、抽象データタイプに関連したクロックおよびアクセスの仕様を示す。
【図4b】 図4bは、抽象データタイプに関連した時間制限およびアクセスの仕様を示す。
【図5】 図5は、抽象データタイプに関連した時間要件およびアクセスの仕様を示す。
【図6】 図6は、設計パターンの実装を示す。
【図7】 図7は、トラフィックモニタリングを用いたスイッチングコンピュータの仕様を示す。
【図8】 図8は、図7に示すスイッチングコンピュータの出力の構成を示す。
【図9】 図9a)〜d)は、種々のアーキテクチャの変形例の仕様を示す。[0001]
The invention relates to a method for creating a computer-aided real-time system comprising at least one processing unit as claimed in claim 1. It also relates to a computer system designed to carry out the method.
[0002]
A real-time system generally refers to a system that must supply a specific calculation result at a predetermined time and / or after a predetermined time interval. For example, the time required to convert voice to a digital signal and send it, and then convert the digital signal back to an analog audio signal is about 250 ms. Therefore, communication via a mobile phone is accompanied by a time delay of 250 nm. If this time delay is greater than 250 ms, the transmitted speech can no longer be understood.
[0003]
Conventionally, computer-aided real-time systems having a large number of processing units, so-called distributed real-time systems, have been widely used. For example, such systems include cell phones, switching systems for those cell phones, and networks around such distributed real-time systems.
[0004]
A distributed real-time system may comprise a number of processing units. These are one component which consists of the same apparatus. However, it is also possible to physically separate the processing units, for example mobile phones and switching systems.
[0005]
The distributed real-time system is known as an abbreviation of SDL (Specification and Description Language), “Specification Description Language” (ITU-T.Z.100, Appendix I.ITU, SDL Methodology Guidelines, ITU, 1993, etc.). Created based on SDL is based on the technical principle of each process with each processing unit and associated queue. Normally, it is absolutely essential that data exchange or data communication performed via a bus is performed between processing units exclusively via a queue and in a state where all processing is performed in parallel.
[0006]
In order to correlate data exchanges, each processing unit has at least one associated so-called timer module. This is a numerical counter that can be derived from the processing clock, although the counting period is not standardized. This depends on individually selected hardware and / or individual programs. This has meant that until now, it has not been possible to reliably implement abstract specifications for real-time dependent layer hardware and software in communication systems. This implementation is either too slow or does not meet the limit time condition. In order to overcome this disadvantage, the hardware is specified and implemented with the help of a schematic or by a hardware description language. Software is typically implemented by a programming language. This known method is time consuming, expensive and susceptible to failure.
[0007]
In addition to SDL, there are other implementation languages in which a clock can be included as a component. For example, a well-known unified modeling language, which is an abbreviation for “UML”, uses a clock. A further implementation language is the well-known very high speed integrated circuit hardware description language, which is an abbreviation for “VHDL”. Neither UML nor WHDL includes provisioning queues.
[0008]
A method for creating this general-purpose computer-assisted real-time system is described in Kopetz, H. et al. Ochsenreiter, W.M. : Clock Synchronization in Distributed Real-Time Systems; in IEEE Trans. on Computers, Vol. C-36, No. 8, known as shown in August 1987. The document does not include any real-time clock specifications that overcome the disadvantages of the prior art.
[0009]
The object of the present invention is to overcome the disadvantages of the prior art. The aim is in particular to provide a method by which a real-time system can be created easily, quickly and at low cost. Another aim is to enable automatic implementation of abstract specifications for real-time systems. A further aim of the present invention is to avoid defects in the creation of real-time systems.
[0010]
This object is achieved by the features of claims 1 and 10. Convenient improvements can be found in the features of claims 2-9.
[0011]
The present invention is a method for creating a computer-aided real-time system having at least one processing unit, wherein the real-time clock has the following relationship:
[Equation 19]
Figure 0004752005
here,
[Expression 20]
Figure 0004752005
[Expression 21]
Figure 0004752005
[Expression 22]
Figure 0004752005
(G r and R v are normalized with respect to the smallest unit that occurs)
[Expression 23]
Figure 0004752005
[Expression 24]
Figure 0004752005
[Expression 25]
Figure 0004752005
[Equation 26]
Figure 0004752005
For example, crystal precision in ppm units,
g (p + , T) is a vector p + that changes the accuracy of the clock with respect to time. Is a function of the physical variable represented by
[Expression 27]
Figure 0004752005
[Expression 28]
Figure 0004752005
[Expression 29]
Figure 0004752005
Is defined by
[0012]
The method according to the invention allows data, data packets, or data streams in a computer system to be marked by accurate time markers that are independent of system logic. This opens up a whole new freedom of specifications, especially for distributed real-time systems. Specifications created on the basis of the method according to the invention overcome the problems of implementation according to the prior art. Real-time responses can be taken into account even during analysis of functional time responses and subsequent specifications. This proposed method makes it possible to specify universal design patterns that are suitable for creating distributed real-time systems, in the most different application areas. The formal consideration of the time requirements made possible by the method according to the invention makes it possible to further specify a real-time dependent layer in the communication system, which can automatically derive an efficient implementation. Become.
[0013]
It is also possible to define the relationship between clocks in a distributed real-time system that is not implemented in one device. As an example, the offset between two clocks with respect to time t is the relationship:
[30]
Figure 0004752005
Sought by.
[0014]
As an example, a synchronization algorithm can be specified and verified using this model.
[0015]
A numeric counter associated with the processing unit can be controlled by a clock. When multiple clocks are used, one of those clocks is advantageously used as a reference clock for the synchronization of the other clocks. This allows data to be exchanged between processing units in an organized manner.
[0016]
In this context, the expression “environment” means technical processing. Data exchange with the processing unit can be suitably performed under real-time control for open-loop control or closed-loop control of the technical process. In this context, for example, the technical process is the control of chemical factories, anti-lock braking systems for motor vehicles, mobile radio networks, etc.
[0017]
The data stream received by the processing unit and formed by the sequence of data packets is derived from the transmitted data stream so that the transmitted data stream does not need to have the same data packet sequence as the received data stream. It can be suitably separated. Thus, different real-time dependent data streams can be managed on the Internet. The transmission rate can increase dramatically for some data streams. There is no need to process the sequence of data packets arriving at the processing unit sequentially or pass them again to the same sequence.
[0018]
The processing unit has an associated queue. This queue is advantageously timed by a further clock according to the invention which is preferably used as a reference clock. Thus, it is possible to write data to the queue or read data from the queue under time control.
[0019]
According to a further refinement feature, data packets are provided with real-time markers created by a clock. The marking with the real-time marker makes it possible to transmit a predetermined sequence of data packets, the sequence is modified for transmission, and the predetermined sequence of data packets is later played back. As a result, the transmission speed can be increased.
[0020]
It is particularly advantageous to define a time limit, in particular a time condition or time requirement, using a clock. The expression time condition means a condition for the system to perform a predetermined operation at a predetermined time. On the other hand, a time requirement is a requirement for a system that a specific event must occur after a predetermined time has elapsed. This is an external event.
[0021]
Based on further measures according to the present invention, a computer system suitable for carrying out the method according to the present invention is provided. Such a computer system enables accurate automatic implementation of abstract software and hardware specifications for real-time system systems in a quick and simple manner.
[0022]
Preferred exemplary embodiments of the method according to the invention are described in more detail below.
[0023]
FIG. 1 is a diagram for explaining differences between an ideal counter, a continuous real counter, a discrete real counter, and a derived counter. The ideal counter is defined by a linear function.
[0024]
Ideal clock:
The solid line in FIG.
[31]
Figure 0004752005
An ideal clock function based on
[0025]
Continuous real clocks require additional parameters. Continuous real clocks typically have a certain accuracy, expressed in units of parts per million (ppm).
[0026]
Furthermore, it should be noted that the clock period of a continuous real clock can vary due to variations in physical parameters such as temperature. This is the function g (p + , T). Where p + Is a vector having the required physical parameters and as a function of the rate of change of those physical parameters. However, the function g (p + , t) is not used in the continuous real-time clock equation because there may be periodic variations. However, it is expressed by the following equation which is a function relating to an effective change in accuracy.
[Expression 32]
Figure 0004752005
[Expression 33]
Figure 0004752005
[0027]
For example, when periodic fluctuations occur, the time interval (t 2 -T 1 ) Clock inaccuracies can be averaged. Using these definitions, the continuous real-time clock is expressed by the following equation.
[Expression 34]
Figure 0004752005
[0028]
Here, it is defined as follows.
[Expression 35]
Figure 0004752005
[Expression 36]
Figure 0004752005
For example, crystal accuracy in ppm.
g (p + , T) is a vector p + Change the accuracy of the clock with respect to time as a function of the physical variable represented by
[Expression 37]
Figure 0004752005
[Formula 38]
Figure 0004752005
[39]
Figure 0004752005
[0029]
Technical processing cannot be broken down into an infinite amount of short time intervals. Both physical clocks oscillate at a finite frequency. This frequency is correlated with the clock period T of the clock. The shortest legible interval of the discrete real-time clock is defined as granularity G. Formal mapping of an ideal clock onto a discrete real-time clock is expressed by the following relational expression.
[0030]
Discrete real-time clock:
[Formula 40]
Figure 0004752005
[0031]
Here, it is defined as follows.
[Expression 41]
Figure 0004752005
[Expression 42]
Figure 0004752005
[Expression 43]
Figure 0004752005
(44)
Figure 0004752005
Here, G and R v are normalized with respect to the smallest unit that occurs.
[Equation 45]
Figure 0004752005
[0032]
Time quantization is an operation
Figure 0004752005
Described by. R V Indicates the numerical range of the discrete real clock. R V After the time limit, the discrete real time clock again shows zero. This is shown by the modulo operation of the equation. Inaccuracy G (p + , T) do not appear directly here. Clock period T, granularity G r , Start offset S o , And numerical rate R v Must be indicated in seconds.
[0033]
Discrete clock
Figure 0004752005
The counter controlled by is expressed by the following relational expression.
[0034]
[Formula 48]
Figure 0004752005
[0035]
Here, it is defined as follows.
[Formula 49]
Figure 0004752005
[Equation 50]
Figure 0004752005
[Formula 51]
Figure 0004752005
[Formula 52]
Figure 0004752005
[53]
Figure 0004752005
[Formula 54]
Figure 0004752005
[0036]
The delay time for setting the derivation counter is τ. N A Indicates the number of display changes for the discrete real-time clock until the counter display changes once. Granularity G A Indicates a change in the display interval. R A Indicates the numerical range of the derived counter.
[0037]
FIG. 2 is a diagram schematically showing a processing unit in SDL and a structure of so-called “SDL processing”. One or more timers provided under the conventional SDL concept are connected to one real-time clock according to the present invention. This makes it possible to synchronize timers for different SDL processes, as is apparent from FIG.
[0038]
The arrival signal as shown in FIGS. 2 and 3 may be provided with a time stamp (in this case a real time marker).
[0039]
FIG. 4a is a diagram illustrating the definition of a set of abstract data types in SDL. This allows accessing the display of the real time clock, resetting the real time clock, or setting the real time clock to a predetermined value associated with a particular real time.
[0040]
The method according to the invention makes it possible to specify a design pattern for the automatic derivation of the hardware and software of an embedded distributed real-time system. One preferred component of such a design pattern is a time limit formulation. In particular, for this purpose it is necessary that the programming language used is capable of generating time markers. This can be done, for example, by requesting system time. As an example, possible time requirements for such a design pattern shown in FIG.
[0041]
a) A first time requirement for periodic occurrence of state READ, ie, branch monitoring and state transition 1 execution. The first time requirement is due to the rate at which the data stream is received. This specifies that, based on a statistical average, the number of data words that can be read from the queue is exactly the same as the maximum number that can be written to the queue. The first time requirement is only applicable if the queue contains data words.
[0042]
b) The second time requirement specifies that for media corresponding to the data rate R, an “output” signal to load the media must be created every 1 / R time unit. The second time requirement is only applicable when the data word is stored in the memory of the design pattern.
[0043]
The “Eventclass” data type shown in FIG. 4b provides the following operations, which are particularly suitable for defining time conditions and time requirements.
[0044]
Append: Enter the current system time into the list of time stamps.
DurationEvent: Calculates the period between two time stamps entered in the list.
Monitor: If a failure occurs, record the results of scheduled inspections and write the results to the appropriate output device.
ThrowException: When a failure occurs, for example, an exception handling is called to change the system to a safe state.
[0045]
For an example implementation of a module that supports this pattern:
The function of each of the patterns in different applications or as modules is ultimately defined by the functions SortInto () and SortOut (). If the design pattern is used in a communication system to implement, for example, a sequence planning algorithm, a time division or frequency division multiplexer, or bandwidth allocation, a time stamp is given to the function SortInto () of each data word. Then, the data words of the sequence in which SortOut () is defined are read based on their time stamps. Further, it is possible to execute traffic monitoring (Policy) in the function SortInto (). In this process, a determination is made as to whether the source of the data stream includes a matched quality of service (QoS). At this point, among other things, routing information about the packet (address, telephone number, or pass number in ATM) can also be evaluated to define the destination of the transfer function.
[0046]
On the other hand, when an open loop or closed loop control algorithm is implemented, calculation of each manipulated variable is executed in the function SortOut (), while the function SortInto () stores a sensor value (control amount).
[0047]
In this way, a number of values can first be collected before the actual calculation is performed.
[0048]
About automatic derivation of mixed HW / SW systems:
The design pattern described in the above section can be transformed and implemented very easily. State transition 1 and state transition 2 are considered separately for this purpose. This is because this separation makes it possible to define specific software or hardware for each state transition. In this case, individual input or output modules may also represent a mixed HW / SW implementation. In this case, the input and output transitions of this module can always be performed to overlap (pipeline), because synchronization between the two state transitions can be achieved via the shared memory of the internal buffer. is there. Such a procedure can dramatically reduce the complexity of the implementation and can significantly increase the speed at which it can be performed. As an example, FIG. 6 shows how a design pattern can be implemented. In this case, each part of the pattern can be implemented in either hardware or software. The following combinations are possible for this implementation:
[0049]
• 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.
State transition 1 and SortInto () are implemented in software, while state transition 2 and SortOut () are implemented in hardware.
SortInto () is implemented in hardware and all other parts are implemented in software.
SortOut () is implemented in hardware and all other parts are implemented in software.
SortInto () and SortOut () are implemented in hardware, and the rest of the processing is implemented in software.
[0050]
One major advantage in this case is that different synthesis techniques can be used for all four task elements. Suitable synthesis techniques are described in O.D. Bringmann et al., “Mixed Abstraction Level Hardware Synthesis from SDL for Rapid Prototyping”, 10 th IEEE International Workshop on Rapid System 99. The functions SortInto () and SortOut () generally have high-level algorithm components, so architecture synthesis can be used for those functions. That is, special application-specific processors are created for these functions using tools. If two state transitions are implemented in hardware, they can be directly converted to a simple hardware description at the register transfer level (RTL) without using any optimization method (synthesis). This conceptual separation also greatly simplifies the hardware / software partitioning of individual state transitions.
[0051]
An embodiment in which two modules overlap (pipeline) can be performed assuming that it is not desired that both modules access the same memory cell in memory at the same time. The semantics of the design pattern are always protected, because when simultaneous access occurs, one of the two functions stops and waits for the other function to finish.
[0052]
About designing complex systems using modules:
The construction of a relatively complex system with the support of modules that can be derived from the design pattern described above will be described using an example of a switching computer for data services with QoS requirements. The basic modules for traffic monitoring (Policy) and bandwidth allocation (Scheduler) are provided by design pattern instances.
[0053]
The basic structure of the system is shown on the left side of FIG. Incoming data streams (two in this example) are analyzed by traffic monitoring (Policy). Traffic monitoring is provided with the assistance of the design pattern (right side of FIG. 7). As shown in FIG. 7, the function SortInto () is defined for this purpose.
[0054]
In such a switching computer, it is also possible to distinguish between control information and payload data. If the data stream contains control information, this information is sent to the monitoring module Control. The normal telecommunications protocol is then processed in this module. Information describing the data flow (switching) in the system is generated by Control. This is done by Control that sets the variable OutPID in traffic monitoring. This switching is provided by multiple instances of the module Scheduler of FIG. 8 (eg, one for each output line) and data words sent from traffic monitoring to the appropriate bandwidth allocator. Addressing with the appropriate bandwidth allocator (variable OutPID) results in a data stream assigned to one output channel.
[0055]
In principle, there can be a large number of traffic monitors (n inputs) at the input and a large number of modules of the Scheduler type (m outputs) at the output.
[0056]
The definition at which the bandwidth limited channel is implemented at this point depends on the cost and requirements of the system. In principle, the bandwidth of the connection channel is infinitely wide.
[0057]
Some possible variations are given as examples in the following sections.
[0058]
About automatic derivation of complex systems:
FIG. 9a) shows the basic structure of the switching computer at the specification level. Here, various architectures can be derived from here. Software modules are provided on a processor (abbreviated CPU), while hardware modules are “cast” in an ASIC (application specific integrated circuit). In the drawings, in each case, a solid circle represents one instance of the design pattern, and P, S, and C are used as abbreviations for Policy, Scheduler, and Control. Communication channels can be mapped onto the bus or switching module.
[0059]
The implementation of FIG. 9b) consists of a processor that handles two traffic monitoring instances (Policy), three hardware modules (Scheduler) for bandwidth allocation modules, a bus for transmitting data words, and a bus for control information Have In contrast, the architecture of FIG. 9c) comprises three processors for a monitoring instance and a traffic monitoring instance, and one hardware module that provides a scheduler.
[0060]
In FIG. 9d), in contrast, the switching function is not implemented by using a common bus, but via a switching module (spatial division multiplexer).
[0061]
Any other combination of software modules and hardware modules can of course be realized, for example, only a part of the Scheduler may be implemented in hardware and the remaining part implemented in software. With the exception of the Control module, which provides a telecommunications protocol, all modules of the switching computer can have various instance forms in the design pattern.
[Brief description of the drawings]
FIG. 1 shows a graph defining a real time clock.
FIG. 2 schematically shows SDL processing using a real-time clock.
FIG. 3 shows a synchronized distributed real-time system using SDL.
FIG. 4a shows clock and access specifications associated with abstract data types.
FIG. 4b shows time restrictions and access specifications associated with abstract data types.
FIG. 5 shows time requirements and access specifications associated with abstract data types.
FIG. 6 shows implementation of a design pattern.
FIG. 7 shows the specification of a switching computer using traffic monitoring.
FIG. 8 shows an output configuration of the switching computer shown in FIG. 7;
FIGS. 9a) -d) show the specifications of various architecture variants.

Claims (10)

少なくとも1つの処理ユニット(V1a,V1b,…)を有するコンピュータ支援リアルタイムシステムを作成する方法であって、
データが、前記処理ユニット(V1a,V1b,…)と環境または1つ以上のさらなる処理ユニット(V2a,V2b,…)との間で、同期または非同期で交換され、
前記処理ユニット(V1a,V1b,…)は、コンピュータシステムで実行される前記データ交換の相互関連のための少なくとも1つの関連づけられたリアルタイムクロックを有しており、
前記リアルタイムクロックは以下の関係:
Figure 0004752005
ここで、
Figure 0004752005
Figure 0004752005
Figure 0004752005
(ここで、GrおよびRvは発生する最小単位に関して正規化されている)
Figure 0004752005
Figure 0004752005
Figure 0004752005
Figure 0004752005
例えば、ppmの単位におけるクリスタル精度であり、
g(p+ ,t)は、時間に関する前記クロックの精度を変更するベクトルp+ によって表される物理的変数の関数であり、
Figure 0004752005
Figure 0004752005
Figure 0004752005
によって定義されていることを特徴とする、方法。
A method for creating a computer-aided real-time system having at least one processing unit (V1a, V1b,...)
Data is exchanged synchronously or asynchronously between said processing units (V1a, V1b,...) And the environment or one or more further processing units (V2a, V2b,...)
The processing units (V1a, V1b,...) Have at least one associated real-time clock for the interrelation of the data exchanges executed in the computer system;
The real-time clock has the following relationship:
Figure 0004752005
here,
Figure 0004752005
Figure 0004752005
Figure 0004752005
(Where G r and R v are normalized with respect to the smallest unit that occurs)
Figure 0004752005
Figure 0004752005
Figure 0004752005
Figure 0004752005
For example, crystal precision in ppm units,
g (p + , T) is a vector p + that changes the accuracy of the clock with respect to time. Is a function of the physical variable represented by
Figure 0004752005
Figure 0004752005
Figure 0004752005
A method characterized in that it is defined by:
前記処理ユニット(V1a,V1b,…)に関連づけられた数値カウンタは、以下の関係:
Figure 0004752005
ここで、
Figure 0004752005
Figure 0004752005
Figure 0004752005
Figure 0004752005
Figure 0004752005
Figure 0004752005
に従うクロックによって制御される、請求項1に記載の方法。
The numerical counters associated with the processing units (V1a, V1b,...) Have the following relationship:
Figure 0004752005
here,
Figure 0004752005
Figure 0004752005
Figure 0004752005
Figure 0004752005
Figure 0004752005
Figure 0004752005
The method according to claim 1, wherein the method is controlled by a clock according to.
前記クロックのうちの一つは、他のクロックの同期のための基準クロックとして用いられる、上記請求項のいずれかに記載の方法。  The method according to any of the preceding claims, wherein one of the clocks is used as a reference clock for synchronization of other clocks. リアルタイム制御は、技術的処理の開ループまたは閉ループ制御のために、前記処理ユニット(V1a,V1b,…V2a,V2b,…)とのデータ交換に用いられる、上記請求項のいずれかに記載の方法。  Method according to any of the preceding claims, wherein real-time control is used for data exchange with the processing units (V1a, V1b, ... V2a, V2b, ...) for open-loop or closed-loop control of technical processes . 処理ユニット(V1a,V1b,…V2a,V2b,…)によって受信され、データパケットのシーケンスから形成されるデータストリームは、送信されたデータストリームから分離されるために、当該送信されたデータストリームは、当該受信されたデータストリームとは異なるデータパケットのシーケンスを有する、上記請求項のいずれかに記載の方法。  Since the data stream received from the processing units (V1a, V1b,... V2a, V2b,...) And formed from the sequence of data packets is separated from the transmitted data stream, the transmitted data stream is A method according to any of the preceding claims, comprising a sequence of data packets different from the received data stream. 前記処理ユニット(V1a,V1b,…)は関連づけられたキューを有する、上記請求項のいずれかに記載の方法。  The method according to any of the preceding claims, wherein the processing units (V1a, V1b, ...) have an associated queue. 前記キューのタイミングは、前記クロック、好ましくは、前記基準クロックとして用いられるクロックによって制御される、請求項6に記載の方法。  The method according to claim 6, wherein the timing of the queue is controlled by the clock, preferably the clock used as the reference clock. 前記データパケットには、前記クロックによって作成されたリアルタイムマーカが提供される、上記請求項のいずれかに記載の方法。  The method according to any of the preceding claims, wherein the data packet is provided with a real-time marker created by the clock. 前記クロックは、時間制限、特に、時間条件または時間要件を定義するために用いられる、上記請求項のいずれかに記載の方法。  A method according to any of the preceding claims, wherein the clock is used to define a time limit, in particular a time condition or time requirement. 先行する請求項のいずれかに記載の方法を実行するために設計されたコンピュータシステム。  A computer system designed to perform a method according to any of the preceding claims.
JP2002524810A 2000-09-06 2001-09-03 How to create a computer-aided real-time system Expired - Lifetime JP4752005B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE10044021.5 2000-09-06
DE10044021 2000-09-06
DE10057651.6 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 (2)

Publication Number Publication Date
JP2004508752A JP2004508752A (en) 2004-03-18
JP4752005B2 true JP4752005B2 (en) 2011-08-17

Family

ID=7655252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002524810A Expired - Lifetime JP4752005B2 (en) 2000-09-06 2001-09-03 How to create a computer-aided real-time system

Country Status (2)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008010600B8 (en) 2008-02-22 2018-01-04 Inchron Gmbh A method for checking the functionality of an embedded component in an embedded system
DE102008030162C5 (en) 2008-06-27 2016-06-16 Inchron Gmbh A method for checking the functionality of an embedded component in an embedded system

Citations (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

Patent Citations (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

Also Published As

Publication number Publication date
JP2004508752A (en) 2004-03-18
DE10057651C2 (en) 2003-05-22
DE10057651A1 (en) 2002-03-14

Similar Documents

Publication Publication Date Title
Falk et al. NeSTiNg: Simulating IEEE time-sensitive networking (TSN) in OMNeT++
EP3205058B1 (en) System, device, and method for low-jitter communication over a packet-switched network
EP3903454B1 (en) A tsn enabled controller
Harbour et al. Modeling distributed real-time systems with MAST 2
CN110024339A (en) Message forwarding method, forwarding device and the network equipment
Quan et al. OpenTSN: an open-source project for time-sensitive networking system development
EP3174237B1 (en) Time synchronization method and apparatus for network devices and time synchronization server
Kyriakakis et al. A time-predictable open-source TTEthernet end-system
Thiele et al. Performance analysis of distributed embedded systems
JP4752005B2 (en) How to create a computer-aided real-time system
WO2007011203A1 (en) Scalable control interface for large-scale signal processing systems.
Denzler et al. Timing analysis of tsn-enabled opc ua pubsub
AU2002340733B2 (en) Method and device for producing program interruptions in subscribers to a bus system, and corresponding bus system
CN112202596A (en) Abstract model construction device based on time sensitive network system
Frühwirth et al. TTEthernet SW-based end system for AUTOSAR
Gelenbe System performance evaluation: methodologies and applications
Sánchez-Puebla et al. A new approach for distributed computing in avionics systems
Ashjaei et al. SEtSim: A modular simulation tool for switched Ethernet networks
Gärtner et al. On the incremental reconfiguration of time-sensitive networks at runtime
US7085198B2 (en) Method for producing computer-assisted real-time systems
Berisa et al. Investigating and Analyzing CAN-to-TSN Gateway Forwarding Techniques
Jasperneite et al. Investigations on a distributed time-triggered ethernet realtime protocol used by profinet
Ulbricht et al. Emulation vs. Reality: Hardware/Software Co-Design in Emulated and Real Time-sensitive Networks
Lee et al. On determinism in event-triggered distributed systems with time synchronization
Aguirre Rodrigo Simulation of Instability in Time-Sensitive Networks with Regulators and Imperfect Clocks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110304

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110427

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4752005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term