(57)【要約】本発明は、特にリアルタイムで、異なるタスク（τ）の集合を有するシステム、特にコンピュータシステムを解析する方法に関する。タスク（τｎ）の少なくともいくつかは、システムによって繰り返し要求され、処理される。あるいは、システムの部分構成要素に対する要求を繰り返し生成する（イベント）。タスクを要求するイベント、またはタスクによって生成されるイベントの発生パターンは、解析中の記述によって少なくともその一部が表され、その記述は、それぞれイベントの発生パターンを記述する要素の集合からなる。本発明の方法は、少なくとも２個の要素が示す上記発生パターンを記述する当該少なくとも２個の要素と共に、さらに必ずしも同一ではない要素の集合を用い、要素の集合と、それにより記述された発生パターンは互いに異なることを特徴とする。
2009541876.tif 000002
【特許請求の範囲】
【請求項１】
異なるタスク（τ）の集合が提供されるシステム、特にコンピュータシステムにおける、解析、特にリアルタイムの解析を行う方法であって、
タスク（τn）が、少なくとも部分的に繰り返して、前記システムにより要求され、処理され、または、
前記システムの部分構成要素に対する要求によって繰り返しイベントを生成し、
前記解析中における、前記タスクを要求するイベントの発生パターン、または前記タスクによって生成されるイベントの発生パターンは、イベント密度の記述によって少なくとも部分的に表され、
前記イベント密度の記述は、要素の集合からなり、
前記要素のそれぞれは、前記イベントの発生パターンの一部を記述し、
前記要素により表される前記発生パターンの記述のための、少なくとも２個の要素は、追加要素を有する追加集合を含み、
そして、前記追加集合およびそれにより記述された追加発生パターンが、互いに異なる、方法。
【請求項２】
前記要素は、少なくとも距離ａとリミットｎによって少なくとも部分的に特徴づけられる、請求項１に記載の方法。
【請求項３】
前記要素は、期間によって部分的に特徴付けられる、請求項２に記載の方法。
【請求項４】
前記リミットは、前記要素の１期間内における発生パターンにおいて生じる最大イベント数を特定する、請求項３に記載の方法。
【請求項５】
前記リミットは、イベント数によって記述される、請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記リミットは、区間長によって記述される、請求項１乃至４のいずれか１項に記載の方法。
【請求項７】
少なくとも１個の要素は、初期距離、リミット、および期間によって記述される、請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
複数の要素が１個のイベントを示す、請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
複数の階層レベルにおいて、同一の要素が、要素ωによって表される前記発生パターンを記述する、請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
個々の前記要素によって生成された合計発生パターンの一部分はそれぞれ、ほとんどの箇所において重なり合わない、請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
個々の前記要素によって生成された発生パターンの一部分はそれぞれ重なり合わない、請求項１乃至１０のいずれか１項に記載の方法。
【請求項１２】
要素の集合Θによって記述される区間Ｉにおいて発生するイベント数を決定ために、
以下の数式：
【数２】
2009541876.tif 000004
が使用される、請求項１２に記載の方法。
【請求項１３】
異なるタスク（τ）の集合が提供されるシステム、特にコンピュータシステムにおける、解析、特にリアルタイムの解析を行う方法であって、
タスク（τn）は、少なくとも部分的に前記システムにより繰り返し要求されて処理されるか、または
前記システムの部分構成要素に対する要求によって繰り返しイベントを生成し、
その有効化するときに少なくとも１個のタスクが複数のイベントを生成し、
前記タスクの内部挙動は、制御フローグラフで表される制御ストリームによって記述され、
複数の関係する、部分グラフまたは前記制御フローグラフのノードに対して決定される前記イベントの発生パターンから、前記関係する、部分グラフおよびノードを含む追加制御フローグラフについての追加発生パターンを決定するステップを含み、そして
前記決定に際し、前記部分グラフのイベントの追加発生パターンが少なくとも部分的に使用され、
前記追加発生パターンは、前記部分グラフの特定のフローパス地点に時間依存する、イベントの予測発生パターンである、方法。
【請求項１４】
考慮すべきイベントのうち前記追加発生パターンのひとつは、時間的に逆行するに前記部分グラフの終端ノードを通過することにより規定される、請求項１３に記載の方法。
【請求項１５】
考慮すべきイベントの前記追加発生パターンのひとつは、前記部分グラフの開始ノードを通過することにより規定される、請求項１３または１４に記載の方法。
【請求項１６】
考慮すべき前記発生パターンのひとつは、予想される各区間長における、当該区間長の前記部分グラフ内で生成された最大イベント数を示す、請求項１３乃至１５のいずれか１項に記載の方法。
【請求項１７】
考慮すべき前記発生パターンのひとつは、予想される各区間長に対する、当該区間長において前記部分グラフで生成された最大イベント数を表し、開始ノードおよび終了ノードのフローパス地点は、前記区間内に位置する、請求項１３乃至１６のいずれか１項に記載の方法。
【請求項１８】
少なくともすべての発生パターンは、請求項１４乃至１７に基づいて、１個の部分グラフに対して１段階で規定されている、請求項１７に記載の方法。
【請求項１９】
前記発生パターンは、請求項１乃至１２のいずれかひとつに記載の記述可能性によって、少なくとも部分的に記述される、請求項１３乃至１８のいずれか１項に記載の方法。
【請求項２０】
請求項１乃至１９のいずれかひとつに規定された方法を処理するプログラムコーディング手段を有する複雑なシステムの時間的挙動解析を行うコンピュータプログラミング製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、特にコンピュータシステムのリアルタイム性能の評価方法に関する。
【背景技術】
【０００２】
組込みリアルタイムシステムの開発を自動化するためには、そのようなシステムの時間的挙動を解析する必要がある。リアルタイムシステムが正しく機能するために、そのシステムの計算結果を正確かつ適時に決定する必要がある。そのようなシステムの例は、エアバッグの制御またはモーターの制御である。
【０００３】
図１に示ような、相互通信を行うタスクのモデルを考える。ここで、「タスク」は、入力値の集合を処理する一連の処理ステップを示し、それを行うで、計算結果が生成されるか、またはそのシステムにおける変更が生じる。タスクは、アルゴリズム記述またはその機能を実行する一揃いのハードウェアとして記述することにより表現される。ここで、タスクは、他のタスクを有効化することが可能であり、その「他のタスク」は、例えば、有効化しているタスクの計算結果をさらに処理することも可能である。さらに、タスクはリソースへのアクセスも可能である。有効化またはリソースへのアクセスは、タスク処理中のいつでも行われる。タスクの有効化またはリソースへのアクセスをここでは「イベント」という。
【０００４】
上記のモデルを迅速に解析するためには、「イベントの発生挙動」を記述する必要がある。「イベントの発生挙動」とは、時間基準での発生挙動を示し、すなわち複数のイベント間における時間区間を示す。「発生パターン」は、発生挙動の記述であり、「発生パターン」は、複数の記述要素を含む。これらの記述要素は同じものである場合も異なるものである場合もあるが、この記述要素の各々は、「イベントの発生挙動」の一部を示す。考えられる「発生パターン」の記述は、いわゆる「イベント密度」である。これの他にも、「発生パターン」を、例えば、期間またはジッタとして記述することも可能である。
【０００５】
「イベント密度」との記述方式を用いた場合、特定長の時間区間におけるイベントの最大数／最小数が特定される。この場合、イベント密度は変動を受けやすい可能性がある。
【０００６】
さらに、その記述は、時間ベースの挙動の迅速な解析を支援する、特に特定の時間制限の確実な順守を支援するものでなければならない。「イベントの発生挙動」の記述から、特定の時間区間において生じるイベント数または特定数のイベントが発生し得る時間区間を迅速に決定することは特に重要である。ここで通常は区間長のみが重要であり、最大または最小の時間区間長は特定数のイベントに対して必要であり、あるいは最大または最小のイベント数が特定の時間区間長に対して必要となる。この場合、記述の要素数に関する線形複雑度を伴った決定を許容する記述が、特に有用である。
【０００７】
本分野に関する多数の文献は、単純に周期的な発生パターンを用いている。
【０００８】
ケー・グレサー（Ｋ．Ｇｒｅｓｓｅｒ）著、「エフツァイトナッハバイス・エライグニスゲシュトイエルター（Ｅｃｈｔｚｅｉｔｎａｃｈｗｅｉｓ  Ｅｒｅｉｇｎｉｓｇｅｓｔｅｕｅｒｔｅｒ  Ｒｅａｌ−ｚｅｉｔｓｙｓｔｅｍｅ）」（学位論文、ヴィーディーアイ・ヴァーラグ（ＶＤＩ  Ｖｅｒｌａｇ）、ドュッセルドルフ、１０（２８６）、１９９３年）によると、イベントの発生パターンの記述は、イベントストリームモデルとして知られている。「イベントストリーム」は、それぞれ周期ｚ、距離ａからなるタプルの集合によって記述される。タプルは、「イベントストリーム要素」として表される。イベントストリーム要素について、同一の起点までの距離を想定する。イベントストリーム要素の各々は、独自の発生パターンを生成し、そのイベントストリーム要素の第１のイベントは、共通の起点から距離ａに存在し、その後、後続のイベントが周期ｚごとに変位して存在する。従って、第２のイベントは、起点から「ａ＋ｚ」の距離をももって続く。そして、第３のイベントは、「ａ＋２ｚ」の距離をもって続き、それ以降同様である。すべてのイベントストリーム要素の発生パターンを重畳することにより、合計イベントストリームが得られる。さらに、それぞれ起点にて最大密度のイベントが開始するような発生パターンを生成するイベントストリームのみが、そのタスクにおいて有効と考えられる。従って、少なくとも１個のイベントストリーム要素に初期距離ゼロが割り当てられなければならない。ここで、このイベントストリームは、イベントの「最大発生パターン」の上限を記述すると想定される。「最大発生パターン」は、最大可能イベント密度を有する発生パターンを意味するものと理解される。実際のシーケンスでは、システムにおいて、上記のイベントストリームによって記述された発生パターンよりも低い密度のイベントの発生が許容される。ここで許容されるとは、そのイベントストリームに対して時間制限の順守が確実に保証され、またイベント密度の低いイベントストリームに対しても時間制限の順守が確実に保証されていることを示す。上記のモデルに対するリアルタイム解析方法を説明する。
【０００９】
最近の文献（ケー・アルバース（Ｋ．Ａｌｂｅｒｓ）、エフ・スロムカ（Ｆ．Ｓｌｏｍｋａ）共著、「アン  イベント  ストリーム  ドリブン  アプロキシメーション  フォー  ジ  アナリシス  オブ  リアルタイム  システムス（Ａｎ  Ｅｖｅｎｔ  Ｓｔｒｅａｍ  Ｄｒｉｖｅｎ  Ａｐｐｒｏｘｉｍａｔｉｏｎ  ｆｏｒ  ｔｈｅ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｒｅａｌ−Ｔｉｍｅ  Ｓｙｓｔｅｍｓ）」（ＩＥＥＥ）第１６回  ユーロミクロコンフェレンス  オン  リアルタイムシステム（１６ｔｈ  Ｅｕｒｏｍｉｃｒｏ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｅａｌ−Ｔｉｍｅ  Ｓｙｓｔｅｍｓ）議事録、２００４年、ｐｐ．１８７−１９５）、およびケー・アルバース（Ｋ．Ａｌｂｅｒｓ）エフ・スロムカ（Ｆ．Ｓｌｏｍｋａ）共著、「エフィーシャント  フィーザビリィティ  アナリシス  フォー  リアルタイム  システムズ  ウィズ  イーディーピースケジューリング（Ｅｆｆｉｃｉｅｎｔ  Ｆｅａｓｉｂｉｌｉｔｙ  Ａｎａｌｙｓｉｓ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ｓｙｓｔｅｍｓ  ｗｉｔｈ  ＥＤＦ−Ｓｃｈｅｄｕｌｉｎｇ）」（欧州デザインオートメーションおよびテストコンフェレンス（ｔｈｅ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  ａｎｄ  Ｔｅｓｔ  Ｃｏｎｆｅｒｅｎｃｅ  ｉｎ  Ｅｕｒｏｐａ）議事録（’０５年）ｐｐ．４９２−４９７）では、上記モデルに対する非常に効果的なリアルタイム解析が記述されている。その記述は、イベントバーストについて十分に記述されておらず、また十分な解析がなされていないことが問題である。「イベントバースト」は、１個の「発生パターン」におけるイベント密度の時間限定的な増加を示す。イベントストリームモデルでは、イベントバースト中におけるそれぞれのイベントは、それぞれ独自のイベントストリーム要素で表される。１個の発生パターンにおいて、周期的にイベントバーストが発生する場合のみ、第１のイベントバースト内のイベントにイベントストリーム要素をそれぞれ割り当てることができる。イベントバーストは、数千個の要素を含みうるため、イベントストリームモデルは、当該システムに適した記述方式ではない。
【００１０】
エス・チャクラボティ（Ｓ．Ｃｈａｋｒａｂｏｒｔｙ）、エル・ティエレ（Ｌ．Ｔｈｉｅｌｅ）共著、「ア  ニュータスクモデル  フォー  ストリーミング  アプリケーションズ  アンド  スケジューラビリティ  アナリシス（Ａ  Ｎｅｗ  ｔａｓｋ  Ｍｏｄｅｌ  ｆｏｒ  Ｓｔｒｅａｍｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎｓ  ａｎｄ  ｉｔｓ  Ｓｃｈｅｄｕｌａｂｉｌｉｔｙ  Ａｎａｌｙｓｉｓ）」（ＩＥＥＥ）、デザインオートメーション  アンド  テスト  イン  ヨーロップ  カンファレンス（ｔｈｅ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  ａｎｄ  Ｔｅｓｔ  ｉｎ  Ｅｕｒｏｐｅ  Ｃｏｎｆｅｒｅｎｃｅ）（’０５年）、ｐｐ．４８６−４９１、２００５年）には、イベントバーストの効率的な表示に特化している発生パターンに対する有効な記述が提案されている。この発生パターンも、先の場合と同様に、タプルの集合で記述されている。このモデルでは、発生パターンは多数のイベントおよび区間からなり、この長さの区間で発生し得るイベントの最大数を特定している。ここで、個々のタプルは、全てのタプルが満足されるよう発生パターンのみが許容されるように、互いを相互に制限する。ある種のイベントバーストは、このモデルを用いることで効率的に記述され得る。しかしながら、この記述の問題点は、そこで提案されている解析が、すべてのタプルを用いた多数の線形結合を規定する必要があり、効率的に解析され得ないことである。さらに、上記モデルでは、様々な種類のイベントバーストを効率的に表すことができない。例えば、最初の２個のイベントが互いに距離「ｔ」の区間で発生し、全ての他のイベントが、その個々のイベントよりも前のイベントからの距離であって１未満となる距離「ｔ」で発生する場合、上述のモデルは、効率的に表すことができない。その最初のイベントを除いたそれぞれのイベントは、それ自体のタプルを用いて記述されることになる。さらに、異なる内部発生パターンを有するイベントバーストが生じているような発生パターンは、記述され得ない。
【００１１】
ケー・リヒター（Ｋ．Ｒｉｃｈｔｅｒ）著、「コンピュテーショナル  スケージューリング  アナリシス  ユージング  スタンダード  イベント  モデル（Ｃｏｍｐｏｓｉｔｉｏｎａｌ  Ｓｃｈｅｄｕｌｉｎｇ  Ａｎａｌｙｓｉｓ  Ｕｓｉｎｇ  Ｓｔａｎｄａｒｄ  Ｅｖｅｎｔ  Ｍｏｄｅｌｓ）」（学位論文、ティーユー（ＴＵ）、ブラウシュバイヒ、２００５年）は、イベントが期間、イベントジッタ、およびイベント間の最小距離によって記述されることについて記している。「イベントジッタ」とは、主要な周期的発生が変動し得る時間区間を記述する。イベントジッタが複数の期間からなる場合、当該時間区間内において生じるすべてのイベントは、ほぼ同時に発生し得る。各イベントは、最小の距離で分離されているだけである。
【００１２】
上記モデルは、内部のイベント間が単純な最小距離であり、単純で最初に生じるイベントバーストの記述に用いることができる。例えば、繰り返し生じるより複雑なイベントバーストまたは内部のイベント発生パターンがより複雑であるイベントバーストは、この記述では表現できない。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明の目的は、前述の従来技術の欠点を取り除くことである。
【課題を解決するための手段】
【００１４】
本発明の目的は、請求項１、１３、および２０の特徴によって解消される。請求項２乃至１２および１４乃至１９の特徴により、有用な実施形態が得られる。
【００１５】
異なるタスク（τ）の集合が提供されるシステム、特にコンピュータシステムにおける解析、特にリアルタイムの解析を行う方法が提供される。タスク（τn）は、少なくとも部分的に上記システムにより要求されて繰り返し処理され、または、上記システムの部分構成要素（部分コンポーネント）に対する要求によって繰り返しイベントを生成する。解析中における、上記タスクを要求するイベントの発生パターン、または上記タスクによって生成されるイベントの発生パターンは、イベント密度の記述によって少なくとも部分的に記述される。上記イベント密度の記述は、それぞれが上記イベントの発生パターンの一部を記述する要素の集合からなる。上記発生パターンの記述に用いられる少なくとも２個の要素は、さらに要素の集合からなる。上記追加された要素の集合と、上記追加された要素の集合によって記述される追加された発生パターンは互いに異なる。
【００１６】
さらに、異なるタスク（τ）の集合が提供されるシステム、特にコンピュータシステムにおける解析、特にリアルタイムの解析を行う方法が提供される。タスク（τn）は、少なくとも部分的に上記システムにより繰り返し要求されて処理されるか、または、上記システムの部分構成要素に対する要求によって繰り返しイベントを生成する。少なくとも１個のタスクが有効化されると複数のイベントを生成する。タスクの内部挙動は、制御フローグラフにて示される制御ストリームによって記述される。複数の関連部分グラフおよび／または制御フローグラフのノードに対して決定されるイベントの発生パターンから、上記関連部分グラフおよびノードを含む追加された制御フローグラフに対して、更に発生パターンを決定するステップが提供される。上記決定に際し、上記部分グラフのイベントの追加発生パターンを少なくとも部分的に使用する。上記追加発生パターンは、上記部分グラフの特定のフローパス地点に時間依存する、イベントの予想発生パターンである。
【図面の簡単な説明】
【００１７】
【図１】（「図面の簡単な説明」に対応する箇所なし）
【図２】（「図面の簡単な説明」に対応する箇所なし）
【図３】（「図面の簡単な説明」に対応する箇所なし）
【図４】（「図面の簡単な説明」に対応する箇所なし）
【発明を実施するための形態】
【００１８】
上記の方法について、さらに詳しく説明する。ここで「リソース」は、限定的な形態でのみ利用可能である、すなわち、量または時間により割り当てられたシステム内における作業手段を示すと理解され、この量または時間は、例えば、メモリ、バスなどの通信媒体の容量、プロセッサの計算時間、アプリケーション固有の切り替えロジックなどである。
【００１９】
本発明において、「発生パターン」とは、時間軸に沿ったイベントの発生を記述する時間基準での発生パターンを示すと理解される。
【００２０】
本発明において、「追加（された）制御フローグラフ」とは、「制御フローグラフ」の部分集合であり得る。
【００２１】
以下において、「コスト」とは、計算時間または電力コストなどの解析に必要とする様々なコストを意味するものと理解される。そのコストの利用可能性は、有限な時間区間においては、有限である。従って、発生イベントの最大数など、特定の結果に対する最小コスト消費を決定する解析は、当該結果に必要とする最小時間をも同時に決定する。
【００２２】
以下において、第１の実施形態は、請求項１に基づく本発明の解決手段および、請求項２乃至１２に基づく実施形態、すなわち階層イベントストリーム（ＨＥＳ）について記述する。
【００２３】
「イベントシーケンス」は、「イベント密度」によってイベントの「発生パターン」を記述する。「イベントシーケンス要素」は、その記述の部分要素である。イベントの発生パターンは、「階層イベントシーケンスΘ」で記述される。これは、階層イベントシーケンス要素の集合からなる。「階層イベントシーケンス要素ω」は、期間（または周期）ｐ、初期開始距離ａ、リミットｎ、および再帰的組込み階層イベントシーケンスΘ’（ω＝（ｐ，ａ，ｎ，Θ’））を特徴として有する。リミットｎは、組込み階層イベントシーケンスΘ’の期間において生成され得るイベントの最大数を制限する。再帰的開始を可能にするために、階層イベントシーケンス要素ωは、組込み階層イベントシーケンスを含み得るか、またはさらに単純なイベントのみを含み得る。この場合、値１のリミットのみが有用である。また期間には、特有の発生パターン生成を示す値∞が割り当てられ得る。
【００２４】
イベントの発生パターンにおいて、それらのイベントにおける最大イベント密度が常に開始部分に存在する具体的な階層イベントシーケンスを、「階層イベントストリーム」として表す。これにより、リアルタイム解析の効率的な方法が実現される。例えば、カーステン・アルバース（Ｋａｒｓｔｅｎ  Ａｌｂｅｒｓ）、フランク・スロムカ（Ｆｒａｎｋ  Ｓｌｏｍｋａ）共著、「アン  イベント  ストリーム  ドリブン  アプロキシメーション  フォー  ジ  アナリシス  オブ  リアルタイムシステム（Ａｎ  Ｅｖｅｎｔ  Ｓｔｒｅａｍ  ｄｒｉｖｅｎ  Ａｐｐｒｏｘｉｍａｔｉｏｎ  ｆｏｒ  ｔｈｅ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｒｅａｌ−Ｔｉｍｅ  Ｓｙｓｔｅｍ）」（ＩＥＥＥ）第１６回ユーロミクロコンフェレンス  オン  リアルタイムシステム  ２００４（１６ｔｈ  Ｅｕｒｏｍｉｃｒｏ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｅａｌ−Ｔｉｍｅ  Ｓｙｓｔｅｍｓ  ２００４）議事録、（エーシーアールティエスＥＣＲＴＳ’０４）、カターニャ、イタリア、ｐｐ．１８７−１９５）において示されるリアルタイム解析方法が適用できる。
【００２５】
第１の実施形態において、リミットの値はイベント数で表される。しかし、リミットとして最大区間長を特定することも考えられる。第１の実施形態では、ある期間においてリミット値までのイベント数は、同リミット値長の区間において、再帰組込みイベントシーケンスによって最大限に生成され得るように、階層イベントシーケンス要素によって生成される。
【００２６】
階層イベントシーケンスのイベント発生パターンは、個々の階層イベントシーケンス要素の重畳（重ね合わせ）によって形成される。階層イベントシーケンス要素の発生パターンにおける第１のイベントは、初期距離ａの後に続く。このイベントおよび後続するイベントの発生パターンは、組込み階層イベントシーケンスΘ’の発生パターンによって記述されるが、発生パターンの起点（原点）と比べると最初の距離ａだけ変位している。ここで、これは、組込み階層イベントシーケンスΘ’における最初のｎ個のイベントのみを含み、以下において「イベントグループ」という。その組込み階層イベントシーケンスΘ’は、期間ｐで繰り返されるため、ａ＋ｐ、ａ＋２ｐ、ａ＋３ｐなどで開始される。
【００２７】
階層イベントシーケンスΘは、それ自体を階層イベントシーケンスに再帰的に組込むことができる。その場合、上記の方法が繰り返し試用されなければならない。
【００２８】
解析の効率的な実装を可能にするために、個々のイベントストリーム要素によって生成されるイベントグループが互いに分離している、換言すると、重なり会うことがない（分離条件）、階層イベントストリームΘのみを用いることが有益である。
【００２９】
以下のＨＥＳは、例えば、分離条件として、ΘA＝｛（１００，０，７，ΘB），（１００，３０，５，ΘC）｝を満たす。階層イベントストリームとして、ΘAに再帰的に組込まれるΘB、およびΘCが必要である。すなわち、ΘB＝｛（３，０，１，ｅ）およびΘC＝｛（７，０，１，ｅ），（７，３，１，ｅ）｝である。上記ＨＥＳ  ΘAの第１の要素における期間あたりで７個のイベントがそれぞれ生成され得、ＨＥＳ  ΘAの第２の要素においては５個のイベントが生成され得る。これらのイベント間の距離、すなわち、７個または５個のイベントが生成される区間は、それぞれ再帰的に組込まれるイベントストリームΘBおよびΘCによって決定される。このように、３コスト単位分大きい区間において、ＨＥＳの第１の要素に対して追加イベントが生じ得る。長さにして３の区間において最大２個のイベントが発生し得る。これは、第１のイベントは時間「０」で発生し、そして、それらのイベントが期間として「３」を有するためである。長さ６の区間では最大３個のイベント、長さ９の区間では最大４個のイベント、また長さ１２においては最大５個のイベントが発生し得る。従って、１期間あたり合計７個のイベントについては、最小合計区間１８コスト単位で当該イベント数を生成できる。第２の要素については、再帰組みイベントストリームΘCによってその発生が規定されている。ここで、長さ３の１コスト区間に２個のイベントが発生し得、長さ７の１コスト区間に３個のイベントが、長さ１０の１コスト区間に４個のイベントが、また長さ１７の１コスト区間に５個のイベントが発生し得る。ΘAの第２の要素における１期間に生成され得る合計イベント数は５個に限られるため、５個のイベントは長さ１７の１コスト区間において生成され得る。
【００３０】
初期距離３０が、ΘAの第２の要素に割り当てられるため、当該要素の第１期間のイベントは、コスト地点３０から４７の区間において生成される。最大発生パターンの場合、ΘAにおける第１の要素での第１期間のイベントは、コスト地点０から始まる１８コスト単位長の区間において生成される。第２期間のイベントが生成される区間は、［１００，１１８］または［１３０，１４７］である。この区間は、重なり合わない。これは、ΘAが分離条件を満たす理由である。その分離条件の簡単な検証のために、同一の期間（一様なＨＥＳ）を、階層イベントストリームの個々の要素に割り当てるのが有効である。しかし、特に、要素によって生成されるイベントの合計数が少なくとも部分的に制限されている場合、そのような要素に対して検証は必ずしも必要でない。
【００３１】
分離条件を導入することにより、発生パターンの起点から開始する区間Ｉにおいて発生するイベント数を、区間の長さに基づいて簡単かつ効率的に決定することができる。例えば、以下の式により決定することができる。
【００３２】
【数１】
2009541876.tif 000003
【００３３】
上記式は、個々のイベントシーケンス要素を個別に評価するものであり、分離条件により、各要素の最後の期間のみがより厳密に解析される。そのため、再帰的な評価が必要となる。生成されたイベント数としてのリミットを、それぞれ先行する期間の基準としてもよい。上記式において、ｍｏｄは、除算の剰余を求めるモジュロ演算を示す。
【００３４】
分離条件が常時満たされているわけではない記述の使用もみられる。この場合、発生パターンが重複する要素については、複数の期間を別々に解析する必要があるため、更なる解析作業が生じる。
【００３５】
また記述形式に対して、区間において生じる最小イベント数を表すために、若干の調整を施しても良い。
【００３６】
請求項１３乃至１９に基づいて、この方法について詳述する。
【００３７】
本方法により、タスクから出力されるイベントの集合を、それぞれ許容される区間長に対して個別に厳密に規定することができる。またタスクに到達した有効化および、タスクの制御ストリームの記述をもとに、タスクから出力されるイベントの時間基準で密度を判定することができる。ここで、「出力（される）イベント」は、他のタスクの有効化、メモリまたはバスなどのリソースへのアクセス、あるいはシステムまたはその一部、またはその環境に対してその他の影響を与える動作である。有効化およびイベントは、好ましくは階層イベントシーケンスモデルを用いて記述され得る。タスクの内部制御ストリームから出力される階層イベントシーケンス、および当該タスクに到達する階層イベントシーケンスを規定する方法が提案されている。その場合、階層イベントシーケンスは、予測される時間基準のイベント密度を記述する。本発明に基づく方法を用いると、タスクの内部制御ストリームによる時間を基準とした関係を介して情報が抽出される。これにより、タスク内のすべての処理経路にわたる最大発生パターンを定義することができる。
【００３８】
当該方法として考えられる設計形式、およびイベント依存型解析について詳述する。
【００３９】
ここで、タスクは、分岐とループとを含み得る制御フローグラフによって設計される。これに関連して、この制御フローグラフの個々のノードは、基本ブロックに相当する。「基本ブロック」は、一連の逐次的命令であり、分岐とイベントの生成が基本ブロックの終端部で起こることを特徴とする。イベントは、特定の特徴付けられた基本ブロックで生成される。本発明によって提供される解析の利点において重要な点は、１回の処理の間に複数のイベントを生成するタスクが存在することである。このことは、その複数イベントが同一のタスクを動作させる場合、あるいは、その複数イベントが、同一のリソースに対して互いに競合する状態で別の場所に位置する場合において特に有利である。その目標は、タスクの制御フローグラフにより、それらのイベントそれぞれの起こり得る時間的挙動を効率的に決定することである。
【００４０】
ここで、本解析は、以下のステップからなる。
【００４１】
タスクの制御フローグラフ全体にわたりステップ−バイ−ステップ処理が行われる。各ステップにおいて、そのタスクの部分グラフを介して既に通過した（処理された）結果から出力されたイベントシーケンスおよび後ほど詳述するような追加的なイベントシーケンスの更新が、行われる。これについての演算を記載する。この演算を用いることで、制御フローグラフの出力イベントシーケンスが、その制御フローグラフを構成する部分グラフの出力イベントシーケンスから取得され得る。また、シングルノードからなる単純部分グラフに対応するイベントシーケンスも特定される。この情報と演算とにより、すべての制御フローグラフに対応する出力イベントシーケンスを計算することができる。
【００４２】
制御ストリームが分岐を含む場合、それぞれの分岐は、独立して通過（処理）される。１個の分岐内において、出力イベントシーケンスと個々の分岐に対するイベントシーケンスは別々に記述される。異なる分岐が合流すると、個々の記述子は結合する。この方法について詳しく説明する。
【００４３】
まず、制御ストリームにループを含まないタスクの解析について説明する。
【００４４】
図２は、タスクグラフにわたるステップ−バイ−ステップ処理（シングルステップ処理）を示す図である。ここで、この制御フローグラフは、タスクの制御データストリームを示す。制御フローグラフは、そのタスクの基本ブロック、およびその有効化または通信（伝達）関係からなる。基本ブロックは、それがただ全体として有効化され得るとの処理部を含み、その処理部分により区別される。そして、他の基本ブロックまたはタスクの分岐または有効化は、その基本ブロックの終端部に続く。従って、タスクの具体的な処理は、その個々の基本ブロックの有効化における関係性に基づいて制御フローグラフ全体での処理により生じる。その処理は、そのタスクの開始ノードから始まる。これは、そのイベントがそのタスクに到達することによって有効化される。その処理の各ステップにおいて、すでに解析されたノードから後続するノードが考慮される。分岐がある場合、異なる分岐は独立して処理される。複数の先行ノードを有するノードは、すべての先行するノードの処理が完了するまでは処理を受けない。このようにして、制御フローグラフは、その処理の間に、ステップ−バイ−ステップで再構築される。その処理の各段階において、すでに解析された部分グラフに追加ノードが加えられる。この再構築は、本方法の間に処理される必要はない。再構築では、ノードの処理シーケンスの計算が行われるだけである。各処理ステップにおいて、結果として生じたイベントストリームは、先行する部分グラフにより規定される。例えば計算時間面での処理コスト、イベントの生成の有無に関する情報、先行するノードに対して決定されるイベントストリームなどの、そのノード自体に関する情報が使用される。他のノードの情報、またはそれまでに処理された部分グラフに関する構造的情報は、この時点では関係ない。
このステップ−バイ−ステップ処理のための基本演算として以下の工程が必要とされる：
１．既存の部分グラフにノードを追加する工程（連結演算）、または
２．部分グラフの２個（またはそれ以上）の部分分岐を再結合する工程（結合演算）。
この場合、先行する部分グラフに対する情報から、生成されるグラフに対して適切な情報を生成する計算方法が必要となる。ここで、「情報」とは、その部分グラフから得られる最大および最小のイベントストリームであり、また計算に必要なイベントシーケンスである。
【００４５】
特に、イベントシーケンスは、開始イベントシーケンス、終了イベントシーケンス、内部イベントシーケンス、および合計イベントシーケンスがある。すべてのイベントシーケンスが常に必要というわけではない。これらのイベントシーケンスは、その解析結果によって規定される。「開始イベントシーケンス」は、イベントの生じ得る数ごとのコストであって、部分グラフにおける最初のノードの有効化から開始した場合のその部分グラフから問題となっている数のイベントを生成するのに必要とされるコストを記述する。
【００４６】
逆に、「終了イベントシーケンス」は、部分グラフの終了ノードに到達したときに振り返って、特定数のイベントが生成されるうえで最終的に必要としたコストを記述する。
【００４７】
「内部イベントシーケンス」は、イベントの生じ得る数ごとの最小コストであって、その部分グラフにおける任意の処理に必要とされる最小コストを規定するのに使用される。これは、その部分グラフの結果として得られるイベントストリームに対応する。
【００４８】
「合計イベントシーケンス」は、生じ得るすべてのイベント数ごとの最小コストであって、開始ノードの有効化から終了ノードに到達するまでに、その部分グラフにおける任意の処理において必要な最小コストを記述する。ここで、イベント数の増加分としては、単調増加コストのみが考慮される。例えば、４個のイベントを生成するコストが３個のイベント生成コストより低い場合、４個のイベントのコストは、３個のイベント生成に対しても適用される。
【００４９】
このようなシーケンスは、例えば、イベントシーケンスの形式にて、利益がある場合には、階層イベントシーケンス（ＨＥＳ）の形式にて効率的に記述することができる。ここで、合計イベントシーケンス（ＴＳ）に関して、イベントが生成されない部分グラフにおける潜在的なパスｓのコストについては、イベントシーケンスに追加して示されることが好ましい（ＴＳ＝（ａ，Θ））。
【００５０】
合計イベントシーケンスは、ループ構造を考慮するうえで重要な役割を果たす。ここで、発生し得る最大数のループの処理だけでなく、最大数のループの処理と最大数のループの処理との間におけるすべての予想され得る数が、考慮される。
【００５１】
制御フローグラフにおける処理で考慮されるべき、最小の生じ得る単位は、シングルノードである。制御フローグラフの各ノードはそれ自体が、１つのグラフとして考えられる。このノードは、初期開始、終了、内部、および合計のイベントシーケンスによって特徴づけられる。ここで、そのノードがイベントを生成するか否かに依存して、２つの異なる初期イベントシーケンスが存在する。イベントを生成するノードに対する初期イベントシーケンスは、以下の通りである：
ＳｔＳ＝｛（∞，ｋ，１，ｅ）｝，
ＥＳ  ＝｛（∞，０，１，ｅ）｝，
ＩＳ  ＝｛（∞，０，１，ｅ）｝および
ＴＳ  ＝（ｋ，（∞，ｋ，１，ｅ））
ここで、ＳｔＳは、開始イベントシーケンスを示し、ＥＳは終了イベントシーケンスを示し、ＩＳは内部イベントシーケンスを示し、そしてＴＳは合計イベントシーケンスを示す。値ｋは、そのノードのコストである。最大イベント密度を定義するために、ここでは、ノードの最小処理コストが必要となる。ここで、ＴＳは、イベント生成およびそのイベントシーケンスがない場合でも、最小通過コストからタプルとして記述される。
【００５２】
イベントを生成しない１個のノードに対しては、以下の初期イベントシーケンスが得られる。すなわち、ＳｔＳ＝｛｝，ＥＳ＝｛｝，ＩＳ＝｛｝およびＴＳ＝（ｋ，｛｝）である。一般的な適用から逸脱しなければ、イベントの生成は、ノードの終端部でのみ生じることに留意すべきである。
【００５３】
このイベントシーケンスから複雑なグラフに対してステップ−バイ−ステップでイベントシーケンスを設定するためには、部分グラフを結合する方法（結合演算子）と、ノードを部分グラフに連結する方法（連結演算子）が必要となる。
【００５４】
制御フローグラフから出力されるイベントストリームを、上記のイベントシーケンスと上記の２つの方法を用いて定義する方法について以下に示す。
【００５５】
まず、タスクが１つのイベントによってのみ有効化する場合を考える。それぞれのノードは、部分グラフとして考えられるため、このジョブの各ステップは、２個の部分グラフを結合し、両方の部分グラフを含む新たな部分グラフを生成することである。従って、問題は、結果として得られる部分グラフのイベントシーケンスを、上述の部分グラフのイベントシーケンスからどのように計算するかという問題に還元される。
【００５６】
個々の部分グラフは、同数のイベントが生じる制御フローグラフにわたって、それぞれ異なるパスを有する。これらの部分グラフの結合により、追加的なパスがさらに生じ得る。この追加されたパスによって、異なるコストが生じ得る。結合された部分グラフのイベントシーケンスは、上述の部分グラフおよびこの結合による生じた追加パスの最小コストまたは最大コストをカバーできなければならない。
【００５７】
２個の部分グラフＡとＢとの連結または連鎖によって、その結果生じる部分グラフＣのイベントシーケンスが次のように定義される。すなわち、Ｃの開始イベントシーケンスは、Ａの合計イベントシーケンスとＢの開始イベントシーケンスとの連結と、Ａの開始イベントシーケンスとの結合によって得られる。
【００５８】
Ｃの終了イベントシーケンスは、Ａの終了イベントシーケンスとＢの合計イベントシーケンスとの連結と、Ｂの終了イベントシーケンスとの結合によって得られる。
【００５９】
３個のイベントシーケンスのステップ−バイ−ステップ結合により、内部イベントシーケンスが得られる。他方で、部分グラフＡおよび部分グラフＢそれぞれの内部イベントシーケンスが存在し、さらにその一方で、Ａの終了イベントシーケンスとＢの開始イベントシーケンスとの連結により得られるイベントシーケンスも存在する。
【００６０】
Ｃの合計イベントシーケンスは、ＡとＢそれぞれの合計イベントシーケンスの連結によってのみ生成される。
【００６１】
部分グラフの結合では、１個の部分グラフにおける個別のイベントシーケンスと、別の部分グラフのそれぞれ対応するイベントシーケンスとの結合のみが行われる。従って、開始、終了、合計、および内部のすべてのイベントシーケンスは、それぞれ相互に結合される。その結果生じる合計グラフの内部イベントは、当該合計グラフのイベントシーケンスとなる。
【００６２】
上述の演算を効率的に処理するのに、階層イベントシーケンスが少なくとも、かなりの程度まで分離条件を満たしていれば有利である。
【００６３】
２個またはそれ以上の（階層）イベントシーケンスの結合演算に関して、想定され得る具体的かつ効率的な実施形態について詳しく述べる。階層イベントストリームをもとに説明を行うが、簡素された形式で、単純なイベントストリームにも適用可能である。さらに、最大イベント密度のイベントシーケンスのみを考え、その説明は、すべてのイベントがまたその最大発生パターンに対応して発生することを想定している。しかしながら、これに限定されるものではない。実際のシステムにおいて、イベントシーケンスによって特定されたイベントの最大密度が過剰となることも、その特定されたイベントの最小密度が下回ることもない場合、そのイベントは、低い時間基準密度で発生する。得られる結合イベントシーケンスは、すべてのコスト区間に対して、その結合演算中に到達するイベントシーケンスから生成され得る最大数のイベントを含む。最適なイベントシーケンスの演算処理も同様である。到達するイベントシーケンスがイベントストリーム特性を満たす場合、本実施形態の結合演算から得られるイベントシーケンスはまた、そのイベントストリーム特性を実現する。従って、その結合演算によりこの特性が与えられる。
【００６４】
ここで提案される実施形態において、２つのイベントシーケンスの結合は、それぞれ部分領域において支配的なイベントシーケンスをステップ−イ−ステップで規定することにより処理される。１つのイベントシーケンスが、同一の区間内においてより多くのイベントを生成できる場合、そのイベントシーケンスは他のイベントシーケンスを支配する。そのイベントシーケンスが同数のイベントを生成する場合、２つのイベントシーケンスの一方が支配的と考えられる。生成され得るイベントの可能である数の全範囲を、１つの到達するイベントシーケンスが完全に支配的となる個々の部分領域に分割する。ここで、この個々の領域を「支配部分」という。支配的な到達するシーケンスによる適切な要素が、各支配部分について得られたイベントシーケンスに移行され得る。ここで、このようなパラメータ、特に、生成され得るイベントの初期距離、および最大イベント数は、その要素により生成されたイベントがその支配部分でのみで存在するように、有利に調整されなければならい。
【００６５】
図３は、支配シーケンスの効率的な計算プロセスを示す。まず、簡素化のために、個々の単純なイベントシーケンス要素のみを考える。各要素は、時間および初期距離によって識別される。特定数のイベントが生じる要素の最小（最大）区間を示す関数（イベント関数）は、線型方程式で表すことができる。線の開始値は初期距離で、勾配は時間で表される。従って、２つの異なるイベントシーケンスにおける２個の異なるイベントシーケンス要素の比較結果は、２本の線の間で最小増分として生成したものに帰着される。ここで、２つの起こり得る場合が考えられる。すなわち、２本の線が交差するか否かである。２本の線が交差しない場合、１本の線が、考えられうるすべてのイベント数に対して最小値を生成し、従って当該線を規定するイベントシーケンス要素が、考えられうるすべてのイベント数において他方の要素を支配する。この場合、結果として生じるイベントシーケンスは当該支配的要素からのみ生成される。
【００６６】
これらの線が交差する場合、交差点において支配が変わる。そのため、生じるイベントシーケンスは、少なくとも２個の要素から生成される。すなわち、これらは、初期距離と１期間において生成され得る最大イベント数とを調整することにより、個々の支配部分に対して調整された部分領域で支配的な要素から生成される。第１の要素には、交差するまでのイベントのみが生成されるように、生成し得る最大イベント数に関するリミットが与えられる。第２要素には、交差点以降におけるイベント生成のみを許容するための初期距離が提供される。第２の要素のリミットは、生成され得るイベントの合計数を超えないように調整される。そのため、その分離条件は、結果として生じるイベントシーケンスにも残される。１個の要素の初期距離が他の要素より短いが、期間が長いという場合に交差が生じる。イベントシーケンスが１個以上の要素からなる場合、個々の要素による分離領域に対して、それぞれ分離線が生じる。これにより、その支配の変更が複数回生じる。提案した実施形態における演算では、個別のイベントシーケンス要素が、各支配部分において生成されるイベントシーケンスに加えられる。しかし、完全圧縮方法または近似圧縮方法と組み合わせてもよい。例えば、隣接する要素が同じ期間を有する場合、当該期間を有する１個の要素に結合することができる。個々の区分において、そのようなイベントシーケンス要素はすべて、常に相互比較され、同じイベント数となる。イベントシーケンス要素が周期的に繰り返される場合、これによって支配の変更が継続的に繰り返され得る。例えば、以下のような、単純なイベントシーケンスが挙げられる：
Θ1＝｛（∞，０，２００，ｅ）｝、
Θ2＝｛（∞，０，１００，ｅ）｝、
Θ3＝｛（２５，０，１，ｅ），（２５，１，１，ｅ）｝、および
Θ4＝｛（１２，０，１，ｅ）｝
この例において、第３のイベントの開始が支配の限界まで続き、Θ3の要素とΘ4の要素との間において継続的に支配が変更する。支配が明確にわかるように、同じ数のイベントを生成する要素をここでは相互比較する。さらに、影響を受けたイベントシーケンスの影響をうけた要素を互いに調整する。例えば、すべてのイベントシーケンスにおける要素数をとり、個々のイベントシーケンスの要素数における最小公倍数を与えることにより調整することができる。期間を（例えば２倍に）増加することにより、イベントシーケンスの要素数が増え、追加要素によって失ったイベントが補われる。例えば、Θ4の場合、要素数は、期間を２倍にして２４とし、追加要素（２４，１２，１，ｅ）を挿入することにより、要素数が２に増加する。このイベントシーケンスに対して、その後イベントは１個の要素ではなく、２個の要素によって交互に生成されることになる。異なるイベントシーケンスの影響を受けた要素数に同じ分母を与えると、同じイベント数を生成するそれぞれ対応する要素を直接相互比較できる。ここでは、個々のイベントシーケンス要素の期間は関係ない。例えば上記例において、それぞれの第１の要素は、１個、３個、５個、７個、またはそれ以降の奇数個のイベントに対する区間を定義し、第２の要素は、２個、４個、６個またはそれ以降の偶数個イベントに対する区間を定義する。これは、少なくとも要素数を調整し、初期距離を増加させることによって要素を分類した後に適用される。支配的な区間は、各要素に対して個別に規定され、適切なイベントシーケンス要素が、結果として得られるイベントシーケンスに挿入される。複数の再帰レベルを有する、より複雑なイベントシーケンスの場合、例えば各シーケンスを同じ構造に拡張し、支配的規則にもとづいてそれぞれを互いにステップ−バイ−ステップで結合することが提案される。先に例としてあげたイベントシーケンスΘ3とΘ4とを拡張した以下のものが、この例に類似する：
Θ3＝｛（２５，０，１，ｅ），（２５，１，１，ｅ）｝および
Θ4＝｛（２４，０，１，ｅ），（２４，１２，１，ｅ）｝。
【００６７】
図５は、上記２つのイベントシーケンスに関する支配グラフを示す。その結果として生じるイベントシーケンスは以下のように記される。
Θr＝｛（∞，０，５０，｛（２４，０，１，ｅ）｝），（∞，０，１１，｛（２５，０，１，ｅ）｝），（∞，２６４，３９，｛（２４，１２，１，ｅ）｝），（∞，１１８８，５０，Θ3）｝。
【００６８】
簡素化した後に、得られるイベントストリームは以下のように記述される。
Θr＝｛（∞，０，２２，｛（２４，０，１，ｅ），（２５，１，１，ｅ）｝，（∞，２６４，７８，｛（１２，０，１，ｅ）｝），（∞，１１８８，１００，Θ3））。
【００６９】
イベントの合計数のリミットにより、線区分が中断する場合がある。その場合、それ以降は残った線の一方が支配的となる。この例では、１００個のイベントで開始されるすべてのイベントに当てはまる。最初の１００個のイベント部分では、Θ3の第１の要素が奇数個のイベントに対して支配的であり、Θ4の第２の要素が偶数個のイベントに対して支配的である。１１個のイベントの後に、その支配がΘ3の第２の要素に替わる。１００個のイベントの後は、Θ3の要素のみが支配する。
【００７０】
連結演算に関する実施形態の一例を説明する。これは、主に内部イベントシーケンスの規定することが必要とされる。結合演算に関する実施形態を用いて、関係するイベントシーケンスの要素を互いに個別に比較する。連結により、１つのイベントシーケンスの要素は、それぞれ他のイベントシーケンスの要素によって補完される。これにより、個々のイベント数組み合わせがより多く想定される。関係するイベントシーケンスの各要素により数多くのイベントが生成され得、他のイベントシーケンスそれぞれは対応する要素によって適切に補完される。
【００７１】
連結演算子を用いる場合、その結果として生じるイベントシーケンスは、規定どおり、起こり得るイベント区間におけるイベントシーケンス間の交差を常に含む区間のみを含む。要素の様々な組み合わせにより様々な最小数のイベントが生じる。それぞれの組み合わせに対して、関係付けられる２個の要素の初期距離を合計して得られた初期距離が存在する。その組み合わせは、２つの方向の最大値で周期的に継続する。結合演算に対応して、その継続中においては同数のイベントが生成される組み合わせのみを相互比較する。また、これらから、支配部分となりうる部分が生じる。その組み合わせを、２次元、すなわち初期距離および期間において相互比較する。その組み合わせが両方の方向において周期的に継続する場合、当該組み合わせは比較においては２倍含まれる。複数の組み合わせの値が両方の値において一致する場合、そのいずれか一方が選択され得る。組み合わせの両方の基準がせいぜい他の組み合わせと同程度である、あるいは他の組み合わせより劣るというような組み合わせの場合、得られるイベントシーケンスとしては不適切である。ここで、より短い初期距離を有する組み合わせは、より長い初期距離を有する組み合わせよりも適切で、短い期間を有する組み合わせは、長い期間を有する組み合わせより適切である。ある組み合わせ内における初期距離は常に同じであるため、それぞれの組み合わせは、より短い期間を有するイベントシーケンス要素で継続する。残りの組み合わせについては、結合演算と同様に、線型方程式で支配部分および交差が再度計算され、それに基づき、結果イベントシーケンス要素は、初期距離およびリミットで規定される。この連結演算の際立った特徴は、１個のイベントシーケンス要素においてイベント数がリミットに達した場合、組み合わせは、対応するイベントシーケンス要素によって、そのリミットに達するまで継続されることである。対照的に、２個のイベントシーケンス要素の可能な最大イベント数の一部だけを含む中間的な組み合わせは不適切となる。例えば、イベントシーケンスが、最大５個のイベントを生成し得、それと組み合わされたイベントシーケンスが、最大８個のイベントを生成でき得る場合に、２個、３個、４個、５個、６個のイベント数に対しては、２つのイベントシーケンスの一方がイベントを１個だけ生成する２つのイベントシーケンスの組み合わせが考えられる。その他すべての組み合わせ、例えば、１つのイベントシーケンスが２個のイベントを生成し、１つのイベントシーケンスが３個のイベントをする組み合わせ（中間的組み合わせ）は、区間の大きさが同じまたは大きくなるため、最大発生パターンの生成には不適切である。
【００７２】
同一の初期距離が用いられるため、最短期間の方向における継続のみが、同一イベント数に対する区間の短縮となる。図４にも示される例をもとに演算について説明する。
Θ1＝｛（∞，０，２００，｛（２５，０，１，ｅ），（２５，１，１，ｅ）｝および
Θ2＝｛（∞，０，１００，｛（２４，７，１，ｅ），（２４，１９，１，ｅ）｝。
【００７３】
Θ1は終了イベントシーケンスであり、そして、Θ2は開始イベントシーケンスである。ω1,1をΘ1の第１のイベントシーケンス要素とし、ω1,2をΘ1の第２のイベントシーケンス要素とする。またω2,1をΘ2の第１イベントシーケンス要素とし、ω2,2をΘ2の第２イベントシーケンス要素とする。この２つのイベントシーケンスの連結により、２個のイベントの初期距離が得られる。その距離は、当該イベントシーケンスの初期距離の合計を計算することによって得られる。関係するイベントシーケンスそれぞれに対して、これがそのすべてのイベントシーケンス要素の最短初期距離となる。この例では、それは、７である。この距離は、初期距離０を有するイベントシーケンス要素ω1,1および初期距離７を有するイベントシーケンス要素ω2,1から得られる。イベントシーケンス要素が区分される場合、２個のイベントにおいてそれぞれの第１要素が常にこの距離に相当する。
【００７４】
この結果、連結イベントシーケンスの非周期的開始部分として、イベントシーケンス要素（∞，０，１，ｅ）および（∞，７，１，ｅ）が得られる。３個、５個、７個、９個、それ以降のイベントは、イベントシーケンス要素ω1,2とω2,1との組み合わせ、または要素ω1,1とω2,2との組み合わせによって生成される。両方の組み合わせは、それぞれ関係する２個のイベントシーケンス要素のそれぞれによって周期的に継続され得るため、３個、５個、７個、９個それ以降のイベントが生成される合計４つの組み合わせの可能性が生じる。それぞれの可能性が、初期距離および期間のパラメータで相互比較され、それにより、支配的組み合わせが決定される。ここでは、これは、イベントシーケンス要素ω1,2とω2,1との組み合わせであり、要素ω2,1によって周期的に継続される。要素がリミットに達する直前に、他の要素によって組み合わせが継続され、その要素がリミットに達するまで継続される。４個、６個、８個、１０個それ以降のイベントは、イベントシーケンス要素ω1,2とω2,2との組み合わせ、または要素ω1,1とω2,1との組み合わせによって達成される。２つ目の組み合わせの場合、適切なイベント数を求めるために、組み合わせの初期距離に期間を加える。このように期間を加えたため、更なる解析に対して適するようにリミットが１つ減らされることになる。従って、以下のような要素の組み合わせが得られるが、これらに限定されない：
（２５，２０，１，ｅ）、（２４，２０，１，ｅ）、（２５，２５，１，ｅ）、および（２４，２４，１，ｅ）。
【００７５】
第２の組み合わせが最初に支配的となる。最初の支配的要素として同じ期間２４が得られ、これら要素の組み合わせから階層イベントシーケンス要素が得られる。原則的に、このような組み合わせは、１個の要素が他方の要素を動作するまでの別の期間に対しても可能であり、要素がイベントを生成するシーケンスが変わることになる。従って、イベントシーケンス要素（２４，８，１，ｅ）および（２４，２０，１，ｅ）は、結果イベントシーケンスのリミットに関係なく、得られる。これらを等価要素（１２，８，１，ｅ）と組み合わせることができる。リミットを含め、またその結果想定されるその他部分要素による組み合わせの周期的な継続、およびそのリミットを考慮して、再帰組込みイベントシーケンスΘA＝｛（１２，０，１，ｅ）｝およびΘB＝｛（２５，０，１，ｅ），（２５，１，１，ｅ）｝を含む、イベントシーケンス｛（∞，０，１，ｅ），（∞，７，１，ｅ），（∞，８，９８，ΘA），（∞，１２２０，２００，ΘB）｝が得られる。例に示すように、連結演算の設計形式により、出力されるイベントシーケンスを効率的に決定することができ、その記述の複雑度は適度に抑えられ、更に効率的な処理に利用できる。
【００７６】
ループを用いる場合の可能性は、ループを伸ばして得られるグラフを本発明の方法で解析することである。この場合、ループの主要部を前もって部分グラフとして解析し、イベントシーケンスに変換することができる。解析の間において、イベントシーケンスは、継続的に相互連結されるが、最大反復回数に達する前にループが途切れる可能性を考慮しなければならない。規則的な構造であるため、ループ解析は、イベントの構造と発生パターンの規則性を利用して、本発明の方法により、より少ない労力で実施することができる。
【００７７】
本方法は、最大イベントシーケンスの定義について述べたが、最小イベントシーケンスまたは平均イベントシーケンスの定義にも同様に用いることができる。複数のイベントによりタスクを有効化する場合、例えばタスクの制御フローグラフを継続的に連結することにより、タスクをモデル化することができる。この際、最小の分離距離と時間リミットを含む、またはタスクを呼び出すイベントシーケンスをループ構造に変換することが可能である。
【００７８】
本方法は、コンピュータプログラム製品およびコンピュータによって処理される。
【００７９】
τn      タスクシステム
τ       タスク
ＨＥＳ   階層イベントシーケンス
Θ       階層イベントシーケンス
Θ’     追加階層イベントシーケンス
τ’     追加タスク
Ｉ       時間区間
ω       階層イベントシーケンス要素
ｐ       期間
ａ       初期距離
ｎ       リミット
Θ’     再帰組込み階層イベントシーケンス
ω＝（ｐ，ａ，ｎ，Θ’）
【図１】
2009541876.tif 000005
【図２】
2009541876.tif 000006
【図３】
2009541876.tif 000007
【図４】
2009541876.tif 000008
【国際調査報告】
2009541876.tif 000009
2009541876.tif 000010
2009541876.tif 000011
2009541876.tif 000012
2009541876.tif 000013
2009541876.tif 000014
2009541876.tif 000015
2009541876.tif 000016
2009541876.tif 000017
2009541876.tif 000018