JP2009541876A - システムのリアルタイム性能の評価方法 - Google Patents

システムのリアルタイム性能の評価方法 Download PDF

Info

Publication number
JP2009541876A
JP2009541876A JP2009516992A JP2009516992A JP2009541876A JP 2009541876 A JP2009541876 A JP 2009541876A JP 2009516992 A JP2009516992 A JP 2009516992A JP 2009516992 A JP2009516992 A JP 2009516992A JP 2009541876 A JP2009541876 A JP 2009541876A
Authority
JP
Japan
Prior art keywords
event
events
elements
occurrence pattern
event sequence
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.)
Pending
Application number
JP2009516992A
Other languages
English (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
Publication of JP2009541876A publication Critical patent/JP2009541876A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本発明は、特にリアルタイムで、異なるタスク(τ)の集合を有するシステム、特にコンピュータシステムを解析する方法に関する。タスク(τ)の少なくともいくつかは、システムによって繰り返し要求され、処理される。あるいは、システムの部分構成要素に対する要求を繰り返し生成する(イベント)。タスクを要求するイベント、またはタスクによって生成されるイベントの発生パターンは、解析中の記述によって少なくともその一部が表され、その記述は、それぞれイベントの発生パターンを記述する要素の集合からなる。本発明の方法は、少なくとも2個の要素が示す上記発生パターンを記述する当該少なくとも2個の要素と共に、さらに必ずしも同一ではない要素の集合を用い、要素の集合と、それにより記述された発生パターンは互いに異なることを特徴とする。

Description

本発明は、システム、特にコンピュータシステムのリアルタイム性能の評価方法に関する。
組込みリアルタイムシステムの開発を自動化するためには、そのようなシステムの時間的挙動を解析する必要がある。リアルタイムシステムが正しく機能するために、そのシステムの計算結果を正確かつ適時に決定する必要がある。そのようなシステムの例は、エアバッグの制御またはモーターの制御である。
図1に示ような、相互通信を行うタスクのモデルを考える。ここで、「タスク」は、入力値の集合を処理する一連の処理ステップを示し、それを行うで、計算結果が生成されるか、またはそのシステムにおける変更が生じる。タスクは、アルゴリズム記述またはその機能を実行する一揃いのハードウェアとして記述することにより表現される。ここで、タスクは、他のタスクを有効化することが可能であり、その「他のタスク」は、例えば、有効化しているタスクの計算結果をさらに処理することも可能である。さらに、タスクはリソースへのアクセスも可能である。有効化またはリソースへのアクセスは、タスク処理中のいつでも行われる。タスクの有効化またはリソースへのアクセスをここでは「イベント」という。
上記のモデルを迅速に解析するためには、「イベントの発生挙動」を記述する必要がある。「イベントの発生挙動」とは、時間基準での発生挙動を示し、すなわち複数のイベント間における時間区間を示す。「発生パターン」は、発生挙動の記述であり、「発生パターン」は、複数の記述要素を含む。これらの記述要素は同じものである場合も異なるものである場合もあるが、この記述要素の各々は、「イベントの発生挙動」の一部を示す。考えられる「発生パターン」の記述は、いわゆる「イベント密度」である。これの他にも、「発生パターン」を、例えば、期間またはジッタとして記述することも可能である。
「イベント密度」との記述方式を用いた場合、特定長の時間区間におけるイベントの最大数/最小数が特定される。この場合、イベント密度は変動を受けやすい可能性がある。
さらに、その記述は、時間ベースの挙動の迅速な解析を支援する、特に特定の時間制限の確実な順守を支援するものでなければならない。「イベントの発生挙動」の記述から、特定の時間区間において生じるイベント数または特定数のイベントが発生し得る時間区間を迅速に決定することは特に重要である。ここで通常は区間長のみが重要であり、最大または最小の時間区間長は特定数のイベントに対して必要であり、あるいは最大または最小のイベント数が特定の時間区間長に対して必要となる。この場合、記述の要素数に関する線形複雑度を伴った決定を許容する記述が、特に有用である。
本分野に関する多数の文献は、単純に周期的な発生パターンを用いている。
ケー・グレサー(K.Gresser)著、「エフツァイトナッハバイス・エライグニスゲシュトイエルター(Echtzeitnachweis Ereignisgesteuerter Real−zeitsysteme)」(学位論文、ヴィーディーアイ・ヴァーラグ(VDI Verlag)、ドュッセルドルフ、10(286)、1993年)によると、イベントの発生パターンの記述は、イベントストリームモデルとして知られている。「イベントストリーム」は、それぞれ周期z、距離aからなるタプルの集合によって記述される。タプルは、「イベントストリーム要素」として表される。イベントストリーム要素について、同一の起点までの距離を想定する。イベントストリーム要素の各々は、独自の発生パターンを生成し、そのイベントストリーム要素の第1のイベントは、共通の起点から距離aに存在し、その後、後続のイベントが周期zごとに変位して存在する。従って、第2のイベントは、起点から「a+z」の距離をももって続く。そして、第3のイベントは、「a+2z」の距離をもって続き、それ以降同様である。すべてのイベントストリーム要素の発生パターンを重畳することにより、合計イベントストリームが得られる。さらに、それぞれ起点にて最大密度のイベントが開始するような発生パターンを生成するイベントストリームのみが、そのタスクにおいて有効と考えられる。従って、少なくとも1個のイベントストリーム要素に初期距離ゼロが割り当てられなければならない。ここで、このイベントストリームは、イベントの「最大発生パターン」の上限を記述すると想定される。「最大発生パターン」は、最大可能イベント密度を有する発生パターンを意味するものと理解される。実際のシーケンスでは、システムにおいて、上記のイベントストリームによって記述された発生パターンよりも低い密度のイベントの発生が許容される。ここで許容されるとは、そのイベントストリームに対して時間制限の順守が確実に保証され、またイベント密度の低いイベントストリームに対しても時間制限の順守が確実に保証されていることを示す。上記のモデルに対するリアルタイム解析方法を説明する。
最近の文献(ケー・アルバース(K.Albers)、エフ・スロムカ(F.Slomka)共著、「アン イベント ストリーム ドリブン アプロキシメーション フォー ジ アナリシス オブ リアルタイム システムス(An Event Stream Driven Approximation for the Analysis of Real−Time Systems)」(IEEE)第16回 ユーロミクロコンフェレンス オン リアルタイムシステム(16th Euromicro Conference on Real−Time Systems)議事録、2004年、pp.187−195)、およびケー・アルバース(K.Albers)エフ・スロムカ(F.Slomka)共著、「エフィーシャント フィーザビリィティ アナリシス フォー リアルタイム システムズ ウィズ イーディーピースケジューリング(Efficient Feasibility Analysis for Real−Time Systems with EDF−Scheduling)」(欧州デザインオートメーションおよびテストコンフェレンス(the Design Automation and Test Conference in Europa)議事録(’05年)pp.492−497)では、上記モデルに対する非常に効果的なリアルタイム解析が記述されている。その記述は、イベントバーストについて十分に記述されておらず、また十分な解析がなされていないことが問題である。「イベントバースト」は、1個の「発生パターン」におけるイベント密度の時間限定的な増加を示す。イベントストリームモデルでは、イベントバースト中におけるそれぞれのイベントは、それぞれ独自のイベントストリーム要素で表される。1個の発生パターンにおいて、周期的にイベントバーストが発生する場合のみ、第1のイベントバースト内のイベントにイベントストリーム要素をそれぞれ割り当てることができる。イベントバーストは、数千個の要素を含みうるため、イベントストリームモデルは、当該システムに適した記述方式ではない。
エス・チャクラボティ(S.Chakraborty)、エル・ティエレ(L.Thiele)共著、「ア ニュータスクモデル フォー ストリーミング アプリケーションズ アンド スケジューラビリティ アナリシス(A New task Model for Streaming Applications and its Schedulability Analysis)」(IEEE)、デザインオートメーション アンド テスト イン ヨーロップ カンファレンス(the Design Automation and Test in Europe Conference)(’05年)、pp.486−491、2005年)には、イベントバーストの効率的な表示に特化している発生パターンに対する有効な記述が提案されている。この発生パターンも、先の場合と同様に、タプルの集合で記述されている。このモデルでは、発生パターンは多数のイベントおよび区間からなり、この長さの区間で発生し得るイベントの最大数を特定している。ここで、個々のタプルは、全てのタプルが満足されるよう発生パターンのみが許容されるように、互いを相互に制限する。ある種のイベントバーストは、このモデルを用いることで効率的に記述され得る。しかしながら、この記述の問題点は、そこで提案されている解析が、すべてのタプルを用いた多数の線形結合を規定する必要があり、効率的に解析され得ないことである。さらに、上記モデルでは、様々な種類のイベントバーストを効率的に表すことができない。例えば、最初の2個のイベントが互いに距離「t」の区間で発生し、全ての他のイベントが、その個々のイベントよりも前のイベントからの距離であって1未満となる距離「t」で発生する場合、上述のモデルは、効率的に表すことができない。その最初のイベントを除いたそれぞれのイベントは、それ自体のタプルを用いて記述されることになる。さらに、異なる内部発生パターンを有するイベントバーストが生じているような発生パターンは、記述され得ない。
ケー・リヒター(K.Richter)著、「コンピュテーショナル スケージューリング アナリシス ユージング スタンダード イベント モデル(Compositional Scheduling Analysis Using Standard Event Models)」(学位論文、ティーユー(TU)、ブラウシュバイヒ、2005年)は、イベントが期間、イベントジッタ、およびイベント間の最小距離によって記述されることについて記している。「イベントジッタ」とは、主要な周期的発生が変動し得る時間区間を記述する。イベントジッタが複数の期間からなる場合、当該時間区間内において生じるすべてのイベントは、ほぼ同時に発生し得る。各イベントは、最小の距離で分離されているだけである。
上記モデルは、内部のイベント間が単純な最小距離であり、単純で最初に生じるイベントバーストの記述に用いることができる。例えば、繰り返し生じるより複雑なイベントバーストまたは内部のイベント発生パターンがより複雑であるイベントバーストは、この記述では表現できない。
本発明の目的は、前述の従来技術の欠点を取り除くことである。
本発明の目的は、請求項1、13、および20の特徴によって解消される。請求項2乃至12および14乃至19の特徴により、有用な実施形態が得られる。
異なるタスク(τ)の集合が提供されるシステム、特にコンピュータシステムにおける解析、特にリアルタイムの解析を行う方法が提供される。タスク(τn)は、少なくとも部分的に上記システムにより要求されて繰り返し処理され、または、上記システムの部分構成要素(部分コンポーネント)に対する要求によって繰り返しイベントを生成する。解析中における、上記タスクを要求するイベントの発生パターン、または上記タスクによって生成されるイベントの発生パターンは、イベント密度の記述によって少なくとも部分的に記述される。上記イベント密度の記述は、それぞれが上記イベントの発生パターンの一部を記述する要素の集合からなる。上記発生パターンの記述に用いられる少なくとも2個の要素は、さらに要素の集合からなる。上記追加された要素の集合と、上記追加された要素の集合によって記述される追加された発生パターンは互いに異なる。
さらに、異なるタスク(τ)の集合が提供されるシステム、特にコンピュータシステムにおける解析、特にリアルタイムの解析を行う方法が提供される。タスク(τn)は、少なくとも部分的に上記システムにより繰り返し要求されて処理されるか、または、上記システムの部分構成要素に対する要求によって繰り返しイベントを生成する。少なくとも1個のタスクが有効化されると複数のイベントを生成する。タスクの内部挙動は、制御フローグラフにて示される制御ストリームによって記述される。複数の関連部分グラフおよび/または制御フローグラフのノードに対して決定されるイベントの発生パターンから、上記関連部分グラフおよびノードを含む追加された制御フローグラフに対して、更に発生パターンを決定するステップが提供される。上記決定に際し、上記部分グラフのイベントの追加発生パターンを少なくとも部分的に使用する。上記追加発生パターンは、上記部分グラフの特定のフローパス地点に時間依存する、イベントの予想発生パターンである。
(「図面の簡単な説明」に対応する箇所なし) (「図面の簡単な説明」に対応する箇所なし) (「図面の簡単な説明」に対応する箇所なし) (「図面の簡単な説明」に対応する箇所なし)
上記の方法について、さらに詳しく説明する。ここで「リソース」は、限定的な形態でのみ利用可能である、すなわち、量または時間により割り当てられたシステム内における作業手段を示すと理解され、この量または時間は、例えば、メモリ、バスなどの通信媒体の容量、プロセッサの計算時間、アプリケーション固有の切り替えロジックなどである。
本発明において、「発生パターン」とは、時間軸に沿ったイベントの発生を記述する時間基準での発生パターンを示すと理解される。
本発明において、「追加(された)制御フローグラフ」とは、「制御フローグラフ」の部分集合であり得る。
以下において、「コスト」とは、計算時間または電力コストなどの解析に必要とする様々なコストを意味するものと理解される。そのコストの利用可能性は、有限な時間区間においては、有限である。従って、発生イベントの最大数など、特定の結果に対する最小コスト消費を決定する解析は、当該結果に必要とする最小時間をも同時に決定する。
以下において、第1の実施形態は、請求項1に基づく本発明の解決手段および、請求項2乃至12に基づく実施形態、すなわち階層イベントストリーム(HES)について記述する。
「イベントシーケンス」は、「イベント密度」によってイベントの「発生パターン」を記述する。「イベントシーケンス要素」は、その記述の部分要素である。イベントの発生パターンは、「階層イベントシーケンスΘ」で記述される。これは、階層イベントシーケンス要素の集合からなる。「階層イベントシーケンス要素ω」は、期間(または周期)p、初期開始距離a、リミットn、および再帰的組込み階層イベントシーケンスΘ’(ω=(p,a,n,Θ’))を特徴として有する。リミットnは、組込み階層イベントシーケンスΘ’の期間において生成され得るイベントの最大数を制限する。再帰的開始を可能にするために、階層イベントシーケンス要素ωは、組込み階層イベントシーケンスを含み得るか、またはさらに単純なイベントのみを含み得る。この場合、値1のリミットのみが有用である。また期間には、特有の発生パターン生成を示す値∞が割り当てられ得る。
イベントの発生パターンにおいて、それらのイベントにおける最大イベント密度が常に開始部分に存在する具体的な階層イベントシーケンスを、「階層イベントストリーム」として表す。これにより、リアルタイム解析の効率的な方法が実現される。例えば、カーステン・アルバース(Karsten Albers)、フランク・スロムカ(Frank Slomka)共著、「アン イベント ストリーム ドリブン アプロキシメーション フォー ジ アナリシス オブ リアルタイムシステム(An Event Stream driven Approximation for the Analysis of Real−Time System)」(IEEE)第16回ユーロミクロコンフェレンス オン リアルタイムシステム 2004(16th Euromicro Conference on Real−Time Systems 2004)議事録、(エーシーアールティエスECRTS’04)、カターニャ、イタリア、pp.187−195)において示されるリアルタイム解析方法が適用できる。
第1の実施形態において、リミットの値はイベント数で表される。しかし、リミットとして最大区間長を特定することも考えられる。第1の実施形態では、ある期間においてリミット値までのイベント数は、同リミット値長の区間において、再帰組込みイベントシーケンスによって最大限に生成され得るように、階層イベントシーケンス要素によって生成される。
階層イベントシーケンスのイベント発生パターンは、個々の階層イベントシーケンス要素の重畳(重ね合わせ)によって形成される。階層イベントシーケンス要素の発生パターンにおける第1のイベントは、初期距離aの後に続く。このイベントおよび後続するイベントの発生パターンは、組込み階層イベントシーケンスΘ’の発生パターンによって記述されるが、発生パターンの起点(原点)と比べると最初の距離aだけ変位している。ここで、これは、組込み階層イベントシーケンスΘ’における最初のn個のイベントのみを含み、以下において「イベントグループ」という。その組込み階層イベントシーケンスΘ’は、期間pで繰り返されるため、a+p、a+2p、a+3pなどで開始される。
階層イベントシーケンスΘは、それ自体を階層イベントシーケンスに再帰的に組込むことができる。その場合、上記の方法が繰り返し試用されなければならない。
解析の効率的な実装を可能にするために、個々のイベントストリーム要素によって生成されるイベントグループが互いに分離している、換言すると、重なり会うことがない(分離条件)、階層イベントストリームΘのみを用いることが有益である。
以下のHESは、例えば、分離条件として、ΘA={(100,0,7,ΘB),(100,30,5,ΘC)}を満たす。階層イベントストリームとして、ΘAに再帰的に組込まれるΘB、およびΘCが必要である。すなわち、ΘB={(3,0,1,e)およびΘC={(7,0,1,e),(7,3,1,e)}である。上記HES ΘAの第1の要素における期間あたりで7個のイベントがそれぞれ生成され得、HES ΘAの第2の要素においては5個のイベントが生成され得る。これらのイベント間の距離、すなわち、7個または5個のイベントが生成される区間は、それぞれ再帰的に組込まれるイベントストリームΘBおよびΘCによって決定される。このように、3コスト単位分大きい区間において、HESの第1の要素に対して追加イベントが生じ得る。長さにして3の区間において最大2個のイベントが発生し得る。これは、第1のイベントは時間「0」で発生し、そして、それらのイベントが期間として「3」を有するためである。長さ6の区間では最大3個のイベント、長さ9の区間では最大4個のイベント、また長さ12においては最大5個のイベントが発生し得る。従って、1期間あたり合計7個のイベントについては、最小合計区間18コスト単位で当該イベント数を生成できる。第2の要素については、再帰組みイベントストリームΘCによってその発生が規定されている。ここで、長さ3の1コスト区間に2個のイベントが発生し得、長さ7の1コスト区間に3個のイベントが、長さ10の1コスト区間に4個のイベントが、また長さ17の1コスト区間に5個のイベントが発生し得る。ΘAの第2の要素における1期間に生成され得る合計イベント数は5個に限られるため、5個のイベントは長さ17の1コスト区間において生成され得る。
初期距離30が、ΘAの第2の要素に割り当てられるため、当該要素の第1期間のイベントは、コスト地点30から47の区間において生成される。最大発生パターンの場合、ΘAにおける第1の要素での第1期間のイベントは、コスト地点0から始まる18コスト単位長の区間において生成される。第2期間のイベントが生成される区間は、[100,118]または[130,147]である。この区間は、重なり合わない。これは、ΘAが分離条件を満たす理由である。その分離条件の簡単な検証のために、同一の期間(一様なHES)を、階層イベントストリームの個々の要素に割り当てるのが有効である。しかし、特に、要素によって生成されるイベントの合計数が少なくとも部分的に制限されている場合、そのような要素に対して検証は必ずしも必要でない。
分離条件を導入することにより、発生パターンの起点から開始する区間Iにおいて発生するイベント数を、区間の長さに基づいて簡単かつ効率的に決定することができる。例えば、以下の式により決定することができる。
Figure 2009541876
上記式は、個々のイベントシーケンス要素を個別に評価するものであり、分離条件により、各要素の最後の期間のみがより厳密に解析される。そのため、再帰的な評価が必要となる。生成されたイベント数としてのリミットを、それぞれ先行する期間の基準としてもよい。上記式において、modは、除算の剰余を求めるモジュロ演算を示す。
分離条件が常時満たされているわけではない記述の使用もみられる。この場合、発生パターンが重複する要素については、複数の期間を別々に解析する必要があるため、更なる解析作業が生じる。
また記述形式に対して、区間において生じる最小イベント数を表すために、若干の調整を施しても良い。
請求項13乃至19に基づいて、この方法について詳述する。
本方法により、タスクから出力されるイベントの集合を、それぞれ許容される区間長に対して個別に厳密に規定することができる。またタスクに到達した有効化および、タスクの制御ストリームの記述をもとに、タスクから出力されるイベントの時間基準で密度を判定することができる。ここで、「出力(される)イベント」は、他のタスクの有効化、メモリまたはバスなどのリソースへのアクセス、あるいはシステムまたはその一部、またはその環境に対してその他の影響を与える動作である。有効化およびイベントは、好ましくは階層イベントシーケンスモデルを用いて記述され得る。タスクの内部制御ストリームから出力される階層イベントシーケンス、および当該タスクに到達する階層イベントシーケンスを規定する方法が提案されている。その場合、階層イベントシーケンスは、予測される時間基準のイベント密度を記述する。本発明に基づく方法を用いると、タスクの内部制御ストリームによる時間を基準とした関係を介して情報が抽出される。これにより、タスク内のすべての処理経路にわたる最大発生パターンを定義することができる。
当該方法として考えられる設計形式、およびイベント依存型解析について詳述する。
ここで、タスクは、分岐とループとを含み得る制御フローグラフによって設計される。これに関連して、この制御フローグラフの個々のノードは、基本ブロックに相当する。「基本ブロック」は、一連の逐次的命令であり、分岐とイベントの生成が基本ブロックの終端部で起こることを特徴とする。イベントは、特定の特徴付けられた基本ブロックで生成される。本発明によって提供される解析の利点において重要な点は、1回の処理の間に複数のイベントを生成するタスクが存在することである。このことは、その複数イベントが同一のタスクを動作させる場合、あるいは、その複数イベントが、同一のリソースに対して互いに競合する状態で別の場所に位置する場合において特に有利である。その目標は、タスクの制御フローグラフにより、それらのイベントそれぞれの起こり得る時間的挙動を効率的に決定することである。
ここで、本解析は、以下のステップからなる。
タスクの制御フローグラフ全体にわたりステップ−バイ−ステップ処理が行われる。各ステップにおいて、そのタスクの部分グラフを介して既に通過した(処理された)結果から出力されたイベントシーケンスおよび後ほど詳述するような追加的なイベントシーケンスの更新が、行われる。これについての演算を記載する。この演算を用いることで、制御フローグラフの出力イベントシーケンスが、その制御フローグラフを構成する部分グラフの出力イベントシーケンスから取得され得る。また、シングルノードからなる単純部分グラフに対応するイベントシーケンスも特定される。この情報と演算とにより、すべての制御フローグラフに対応する出力イベントシーケンスを計算することができる。
制御ストリームが分岐を含む場合、それぞれの分岐は、独立して通過(処理)される。1個の分岐内において、出力イベントシーケンスと個々の分岐に対するイベントシーケンスは別々に記述される。異なる分岐が合流すると、個々の記述子は結合する。この方法について詳しく説明する。
まず、制御ストリームにループを含まないタスクの解析について説明する。
図2は、タスクグラフにわたるステップ−バイ−ステップ処理(シングルステップ処理)を示す図である。ここで、この制御フローグラフは、タスクの制御データストリームを示す。制御フローグラフは、そのタスクの基本ブロック、およびその有効化または通信(伝達)関係からなる。基本ブロックは、それがただ全体として有効化され得るとの処理部を含み、その処理部分により区別される。そして、他の基本ブロックまたはタスクの分岐または有効化は、その基本ブロックの終端部に続く。従って、タスクの具体的な処理は、その個々の基本ブロックの有効化における関係性に基づいて制御フローグラフ全体での処理により生じる。その処理は、そのタスクの開始ノードから始まる。これは、そのイベントがそのタスクに到達することによって有効化される。その処理の各ステップにおいて、すでに解析されたノードから後続するノードが考慮される。分岐がある場合、異なる分岐は独立して処理される。複数の先行ノードを有するノードは、すべての先行するノードの処理が完了するまでは処理を受けない。このようにして、制御フローグラフは、その処理の間に、ステップ−バイ−ステップで再構築される。その処理の各段階において、すでに解析された部分グラフに追加ノードが加えられる。この再構築は、本方法の間に処理される必要はない。再構築では、ノードの処理シーケンスの計算が行われるだけである。各処理ステップにおいて、結果として生じたイベントストリームは、先行する部分グラフにより規定される。例えば計算時間面での処理コスト、イベントの生成の有無に関する情報、先行するノードに対して決定されるイベントストリームなどの、そのノード自体に関する情報が使用される。他のノードの情報、またはそれまでに処理された部分グラフに関する構造的情報は、この時点では関係ない。
このステップ−バイ−ステップ処理のための基本演算として以下の工程が必要とされる:
1.既存の部分グラフにノードを追加する工程(連結演算)、または
2.部分グラフの2個(またはそれ以上)の部分分岐を再結合する工程(結合演算)。
この場合、先行する部分グラフに対する情報から、生成されるグラフに対して適切な情報を生成する計算方法が必要となる。ここで、「情報」とは、その部分グラフから得られる最大および最小のイベントストリームであり、また計算に必要なイベントシーケンスである。
特に、イベントシーケンスは、開始イベントシーケンス、終了イベントシーケンス、内部イベントシーケンス、および合計イベントシーケンスがある。すべてのイベントシーケンスが常に必要というわけではない。これらのイベントシーケンスは、その解析結果によって規定される。「開始イベントシーケンス」は、イベントの生じ得る数ごとのコストであって、部分グラフにおける最初のノードの有効化から開始した場合のその部分グラフから問題となっている数のイベントを生成するのに必要とされるコストを記述する。
逆に、「終了イベントシーケンス」は、部分グラフの終了ノードに到達したときに振り返って、特定数のイベントが生成されるうえで最終的に必要としたコストを記述する。
「内部イベントシーケンス」は、イベントの生じ得る数ごとの最小コストであって、その部分グラフにおける任意の処理に必要とされる最小コストを規定するのに使用される。これは、その部分グラフの結果として得られるイベントストリームに対応する。
「合計イベントシーケンス」は、生じ得るすべてのイベント数ごとの最小コストであって、開始ノードの有効化から終了ノードに到達するまでに、その部分グラフにおける任意の処理において必要な最小コストを記述する。ここで、イベント数の増加分としては、単調増加コストのみが考慮される。例えば、4個のイベントを生成するコストが3個のイベント生成コストより低い場合、4個のイベントのコストは、3個のイベント生成に対しても適用される。
このようなシーケンスは、例えば、イベントシーケンスの形式にて、利益がある場合には、階層イベントシーケンス(HES)の形式にて効率的に記述することができる。ここで、合計イベントシーケンス(TS)に関して、イベントが生成されない部分グラフにおける潜在的なパスsのコストについては、イベントシーケンスに追加して示されることが好ましい(TS=(a,Θ))。
合計イベントシーケンスは、ループ構造を考慮するうえで重要な役割を果たす。ここで、発生し得る最大数のループの処理だけでなく、最大数のループの処理と最大数のループの処理との間におけるすべての予想され得る数が、考慮される。
制御フローグラフにおける処理で考慮されるべき、最小の生じ得る単位は、シングルノードである。制御フローグラフの各ノードはそれ自体が、1つのグラフとして考えられる。このノードは、初期開始、終了、内部、および合計のイベントシーケンスによって特徴づけられる。ここで、そのノードがイベントを生成するか否かに依存して、2つの異なる初期イベントシーケンスが存在する。イベントを生成するノードに対する初期イベントシーケンスは、以下の通りである:
StS={(∞,k,1,e)},
ES ={(∞,0,1,e)},
IS ={(∞,0,1,e)}および
TS =(k,(∞,k,1,e))
ここで、StSは、開始イベントシーケンスを示し、ESは終了イベントシーケンスを示し、ISは内部イベントシーケンスを示し、そしてTSは合計イベントシーケンスを示す。値kは、そのノードのコストである。最大イベント密度を定義するために、ここでは、ノードの最小処理コストが必要となる。ここで、TSは、イベント生成およびそのイベントシーケンスがない場合でも、最小通過コストからタプルとして記述される。
イベントを生成しない1個のノードに対しては、以下の初期イベントシーケンスが得られる。すなわち、StS={},ES={},IS={}およびTS=(k,{})である。一般的な適用から逸脱しなければ、イベントの生成は、ノードの終端部でのみ生じることに留意すべきである。
このイベントシーケンスから複雑なグラフに対してステップ−バイ−ステップでイベントシーケンスを設定するためには、部分グラフを結合する方法(結合演算子)と、ノードを部分グラフに連結する方法(連結演算子)が必要となる。
制御フローグラフから出力されるイベントストリームを、上記のイベントシーケンスと上記の2つの方法を用いて定義する方法について以下に示す。
まず、タスクが1つのイベントによってのみ有効化する場合を考える。それぞれのノードは、部分グラフとして考えられるため、このジョブの各ステップは、2個の部分グラフを結合し、両方の部分グラフを含む新たな部分グラフを生成することである。従って、問題は、結果として得られる部分グラフのイベントシーケンスを、上述の部分グラフのイベントシーケンスからどのように計算するかという問題に還元される。
個々の部分グラフは、同数のイベントが生じる制御フローグラフにわたって、それぞれ異なるパスを有する。これらの部分グラフの結合により、追加的なパスがさらに生じ得る。この追加されたパスによって、異なるコストが生じ得る。結合された部分グラフのイベントシーケンスは、上述の部分グラフおよびこの結合による生じた追加パスの最小コストまたは最大コストをカバーできなければならない。
2個の部分グラフAとBとの連結または連鎖によって、その結果生じる部分グラフCのイベントシーケンスが次のように定義される。すなわち、Cの開始イベントシーケンスは、Aの合計イベントシーケンスとBの開始イベントシーケンスとの連結と、Aの開始イベントシーケンスとの結合によって得られる。
Cの終了イベントシーケンスは、Aの終了イベントシーケンスとBの合計イベントシーケンスとの連結と、Bの終了イベントシーケンスとの結合によって得られる。
3個のイベントシーケンスのステップ−バイ−ステップ結合により、内部イベントシーケンスが得られる。他方で、部分グラフAおよび部分グラフBそれぞれの内部イベントシーケンスが存在し、さらにその一方で、Aの終了イベントシーケンスとBの開始イベントシーケンスとの連結により得られるイベントシーケンスも存在する。
Cの合計イベントシーケンスは、AとBそれぞれの合計イベントシーケンスの連結によってのみ生成される。
部分グラフの結合では、1個の部分グラフにおける個別のイベントシーケンスと、別の部分グラフのそれぞれ対応するイベントシーケンスとの結合のみが行われる。従って、開始、終了、合計、および内部のすべてのイベントシーケンスは、それぞれ相互に結合される。その結果生じる合計グラフの内部イベントは、当該合計グラフのイベントシーケンスとなる。
上述の演算を効率的に処理するのに、階層イベントシーケンスが少なくとも、かなりの程度まで分離条件を満たしていれば有利である。
2個またはそれ以上の(階層)イベントシーケンスの結合演算に関して、想定され得る具体的かつ効率的な実施形態について詳しく述べる。階層イベントストリームをもとに説明を行うが、簡素された形式で、単純なイベントストリームにも適用可能である。さらに、最大イベント密度のイベントシーケンスのみを考え、その説明は、すべてのイベントがまたその最大発生パターンに対応して発生することを想定している。しかしながら、これに限定されるものではない。実際のシステムにおいて、イベントシーケンスによって特定されたイベントの最大密度が過剰となることも、その特定されたイベントの最小密度が下回ることもない場合、そのイベントは、低い時間基準密度で発生する。得られる結合イベントシーケンスは、すべてのコスト区間に対して、その結合演算中に到達するイベントシーケンスから生成され得る最大数のイベントを含む。最適なイベントシーケンスの演算処理も同様である。到達するイベントシーケンスがイベントストリーム特性を満たす場合、本実施形態の結合演算から得られるイベントシーケンスはまた、そのイベントストリーム特性を実現する。従って、その結合演算によりこの特性が与えられる。
ここで提案される実施形態において、2つのイベントシーケンスの結合は、それぞれ部分領域において支配的なイベントシーケンスをステップ−イ−ステップで規定することにより処理される。1つのイベントシーケンスが、同一の区間内においてより多くのイベントを生成できる場合、そのイベントシーケンスは他のイベントシーケンスを支配する。そのイベントシーケンスが同数のイベントを生成する場合、2つのイベントシーケンスの一方が支配的と考えられる。生成され得るイベントの可能である数の全範囲を、1つの到達するイベントシーケンスが完全に支配的となる個々の部分領域に分割する。ここで、この個々の領域を「支配部分」という。支配的な到達するシーケンスによる適切な要素が、各支配部分について得られたイベントシーケンスに移行され得る。ここで、このようなパラメータ、特に、生成され得るイベントの初期距離、および最大イベント数は、その要素により生成されたイベントがその支配部分でのみで存在するように、有利に調整されなければならい。
図3は、支配シーケンスの効率的な計算プロセスを示す。まず、簡素化のために、個々の単純なイベントシーケンス要素のみを考える。各要素は、時間および初期距離によって識別される。特定数のイベントが生じる要素の最小(最大)区間を示す関数(イベント関数)は、線型方程式で表すことができる。線の開始値は初期距離で、勾配は時間で表される。従って、2つの異なるイベントシーケンスにおける2個の異なるイベントシーケンス要素の比較結果は、2本の線の間で最小増分として生成したものに帰着される。ここで、2つの起こり得る場合が考えられる。すなわち、2本の線が交差するか否かである。2本の線が交差しない場合、1本の線が、考えられうるすべてのイベント数に対して最小値を生成し、従って当該線を規定するイベントシーケンス要素が、考えられうるすべてのイベント数において他方の要素を支配する。この場合、結果として生じるイベントシーケンスは当該支配的要素からのみ生成される。
これらの線が交差する場合、交差点において支配が変わる。そのため、生じるイベントシーケンスは、少なくとも2個の要素から生成される。すなわち、これらは、初期距離と1期間において生成され得る最大イベント数とを調整することにより、個々の支配部分に対して調整された部分領域で支配的な要素から生成される。第1の要素には、交差するまでのイベントのみが生成されるように、生成し得る最大イベント数に関するリミットが与えられる。第2要素には、交差点以降におけるイベント生成のみを許容するための初期距離が提供される。第2の要素のリミットは、生成され得るイベントの合計数を超えないように調整される。そのため、その分離条件は、結果として生じるイベントシーケンスにも残される。1個の要素の初期距離が他の要素より短いが、期間が長いという場合に交差が生じる。イベントシーケンスが1個以上の要素からなる場合、個々の要素による分離領域に対して、それぞれ分離線が生じる。これにより、その支配の変更が複数回生じる。提案した実施形態における演算では、個別のイベントシーケンス要素が、各支配部分において生成されるイベントシーケンスに加えられる。しかし、完全圧縮方法または近似圧縮方法と組み合わせてもよい。例えば、隣接する要素が同じ期間を有する場合、当該期間を有する1個の要素に結合することができる。個々の区分において、そのようなイベントシーケンス要素はすべて、常に相互比較され、同じイベント数となる。イベントシーケンス要素が周期的に繰り返される場合、これによって支配の変更が継続的に繰り返され得る。例えば、以下のような、単純なイベントシーケンスが挙げられる:
Θ1={(∞,0,200,e)}、
Θ2={(∞,0,100,e)}、
Θ3={(25,0,1,e),(25,1,1,e)}、および
Θ4={(12,0,1,e)}
この例において、第3のイベントの開始が支配の限界まで続き、Θ3の要素とΘ4の要素との間において継続的に支配が変更する。支配が明確にわかるように、同じ数のイベントを生成する要素をここでは相互比較する。さらに、影響を受けたイベントシーケンスの影響をうけた要素を互いに調整する。例えば、すべてのイベントシーケンスにおける要素数をとり、個々のイベントシーケンスの要素数における最小公倍数を与えることにより調整することができる。期間を(例えば2倍に)増加することにより、イベントシーケンスの要素数が増え、追加要素によって失ったイベントが補われる。例えば、Θ4の場合、要素数は、期間を2倍にして24とし、追加要素(24,12,1,e)を挿入することにより、要素数が2に増加する。このイベントシーケンスに対して、その後イベントは1個の要素ではなく、2個の要素によって交互に生成されることになる。異なるイベントシーケンスの影響を受けた要素数に同じ分母を与えると、同じイベント数を生成するそれぞれ対応する要素を直接相互比較できる。ここでは、個々のイベントシーケンス要素の期間は関係ない。例えば上記例において、それぞれの第1の要素は、1個、3個、5個、7個、またはそれ以降の奇数個のイベントに対する区間を定義し、第2の要素は、2個、4個、6個またはそれ以降の偶数個イベントに対する区間を定義する。これは、少なくとも要素数を調整し、初期距離を増加させることによって要素を分類した後に適用される。支配的な区間は、各要素に対して個別に規定され、適切なイベントシーケンス要素が、結果として得られるイベントシーケンスに挿入される。複数の再帰レベルを有する、より複雑なイベントシーケンスの場合、例えば各シーケンスを同じ構造に拡張し、支配的規則にもとづいてそれぞれを互いにステップ−バイ−ステップで結合することが提案される。先に例としてあげたイベントシーケンスΘ3とΘ4とを拡張した以下のものが、この例に類似する:
Θ3={(25,0,1,e),(25,1,1,e)}および
Θ4={(24,0,1,e),(24,12,1,e)}。
図5は、上記2つのイベントシーケンスに関する支配グラフを示す。その結果として生じるイベントシーケンスは以下のように記される。
Θr={(∞,0,50,{(24,0,1,e)}),(∞,0,11,{(25,0,1,e)}),(∞,264,39,{(24,12,1,e)}),(∞,1188,50,Θ3)}。
簡素化した後に、得られるイベントストリームは以下のように記述される。
Θr={(∞,0,22,{(24,0,1,e),(25,1,1,e)},(∞,264,78,{(12,0,1,e)}),(∞,1188,100,Θ3))。
イベントの合計数のリミットにより、線区分が中断する場合がある。その場合、それ以降は残った線の一方が支配的となる。この例では、100個のイベントで開始されるすべてのイベントに当てはまる。最初の100個のイベント部分では、Θ3の第1の要素が奇数個のイベントに対して支配的であり、Θ4の第2の要素が偶数個のイベントに対して支配的である。11個のイベントの後に、その支配がΘ3の第2の要素に替わる。100個のイベントの後は、Θ3の要素のみが支配する。
連結演算に関する実施形態の一例を説明する。これは、主に内部イベントシーケンスの規定することが必要とされる。結合演算に関する実施形態を用いて、関係するイベントシーケンスの要素を互いに個別に比較する。連結により、1つのイベントシーケンスの要素は、それぞれ他のイベントシーケンスの要素によって補完される。これにより、個々のイベント数組み合わせがより多く想定される。関係するイベントシーケンスの各要素により数多くのイベントが生成され得、他のイベントシーケンスそれぞれは対応する要素によって適切に補完される。
連結演算子を用いる場合、その結果として生じるイベントシーケンスは、規定どおり、起こり得るイベント区間におけるイベントシーケンス間の交差を常に含む区間のみを含む。要素の様々な組み合わせにより様々な最小数のイベントが生じる。それぞれの組み合わせに対して、関係付けられる2個の要素の初期距離を合計して得られた初期距離が存在する。その組み合わせは、2つの方向の最大値で周期的に継続する。結合演算に対応して、その継続中においては同数のイベントが生成される組み合わせのみを相互比較する。また、これらから、支配部分となりうる部分が生じる。その組み合わせを、2次元、すなわち初期距離および期間において相互比較する。その組み合わせが両方の方向において周期的に継続する場合、当該組み合わせは比較においては2倍含まれる。複数の組み合わせの値が両方の値において一致する場合、そのいずれか一方が選択され得る。組み合わせの両方の基準がせいぜい他の組み合わせと同程度である、あるいは他の組み合わせより劣るというような組み合わせの場合、得られるイベントシーケンスとしては不適切である。ここで、より短い初期距離を有する組み合わせは、より長い初期距離を有する組み合わせよりも適切で、短い期間を有する組み合わせは、長い期間を有する組み合わせより適切である。ある組み合わせ内における初期距離は常に同じであるため、それぞれの組み合わせは、より短い期間を有するイベントシーケンス要素で継続する。残りの組み合わせについては、結合演算と同様に、線型方程式で支配部分および交差が再度計算され、それに基づき、結果イベントシーケンス要素は、初期距離およびリミットで規定される。この連結演算の際立った特徴は、1個のイベントシーケンス要素においてイベント数がリミットに達した場合、組み合わせは、対応するイベントシーケンス要素によって、そのリミットに達するまで継続されることである。対照的に、2個のイベントシーケンス要素の可能な最大イベント数の一部だけを含む中間的な組み合わせは不適切となる。例えば、イベントシーケンスが、最大5個のイベントを生成し得、それと組み合わされたイベントシーケンスが、最大8個のイベントを生成でき得る場合に、2個、3個、4個、5個、6個のイベント数に対しては、2つのイベントシーケンスの一方がイベントを1個だけ生成する2つのイベントシーケンスの組み合わせが考えられる。その他すべての組み合わせ、例えば、1つのイベントシーケンスが2個のイベントを生成し、1つのイベントシーケンスが3個のイベントをする組み合わせ(中間的組み合わせ)は、区間の大きさが同じまたは大きくなるため、最大発生パターンの生成には不適切である。
同一の初期距離が用いられるため、最短期間の方向における継続のみが、同一イベント数に対する区間の短縮となる。図4にも示される例をもとに演算について説明する。
Θ1={(∞,0,200,{(25,0,1,e),(25,1,1,e)}および
Θ2={(∞,0,100,{(24,7,1,e),(24,19,1,e)}。
Θ1は終了イベントシーケンスであり、そして、Θ2は開始イベントシーケンスである。ω1,1をΘ1の第1のイベントシーケンス要素とし、ω1,2をΘ1の第2のイベントシーケンス要素とする。またω2,1をΘ2の第1イベントシーケンス要素とし、ω2,2をΘ2の第2イベントシーケンス要素とする。この2つのイベントシーケンスの連結により、2個のイベントの初期距離が得られる。その距離は、当該イベントシーケンスの初期距離の合計を計算することによって得られる。関係するイベントシーケンスそれぞれに対して、これがそのすべてのイベントシーケンス要素の最短初期距離となる。この例では、それは、7である。この距離は、初期距離0を有するイベントシーケンス要素ω1,1および初期距離7を有するイベントシーケンス要素ω2,1から得られる。イベントシーケンス要素が区分される場合、2個のイベントにおいてそれぞれの第1要素が常にこの距離に相当する。
この結果、連結イベントシーケンスの非周期的開始部分として、イベントシーケンス要素(∞,0,1,e)および(∞,7,1,e)が得られる。3個、5個、7個、9個、それ以降のイベントは、イベントシーケンス要素ω1,2とω2,1との組み合わせ、または要素ω1,1とω2,2との組み合わせによって生成される。両方の組み合わせは、それぞれ関係する2個のイベントシーケンス要素のそれぞれによって周期的に継続され得るため、3個、5個、7個、9個それ以降のイベントが生成される合計4つの組み合わせの可能性が生じる。それぞれの可能性が、初期距離および期間のパラメータで相互比較され、それにより、支配的組み合わせが決定される。ここでは、これは、イベントシーケンス要素ω1,2とω2,1との組み合わせであり、要素ω2,1によって周期的に継続される。要素がリミットに達する直前に、他の要素によって組み合わせが継続され、その要素がリミットに達するまで継続される。4個、6個、8個、10個それ以降のイベントは、イベントシーケンス要素ω1,2とω2,2との組み合わせ、または要素ω1,1とω2,1との組み合わせによって達成される。2つ目の組み合わせの場合、適切なイベント数を求めるために、組み合わせの初期距離に期間を加える。このように期間を加えたため、更なる解析に対して適するようにリミットが1つ減らされることになる。従って、以下のような要素の組み合わせが得られるが、これらに限定されない:
(25,20,1,e)、(24,20,1,e)、(25,25,1,e)、および(24,24,1,e)。
第2の組み合わせが最初に支配的となる。最初の支配的要素として同じ期間24が得られ、これら要素の組み合わせから階層イベントシーケンス要素が得られる。原則的に、このような組み合わせは、1個の要素が他方の要素を動作するまでの別の期間に対しても可能であり、要素がイベントを生成するシーケンスが変わることになる。従って、イベントシーケンス要素(24,8,1,e)および(24,20,1,e)は、結果イベントシーケンスのリミットに関係なく、得られる。これらを等価要素(12,8,1,e)と組み合わせることができる。リミットを含め、またその結果想定されるその他部分要素による組み合わせの周期的な継続、およびそのリミットを考慮して、再帰組込みイベントシーケンスΘA={(12,0,1,e)}およびΘB={(25,0,1,e),(25,1,1,e)}を含む、イベントシーケンス{(∞,0,1,e),(∞,7,1,e),(∞,8,98,ΘA),(∞,1220,200,ΘB)}が得られる。例に示すように、連結演算の設計形式により、出力されるイベントシーケンスを効率的に決定することができ、その記述の複雑度は適度に抑えられ、更に効率的な処理に利用できる。
ループを用いる場合の可能性は、ループを伸ばして得られるグラフを本発明の方法で解析することである。この場合、ループの主要部を前もって部分グラフとして解析し、イベントシーケンスに変換することができる。解析の間において、イベントシーケンスは、継続的に相互連結されるが、最大反復回数に達する前にループが途切れる可能性を考慮しなければならない。規則的な構造であるため、ループ解析は、イベントの構造と発生パターンの規則性を利用して、本発明の方法により、より少ない労力で実施することができる。
本方法は、最大イベントシーケンスの定義について述べたが、最小イベントシーケンスまたは平均イベントシーケンスの定義にも同様に用いることができる。複数のイベントによりタスクを有効化する場合、例えばタスクの制御フローグラフを継続的に連結することにより、タスクをモデル化することができる。この際、最小の分離距離と時間リミットを含む、またはタスクを呼び出すイベントシーケンスをループ構造に変換することが可能である。
本方法は、コンピュータプログラム製品およびコンピュータによって処理される。
τn タスクシステム
τ タスク
HES 階層イベントシーケンス
Θ 階層イベントシーケンス
Θ’ 追加階層イベントシーケンス
τ’ 追加タスク
時間区間
ω 階層イベントシーケンス要素
期間
初期距離
リミット
Θ’ 再帰組込み階層イベントシーケンス
ω=(p,a,n,Θ’)

Claims (20)

  1. 異なるタスク(τ)の集合が提供されるシステム、特にコンピュータシステムにおける、解析、特にリアルタイムの解析を行う方法であって、
    タスク(τn)が、少なくとも部分的に繰り返して、前記システムにより要求され、処理され、または、
    前記システムの部分構成要素に対する要求によって繰り返しイベントを生成し、
    前記解析中における、前記タスクを要求するイベントの発生パターン、または前記タスクによって生成されるイベントの発生パターンは、イベント密度の記述によって少なくとも部分的に表され、
    前記イベント密度の記述は、要素の集合からなり、
    前記要素のそれぞれは、前記イベントの発生パターンの一部を記述し、
    前記要素により表される前記発生パターンの記述のための、少なくとも2個の要素は、追加要素を有する追加集合を含み、
    そして、前記追加集合およびそれにより記述された追加発生パターンが、互いに異なる、方法。
  2. 前記要素は、少なくとも距離aとリミットnによって少なくとも部分的に特徴づけられる、請求項1に記載の方法。
  3. 前記要素は、期間によって部分的に特徴付けられる、請求項2に記載の方法。
  4. 前記リミットは、前記要素の1期間内における発生パターンにおいて生じる最大イベント数を特定する、請求項3に記載の方法。
  5. 前記リミットは、イベント数によって記述される、請求項1乃至4のいずれか1項に記載の方法。
  6. 前記リミットは、区間長によって記述される、請求項1乃至4のいずれか1項に記載の方法。
  7. 少なくとも1個の要素は、初期距離、リミット、および期間によって記述される、請求項1乃至6のいずれか1項に記載の方法。
  8. 複数の要素が1個のイベントを示す、請求項1乃至7のいずれか1項に記載の方法。
  9. 複数の階層レベルにおいて、同一の要素が、要素ωによって表される前記発生パターンを記述する、請求項1乃至8のいずれか1項に記載の方法。
  10. 個々の前記要素によって生成された合計発生パターンの一部分はそれぞれ、ほとんどの箇所において重なり合わない、請求項1乃至9のいずれか1項に記載の方法。
  11. 個々の前記要素によって生成された発生パターンの一部分はそれぞれ重なり合わない、請求項1乃至10のいずれか1項に記載の方法。
  12. 要素の集合Θによって記述される区間Iにおいて発生するイベント数を決定ために、
    以下の数式:
    Figure 2009541876
    が使用される、請求項12に記載の方法。
  13. 異なるタスク(τ)の集合が提供されるシステム、特にコンピュータシステムにおける、解析、特にリアルタイムの解析を行う方法であって、
    タスク(τn)は、少なくとも部分的に前記システムにより繰り返し要求されて処理されるか、または
    前記システムの部分構成要素に対する要求によって繰り返しイベントを生成し、
    その有効化するときに少なくとも1個のタスクが複数のイベントを生成し、
    前記タスクの内部挙動は、制御フローグラフで表される制御ストリームによって記述され、
    複数の関係する、部分グラフまたは前記制御フローグラフのノードに対して決定される前記イベントの発生パターンから、前記関係する、部分グラフおよびノードを含む追加制御フローグラフについての追加発生パターンを決定するステップを含み、そして
    前記決定に際し、前記部分グラフのイベントの追加発生パターンが少なくとも部分的に使用され、
    前記追加発生パターンは、前記部分グラフの特定のフローパス地点に時間依存する、イベントの予測発生パターンである、方法。
  14. 考慮すべきイベントのうち前記追加発生パターンのひとつは、時間的に逆行するに前記部分グラフの終端ノードを通過することにより規定される、請求項13に記載の方法。
  15. 考慮すべきイベントの前記追加発生パターンのひとつは、前記部分グラフの開始ノードを通過することにより規定される、請求項13または14に記載の方法。
  16. 考慮すべき前記発生パターンのひとつは、予想される各区間長における、当該区間長の前記部分グラフ内で生成された最大イベント数を示す、請求項13乃至15のいずれか1項に記載の方法。
  17. 考慮すべき前記発生パターンのひとつは、予想される各区間長に対する、当該区間長において前記部分グラフで生成された最大イベント数を表し、開始ノードおよび終了ノードのフローパス地点は、前記区間内に位置する、請求項13乃至16のいずれか1項に記載の方法。
  18. 少なくともすべての発生パターンは、請求項14乃至17に基づいて、1個の部分グラフに対して1段階で規定されている、請求項17に記載の方法。
  19. 前記発生パターンは、請求項1乃至12のいずれかひとつに記載の記述可能性によって、少なくとも部分的に記述される、請求項13乃至18のいずれか1項に記載の方法。
  20. 請求項1乃至19のいずれかひとつに規定された方法を処理するプログラムコーディング手段を有する複雑なシステムの時間的挙動解析を行うコンピュータプログラミング製品。
JP2009516992A 2006-07-03 2007-06-28 システムのリアルタイム性能の評価方法 Pending JP2009541876A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006031013 2006-07-03
PCT/EP2007/005732 WO2008003427A2 (de) 2006-07-03 2007-06-28 Verfahren zur prüfung der echtzeitfähigkeit eines systems

Publications (1)

Publication Number Publication Date
JP2009541876A true JP2009541876A (ja) 2009-11-26

Family

ID=38704666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009516992A Pending JP2009541876A (ja) 2006-07-03 2007-06-28 システムのリアルタイム性能の評価方法

Country Status (7)

Country Link
US (1) US8306784B2 (ja)
EP (2) EP2044541A2 (ja)
JP (1) JP2009541876A (ja)
KR (1) KR20090040312A (ja)
CA (1) CA2656673C (ja)
IL (1) IL196155A0 (ja)
WO (1) WO2008003427A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2396725A1 (en) 2009-02-16 2011-12-21 Inchron GmbH Method for analysing the real-time capability of a system
GB0912507D0 (en) 2009-07-17 2009-08-26 Skype Ltd Reducing processing resources incurred by a user interface
JP2011138194A (ja) * 2009-12-25 2011-07-14 Sony Corp 情報処理装置、情報処理方法およびプログラム
EP2354949A1 (de) 2010-01-29 2011-08-10 Inchron GmbH Verfahren zur Analyse des zeitlichen Verhaltens des Datenflusses von verteilten, eingebetteten Systemen
US8595750B2 (en) * 2010-11-30 2013-11-26 Microsoft Corporation Adaptive tree structure for visualizing data
US9477537B2 (en) * 2010-12-13 2016-10-25 Microsoft Technology Licensing, Llc Reactive coincidence
CN107391715A (zh) * 2017-07-31 2017-11-24 山东科技大学 一种自由单循环结构的过程挖掘方法
WO2022003051A1 (en) 2020-07-03 2022-01-06 Woodwelding Ag Manufacturing an assembly of a first and a second object
US11635949B2 (en) * 2021-12-17 2023-04-25 Intel Corporation Methods, systems, articles of manufacture and apparatus to identify code semantics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185539A (ja) * 1997-09-05 1999-03-30 Nec Corp タスク実行制御機能を備えるリアルタイムos
WO2001082146A1 (en) * 2000-04-20 2001-11-01 Cadence Design Systems, Inc. Procedure for worst-case analysis of discrete systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223188B1 (en) * 1996-04-10 2001-04-24 Sun Microsystems, Inc. Presentation of link information as an aid to hypermedia navigation
DE102004053979A1 (de) * 2004-05-11 2005-12-08 Inchron Gmbh Verfahren zur Prüfung der Echtzeitfähigkeit eines Systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185539A (ja) * 1997-09-05 1999-03-30 Nec Corp タスク実行制御機能を備えるリアルタイムos
WO2001082146A1 (en) * 2000-04-20 2001-11-01 Cadence Design Systems, Inc. Procedure for worst-case analysis of discrete systems

Also Published As

Publication number Publication date
US8306784B2 (en) 2012-11-06
WO2008003427A3 (de) 2008-06-19
US20100017168A1 (en) 2010-01-21
CA2656673C (en) 2016-02-23
EP2044541A2 (de) 2009-04-08
CA2656673A1 (en) 2008-01-10
IL196155A0 (en) 2009-09-22
EP2306349A1 (de) 2011-04-06
KR20090040312A (ko) 2009-04-23
WO2008003427A2 (de) 2008-01-10

Similar Documents

Publication Publication Date Title
JP2009541876A (ja) システムのリアルタイム性能の評価方法
Singer et al. A computational study of branch and bound techniques for minimizing the total weighted tardiness in job shops
Ciardo et al. SPNP: Stochastic Petri Net Package.
Bouillard et al. Tight performance bounds in the worst-case analysis of feed-forward networks
JP4861756B2 (ja) 1つ又は複数のグリッドを用いた1つ又は複数の回路の検証
CN109189572B (zh) 一种资源预估方法及系统、电子设备和存储介质
JP6222225B2 (ja) 仮想マシン配置決定装置、仮想マシン配置決定方法および仮想マシン配置決定プログラム
Courcoubetis et al. Markov decision processes and regular events
CN112965710A (zh) 计算图的处理方法、装置和系统
Geyer et al. Graph-based deep learning for fast and tight network calculus analyses
US8443073B2 (en) Automated performance prediction for service-oriented architectures
Emzivat et al. Probabilistic time Petri nets
Beauquier et al. Cross-over composition-enforcement of fairness under unfair adversary
Bloemen et al. Symbolically aligning observed and modelled behaviour
US9391875B2 (en) Resource oriented dependency graph for network configuration
Sánchez et al. Event correlation: Language and semantics
Nottegar et al. Performance evaluation of mobile processes via abstract machines
Baier et al. Performability assessment by model checking of Markov reward models
US7895026B1 (en) Multi-rate simulation scheduler for synchronous digital circuits in a high level modeling system
Müller et al. Enabling fluid analysis for queueing petri nets via model transformation
Kumar et al. Probabilistic rewrite theories: Unifying models, logics and tools
Huang et al. An optimal temporally expressive planner: Initial results and application to P2P network optimization
Nguyen et al. A process for continuous validation of self-adapting component based systems
Coffman Jr A survey of mathematical results in flow-time scheduling for computer systems
Sliem et al. An approach for performance modelling and analysis of multi-tiers autonomic systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100510

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120507

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

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120913

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121128