JP5404060B2 - 時間制御される分散型コンピュータシステムのための最適化された流れ図を生成する方法 - Google Patents

時間制御される分散型コンピュータシステムのための最適化された流れ図を生成する方法 Download PDF

Info

Publication number
JP5404060B2
JP5404060B2 JP2008557634A JP2008557634A JP5404060B2 JP 5404060 B2 JP5404060 B2 JP 5404060B2 JP 2008557634 A JP2008557634 A JP 2008557634A JP 2008557634 A JP2008557634 A JP 2008557634A JP 5404060 B2 JP5404060 B2 JP 5404060B2
Authority
JP
Japan
Prior art keywords
tasks
ftcom
elements
dependency
class
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 - Fee Related
Application number
JP2008557634A
Other languages
English (en)
Other versions
JP2009528644A (ja
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.)
Dspace Digital Signal Processing and Control Engineering GmbH
Original Assignee
Dspace Digital Signal Processing and Control Engineering 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 Dspace Digital Signal Processing and Control Engineering GmbH filed Critical Dspace Digital Signal Processing and Control Engineering GmbH
Publication of JP2009528644A publication Critical patent/JP2009528644A/ja
Application granted granted Critical
Publication of JP5404060B2 publication Critical patent/JP5404060B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

本発明は、時間制御される分散型コンピュータシステムによって機能を実行するための最適化された流れ図を生成する方法に関する。この場合、分散型コンピュータシステムおよび機能は少なくとも1つの要素クラスの(たとえば構造的および機能的な)複数の要素から成る集合を有しており、これらの要素は(少なくとも部分的に)互いに依存関係にある。さらに本発明は、上述の方法を実施するためのコンピュータプログラムにも関する。
ここで対象とする形式の分散型コンピュータシステムはかなり以前から知られており、このようなシステムはほとんどすべての技術分野において利用されることが多くなっており、殊に空間的に広がった複合的ないしは複雑なプロセスに対し広い意味で制御を及ぼすべき分野において利用が増大している。
現在の測定技術システム、閉ループ制御技術システムおよび開ループ制御技術システムにおいては、分散されたセンサ機構およびアクチュエータ機構を備えた中央コンピュータシステムが分散型コンピュータシステムに置き換えられることがかなり多く、このような分散型コンピュータシステムの場合、空間的に分散された複数の計算ノードがプロセス制御のタスクを担っており、個々の計算ノードを介してダイレクトに、つまり短い経路で、対応するセンサおよびアクチュエータを用いて、制御すべきプロセスと結びつけられている。通常、1つのプロセス全体を構成するローカルなサブプロセスは機能的に互いに結合されているので、それらのサブプロセスに対応づけられた計算ノードをデータチャネルを介して互いに接続するのが有用であるし、あるいはそれどころか必要であり、このようにすることでたとえば計算ノードすべてが利用できるわけではないプロセスを記述する状態量を各計算ノード間で交換することができ、したがってそれらをローカルで任意の計算ノードからプロセス制御のために利用することができる。
適用分野に応じて分散型コンピュータシステムに対し様々な要求が課されており、それらの要求はたとえば、データチャネルを介したデータスループット、アーキテクチャおよび機能の点での拡張性、通信のセキュリティないしはフォールトトレランス、分散型コンピュータシステムに実装される機能の安全なタイムスケジューリング性能、さらにはデータチャネルの物理的伝送媒体などである。
分散型コンピュータシステムに対する部分的には相反するこのような要求に基づき、これまでに様々なシステムが構築されてきた。それらのシステムは上述の要求をまったく異なる手法で達成するものであり、たとえばここで挙げるとすればLIN, CAN, TTCAN, MOST, Bluetooth, Byteflight, TTP, FlexRayなどである。
上述の例からわかるように、分散型コンピュータシステムの計算ノードを電子的な経路を介して一般的な意味で計算を実行可能な任意の技術的なユニットとすることができるし、計算ノードをセンサとアクチュエータが接続された制御装置とすることもでき、さらには簡単な家庭用インストレーションシステムにおける性能のかなり低いフィールド機器あるいはシミュレーションコンピュータにおけるきわめて高性能のモジュールとしてもよい。
分散型コンピュータシステムにおける計算ノードの適用分野および正確な技術的形態はあまり重要ではないのと同様、各計算ノードを接続するデータチャネルの形態も重要ではない。ここで重要なのは、計算ノードが(物理的におよび利用される通信プロトコルの点で任意に構成された)データチャネルを介してメッセージを交換できる点だけである。
セキュリティ要求を厳しくしたダイナミックスの高い分野(KFZ, Avionik, X-by-Wireアプリケーション)では、TTCAN (Time-Triggered CAN), TTP (Time-Triggered Protocol), FlexRayといった時間制御される分散型コンピュータシステムが頻繁に適用されるようになってきており、個々の計算ノードにおける機能実行および各計算ノード間のデータチャネルを介したデータ交換に係わる上記システムの時間特性を(少なくとも一部では)スケジューリング可能および設定可能であるので、時間特性も保証することができる。
時間制御される分散型コンピュータシステムのデータチャネルを介した通信を所定の時間配分でイベント制御することもたしかに可能であって、すなわち偶発的あるいはランダムなイベントやプロセスのために任意のやり方によりデータチャネルをうまく規定された特定のタイムインターバル(タイムスライス、スロット)で占有させることもできるけれども、分散型コンピュータシステムの各計算ノード間における情報交換のためのデータチャネルの占有は別のタイムインターバルで固定的にスケジューリングないしはプラニングされている。つまり、各計算ノードにおける機能および各計算ノード間で行われる通信をイベントトリガにより実行するためには設定されていないタイムスペースにおいて、まえもって厳密に定められた計算ノードは、厳密に規定された時点でのみ厳密に定義されたメッセージを厳密に規定されたターゲットへ送信することを許可されており、各計算ノード間におけるイベントトリガ型のデータ交換はそのような時点では抑圧されるので、これを確実に行うこともできる。これらの特性ゆえに、時間制御される分散型コンピュータシステムはたとえば時間的に離散した走査システムの実現にも適している。このような走査システムが基礎とするのは、(たとえば他の計算ノードの)目下の入力値の受信、出力値/信号の計算ならびに出力値の送出を厳格に周期的なシーケンスで行うことである。
時間制御されるコンピュータシステムの時間特性の設定は一般に流れ図ないしはフローチャート(スケジュール)を通して行われ、この流れ図には、分散型コンピュータシステムのうちいずれの要素を決められたいずれの時間シーケンスにおいて実行するのか、さらにこのコンピュータシステムによって実行すべき機能のいずれの要素を実行するのかが厳密に規定されている。
容易に想像できるとおりこの種の流れ図の設計は、たとえば機能要素つまりサブファンクションを構造要素つまり計算ノードもしくは1つの計算ノードのサブユニットに対応づけるために、あるいはたとえば機能要素を時間的に互いに並置するために、膨大な数の自由度があることから、把握および解決がきわめて難しい問題となっており、殊に何らかの有効なソリューションをその流れ図について可能なすべてのソリューションの集合から見つけ出そうとする場合だけでなく、特定の判定基準に従い最適なソリューションを見つけ出す場合も、きわめて困難な問題となっている。
従来技術により知られているのはたとえば、この種の流れ図の設計を容易にするためにグラフィカルなプラニングエディタないしはスケジューリングエディタを利用することである。このようなスケジューリングエディタによって、スケジューリングすべき分散型コンピュータシステムにおける個々の構造要素および機能要素をビジュアルなかたちでグラフィカルに互いに関連づけて、1つの時間シーケンス全体とすることができる。ただしこの場合、スケジューリングは付加的にいわゆる最悪実行時間分析Worst-Case-Execution-Time-Analyse (WCET-Analyse)により支援され、その結果が特定の計算ノードにおいて1つの機能(アプリケーション、通信)を実行するのに必要とされる時間の記述となる(Ringler, T.:" Entwicklungswerkzeug fuer zeitgesteuerte Systeme(時間制御システム用開発ツール)", Automotive Engineering Partners, 6/2001, p.54-56)。
また、最適化された流れ図を自動生成するために遺伝的アルゴリズムを利用することも知られている(DE 102 11 517 A1)。この方法は、ある流れ図について可能な1つのソリューションからスタートし、その流れ図を複数のランダムプロセスないしは偶発的なプロセスにより変更する。それらのランダムプロセスから取得された複数の流れ図に対するさらに別の可能なソリューションに対し品質評価が行われ、その際に最も適切な1つまたは複数の流れ図に対しさらに別のランダムバリエーション、評価ならびに選択が行われる。このプロセスを続行することにより、1つの任意の完全な初期ソリューションからスタートして、すなわち時間制御される分散型コンピュータシステムのすべての要素をその機能とともに含むソリューションから出発して、サーチプロセスが最終的に中止されるまで繰り返し「いっそう良好な」ソリューションが見つけ出される。この方法において欠点となるのはたとえば、流れ図について1つまたは複数の(完全な)ソリューションが最適化の出発点として存在していなければならず、その際、スタートソリューションを評価することはできない点にあり、また、スタートソリューションをどのようにして見つけ出すべきであるのかも不確かである。
本発明の課題は、分散型コンピュータシステムのための最適化された流れ図の生成にあたり、これまで述べてきた欠点を少なくとも部分的に回避することにある。
本発明によれば上述の課題は、分散型コンピュータシステムおよび機能が少なくとも1つの要素クラスの複数の要素から成る集合を有し各要素が少なくとも部分的に依存関係にある、時間制御される分散型コンピュータシステムにより機能を実行するための最適化された流れ図の生成方法において、各要素間の依存性を識別しクラス分けして、各要素を対応する依存クラスに割り当て、流れ図の最適化を少なくとも1つの依存クラスの要素をコーディネートすることにより行うことによって解決される。
従来技術により知られている方法とは異なり本発明による方法によれば、分散型コンピュータシステムの要素と分散型コンピュータシステムにおいて実行すべき機能の要素の分析が先に行われる。分散型コンピュータシステムの要素とはたとえばその計算ノードであり、場合によっては別個に応答可能な計算ノードのサブユニットたとえばI/Oグループ、CPU、通信コントローラおよびデータチャネルインタフェースなどである。
時間制御される分散型コンピュータシステムにおいて実行すべき機能の要素とはファンクションモジュールであって、そのようなファンクションモジュールに該当するのは、たとえば制御アルゴリズムなどのアプリケーションの計算、分散型コンピュータシステムにおける他の計算ノードとの時間制御される通信の実行たとえば時間制御されるメッセージの送信および受信である。これらの構造的および機能的な要素を対応する要素クラスに対応づけることができ、このようにすることでたとえば、信号送信の役割を担うすべての機能的要素により送信ファンクションの要素クラスが形成され、計算ノードにおけるアプリケーションの計算の役割を担うすべての要素によりアプリケーションファンクションの要素クラスが形成される。
本発明による方法は特定の要素クラスに合わせて規定されたものではないし、それらに限定されるものでもなく、むしろ多種多様な任意の要素クラスを形成することができ、要素クラスの定義は本発明による方法のユーザの役目である。
本発明により明らかにされたのは、要素クラスの各要素は互いに依存している可能性があり、つまり互いにある特定の関係におかれているかもしれないし、あるいはまったく関係がないかもしれないことであり、このことは同じ要素クラスに属する要素についても異なる要素クラスに属する要素についてもあてはまる。
たとえばアプリケーションファンクションの要素クラスに属する要素は、最初のアプリケーションファンクションを利用して算出された出力値が他のアプリケーションファンクションの入力値として用いられる場合には、互いに依存している。したがって別のアプリケーションファンクションの出力値を入力値として利用するアプリケーションファンクションの依存クラスと、そのような入力値には依存していないアプリケーションファンクションの依存クラスとを区別することができる。
時間制御される分散型コンピュータシステムの要素およびその機能を所定の依存性判定基準に従いクラス分けする一方、その結果として得られた依存クラスにより、さらには少なくとも1つの依存クラスに要素のコーディネートを制限することにより、本発明によれば流れ図の最適化を要素の有用な部分集合のみのコーディネートにより開始することができる。本発明による方法のためには、従来技術により知られている方法とは異なり、すでに存在する完全な流れ図から出発する必要はなく、要素の部分集合だけを最適化していくことで流れ図を段階的に発展させていくことができる。
ここで「要素のコーディネート」とはごく一般に、プロセスa)複数の要素の編成/統合の変更、プロセスb)この変更の評価、ならびにプロセスc)1つまたは複数の変更の選択のことである。複数の要素の編成の変更を単に複数の要素の時間または位置に関する再ソートとすることができが、これに加えて、編成された複数の要素の統合により新たな1つの要素を形成することもできる。
複数の要素の編成の変更それ自体は、決定論的な最適化方法において最適化法自体により定められている。これに対し確率論的な最適化法を適用し遺伝的アルゴリズムも利用する場合、要素編成の複数の変更がランダムイベントごとに行われ、ついで得られた複数の変更が品質判定基準の適用により評価される。次に、1つまたは複数の最良の最適化結果が以降のコーディネートステップにおいて漸次、改善されていく。
要素のコーディネートによる流れ図最適化のための品質判定基準として様々な量が適しており、適切な1つの品質判定基準の選択は最終的に、最適化された流れ図の生成にとって重要であるとみなされる設計目的に依存する。可能な品質判定基準をたとえば、バスの負荷、流れ図の持続時間ないしは周期時間、伝送すべきメッセージの個数、必要とされる計算ノードの個数、コンピュータシステムにおいて実行すべき機能もしくは計算ノードにおいて実行すべきサブ機能の最悪実行時間に基づくものとすることができる。
本発明の第1の有利な実施形態によれば本発明による方法は、少なくとも1つの依存クラスの要素が完全にコーディネートされてから、別の依存クラスの要素がコーディネートされるように構成されている。ここで「完全に」という表現を絶対的なものとして、ないしはまったく完全なものとして捉えるべきではない。それというのも、実際には要素をすべてはコーディネートできないことが十分に起こり得るからである。したがって「完全に」とは、「実行可能であるかぎりまたは問題が容認されるかぎり完全に」という意味で捉えるべきである。このような措置により、本発明による方法により得られた流れ図最適化の明快さが、意味の与えられた要素の部分集合(依存クラス)のコーディネートにより首尾一貫して維持される。このようなやり方で1つの依存クラスのコーディネートから新たな依存クラスへと移るとき、すでにコーディネートされた依存クラスの要素をコーディネートにおいてもはや考慮する必要がなく、それらの要素は同様に部分的に設計された流れ図における固定ポイントとして扱われる。
本発明による方法のさらに別の有利な実施例によれば、少なくとも1つの依存クラスにおける要素のコーディネートにあたり、それぞれ同じ要素クラスに属する要素が別個にコーディネートされる。このやり方は特定の要素クラスにおいて、たとえば同種の通信機能のコーディネートにおいて、殊に有利であると判明した。このことが好適となるのは、複数の送信ファンクションが同一のノードから同一のノードへ重なり合ったタイムインターバル内でメッセージとしてまとめられた信号を送る場合である。このケースでは、各信号を別個に1つの固有のメッセージによりデータチャネルを介して送信する必要はなく、ただ1つのメッセージに複数の信号が統合されるようになり、このただ1つのメッセージは、合成信号のために単一のメッセージ(フレーム)内にスペースがあるかぎり、単一の送信ファンクションによって送信することができる。
これに対し本発明による方法の別の有利な実施例によれば、要素のコーディネートにあたりそれぞれ異なる要素クラスの要素を組み合わせてコーディネートするのが有利である。これについて例を挙げると、アプリケーションファンクションの要素クラスに属する要素が計算ノードの要素クラスに属する要素といっしょに組み合わせられてコーディネートされる。このようにして組み合わせられたコーディネートによらなければ、特定の計算ノードと結びついているアプリケーションファンクションを本来設定されていたものとは異なる計算ノードへ割り当てることができない。
少なくとも1つの依存クラス内で最適化を反復して実行すれば、本発明による方法を殊に明快なかたちで実行することができる。この場合、各ステップでは依存クラスの選択された要素すなわち部分集合だけがコーディネートされる。ここで有利であるのは、依存クラスのすべての要素がコーディネートされるまでの回数だけ、もしくは依存クラスの別の要素がもはやコーディネート不可能となるまでの回数だけ、反復ステップが実行される。ここでも実際にすべての要素がコーディネートされるか否かは、提起されている問題に左右される。
依存クラスの複数の要素から第1の選択対象を決めることにより、本発明による方法を用いて理論的に達成可能なソリューションの量ないしは集合が制限される。なぜならば、この依存クラスに属する第1の選択対象の要素と、この依存クラスに属するこれらの要素に続く部分集合の要素のコーディネートすなわち交換、対応づけ、融合は不可能だからである。
本発明による方法の1つの別の実施形態によれば、1つの反復ステップ内で1つの依存クラスに属する他の選択要素を用いてそれぞれ複数回、コーディネートを実行し、後続の反復ステップを、それよりも前の反復ステップで最良の最適化結果を達成したコーディネート済みの選択要素を用いて続ければ、1つの最適化された流れ図のソリューション集合全体から比較的多くのソリューション集合を得ることができる。基本的に、本発明による方法のこの変形実施形態によれば流れ図の最終的な最適化結果を、各反復ステップにおいてただ1つの選択要素を用いて処理した場合よりも向上させることができるが、本発明による方法を実施するためにはそれ相応に実行時間が長くなることを考慮しなければならない。
本発明による方法のさらに別の有利な実施形態によれば流れ図の最適化中、達成された(部分)結果に対して一貫性チェックが実行され、このチェックは殊に、まえもって定められた境界条件および/またはシステムに内在する境界条件の遵守のチェックに向けられたものである。ユーザによりたとえば、ある特定のアプリケーションファンクションがコンピュータネットワークのある特定の計算ノードにおいて計算されるように設定することができる。たとえばこのことが有用となる可能性があるのは、このアプリケーションファンクションの計算結果を該当する計算ノードにおける特定のI/Oインタフェースを介してダイレクトに出力すべき場合であり、これはたとえばこの計算ノードだけしかこのI/Oインタフェースを利用できないなどの理由による。一貫性チェックが失敗に終わった場合には先行の最適化ステップもしくはコーディネートステップが廃棄され、変更された別のコーディネートステップと置き換えられる。
本発明による方法の1つの有利な実施形態によれば、時間制御された分散型コンピュータシステムもしくはそのコンピュータシステムに実装された機能の要素または選択された要素は、単純な依存性のクラスあるいは複雑な依存性のクラスに対応づけられる。単純な依存性には、それぞれ別の要素の状態または出力値には左右されないすべての要素が存在する。
たとえば2つのアプリケーションファンクションが単に1つの第3のアプリケーションファンクションだけしか供給しないのであれば、これら両方のアプリケーションファンクションは単純な依存関係にある。ただし第1のアプリケーションファンクションが間接的に第2のアプリケーションファンクションを介して第3のアプリケーションファンクションを供給するのであれば、第1のアプリケーションファンクションと第2のアプリケーションファンクションは複雑な依存関係にある。
単純な依存性のクラスと複雑な依存性のクラスを区別するのが有用であるのは、互いに単純にしか依存し合っていない要素は実際に任意に対応づけもしくは統合によりコーディネートできるからである。これに対し互いに複雑に依存し合っている要素は、たとえば同時に実行するという意味においては、統合することはできない。なぜならば、これらの要素における1つ要素を他の要素よりも前に適時に実行しなければならず、そのようにすることで他の要素が第1の要素の状態もしくは出力をその計算に利用できるようになるからである。
本発明による方法の上述の実施例において格別有利であるのは、単純な依存性のクラスにおける要素のコーディネートを複雑な依存性のクラスにおける要素のコーディネートの前に行うことである。
1つの有利な実施例によれば本発明による方法は、FlexRay標準をベースとしFlexRayバスを介して接続された少なくとも2つの計算ノードを有する時間制御される分散型コンピュータシステムによって利用される。この場合、流れ図の最適化に利用される要素クラスには、FTComタスク、伝送タスク、アプリケーションタスク、信号、メッセージならびに計算ノードというクラスのうち少なくとも1つのクラスが含まれており、その際、FTComタスクのクラスはFTComトランスミッタタスクとFTComレシーバタスクというクラスに分けられている。ここで使用した用語は、FlexRayシステムのハードウェアコンポーネントおよびソフトウェアコンポーネントにおける一般的な名称である。
FTComタスクは、計算ノード側でその計算ノードに割り当てられている通信コントローラのバッファへの書き込みまたはバッファからの読み出しに用いられるのに対し、伝送タスクはバス側におけるメッセージ伝送に用いられる。用語「タスク」とは、ここではオペレーションシステムのタスクという意味で狭く捉えるべきでなく、つまりオペレーションシステムによりスケジューリング可能および実行可能な最小単位という意味で捉えるべきではなく、むしろ抽象的なファンクションの意味でも捉えることができる。この場合、この種のファンクションはスケジューリングに従い(オペレーションシステムの)タスクとして個別に実行され、あるいは既述のコーディネートを行った後で複数のファンクションがいっしょにまとめられて(オペレーションシステムの)タスクとして実行される。
FlexRayシステムにおける流れ図の最適化にあたり最大限に可能なフレキシビリティを達成する目的で、コーディネートの準備処理のためにFlexRayシステムの信号各々に1つの固有のFlexRayメッセージが割り当てられ、このメッセージは1つの固有のFTComタスクと結びつけられている。このようにするだけで、流れ図を最適化するための最大限の自由度が確保される。
これまで述べてきた方法の1つの格別有利な実施形態によれば、複数のFTComタスクが同じタイプ(FTComトランスミッタまたはFTComレシーバ)であるとき、それらを同じアプリケーションノードに割り当てることができるとき、および送信側計算ノードと受信側計算ノードの同じペアを有するとき、もしくは同じ送信ノードと受信ノードを有するとき、それら複数のFTComタスクは単純な依存性の依存クラスに対応づけられてコーディネートされる。最も簡単なケースでは、同じ特性を有するFTComタスクがコーディネートされるのは、それらのスタート時点が一致している場合である。
これに対し、複数のFTComタスクが上述のように同じタイプ(FTComトランスミッタ、FTComレシーバ)であるとき、それらを同じアプリケーションノードに割り当てることができるとき、およびそれらのFTComのスタートタイムインターバルがオーバラップしているとき、それら複数のFTComタスクは複雑な依存性をもつ依存クラスに対応づけられてコーディネートされる。
これに加えて有用となる可能性のあるのは、FTComタスクのコーディネートをそれらのスタート時点と結びつけることである。本発明による方法の格別有利な実施形態によれば、FTComタスクのスタート時点が所定の値よりも互いに大きくは隔たっていないときだけ、それらのFTComタスクがコーディネートされる。その際、たとえば本発明による方法のユーザがこの値を設定可能であり、最も簡単なケースではスタート時点の一致が要求される。
バスを介したメッセージの伝送をコーディネートするという役割に従い、第1に伝送タスクの共通の信号がFlexRayメッセージの最大長を超えていなければ、それらの伝送タスクを単純な依存性をもつ依存クラスに対応づけてコーディネートすることができる。この場合、FlexRayメッセージの長さは任意に選定できるものではなく、FlexRayプロトコルにより設定されており、その際、1つのFlexRayメッセージに複数の信号をバンドリングすることができ、つまりFlexRayメッセージを伝送すべき複数の信号のためのいわば1つのフレームとすることができる。これに加えて伝送タスクが同じスタート時点を有しているならば殊に、単純な依存性をもつ依存クラスへの対応づけが行われる。
複数の伝送タスクの共通の信号がFlexRayメッセージ(フレーム)の最大長を超えていないとき、それらを同じ送信側アプリケーションノードに割り当てることができるとき、およびそれらがオーバラップしたスタートタイムインターバルを有するとき、それら複数の伝送タスクは所期のように複雑な依存性をもつ依存クラスに割り当てられてコーディネートされる。本発明による方法の1つの有利な実施形態によれば、伝送タスクのコーディネートもそれらのスタート時点と結びつけられる。このケースでは、複数の伝送タスクのスタート時点が所定の値たとえばユーザ側で設定された値よりも互いに大きく隔たっていなければ、それらの伝送タスクがコーディネートされる。
1つの独自の着想によれば本発明はさらに、データ処理装置において実行されたときに既述の方法におけるステップを実行するためのコンピュータプログラムにも関する。
詳細には、本発明による方法ならびに本発明によるコンピュータプログラムを構成し発展させる数多くの可能性がある。これについては、請求項1および請求項18に従属する請求項とともに図面を参照した以下の実施例の説明も参照されたい。
図1は、本発明による方法の有利な実施例による流れ図の最適化について示す図である。
図2は、時間制御される分散型コンピュータシステムのための流れ図を示す図である。
図3は、本発明による方法の別の有利な実施例による流れ図の最適化について示す図である。
図4a、図4bは、各要素の単純な依存性および複雑な依存性を示す図である。
図5は、本発明による方法のさらに別の有利な実施例による流れ図の最適化について示す図である。
図1には、本発明による方法の基本コンポーネントに関する概略が示されている。この方法は一般にデータ処理装置により実行され、この方法を利用して、図示されていない分散型コンピュータシステムにより機能を実行するために最適化された流れ図Pを生成することができる。
分散型コンピュータシステムおよび機能は構造的および機能的な要素e1,i,e2,iの集合を有しており、これらはこの実施例では単に2つの要素クラスE1,E2に対応づけられている。要素e1,i,e2,iは、時間制御される分散型コンピュータシステムとこのコンピュータシステムにより実現すべき機能を表す。要素e1,i,e2,iを互いに依存関係におくことができ、一般的な事例ではそれぞれ異なる要素クラスの要素e1,i,e2,i間でも依存関係を成立させることができる。
図1に示されている実施例の場合、要素e1,i,e2,iはデータベース1aのデータベースエントリとして既知のものである。第1のステップ1bにおいて、要素e1,i,e2,i間の依存関係が識別され、この依存関係がクラス分けされ、要素e1,i,e2,iが対応する依存クラスA1,A2に対応づけられる。
図示されている実施例の場合、2つの要素クラスE1,E2と2つの依存クラスA1,A2がたまたま存在している。ただし一般には要素クラスEiの個数と依存クラスAiの個数には依存関係は一切存在しない。単一のクラスEiにおける要素eiが複数の依存クラスAiに対応づけられる場合もあるし、多数の要素クラスEiにおける要素eiが単一の依存クラスAiとのみ単一の依存関係にあるだけの場合もある。
図1に示されている実施例では、要素クラスE1はアプリケーションファンクションクラス(三角形のシンボル)であり、要素クラスE2は時間制御される分散型コンピュータシステムにおける計算ノードのクラス(正方形のシンボル)である。第2のステップ1cには流れ図Pの最適化が描かれており、この最適化は少なくとも1つの依存クラスAiにおける要素e1,i,e2,iのコーディネートにより行われ、図示の実施例によれば第2のステップ1cにおける最適化は、依存クラスA1に属する要素e1,i,e2,iのコーディネートにより行われる。
ここで要素のコーディネートとは基本的に要素eiの再ソート、割り当ておよび統合ないしは融合のことであり、図1に示されている実施例の場合、要素e1,i,e2,iのコーディネートは、流れ図P′における依存クラスA1に属する要素e1,i(アプリケーションファンクション)の順序を変更すること、およびこれらの要素を依存クラスA1に属する要素e2,i(計算ノード)に割り当てることにより行われる。図1に示されている方法はさらに、依存クラスA1の要素e1,i,e2,iが完全にコーディネートされてから、別の依存クラスA2の要素e1,i,e2,iがコーディネートされるように構成されている。
図1に示されている第2のステップ1cによれば、要素e1,i,e2,iのコーディネートは、決定論的な要素も確率論的な要素ないしは進化論的な要素も有する最適化法により行われる。「決定論的」であるのは、どの要素がコーディネート可能であるかの決定が一定のルールもしくは条件に基づきチェックされるからであり、「確率論的」であるのは、たとえばコーディネートの可能性についてチェックされる要素の選択がランダムな選択だからである。この場合、1つの流れ図Pにおいて得られた複数のバリエーションP′が品質判定基準により評価されるが、このことについては詳しくは示されていない。最適化が終了すると、もしくは中止されると、適用された方法の結果として最終的に1つの最適化された流れ図Pが生成される(ステップ1d参照)。
図1に示されている実施例の場合、最適化ソリューションを算出するための品質判定基準としてバスの時間的な負荷が利用される。これに対し本発明による方法のここには示されていない別の実施例によれば品質判定基準は、流れ図Pの周期期間、伝送すべきメッセージの個数、必要とされる計算ノードの個数、計算ノードにおける機能全体もしくは部分機能の最悪実行時間に基づく。
図1、図3および図5を理解しやすくするために、図2には時間制御される分散型コンピュータシステムで頻繁に利用されるような流れ図が示されている。時間tはタイムインターバルS1〜S5に分けられている。この場合、これらのタイムインターバルS1〜S5の期間は固定的に定められており、もしくはまえもって固定的に設定する必要がある。縦軸も同様にそれぞれ異なるセクションB,e1,1,e1,2およびe1,3に分割されている。この場合、最も下のセクションBは、時間制御される分散型コンピュータシステムのデータチャネルにおける通信をシンボリックに表しており、その上に位置するセクションe1,1,e1,2およびe1,3は、分散型コンピュータシステムの他の要素つまり計算ノードにおけるスケジューリングされたアクティビティないしは活動を表している。
さらに図2に示されているように、2つのアプリケーションファンクションe2,1,e2,2がノードe1,1において実行され、タイムインターバルS2の最後に処理されるメッセージを伴う送信ファンクションe3がタイムインターバルS3においてデータチャネルBを占有する。ノードe1,1からデータチャネルBを介してノードe1,3へ向けたメッセージ伝送は、伝送ファンクションe5の管轄である。これに続いて、計算ノードe1,3において実行される受信ファンクションe4がこのメッセージを受け取り、ついでこのメッセージは同じ計算ノードに格納されているアプリケーションファンクションe2,3により引き続き利用される。
FlexRay標準による用語の使い方によれば、図2において要素e2,1,e2,2,e2,3はアプリケーションタスクであり、e3およびe4はFTComタスク(厳密にはFTComトランスミッタタスクおよびFTComレシーバタスク)であり、これらの役割は、計算ノードから送信すべきまたは計算ノードにより受信すべきメッセージを計算ノードにおける通信コントローラのバッファに書き込むこともしくはそのバッファから読み出すことである。要素e5は伝送タスクであり、このタスクは時間制御されるFlexRayバスを介してメッセージを伝送する役割を担う。
図3に示した実施例は、図1の実施例と同様の前提状況を有している。データベース3aにとって要素e1,i,e2,iは既知であり、これらを要素クラスE1,E2に対応づけることができる。第1のステップ3bにおいて、要素e1,i,e2,i間の依存関係が識別され、この依存関係がクラス分けされ、ついで要素e1,i,e2,iが依存クラスA1,A2に対応づけられる。ただし図3による方法が図1による方法と異なる点は、これに続いてステップ3cが設けられていることである。
図3によるステップ3cが格別な点は、依存クラスA1における要素e1,i,e2,iのコーディネートにあたり、はじめに要素クラスE1,E2のうち一方の要素クラスここでは要素クラスE1に属する要素e1,i,e2,iだけが別個にコーディネートされてから、他の要素クラスの要素がコーディネートされることである。ステップ3cにおいて依存クラスA1属する要素e1,iがコーディネートされ、このコーディネートにはこれらの要素e1,iの時間的な順序の変更および統合(黒で塗りつぶされた三角形)が含まれる。これに対しステップ3dにおいては、依存クラスA1に属する要素e2,i(正方形)がコーディネートされる。
図3の実施例からよくわかるように、最適化ステップ3c,3dの各々で得られた流れ図Pに対するサブソリューションP′が、いかなる変更点もなく何ら変更されずに、後続の最適化ステップに引き継がれる。
本発明による方法のさらに別の有利な実施形態によれば、依存クラスAiには少なくとも、単純な依存性のクラスと複雑な依存性のクラスが含まれている。これについては別個には描かれていないが、この実施形態によれば、単純な依存性のクラスにおける要素のコーディネートは複雑な依存性のクラスにおける要素のコーディネートの前に行われる。
図4は、単純な依存性と複雑な依存性の概念を説明する図である。図4aには要素e1,1,e1,2,e1,3が示されており、これらは互いに関連しており、つまり要素e1,1,e1,2は要素1,3にそれぞれ信号を供給する。すぐにわかるように、要素e1,1とe1,2の間には必然的な処理順序が存在しないことから、これらの要素を互いに無関係に実行させることができる。要素e1,3の処理時点に対し時間的な設定(デッドライン)が存在する場合のみ、(要素e1,3の最悪実行時間とe1,1,e1,2とe1,3の間のメッセージ伝送を差し引いて)この時点より前に要素e1,1およびe1,2を実行する必要がある。この種の要素は単純な依存関係にある。それというのもこれらの要素はそれぞれ他の要素の状態または初期値には左右されないからである。
これに対し図4bに示されている要素e1,1,e1,2,e1,3は複雑な関係におかれている。なぜならばこれらの要素の処理順序は、各要素の指定された相互作用から必然的に生じたものだからである。つまりこの場合、最初に要素e1,1が計算され、ついで要素e1,2が計算されてから、最終的に要素e1,3を計算することができるからである。このような事例では、各要素を任意にコーディネートすることができない。
図5には、本発明による方法のさらに別の実施例が示されている。やはりこの場合も、時間制御される分散型コンピュータシステムの要素eiがデータベース5aに格納されており、さらに境界条件Rも格納されている。境界条件Rにはたとえば、アプリケーションファンクションと計算ノードの固定的な対応づけ、特定の機能の再実行に対する最大周期期間、特定の(部分)機能の実行と他の多数の設定との間の絶対間隔などが属する可能性がある。他の境界条件は本来の意味での設定ではなく、時間制御される分散型コンピュータシステムの装備に関する所定の特徴に拠るものにすぎず、これらの特徴とはたとえば、計算ノードにおける常に制約された計算能力、あるいは各計算ノード間で交換されるメッセージのためのデータチャネルにおける制約された伝送キャパシティなどである。
図5の第1のステップ5bにおいて要素eiが周知のように依存クラスAiに割り当てられ、図示の事例では単純な依存性のクラスA1と複雑な依存性のクラスA2とに割り当てられる。
次のステップ5cにおいて、最初に1つの依存クラスAiの要素ここでは単純な依存性のクラスA1の要素がコーディネートされる(K(A1))。このコーディネートを1つのステップでまたは繰り返し複数のステップで実行することができる。ステップ5dにおいて、最適化された流れ図Pに関して各々達成されたサブソリューションP′が、境界条件Rを満たしていないかについてチェックされる。境界条件Rを満たしていないならば、コンフリクトのあるサブソリューションP′が廃棄され、ループ5hを経て、依存クラスA1の要素に対するコーディネートプロセスK(A1)に戻る。流れ図PのためのサブソリューションP′にコンフリクトはないけれども、依存クラスA1の要求された要素eiがまだ全部はコーディネートされていないのであれば、同様にループ5hが適用される。
依存クラスA1におけるすべての要素eiが最終的にコーディネートされたならば、複雑な依存性をもつ依存クラスA2の要素eiが同様のやり方で処理され、この処理はステップ5c,5dにより得られた流れ図PのためのサブソリューションP′に基づき行われる。
ステップ5cと5dにより得られたサブソリューションP′を用いても、流れ図Pのためのコンフリクトのないソリューションあるいは許容できるソリューションをステップ5eおよび5fにおいて見つけられない場合には、図5に示されているように、ループ5jを経て依存クラスA1の要素のコーディネートへと戻り、そこにおいて流れ図Pのための別のサブソリューションP′を計算し、このサブソリューションが流れ図Pのためのソリューションを計算するための出発点として再びステップ5eおよび5fにおいて用いられる。この方法の結果として得られるのは、生成され最適化された流れ図Pであり、図示の実施例ではこの流れ図Pがデータベース5gに格納される。
本発明による方法の有利な実施例による流れ図の最適化について示す図 時間制御される分散型コンピュータシステムのための流れ図を示す図 本発明による方法の別の有利な実施例による流れ図の最適化について示す図 各要素の単純な依存性および複雑な依存性を示す図 本発明による方法のさらに別の有利な実施例による流れ図の最適化について示す図

Claims (14)

  1. 時間制御される分散型コンピュータシステムによりファンクションモジュールを実行するための最適化された流れ図(P)を生成する方法であって、
    前記分散型コンピュータシステムはFlexRay標準に基づくものであり、構造的な要素の集合として、FlexRayバスを介して接続された少なくとも2つの計算ノードを有しており、機能的な要素として、FTComタスク(=FTComトランスミッタ、FTComレシーバ)および伝送タスクおよびアプリケーションタスクおよび信号およびメッセージを有しており、
    前記の構造的および機能的な要素である計算ノードおよびタスク(ei,e1,i,e2,i)は、少なくとも1つの要素クラス(Ei,E1,E2)に属しており、該要素(ei,e1,i,e2,i)は少なくとも部分的に依存関係におかれており、少なくともFTComタスクの要素クラスが存在している、
    最適化された流れ図(P)を生成する方法において、
    データ処理装置は、前記FTComタスクの要素クラスにおける要素(ei,e1,i,e2,i)間の単純な依存関係および複雑な依存関係を識別してクラス分けし、該要素(ei,e1,i,e2,i)を、前記単純な依存関係および複雑な依存関係の対応する依存クラス(Ai,A1,A2)に対応づけ、
    前記データ処理装置は、
    a)複数のタスクの時間または順序の変更、
    b)計算ノードへのタスクの割り当ての変更、
    c)複数のタスクの統合による新たなタスクの形成
    のうち少なくとも1つを含むコーディネートを、少なくとも1つの依存クラス(A i ,A 1 ,A 2 )に対応づけられた要素である計算ノード及びタスク(e i ,e 1,i ,e 2,i )に対し実行し、その際、複数のFTComタスクが同じタイプ(FTComトランスミッタ、FTComレシーバ)であるとき、同じ計算ノードに割り当て可能であるとき、同じ送信ノードと受信ノードをもつとき、及び同じスタート時点を有するときは、該複数のFTComタスクを、単純な依存性をもつ依存クラスに対応づけてコーディネートし、
    前記コーディネートを通じて複数の流れ図(P′)を生成し、
    前記データ処理装置は、流れ図の設計目的に依存する品質判定基準に基づき前記複数の流れ図(P′)を評価して、最適化された流れ図(P)を選択し、
    前記最適化された流れ図(P)がまえもって定められた境界条件(R)を満たしている場合は、該最適化された流れ図を最終的な最適化された流れ図(P)として特定し、
    前記最適化された流れ図(P)がまえもって定められた境界条件(R)を満たしていない場合は、前記最適化された流れ図(P)を基礎として、前記コーディネート及び前記生成、並びに、前記評価及び前記選択を繰り返す、
    ことを特徴とする、
    最適化された流れ図(P)を生成する方法。
  2. 請求項1記載の方法において、
    前記データ処理装置は、少なくとも1つの依存クラス(A1)の要素(e1,i)を完全にコーディネートしてから、少なくとも1つの別の依存クラス(A2)の要素(e2,i)をコーディネートすることを特徴とする方法。
  3. 請求項1または2記載の方法において、
    前記データ処理装置は、少なくとも1つの依存クラス(Ai,A1,A2)の要素(ei,e1,i,e2,i)のコーディネートにおいて、1つの要素クラス(Ei,E1,E2)に属する要素を別個にコーディネートし、またはそれぞれ異なる複数の要素クラス(Ei,E1,E2)の要素(ei,e1,i,e2,i)を組み合わせてコーディネートすることを特徴とする方法。
  4. 請求項1から3のいずれか1項記載の方法において、
    前記データ処理装置は、バスの負荷、流れ図の周期時間、伝送すべきメッセージ数、必要とされる計算ノード数、(部分)機能の最悪実行時間(WCET)のうち、少なくとも1つの品質判定基準を最適化のために用いることを特徴とする方法。
  5. 請求項1から4のいずれか1項記載の方法において、
    前記データ処理装置は、少なくとも1つの依存クラス(Ai,A1,A2)内で最適化を繰り返し実行し、各反復ステップにおいて前記依存クラス(Ai,A1,A2)の選択された要素(ei,e1,i,e2,i)をコーディネートし、該依存クラス(Ai,A1,A2)においてコーディネート可能なすべての要素(ei,e1,i,e2,i)がコーディネートされるまでの回数だけ、前記反復ステップを実行することを特徴とする方法。
  6. 請求項5記載の方法において、
    前記データ処理装置は、前記反復ステップのうち少なくとも1つのステップを、1つの依存クラス(Ai,A1,A2)から選択されたそれぞれ別の要素を用いて複数回実行し、該ステップに続く反復ステップを、実行済みの反復ステップにおいて最良の最適化結果を達成したコーディネート済みの選択された要素を用いて続けることを特徴とする方法。
  7. 請求項1から6のいずれか1項記載の方法において、
    前記データ処理装置は、前記流れ図(P)の最適化中、まえもって定められたおよび/またはシステムに内在する境界条件(R)の遵守をチェックすることを特徴とする方法。
  8. 請求項1記載の方法において、
    前記データ処理装置は、前記単純な依存性のクラスにおける要素のコーディネートを前記複雑な依存性のクラスにおける要素のコーディネートの前に行なうことを特徴とする方法。
  9. 請求項1記載の方法において、
    前記データ処理装置は、複数のFTComタスクが同じタイプ(FTComトランスミッタ、FTComレシーバ)であるとき、同じアプリケーションノードに割り当てることができるとき、および該複数のFTComのスタートタイムインターバルがオーバラップしているとき、該複数のFTComタスクを、複雑な依存性をもつ依存クラスに対応づけてコーディネートすることを特徴とする方法。
  10. 請求項1または9記載の方法において、
    前記データ処理装置は、複数の伝送タスクの共通の信号がFlexRayメッセージ(フレーム)の最大長を超えていないとき、および前記複数の伝送タスクのスタート時点が同一であるとき、該複数の伝送タスクを、単純な依存性をもつ依存クラスに割り当ててコーディネートすることを特徴とする方法。
  11. 請求項9または10記載の方法において、
    前記データ処理装置は、複数の伝送タスクの共通の信号がFlexRayメッセージ(フレーム)の最大長を超えていないとき、同じ送信側アプリケーションノードに割り当てることができるとき、および前記複数の伝送タスクのスタートタイムインターバルがオーバラップしているとき、該複数の伝送タスクを、複雑な依存性をもつ依存クラスに割り当ててコーディネートすることを特徴とする方法。
  12. 請求項9または10記載の方法において、
    前記データ処理装置は、付加的に、複数の伝送タスクおよび/または複数のFTComタスクのスタート時点が所定の値よりも大きく互いに異なっていなければ、該複数の伝送タスクまたは該複数のFTComタスクを、複雑な依存性をもつ依存クラスに対応づけてコーディネートすることを特徴とする方法。
  13. 時間制御される分散型コンピュータシステムによりファンクションモジュールを実行するための最適化された流れ図(P)を生成するためのコンピュータプログラムであって、
    前記分散型コンピュータシステムはFlexRay標準に基づくものであり、構造的な要素の集合として、FlexRayバスを介して接続された少なくとも2つの計算ノードを有しており、機能的な要素として、FTComタスク(=FTComトランスミッタ、FTComレシーバ)および伝送タスクおよびアプリケーションタスクおよび信号および/またはメッセージを有しており、
    前記の構造的および機能的な要素である計算ノードおよびタスク(ei,e1,i,e2,i)は、少なくとも1つの要素クラス(Ei,E1,E2)に属しており、該要素(ei,e1,i,e2,i)は少なくとも部分的に依存関係におかれており、少なくともFTComタスクの要素クラスが存在している、
    最適化された流れ図(P)を生成するためのコンピュータプログラムにおいて、
    データ処理装置が、前記FTComタスクの要素クラスにおける要素(ei,e1,i,e2,i)間の単純な依存関係および複雑な依存関係を識別してクラス分けし、該要素(ei,e1,i,e2,i)を、前記単純な依存関係および複雑な依存関係の対応する依存クラス(Ai,A1,A2)に対応づける手順と、
    前記データ処理装置が、
    a)複数のタスクの時間または順序の変更、
    b)計算ノードへのタスクの割り当ての変更、
    c)複数のタスクの統合による新たなタスクの形成
    のうち少なくとも1つを含むコーディネートを、少なくとも1つの依存クラス(A i ,A 1 ,A 2 )に対応づけられた要素である計算ノードおよびタスク(e i ,e 1,i ,e 2,i )に対し実行し、その際、複数のFTComタスクが同じタイプ(FTComトランスミッタ、FTComレシーバ)であるとき、同じ計算ノードに割り当て可能であるとき、同じ送信ノードと受信ノードをもつとき、および同じスタート時点を有するときは、該複数のFTComタスクを、単純な依存性をもつ依存クラスに対応づけてコーディネートする手順と、
    前記コーディネートを通じて複数の流れ図(P′)を生成する手順と、
    前記データ処理装置が、流れ図の設計目的に依存する品質判定基準に基づき前記複数の流れ図(P′)を評価して、最適化された流れ図(P)を選択する手順と、
    前記最適化された流れ図(P)がまえもって定められた境界条件(R)を満たしている場合は、該最適化された流れ図を最終的な最適化された流れ図(P)として特定する手順と、
    前記最適化された流れ図(P)がまえもって定められた境界条件(R)を満たしていない場合は、前記最適化された流れ図(P)を基礎として、前記コーディネートおよび前記生成、並びに、前記評価および前記選択を繰り返す手順とを実行する、
    ことを特徴とする、
    最適化された流れ図(P)を生成するためのコンピュータプログラム。
  14. 時間制御される分散型コンピュータシステムによりファンクションモジュールを実行するための最適化された流れ図(P)を生成するためのコンピュータプログラムが格納された記憶媒体であって、
    前記分散型コンピュータシステムはFlexRay標準に基づくものであり、構造的な要素の集合として、FlexRayバスを介して接続された少なくとも2つの計算ノードを有しており、機能的な要素として、FTComタスク(=FTComトランスミッタ、FTComレシーバ)および伝送タスクおよびアプリケーションタスクおよび信号およびメッセージを有しており、
    前記の構造的および機能的な要素である計算ノードおよびタスク(ei,e1,i,e2,i)は、少なくとも1つの要素クラス(Ei,E1,E2)に属しており、該要素(ei,e1,i,e2,i)は少なくとも部分的に依存関係におかれており、少なくともFTComタスクの要素クラスが存在している、
    最適化された流れ図(P)を生成するためのコンピュータプログラムが格納された記憶媒体において、
    前記コンピュータプログラムにより、
    データ処理装置が、前記FTComタスクの要素クラスにおける要素(ei,e1,i,e2,i)間の単純な依存関係および複雑な依存関係を識別してクラス分けし、該要素(ei,e1,i,e2,i)を、前記単純な依存関係および複雑な依存関係の対応する依存クラス(Ai,A1,A2)に対応づける手順と、
    前記データ処理装置が、
    a)複数のタスクの時間または順序の変更、
    b)計算ノードへのタスクの割り当ての変更、
    c)複数のタスクの統合による新たなタスクの形成
    のうち少なくとも1つを含むコーディネートを、少なくとも1つの依存クラス(A i ,A 1 ,A 2 )に対応づけられた要素である計算ノード及びタスク(e i ,e 1,i ,e 2,i )に対し実行し、その際、複数のFTComタスクが同じタイプ(FTComトランスミッタ、FTComレシーバ)であるとき、同じ計算ノードに割り当て可能であるとき、同じ送信ノードと受信ノードをもつとき、および同じスタート時点を有するときは、該複数のFTComタスクを、単純な依存性をもつ依存クラスに対応づけてコーディネートする手順と、
    前記コーディネートを通じて複数の流れ図(P′)を生成する手順と、
    前記データ処理装置は、流れ図の設計目的に依存する品質判定基準に基づき前記複数の流れ図(P′)を評価して、最適化された流れ図(P)を選択する手順と、
    前記最適化された流れ図(P)がまえもって定められた境界条件(R)を満たしている場合は、該最適化された流れ図を最終的な最適化された流れ図(P)として特定する手順と、
    前記最適化された流れ図(P)がまえもって定められた境界条件(R)を満たしていない場合は、前記最適化された流れ図(P)を基礎として、前記コーディネート及び前記生成、並びに、前記評価及び前記選択を繰り返す手順、
    とを実行することを特徴とする、
    最適化された流れ図(P)を生成するためのコンピュータプログラムが格納された記憶媒体。
JP2008557634A 2006-03-03 2007-02-28 時間制御される分散型コンピュータシステムのための最適化された流れ図を生成する方法 Expired - Fee Related JP5404060B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102006010400.5 2006-03-03
DE102006010400.5A DE102006010400B4 (de) 2006-03-03 2006-03-03 Verfahren zur Erstellung eines optimierten Ablaufplans für ein zeitgesteuertes verteiltes Rechnersystem
PCT/EP2007/001717 WO2007101590A1 (de) 2006-03-03 2007-02-28 Verfahren zur erstellung eines optimierten ablaufplans für ein zeitgesteuertes verteiltes rechnersystem

Publications (2)

Publication Number Publication Date
JP2009528644A JP2009528644A (ja) 2009-08-06
JP5404060B2 true JP5404060B2 (ja) 2014-01-29

Family

ID=38109158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008557634A Expired - Fee Related JP5404060B2 (ja) 2006-03-03 2007-02-28 時間制御される分散型コンピュータシステムのための最適化された流れ図を生成する方法

Country Status (5)

Country Link
US (1) US8271984B2 (ja)
EP (1) EP1997005A1 (ja)
JP (1) JP5404060B2 (ja)
DE (1) DE102006010400B4 (ja)
WO (1) WO2007101590A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089900A1 (en) * 2009-02-05 2010-08-12 Nec Corporation Method, system and program for deadline constrained task admission control and scheduling using genetic approach
US9069730B2 (en) * 2009-06-29 2015-06-30 Hewlett-Packard Development Company, L. P. Coordinated reliability management of virtual machines in a virtualized system
US8973010B2 (en) * 2010-05-28 2015-03-03 Varian Medical Systems International, AG Scheduling image recognition tasks based on task dependency and phase
WO2012146406A1 (en) 2011-04-23 2012-11-01 Deubzer Michael Method for the design evaluation of a system
DE102012005197B3 (de) 2012-03-16 2013-06-13 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren zur Optimierung einer Brennkraftmaschine
US9483544B2 (en) 2012-05-25 2016-11-01 Crimson Hexagon, Inc. Systems and methods for calculating category proportions
US20170109323A9 (en) * 2013-05-06 2017-04-20 Sas Institute Inc. Techniques to perform data reduction for statistical tests
EP3111600B1 (de) 2014-02-24 2018-11-14 TTTech Computertechnik AG Verfahren und computernetzwerk zum übertragen von nachrichten
FR3021108B1 (fr) * 2014-05-16 2016-05-06 Thales Sa Procede d'execution de services en temps reel, notamment de gestion de vol et systeme temps reel mettant en oeuvre un tel procede
DE102014215317A1 (de) * 2014-08-04 2016-02-04 Siemens Aktiengesellschaft Verfahren und Serverarchitektur zur Steuerung von Diensten in einer Middleware für eine vereinfachte Kommunikation zwischen auf autonomen Rechnern verteilten, bei der Middleware registrierten oder zu registrierenden Anwendungen technischer Systeme
EP3007111A1 (en) 2014-10-10 2016-04-13 Timing-Architects Embadded Systems GmbH Optimization method for a computer system
US11082250B2 (en) * 2017-02-07 2021-08-03 Mitsubishi Electric Corporation Distributed coordination system, appliance behavior monitoring device, and appliance
CN113407319B (zh) * 2021-06-15 2022-06-17 北京航空航天大学 基于Barrelfish的时间触发实时调度方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2776338B2 (ja) * 1995-10-03 1998-07-16 日本電気株式会社 ジョブスケジューリング方式
US20020087734A1 (en) * 2000-12-29 2002-07-04 Marshall Donald Brent System and method for managing dependencies in a component-based system
DE10211517A1 (de) 2001-03-15 2002-09-26 Bosch Gmbh Robert Verfahren und Vorrichtung zur Erstellung eines Zeitplans der Übermittlung von Nachrichten auf einem Bussystem
SE524201C2 (sv) * 2002-12-17 2004-07-06 Lars-Berno Fredriksson Anordning vid distribuerat styr- och övervakningssystem
US20050138625A1 (en) * 2003-12-23 2005-06-23 Carroll Timothy J. Configuration management resource specification database design
US8171481B2 (en) * 2004-02-12 2012-05-01 International Business Machines Corporation Method and system for scheduling jobs based on resource relationships
JP4401239B2 (ja) * 2004-05-12 2010-01-20 Necエレクトロニクス株式会社 通信メッセージ変換装置、通信方法及び通信システム
EP1624620B1 (en) * 2004-08-05 2010-05-05 Robert Bosch Gmbh FlexRay communication controller
EP1739890A3 (en) * 2005-06-28 2007-07-18 Tttech Computertechnik AG Processing of data frames exchanged over a communication controller in a time-triggered system
US7548551B2 (en) * 2005-08-19 2009-06-16 Gm Global Technology Operations, Inc. System and method of optimizing the bandwidth of a time triggered communication protocol with homogeneous slot sizes
US7620694B2 (en) * 2005-09-27 2009-11-17 Intel Corporation Early issue of transaction ID

Also Published As

Publication number Publication date
DE102006010400B4 (de) 2023-04-13
US20100043001A1 (en) 2010-02-18
JP2009528644A (ja) 2009-08-06
WO2007101590A1 (de) 2007-09-13
US8271984B2 (en) 2012-09-18
EP1997005A1 (de) 2008-12-03
DE102006010400A1 (de) 2007-09-06

Similar Documents

Publication Publication Date Title
JP5404060B2 (ja) 時間制御される分散型コンピュータシステムのための最適化された流れ図を生成する方法
Zunino et al. Factory communications at the dawn of the fourth industrial revolution
US7339948B2 (en) Industrial controller providing deterministic communication on ethernet
JP7498016B2 (ja) デジタルツインによるプロセス制御
Herpel et al. Stochastic and deterministic performance evaluation of automotive CAN communication
JP7532073B2 (ja) デジタルツインによるモデリング
Zeller et al. Modeling and efficient solving of extra-functional properties for adaptation in networked embedded real-time systems
Horling et al. The soft real-time agent control architecture
Kim et al. Design optimization of vehicle control networks
Erciyes et al. Distributed real-time systems
Naghshtabrizi et al. Analysis of distributed control systems with shared communication and computation resources
Wang et al. Cross-layer design of automotive systems
Pop et al. Schedulability-driven frame packing for multicluster distributed embedded systems
Betz et al. How fast is my software? latency evaluation for a ros 2 autonomous driving software
Kaiser et al. Invocation of real-time objects in a CAN bus-system
Barzegaran et al. Towards extensibility-aware scheduling of industrial applications on fog nodes
Klobedanz et al. A reconfiguration approach for fault-tolerant flexray networks
Klobedanz et al. Self-reconfiguration for fault-tolerant FlexRay networks
CN110286657A (zh) 一种监控系统
Azim et al. Generation of communication schedules for multi-mode distributed real-time applications
Ballesteros et al. SOAcom: Designing Service communication in adaptive automotive networks
Stein et al. Real-time property verification in organic computing systems
Qosja et al. Simulator for Time-Triggered Organic Computing
Oberthür Towards an RTOS for self-optimizing mechatronic systems
Wu et al. Composite resource scheduling for networked control systems

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101227

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111013

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120111

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120806

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120813

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120907

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130304

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130610

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130801

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131029

R150 Certificate of patent or registration of utility model

Ref document number: 5404060

Country of ref document: JP

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

LAPS Cancellation because of no payment of annual fees