(57)【要約】【課題】ソフトウェアでの処理を含むシステム全体のタイミング設計の精度を向上させることが可能なタイミングチャートの処理システム、タイミングチャート処理方法及びタイミングチャート処理プログラムを提供するも。【解決手段】タイミングチャート処理システム１００は、ハードウェア及びソフトウェアでの処理相互の関連付けを表す関連情報と、ハードウェア及びソフトウェアでの処理期間を表す処理期間情報を取得する処理期間情報取得手段とを取得し、これら関連情報及び処理期間情報に基づいて、ハードウェア及びソフトウェアでの処理のいずれかを契機とする一連のハードウェア及びソフトウェアでの処理を特定して表したタイミングチャートを作成し、更に、当該タイミングチャートに基づいて、ハードウェア及びソフトウェアでの処理のいずれかを契機とする一連のハードウェア及びソフトウェアでの処理期間の見積もりを行う。【選択図】図２
2008003947.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア及びソフトウェアでの処理タイミングを表すタイミングチャートの処理システムであって、
ハードウェア及びソフトウェアでの処理相互の関連を表す関連情報を取得する関連情報取得手段と、
前記ハードウェア及びソフトウェアそれぞれの処理期間を表す処理期間情報を取得する処理期間情報取得手段と、
前記取得された関連情報及び処理期間情報に基づいて、前記ハードウェア及びソフトウェアのいずれかでの処理を契機とする前記ハードウェア及びソフトウェアそれぞれの処理にて構成される一連の処理における、前記ハードウェア及びソフトウェアそれぞれの処理のタイミングを特定して表したタイミングチャートを作成するタイミングチャート作成手段と、
前記作成されたタイミングチャートに基づいて、前記一連の処理に対して見積もられる期間を見積もり処理期間として演算する見積もり手段とを有することを特徴とするタイミングチャート処理システム。
【請求項２】
前記ソフトウェア間で送受され、受信先のソフトウェアでの処理の契機となるメッセージの通信情報を取得するメッセージ通信情報取得手段を有し、
前記タイミングチャート作成手段は、前記取得されたメッセージの通信情報に基づいて、前記メッセージの送受を特定して表したタイミングチャートを作成することを特徴とする請求項１に記載のタイミングチャート処理システム。
【請求項３】
前記メッセージの通信遅延を表す通信遅延情報を取得する通信遅延情報取得手段を有し、
前記タイミングチャート作成手段は、前記取得された通信遅延情報に基づいて、前記メッセージの通信遅延を特定して表したタイミングチャートを作成することを特徴とする請求項２に記載のタイミングチャート処理システム。
【請求項４】
前記メッセージの再送周期及び再送回数を表す再送情報を取得する再送情報取得手段を有し、
前記タイミングチャート作成手段は、前記取得された再送情報に基づいて、前記メッセージの再送による前記ソフトウェアでの処理遅延を特定して表したタイミングチャートを作成することを特徴とする請求項２又は３に記載のタイミングチャート処理システム。
【請求項５】
周期的に到来する前記ソフトウェアでの処理タイミングの制約を表す処理タイミング制約情報を取得する処理タイミング情報取得手段を有し、
前記タイミングチャート作成手段は、前記取得されたソフトウェアでの処理タイミング制約情報に基づいて、前記ソフトウェアでの処理タイミングを特定して表したタイミングチャートを作成することを特徴とする請求項１乃至４のいずれかに記載のタイミングチャート処理システム。
【請求項６】
前記ソフトウェアを同一の処理ユニットによって処理されるグループに分けた場合におけるグループ分けを表すグループ分け情報を取得するグループ分け情報取得手段を有し、
前記見積もり手段は、前記グループ分け情報に基づいて、前記グループ毎に、該グループに属するソフトウェアでの処理による処理ユニットの占有率を見積もることを有することを特徴とする請求項１乃至５のいずれかに記載のタイミングチャート処理システム。
【請求項７】
前記ハードウェアでの処理における時間的制約を表す時間的制約情報を取得する時間的制約情報取得手段を有し、
前記見積もり手段は、前記時間的制約情報に基づいて、該時間的制約に対する前記ハードウェアでの処理期間のマージンを見積もることを特徴とする請求項１乃至６のいずれかに記載のタイミングチャート処理システム。
【請求項８】
前記ハードウェア及びソフトウェアでの処理相互の関連が生じる条件を表す条件情報を取得する条件情報取得手段を有し、
前記タイミングチャート作成手段は、前記取得された条件情報に基づいて、前記ハードウェア及びソフトウェアでの処理の関連が生じる条件を特定して表したタイミングチャートを作成することを特徴とする請求項１乃至７のいずれかに記載のタイミングチャート処理システム。
【請求項９】
前記ソフトウェアでの処理状態遷移を表す処理状態遷移情報を取得する処理状態遷移情報取得手段を有し、
前記タイミングチャート作成手段は、前記取得された処理状態遷移に基づいて、前記ソフトウェアでの処理状態遷移を特定して表したタイミングチャートを作成することを特徴とする請求項８のいずれかに記載のタイミングチャート処理システム。
【請求項１０】
前記ハードウェア及びソフトウェアでの処理の関連が生じる条件と、前記ソフトウェアでの処理状態遷移との全ての組み合わせのうち、前記取得された条件情報に対応する前記ハードウェア及びソフトウェアでの処理の関連が生じる条件の情報、及び、前記取得された処理状態遷移情報に対応するソフトウェアでの処理状態遷移に対応する第１の組み合わせと、それ以外の第２の組み合わせとを特定する組み合わせ特定手段と、
前記特定された第１の組み合わせと第２の組み合わせとを区別して表示ユニットに表示させる表示制御手段とを有することを特徴とする請求項９に記載のタイミングチャート処理システム。
【請求項１１】
ハードウェア及びソフトウェアでの処理タイミングを表すタイミングチャートの処理方法であって、
ハードウェア及びソフトウェアでの処理相互の関連を表す関連情報を取得する関連情報取得ステップと、
前記ハードウェア及びソフトウェアそれぞれの処理期間を表す処理期間情報を取得する処理期間情報取得ステップと、
前記取得された関連情報及び処理期間情報に基づいて、前記ハードウェア及びソフトウェアのいずれかでの処理を契機とする前記ハードウェア及びソフトウェアそれぞれの処理にて構成される一連の処理における、前記ハードウェア及びソフトウェアそれぞれの処理のタイミングを特定して表したタイミングチャートを作成するタイミングチャート作成ステップと、
前記作成されたタイミングチャートに基づいて、前記一連の処理に対して見積もられる期間を見積もり処理期間として演算する見積もりステップとを有することを特徴とするタイミングチャート処理方法。
【請求項１２】
ハードウェア及びソフトウェアでの処理タイミングを表すタイミングチャートの処理を行うコンピュータにて実行されるプログラムであって、
ハードウェア及びソフトウェアでの処理相互の関連を表す関連情報を取得する関連情報取得ステップと、
前記ハードウェア及びソフトウェアそれぞれの処理期間を表す処理期間情報を取得する処理期間情報取得ステップと、
前記取得された関連情報及び処理期間情報に基づいて、前記ハードウェア及びソフトウェアのいずれかでの処理を契機とする前記ハードウェア及びソフトウェアそれぞれの処理にて構成される一連の処理における、前記ハードウェア及びソフトウェアそれぞれの処理のタイミングを特定して表したタイミングチャートを作成するタイミングチャート作成ステップと、
前記作成されたタイミングチャートに基づいて、前記一連の処理に対して見積もられる期間を見積もり処理期間として演算する見積もりステップとを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェア及びソフトウェアでの処理が表されたタイミングチャートを解析するタイミングチャート処理システム、タイミングチャート処理方法、及び、コンピュータにて実行されるタイミングチャート処理プログラムに関する。
【背景技術】
【０００２】
従来より、入力情報に基づいてタイミングチャートを作成、表示するシステムが用いられている。このようなシステムは、例えば、電気回路における信号の入出力についてのタイミングチャートを作成する場合には、ユーザの操作指示に応じて、信号の立ち上がり、立ち下がり等のタイミングの情報を入力し、これらを満たすタイミングチャートを作成、表示する（例えば特許文献１乃至３参照）。
【特許文献１】米国特許第５３８１５２４号明細書
【特許文献２】米国特許第５５７６９７９号明細書
【特許文献３】米国特許第５７９０４３５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のタイミングチャートは、スイッチのオン、オフ等、ハードウェアにおける波形の変化を表現するために用いられており、ハードウェアでの処理と関連付けられたソフトウェアでの処理について表現するものが存在しなかった。また、このようなソフトウェアでの処理について表現したタイミングチャートが作成される場合には、ソフトウェアでの処理に関連する解析がシステム全体のタイミング設計の精度を向上させるために必要となる。
【０００４】
本発明の目的は、上述した問題点を解決するものであり、ソフトウェアでの処理を含むシステム全体のタイミング設計の精度を向上させることが可能なタイミングチャートの処理システム、タイミングチャート処理方法及びタイミングチャート処理プログラムを提供するものである。
【課題を解決するための手段】
【０００５】
本発明は、  ハードウェア及びソフトウェアでの処理タイミングを表すタイミングチャートの処理システムであって、ハードウェア及びソフトウェアでの処理相互の関連を表す関連情報を取得する関連情報取得手段と、前記ハードウェア及びソフトウェアそれぞれの処理期間を表す処理期間情報を取得する処理期間情報取得手段と、前記取得された関連情報及び処理期間情報に基づいて、前記ハードウェア及びソフトウェアのいずれかでの処理を契機とする前記ハードウェア及びソフトウェアそれぞれの処理にて構成される一連の処理における、前記ハードウェア及びソフトウェアそれぞれの処理のタイミングを特定して表したタイミングチャートを作成するタイミングチャート作成手段と、前記作成されたタイミングチャートに基づいて、前記一連の処理に対して見積もられる期間を見積もり処理期間として演算する見積もり手段とを有することを特徴とする。
【０００６】
この構成によれば、ハードウェアでの処理とソフトウェアでの処理とを関連付けたタイミングチャートが作成され、更に、当該タイミングチャートに基づいて、ハードウェア及びソフトウェアでの処理期間の見積もりが行われ、システム全体のタイミング設計の精度を向上させることが可能となる。
【０００７】
また、本発明のタイミングチャート処理システムは、前記ソフトウェア間で送受され、受信先のソフトウェアでの処理の契機となるメッセージの通信情報を取得するメッセージ通信情報取得手段を有し、前記タイミングチャート作成手段が、前記取得されたメッセージの通信情報に基づいて、前記メッセージの送受を特定して表したタイミングチャートを作成するようにしてもよい。
【０００８】
また、本発明のタイミングチャート処理システムは、前記メッセージの通信遅延を表す通信遅延情報を取得する通信遅延情報取得手段を有し、前記タイミングチャート作成手段が、前記取得された通信遅延情報に基づいて、前記メッセージの通信遅延を特定して表したタイミングチャートを作成するようにしてもよい。
【０００９】
この構成によれば、通信遅延を反映したハードウェア及びソフトウェアでの処理期間の見積もりが可能となる。
【００１０】
また、本発明のタイミングチャート処理システムは、前記メッセージの再送周期及び再送回数を表す再送情報を取得する再送情報取得手段を有し、前記タイミングチャート作成手段が、前記取得された再送情報に基づいて、前記メッセージの再送による前記ソフトウェアでの処理遅延を特定して表したタイミングチャートを作成するようにしてもよい。
【００１１】
この構成によれば、メッセージの再送による前記ソフトウェアでの処理遅延を反映したハードウェア及びソフトウェアでの処理期間の見積もりが可能となる。
【００１２】
また、本発明のタイミングチャート処理システムは、周期的に到来する前記ソフトウェアでの処理タイミングの制約を表す処理タイミング制約情報を取得する処理タイミング情報取得手段を有し、前記タイミングチャート作成手段が、前記取得されたソフトウェアでの処理タイミング制約情報に基づいて、前記ソフトウェアでの処理タイミングを特定して表したタイミングチャートを作成するようにしてもよい。
【００１３】
この構成によれば、ソフトウェアでの処理タイミングが周期的に到来するとの制約が存在する場合には、そのタイミングの制約を反映したハードウェア及びソフトウェアでの処理期間の見積もりが可能となる。
【００１４】
また、本発明のタイミングチャート処理システムは、前記ソフトウェアを同一の処理ユニットによって処理されるグループに分けた場合におけるグループ分けを表すグループ分け情報を取得するグループ分け情報取得手段を有し、前記見積もり手段は、前記グループ分け情報に基づいて、前記グループ毎に、該グループに属するソフトウェアでの処理による処理ユニットの占有率を見積もるようにしてもよい。
【００１５】
この構成によれば、処理ユニットの占有率を得て、システム全体のタイミング設計の精度を向上させることが可能となる。
【００１６】
また、本発明のタイミングチャート処理システムは、前記ハードウェアでの処理における時間的制約を表す時間的制約情報を取得する時間的制約情報取得手段を有し、前記見積もり手段が、前記時間的制約情報に基づいて、該時間的制約に対する前記ハードウェアでの処理期間のマージンを見積もるようにしてもよい。
【００１７】
この構成によれば、時間的制約に対するハードウェアでの処理期間のマージンを得て、システム全体のタイミング設計の精度を向上させることが可能となる。
【００１８】
また、本発明のタイミングチャート処理システムは、前記ハードウェア及びソフトウェアでの処理相互の関連が生じる条件を表す条件情報を取得する条件情報取得手段を有し、前記タイミングチャート作成手段が、前記取得された条件情報に基づいて、前記ハードウェア及びソフトウェアでの処理の関連が生じる条件を特定して表したタイミングチャートを作成するようにしてもよい。
【００１９】
また、本発明のタイミングチャート処理システムは、前記ソフトウェアでの処理状態遷移を表す処理状態遷移情報を取得する処理状態遷移情報取得手段を有し、前記タイミングチャート作成手段が、前記取得された処理状態遷移に基づいて、前記ソフトウェアでの処理状態遷移を特定して表したタイミングチャートを作成するようにしてもよい。
【００２０】
また、本発明のタイミングチャート処理システムは、前記ハードウェア及びソフトウェアでの処理の関連が生じる条件と、前記ソフトウェアでの処理状態遷移との全ての組み合わせのうち、前記取得された条件情報に対応する前記ハードウェア及びソフトウェアでの処理の関連が生じる条件の情報、及び、前記取得された処理状態遷移情報に対応するソフトウェアでの処理状態遷移に対応する第１の組み合わせと、それ以外の第２の組み合わせとを特定する組み合わせ特定手段と、前記特定された第１の組み合わせと第２の組み合わせとを区別して表示ユニットに表示させる表示制御手段とを有するようにしてもよい。
【００２１】
この構成によれば、ハードウェア及びソフトウェアでの処理の関連が生じる条件と、ソフトウェアでの処理状態遷移との全ての組み合わせ、換言すれば、システムにおいて生じる全ての状態のうち、どの程度網羅されているのかを把握することができる。
【００２２】
また、本発明は、ハードウェア及びソフトウェアでの処理タイミングを表すタイミングチャートの処理方法であって、ハードウェア及びソフトウェアでの処理相互の関連を表す関連情報を取得する関連情報取得ステップと、前記ハードウェア及びソフトウェアそれぞれの処理期間を表す処理期間情報を取得する処理期間情報取得ステップと、前記取得された関連情報及び処理期間情報に基づいて、前記ハードウェア及びソフトウェアのいずれかでの処理を契機とする前記ハードウェア及びソフトウェアそれぞれの処理にて構成される一連の処理における、前記ハードウェア及びソフトウェアそれぞれの処理のタイミングを特定して表したタイミングチャートを作成するタイミングチャート作成ステップと、前記作成されたタイミングチャートに基づいて、前記一連の処理に対して見積もられる期間を見積もり処理期間として演算する見積もりステップとを有することを特徴とする。
【００２３】
また、本発明は、ハードウェア及びソフトウェアでの処理タイミングを表すタイミングチャートの処理を行うコンピュータにて実行されるプログラムであって、ハードウェア及びソフトウェアでの処理相互の関連を表す関連情報を取得する関連情報取得ステップと、前記ハードウェア及びソフトウェアそれぞれの処理期間を表す処理期間情報を取得する処理期間情報取得ステップと、前記取得された関連情報及び処理期間情報に基づいて、前記ハードウェア及びソフトウェアのいずれかでの処理を契機とする前記ハードウェア及びソフトウェアそれぞれの処理にて構成される一連の処理における、前記ハードウェア及びソフトウェアそれぞれの処理のタイミングを特定して表したタイミングチャートを作成するタイミングチャート作成ステップと、前記作成されたタイミングチャートに基づいて、前記一連の処理に対して見積もられる期間を見積もり処理期間として演算する見積もりステップとを有することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ハードウェアでの処理とソフトウェアでの処理とを関連付けたタイミングチャートを作成し、更に、当該タイミングチャートに基づいて、ハードウェア及びソフトウェアでの処理に関連する数値の見積もりを行うことにより、システム全体のタイミング設計の精度を向上させることが可能となる。
【発明を実施するための最良の形態】
【００２５】
本発明の実施の形態について、図面を参照して具体的に説明する。
【００２６】
図１は、タイミングチャート処理システムのハードウェア構成を示す図である。図１に示すタイミングチャート処理システム１００は、パーソナルコンピュータ（ＰＣ）であり、内部バス１０７に接続されたＣＰＵ１０１、メモリ１０２、ハードディスクドライブ（ＨＤＤ）１０３、操作部１０５及びモニタ１０６によって構成される。
【００２７】
図２は、タイミングチャート処理システム１００の機能ブロック図である。同図に示すタイミングチャート処理システム１００は、ハードウェアと入出力によって関連付けられたソフトウェアでの処理タイミングを特定したタイミングチャートを作成し、更に、当該タイミングチャートに基づいて、ハードウェア及びソフトウェアでの処理期間の見積もりを行うものである。このタイミングチャート処理システム１００は、関連情報取得手段、メッセージ送受情報取得手段、通信遅延情報取得手段、再送情報取得手段、処理タイミング制約情報取得手段、処理期間情報取得手段、グループ分け情報取得手段、時間的制約情報取得手段条件情報取得手段、及び、処理状態情報取得手段としての情報取得部２０２と、タイミングチャート作成手段及び組み合わせ特定手段としてのタイミングチャート作成部２０４と、見積もり手段としての見積もり部２０６と、組み合わせ特定手段としての組み合わせ特定部２０８と、見積もり表示手段及び組み合わせ表示手段としての表示制御部２１０とにより構成される。これら各機能ブロックは、図１のハードウェア構成においては、ＣＰＵ１０１が操作部１０５の操作に応じて、ＨＤＤ１０３から読み出してメモリ１０２に記憶させた所定のプログラムを実行することによって実現される。
【００２８】
以下、タイミングチャート処理システム１００の動作を説明する。図３は、タイミングチャート処理システム１００の第１の動作を示すフローチャートである。
【００２９】
情報取得部２０２は、タイミングチャートの作成に必要な各種情報、具体的には、ハードウェア及びソフトウェアでの処理タイミングや、ハードウェアでの処理及びソフトウェアでの処理の関連付けを表す関連情報を取得する（Ｓ１０１）。ここでは、ユーザが操作部１０５を操作して、情報の入力操作を行うと、情報取得部２０２は、その入力操作に応じた情報を生成する。
【００３０】
図４は、情報取得部２０２が取得する情報の１つである関連情報の一例を示す図である。関連情報は、ハードウェアでの処理及びソフトウェアでの処理の関連付けを主従関係によって表すものである。図４（ａ）は、ハードウェアでの処理を契機としてソフトウェアでの処理が行われる場合、換言すれば、ハードウェアでの処理が主、ソフトウェアでの処理が従となる場合の関連情報であり、関連付けのタイミング、主となるハードウェアの識別情報、及び、従となるソフトウェアの識別情報からなる。これらのうち、関連付けのタイミングは、例えば、主となるハードウェアでの処理タイミングと一致する。この関連情報は、例えば、ハードウェアであるスイッチがオンになった場合に、ソフトウェアが制御を行うといった関連付けを表す。
【００３１】
一方、図４（ｂ）は、ソフトウェアでの処理を契機としてハードウェアでの処理が行われる場合、換言すれば、ソフトウェアでの処理が主、ハードウェアでの処理が従となる場合の関連情報であり、関連付けのタイミング、主となるソフトウェアの識別情報、及び、従となるハードウェアの識別情報からなる。これらのうち、これらのうち、関連付けのタイミングは、例えば、主となるソフトウェアでの処理タイミングと一致する。この関連情報は、例えば、ソフトウェアがハードウェアであるモータの回転制御処理を行い、当該モータが回転するといった関連付けを表す。なお、関連情報はこれらに限定されるものではなく、主従の双方がソフトウェアの場合や、主従の双方がハードウェアの場合も同様の構成となる。
【００３２】
再び、図３に戻って説明する。情報取得部２０２は、取得した情報をタイミングチャート作成部２０４へ送る。タイミングチャート作成部２０４は、この情報に基づいて、関連情報によって関連付けられ、所定の処理を契機（トリガ）とする一連のハードウェア及びソフトウェアでの処理タイミングを表すチャートデータを作成する（Ｓ１０２）。チャートデータは、関連情報によって関連付けられ、所定の処理をトリガとする一連のハードウェア及びソフトウェアでの処理と１対１に対応する。
【００３３】
図５はチャートデータの一例を示す図である。このチャートデータは、ハードウェア１での処理タイミング、ハードウェア１とソフトウェアでの処理の関連付けを表す関連情報、ソフトウェアでの処理タイミング、ソフトウェアとハードウェア２での処理の関連付けを表す関連情報、及び、ハードウェア２での処理タイミングからなる。このチャートデータは、ハードウェア１での処理をトリガとしてソフトウェアでの処理が行われ、当該ソフトウェアでの処理を契機としてハードウェア２での処理が行われるという、一連のハードウェア及びソフトウェアでの処理を表している。
【００３４】
再び、図３に戻って説明する。タイミングチャート作成部２０４は、このチャートデータに基づいて、タイミングチャート画像を作成し（Ｓ１０３）、表示制御部２１０は、この作成されたタイミングチャート画像を、モニタ１０６に表示させる（Ｓ１０４）。
【００３５】
図６は、タイミングチャート画像の第１の例を示す図である。図６に示すタイミングチャート画像は、チャートデータに基づいて作成され、表示されるものであり、ハードウェアであるスイッチ（ＳＷ）がオンとなった場合に、ソフトウェアでの処理によってハードウェアであるモータが回転し、スイッチがオフとなった場合に、ソフトウェアでの処理によってモータが停止する場合の例を示す。
【００３６】
このタイミングチャート画像は、スイッチの動作のタイムライン１２、ソフトウェアでの処理のタイムライン１４、モータの動作のタイムライン１６及び当該モータの回転数のタイムライン１８を含む。また、このタイミングチャート画像は、関連情報に対応し、スイッチのオンとソフトウェアによるモータの制御処理との関連付けを表す関連線２１、スイッチのオフとソフトウェアによるモータの制御処理との関連付けを表す関連線２２、ソフトウェアによるモータの制御処理と当該モータの回転との関連付けを表す関連線２３、及び、ソフトウェアによるモータの制御処理と当該モータの停止との関連付けを表す関連線２４を含む。
【００３７】
図７は、タイミングチャート画像の第２の例を示す図である。図７に示すタイミングチャート画像は、図６に示すタイミングチャート画像と比較すると、ソフトウェアが機能によって２つに分けられており、ソフトウェアでの処理のタイムライン１５が追加されるとともに、２つのソフトウェアでの処理の関連付けを表す関連線２５及び２６が追加されている。
【００３８】
再び、図３に戻って説明する。タイミングチャート作成部２０４は、チャートデータを見積もり部２０６へ出力する。見積もり部２０６は、このチャートデータに基づいて、ハードウェア及びソフトウェアでの処理の期間の見積もりを行う（Ｓ１０５）。例えば、チャートデータが、図５に示すものである場合、見積もり部２０６は、ハードウェア１の処理タイミングからハードウェア２の処理タイミングまでの期間を、所定の処理をトリガとする一連の処理の全体の処理期間を演算する。表示制御部２１０は、この見積もりの結果を、例えばリスト形式にしてモニタ１０６に表示させる（Ｓ１０６）。
【００３９】
なお、ソフトウェアでの処理のタイミングが周期的に到来するという制約が存在する場合、タイミングチャート作成部２０４は、その周期的に到来する処理タイミングを満たすチャートデータを作成することができる。この場合、情報取得部２０２は、その周期的に到来する処理タイミングの制約を表す情報を取得する。そして、タイミングチャート作成部２０４は、初期のチャートデータにおけるソフトウェアでの処理タイミングを、周期的に到来する処理タイミングのうち、直後の処理タイミングに一致させる。また、タイミングチャート作成部２０４は、このソフトウェアでの処理タイミングの変更に応じて、当該ソフトウェアでの処理に続くハードウェアやソフトウェアでの処理タイミングを変更する。そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。更に、見積もり部２０６は、変更後のチャートデータに基づいて、所定の処理をトリガとする一連の処理の全体の処理期間等、ハードウェア及びソフトウェアでの処理期間の見積もりを行う。
【００４０】
図８は、タイミングチャート画像の第３の例を示す図である。図８に示すタイミングチャート画像は、ソフトウェア処理である、周期的に処理タイミングが到来するスイッチの監視処理のタイムライン２７と、ソフトウェア処理であるモータの制御処理のタイムライン２８とを含むとともに、スイッチの監視処理と、モータの制御処理との関連付けを表す関連線２５及び２６を含む。
【００４１】
また、ソフトウェアでの処理期間が定められる場合、タイミングチャート作成部２０４は、その処理期間を満たすチャートデータを作成することができる。この場合、情報取得部２０２は、ソフトウェアでの処理期間の情報を取得する。図９は、ソフトウェアでの処理期間の情報の一例を示す図である。図９では、対応するソフトウェア処理の最小時間及び最大時間の情報が含まれている。
【００４２】
タイミングチャート作成部２０４は、チャートデータにおけるソフトウェアでの処理タイミングに、当該ソフトウェアでの処理期間を付加する。また、タイミングチャート作成部２０４は、処理期間が定められたソフトウェアでの処理に続くハードウェアやソフトウェアでの処理タイミングを、当該処理期間だけ遅らせる。なお、処理期間について、最小時間と最大時間が設定される場合には、タイミングチャート作成部２０４は、処理期間が定められたソフトウェアでの処理に続くハードウェアやソフトウェアでの処理タイミングについて、最小時間だけ遅らせてもよく、最大時間だけ遅らせてもよい。
【００４３】
そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。更に、見積もり部２０６は、変更後のチャートデータに基づいて、所定の処理をトリガとする一連の処理の全体の処理期間の見積もりを行う。
【００４４】
図１０は、タイミングチャート画像の第４の例を示す図である。図１０に示すタイミングチャート画像は、ソフトウェアでの処理期間が最小時間である場合の例であり、ソフトウェアでの処理であるスイッチの監視処理のタイムライン２７において、当該監視処理の最小時間の領域２９及び３１と、最大時間の領域３０及び３２とを含み、ソフトウェアでの処理であるモータの制御処理のタイムライン２８において、当該制御処理の期間の領域４４及び４６を含む。
【００４５】
また、ソフトウェアでの処理期間が処理毎に異なる場合にも、タイミングチャート作成部２０４は、その処理期間を満たすチャートデータを作成することができる。この場合、情報取得部２０２は、ソフトウェアでの処理期間の情報を取得する。図１１は、ソフトウェアでの処理期間の情報の一例を示す図である。図１１では、繰り返し行われるソフトウェア処理のうち、特定の処理の最小時間及び最大時間の情報が含まれている。
【００４６】
タイミングチャート作成部２０４は、チャートデータにおけるソフトウェアでの特定の処理のタイミングに、処理期間を付加する。また、上述と同様、タイミングチャート作成部２０４は、処理期間が定められたソフトウェアでの処理に続くハードウェアやソフトウェアでの処理タイミングを、当該処理期間だけ遅らせる。
【００４７】
そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。更に、見積もり部２０６は、変更後のチャートデータに基づいて、所定の処理をトリガとする一連の処理の全体の処理期間の見積もりを行う。
【００４８】
図１２は、タイミングチャート画像の第５の例を示す図である。図１２に示すタイミングチャート画像は、繰り返し行われるソフトウェアでの処理であるモータの制御処理のタイムライン２８において、繰り返し行われる制御処理のうち、最初の制御処理について、他の制御処理とは異なる処理期間が設定された場合の例であり、当該最初の処理の最小時間の領域４４及び最大時間の領域５１が含まれている。
【００４９】
また、ソフトウェア間で送受され、受信先のソフトウェアでの処理の契機となるメッセージが存在する場合、タイミングチャート作成部２０４は、そのメッセージの送受を特定したチャートデータを作成することができる。この場合、情報取得部２０２は、ソフトウェアでの処理期間の情報等とともにメッセージの送受を表す通信情報を取得する。図１３は、ソフトウェアでの処理期間の情報とともに取得される通信情報の一例を示す図である。図１３では、メッセージの通信に要する最小時間（最小の遅延時間）及び最大時間（最大の遅延時間）の情報が含まれている。
【００５０】
タイミングチャート作成部２０４は、チャートデータにおける、メッセージの送信元のソフトウェアでの処理のタイミングに、メッセージの通信時間を付加する。また、タイミングチャート作成部２０４は、メッセージの受信先のソフトウェアでの処理及び当該ソフトウェアでの処理に続くハードウェアやソフトウェアでの処理タイミングを、メッセージの通信時間だけ遅らせる。
【００５１】
そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。更に、見積もり部２０６は、変更後のチャートデータに基づいて、通信時間を考慮した所定の処理をトリガとする一連の処理の全体の処理期間の見積もりを行う。
【００５２】
図１４は、タイミングチャート画像の第６の例を示す図である。図１４に示すタイミングチャート画像は、スイッチの監視処理を行うソフトウェアからリモコン受信処理を行うソフトウェアに対してメッセージが送られる場合の例であり、これらスイッチの監視処理のタイムライン２７と、リモコン受信処理のタイムライン３４との間に、メッセージ通信のタイムライン３３を含む。また、このタイミングチャート画像は、スイッチの監視処理の終了後に送られるメッセージを表すメッセージ線３９及び４０と、メッセージ通信のタイムライン３３における通信の最小時間の領域３５及び３７と、最大時間の領域３６及び３８、リモコン受信処理のタイムライン３４における処理期間の領域４１及び４２と、リモコン受信処理とモータ制御処理との関連付けを表す関連線４３及び４５とを含む。
【００５３】
表示制御部２１０は、様々な形式でハードウェア及びソフトウェアでの処理期間の見積もりを表示させることができる。図１５は、ハードウェア及びソフトウェアでの処理期間の見積もりのリストの第１の例を示す図である。図１５に示す見積もりリストは、図１４に示すタイミングチャート画像の作成に用いられるチャートデータに基づいて作成され、スイッチがオンとなった場合における当該スイッチのオンをトリガとする一連のハードウェア及びソフトウェアでの処理期間の見積もりを示している。具体的には、この見積もりは、ソフトウェアによるスイッチの監視処理の周期（ＳＷ監視定周期）、スイッチの監視処理の時間（ＳＷ監視処理時間）、スイッチの監視処理を行うソフトウェアからリモコン受信処理を行うソフトウェアに対して送られるメッセージの通信時間、スイッチの監視処理の時間、及び、モータ制御処理の時間のそれぞれについて、最小値と最大値と、更にこれらの合計、すなわち、スイッチがオンとなった場合における当該スイッチのオンをトリガとする一連のハードウェア及びソフトウェアの全体の処理期間とからなる。
【００５４】
また、表示制御部２１０は、複数のタイミングチャートで表される、所定の処理をトリガとする一連の処理の全体の処理期間について、長い順に並べ替えたリストが表示させるようにしてもよい。図１６は、ハードウェア及びソフトウェアでの処理期間の見積もりのリストの第２の例を示す図である。この見積もりリストは、各タイミングチャートに付与された名前（タイミングチャート名）、トリガとなる処理の名前（トリガ名）、当該トリガに続く一連のハードウェア及びソフトウェアの全体の処理期間についての最小時間及び最大時間からなる。
【００５５】
また、タイミングチャート作成部２０４は、メッセージの再送によるソフトウェアでの処理遅延を特定したタイミングチャート画像を作成することができる。この場合、情報取得部２０２は、メッセージの再送に関する情報を取得する。図１７は、メッセージの再送情報の一例を示す図である。図１７に示すメッセージの再送情報は、メッセージの再送周期及び再送期間と、これら再送周期及び再送期間でメッセージの再送が行われた場合における、受信先でのメッセージの通信遅延の範囲を含む。
【００５６】
タイミングチャート作成部２０４は、チャートデータにおける、メッセージの送信元のソフトウェアでの処理のタイミングに、メッセージの再送情報を付加する。また、タイミングチャート作成部２０４は、メッセージの受信先のソフトウェアでの処理及び当該ソフトウェアでの処理に続くハードウェアやソフトウェアでの処理タイミングを、メッセージの通信時間だけ遅らせる。そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。更に、見積もり部２０６は、変更後のチャートデータに基づいて、メッセージの再送を考慮した所定の処理をトリガとする一連の処理の全体の処理期間の見積もりを行う。
【００５７】
図１８は、タイミングチャート画像の第７の例を示す図である。図１８に示すタイミングチャート画像は、処理Ａを行うソフトウェアと処理Ｂを行うソフトウェアとの間でメッセージが送受される場合の例であり、メッセージＡの通信遅延の範囲の下限に対応するメッセージ線４７及び上限に対応するメッセージ線４８と、メッセージＢの通信遅延の範囲の下限に対応するメッセージ線４９及び上限に対応するメッセージ線５０とを含む。
【００５８】
また、タイミングチャート作成部２０４は、ハードウェアでの処理にトリガとなる所定の処理からの時間に制約が存在する場合、その時間的制約を表したタイミングチャート画像を作成することができる。この場合、情報取得部２０２は、ハードウェア処理の時間的制約に関する情報を取得する。図１９は、ハードウェア処理の時間的制約情報の一例を示す図である。図１９に示すハードウェア処理の時間的制約情報は、トリガとなる所定の処理からの時間の制約の最小の時間（最小制約）及び最大の時間（最大制約）を含む。
【００５９】
タイミングチャート作成部２０４は、チャートデータにおける、トリガとなる所定の処理からの時間的制約が存在するハードウェアでの処理のタイミングに、時間的制約情報を付加する。そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。
【００６０】
図２０は、タイミングチャート画像の第８の例を示す図である。図２０に示すタイミングチャート画像は、モータの回転数のタイムライン１８において、時間的制約の範囲の表示８２及び８３が含まれている。
【００６１】
更に、見積もり部２０６は、変更後のチャートデータに基づいて、ハードウェア処理の時間的制約を考慮した、ハードウェア及びソフトウェアでの処理期間の見積もりを行い、表示制御部２１０は、その見積もりのリストを表示させる。
【００６２】
図２１は、ハードウェア及びソフトウェアでの処理期間の見積もりのリストの第３の例を示す図である。この見積もりリストは、時間的制約が存在するハードウェア処理に付与された名前（制約名）、当該ハードウェア処理を含む一連の処理のトリガとなる処理の名前（トリガ名）、最小制約、最大制約、トリガとなる処理が行われるタイミングをゼロとした場合における当該ハードウェア処理が行われる期間（処理時間）、最小制約に対する処理時間のマージン（最小マージン）、及び、最大制約に対する処理時間のマージン（最大マージン）からなる。見積もり部２０６は、最小制約、最大制約及び処理時間については、チャートデータから得る。また、見積もり部２０６は、最小マージンについては最小制約と処理時間の下限との比較、最大マージンについては最大制約と処理時間の上限との比較から得る。
【００６３】
図２１における斜線部分は、処理時間が最大制約と最小制約との間に収まっていないことを示している。具体的には、モータの停止処理の最小制約が１０ｍｓ、最大制約が１５ｍｓであるのに対して、処理時間が１５〜２０ｍｓであり、最小制約に対する処理時間のマージン（最小マージン）は処理時間の下限である１５ｍｓから最小制約の１０ｍｓを引いた５ｍｓを確保することができるが、最大制約に対する処理時間のマージン（最大マージン）は最大制約の１５ｍｓから処理時間の上限である２０ｍｓを引いた−５ｍｓとなり、確保することができない。このため、表示制御部２１０は、見積もりの結果に応じて、ユーザに警告すべく、最大制約と最大マージンとを網掛けして表示させる。
【００６４】
また、複数のタイミングチャートで表される、所定の処理をトリガとする一連の処理の全体の処理期間について、ハードウェア処理の時間的制約が存在する場合には、表示制御部２１０は、図２２に示す第４の例のような見積もりのリストを表示させるようにしてもよい。更には、表示制御部２１０は、図２３に示す第５の例のような見積もりのリストのように、最小マージンの小さい順に並べ替えた見積もりリスト（図２３（ａ））を表示したり、最大マージンの小さい順に並べ替えた見積もりリスト（図２３（ｂ））を表示してもよい。
【００６５】
また、複数のソフトウェアでの処理が、例えば同一のＣＰＵによって実行されるもの毎等によってグループ分けされる場合、タイミングチャート作成部２０４は、グループに属するソフトウェアでの処理を特定したタイミングチャート画像を作成するようにしてもよい。この場合、情報取得部２０２は、ソフトウェアが属するグループを特定した情報（グループ分け情報）を取得する。タイミングチャート作成部２０４は、このグループ分け情報に基づいて、チャートデータにおける同一のグループに属するソフトウェアでの処理タイミングにグループの識別情報を付加する。そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。
【００６６】
図２４は、タイミングチャート画像の第９の例を示す図である。図２４に示すタイミングチャート画像は、ソフトウェア処理であるリモコン受信処理と、ソフトウェア処理であるモータ制御処理とが同一グループに属し、同一のＣＰＵによって実行されることを表すグループ線５８を含む。
【００６７】
更に、見積もり部２０６は、変更後のチャートデータに基づいて、ハードウェア及びソフトウェアでの処理期間の見積もりを行い、表示制御部２１０は、その見積もりのリストを表示させる。図２５は、ハードウェア及びソフトウェアでの処理期間の見積もりのリストの第６の例を示す図である。この見積もりリストは、タイミングチャートで表される所定の処理をトリガとする一連の処理について、トリガとなる処理の名前（トリガ名）、トリガとなる処理の属性、及び、一連の処理の周期を含む。
【００６８】
ここで、見積もり部２０６は、同一グループに属し、同一のＣＰＵによって実行されるソフトウェアでの処理のそれぞれについて、ＣＰＵの占有率を見積もるようにしてもよい。この場合、見積もり部２０６は、チャートデータ内のグループの識別情報に基づいて、同一グループに属するソフトウェアでの処理を特定し、そのソフトウェア処理のそれぞれの処理期間に基づいて、ＣＰＵの占有率を算出する。図２６は、ハードウェア及びソフトウェアでの処理期間の見積もりのリストの第７の例を示す図である。この見積もりリストは、タイミングチャートで表される所定の処理をトリガとする一連の処理について、メイン制御ＣＰＵにおける実行時間の最小（最小負荷）及び最大（最大負荷）と、占有率の最小及び最大とを含む。
【００６９】
また、タイミングチャート作成部２０４は、メッセージの通信遅延と処理の遅延とを考慮したタイミングチャート画像を作成することもできる。この場合、情報取得部２０２は、図２７（ａ）に示すようなメッセージの通信時間の最小及び最大と、図２７（ｂ）に示すような処理期間の最小及び最大とを取得する。
【００７０】
タイミングチャート作成部２０４は、チャートデータにおける、メッセージの送信元のソフトウェアでの処理のタイミングに、メッセージの通信時間を付加する。また、タイミングチャート作成部２０４は、チャートデータにおける、ソフトウェアでの処理のタイミングに、当該ソフトウェアでの処理期間を付加する。そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。なお、ソフトウェアでの処理の条件が設定される場合には、情報取得部２０２は、当該処理条件の情報を取得し、タイミングチャート作成部２０４は、チャートデータにおける、対応するソフトウェアでの処理のタイミングに、当該処理条件を付加する。
【００７１】
図２８は、タイミングチャート画像の第１０の例を示す図である。図２８に示すタイミングチャート画像は、処理Ａのタイムライン６０、処理Ｂのタイムライン６１、処理Ｃのタイムライン６２、処理Ａの時間の領域６３及び６５、処理Ｂの時間の領域７２、処理Ｃの時間の領域７４、処理Ａのソフトウェアから処理Ｂのソフトウェアに送られるメッセージを表すメッセージ線６７及び７０、処理Ａのソフトウェアから処理Ｃのソフトウェアに送られるメッセージを表すメッセージ線６８及び７１、処理Ｃのソフトウェアから処理Ｂのソフトウェアに送られるメッセージを表すメッセージ線６９、処理条件（ここではメッセージ１を受信していない場合に処理がなされるとの条件）の表示７６を含む。
【００７２】
図２８に示すタイミングチャートにおけるメッセージ線は、ユーザによる操作部１０５の操作に応じて、図２７(ａ)に示す通信時間の最小及び最大の範囲内で自由に移動可能である。図２９は、タイミングチャート画像の第１１の例であり、図２９（ａ）は、通信の遅延がいずれも最小の場合、図２９（ｂ）は、処理Ａのソフトウェアから処理Ｃのソフトウェアに送られる、メッセージ線６８に対応するメッセージが最大遅延の場合を示す。メッセージ線６８の移動に対応するメッセージの遅延に応じて、当該メッセージ線６８に対応するメッセージの受信先の処理Ｃが遅れることに対応して、当該処理Ｃの時間の領域７４も連動して移動する。
【００７３】
図３０は、タイミングチャート画像の第１２の例である。図３０（ａ）は、図２９（ｂ）と同様、処理Ａのソフトウェアから処理Ｃのソフトウェアに送られる、メッセージ線６８に対応するメッセージのみが最大遅延を示し、図３０（ｂ）は、更に、処理Ｃのソフトウェアから処理Ｂのソフトウェアに送られる、メッセージ線６９に対応するメッセージが最大遅延となる場合を示す。図３０（ｂ）では、メッセージ線６９の移動に対応するメッセージの遅延に応じて、当該メッセージ線６９に対応するメッセージの受信先の処理Ｂが遅れることに対応して、当該処理Ｂの時間の領域７２も連動して移動する。この場合、処理Ｂが処理条件の表示７６に対応する条件を満たすことができないため、処理Ｂの時間の領域７２の表示色が変更される。
【００７４】
図３１は、タイミングチャート画像の第１３の例を示す図である。図３１に示すタイミングチャート画像は、処理Ａのタイムライン６０、処理Ｂのタイムライン６１、処理Ｃのタイムライン６２、処理Ａの時間の領域６３及び６３ａ、処理Ｂの時間の領域７２及び７２ａ、処理Ｃの時間の領域７４及び７４ａ、処理Ａのソフトウェアから処理Ｃのソフトウェアに送られるメッセージを表すメッセージ線６８、処理Ｃのソフトウェアから処理Ｂのソフトウェアに送られるメッセージを表すメッセージ線６９を含む。処理Ａの時間の領域６３は、図２７(ｂ)に示す処理Ａの処理時間の最小、処理Ａの時間の領域６３ａは、図２７(ｂ)に示す処理Ａの処理時間の最小と最大の差分を表す。同様に、処理Ｂの時間の領域７２は、図２７(ｂ)に示す処理Ｂの処理時間の最小、処理Ｂの時間の領域７２ａは、図２７(ｂ)に示す処理Ｂの処理時間の最小と最大の差分を表し、処理Ｃの時間の領域７４は、図２７(ｂ)に示す処理Ｃの処理時間の最小、処理Ｃの時間の領域７４ａは、図２７(ｂ)に示す処理Ｃの処理時間の最小と最大の差分を表す。
【００７５】
図３１に示すタイミングチャートにおける処理の時間の領域は、ユーザによる操作部１０５の操作に応じて、図２７(ｂ)に示す処理時間の最小及び最大の範囲内で自由に移動可能である。図３２は、タイミングチャート画像の第１４の例であり、図３２（ａ）は、処理Ｂの処理時間が最小の場合を示す。一方、図３２（ｂ）は、処理Ｂの処理時間が最大の場合を示し、この最大の処理時間に応じて、処理Ｃのソフトウェアから処理Ｂのソフトウェアに送られるメッセージが送れることに応じて、メッセージ線６９が連動して移動し、更に、当該メッセージ線６９に対応するメッセージの受信先の処理Ｃが遅れることに対応して、当該処理Ｃの時間の領域７４も連動して移動する。
【００７６】
また、タイミングチャート作成部２０４は、メッセージの通信時間が一意でない場合、所定の通信時間に対応する複数のタイミングチャート画像を作成するようにしてもよい。この場合、情報取得部２０２は、図３３に示すようなメッセージの通信時間の最小及び最大を取得する。タイミングチャート作成部２０４は、チャートデータにおける、メッセージの送信元のソフトウェアでの処理のタイミングに、一意でないメッセージの通信時間のうちの複数の通信時間（例えば最小及び最大）を選択して付加する。また、タイミングチャート作成部２０４は、チャートデータにおける、メッセージの受信先のソフトウェアでの処理及び当該ソフトウェアでの処理に続くハードウェアやソフトウェアでの処理タイミングを、選択した複数のメッセージの通信時間だけ遅らせたタイミングに変更する。そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。
【００７７】
図３４は、タイミングチャート画像の第１５の例を示す図である。図３４（ａ）及び（ｂ）に示すタイミングチャート画像は、処理Ａのタイムライン６０に、最小の通信時間に対応する処理期間の領域６３−１及び６５−１と、最小の通信時間に対応する処理期間の領域６３−１及び６５−２を含み、処理Ｂのタイムライン６１に、最小の通信時間に対応する処理期間の領域７２−１と、最小の通信時間に対応する処理期間の領域７２−２を含み、処理Ｃのタイムライン６０に、最小の通信時間に対応する処理期間の領域７４−１と、最小の通信時間に対応する処理期間の領域７４−２を含む。また、図３４（ａ）及び（ｂ）に示すタイミングチャート画像は、処理Ａのソフトウェアから処理Ｃのソフトウェアに送られるメッセージを表すメッセージ線７７−１及び７７−２と、処理Ａのソフトウェアから処理Ｂのソフトウェアに送られるメッセージを表すメッセージ線７８−１及び７８−２と、処理Ｃのソフトウェアから処理Ｂのソフトウェアに送られるメッセージを表すメッセージ線６９−１及び６９−２とを含む。これらのうち、図３４（ａ）におけるメッセージ線７７−１、７８−１、７８−２、６９−１及び６９−２と、図３４（ｂ）におけるメッセージ線７７−１、７８−１、６９−１は、対応するメッセージの通信時間が最小の場合を示し、図３４（ａ）におけるメッセージ線７７−２と、図３４（ｂ）におけるメッセージ線７７−２、６９−２及び７８−２は、対応するメッセージの通信時間が最大の場合を示す。通信遅延が複数存在する場合、通信遅延によって様々なタイミングが発生することになるが、上述したように、それぞれのタイミングのタイミングチャートが並べて表示されることにより、ユーザは、各タイミングチャートを比較しつつ、解析を行うことが可能となる。
【００７８】
また、タイミングチャート作成部２０４は、ハードウェア及びソフトウェアでの処理の関連が生じる条件が存在する場合、その条件を特定したタイミングチャート画像を作成するようにしてもよい。この場合、情報取得部２０２は、関連が生じる条件の情報を取得する。タイミングチャート作成部２０４は、チャートデータにおける、関連情報に、当該関連情報で表されるハードウェア及びソフトウェアでの処理の関連が生じる条件の情報を付加する。そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。
【００７９】
図３５は、タイミングチャート画像の第１６の例を示す図である。図３５に示すタイミング画像は、関連線２２に付随する条件の表示８０を含む。この条件情報の表示８０は、タイムライン１２で表されるスイッチの処理において、スイッチがオフとなり、且つ、センサがオンとなる場合にのみ、タイムライン１２で表されるスイッチの処理とタイムライン１４で表されるソフトウェアでの処理との間に関連が生じ、当該ソフトウェアでの処理が行われることを示す。
【００８０】
一方、図３６は、タイミングチャート画像の第１７の例を示す図である。図３６に示すタイミング画像は、同様に、条件情報の表示８０を含む。但し、この条件情報の表示８０が付随する関連線が存在しない、換言すれば、チャートデータにおいて、ハードウェア及びソフトウェアでの処理の関連が生じる条件の情報が付加される先の関連情報が存在しないため、タイムライン１２で表されるスイッチの処理において、スイッチがオフとなり、且つ、センサがオフとなる場合において、タイムライン１４で表されるソフトウェアでの処理が行われないことを示す未処理の表示８１が含まれ、タイミングチャートの作成のミス等によって関連情報が存在しない場合との区別がなされる。
【００８１】
また、ソフトウェアでの処理は、入力に対して常に同じ処理が行われるわけではないことを考慮し、タイミングチャート作成部２０４は、ソフトウェアでの処理において状態遷移が生じる場合、その状態遷移を特定したタイミングチャート画像を作成するようにしてもよい。この場合、情報取得部２０２は、ソフトウェア処理の状態遷移の情報を取得する。タイミングチャート作成部２０４は、チャートデータにおけるソフトウェアでの処理タイミングに、当該ソフトウェア処理の状態遷移を付加する。そして、タイミングチャート作成部２０４は、変更後のチャートデータに基づいてタイミングチャート画像を作成する。
【００８２】
図３７は、タイミングチャート画像の第１８の例を示す図である。図３７に示すタイミング画像は、ソフトウェアでの処理のタイムライン１４において、回転中、停止中、初期化中の３つの処理状態の遷移が表されている。
【００８３】
一般に、タイミング設計においては、機能毎にタイミング図が作成されるため、全体では矛盾が生じる場合がある。この矛盾は各機能の処理の条件を明確にしていないことによっても生じる。そこで、処理単位に入力及び出力の関係を一覧形式に表すことによって、ユーザが矛盾を見つけやすくすることが可能となる。
【００８４】
組み合わせ特定部２０８は、タイミングチャート作成部２０４によって作成されたチャートデータを取得すると、当該チャートデータにおける、ソフトウェアでの処理の前段の処理と当該ソフトウェアでの処理との関連付けを表す関連情報によって定められる入力、ソフトウェアでの処理の後段の処理と当該ソフトウェアでの処理との関連付けを表す関連情報によって定められる出力、ソフトウェア処理の状態遷移情報によって定められる状態遷移、条件情報によって定められるソフトウェアでの処理の関連が生じる条件との組み合わせの情報を得る。更に、表示制御部２１０は、この組み合わせ情報をモニタ１０６に表示させる。
【００８５】
図３８は、タイミングチャート画像の第１９の例を示す図であり、図３９は、このタイミングチャートに対応する組み合わせ情報の一例を示す図である。図３９は、上述した手順によって、１のソフトウェア処理について、チャートデータから得られる、入力（イベント）、メッセージ、状態遷移（遷移前及び遷移後）、出力、条件の組み合わせ９１乃至９６を一覧形式に表したものである。
【００８６】
更に、組み合わせ特定部２０８は、それぞれの組み合わせを比較し、同一の入力に対して、状態、出力及び条件が異なるものをエラーとして抽出する。例えば、図３９では、組み合わせ９１及び９２は、同一の入力に対して、出力が異なっているため、エラーとなる。また、図３９では、組み合わせ９４及び９５は、同一の入力に対して、条件が異なっているため、エラーとなる。
【００８７】
ユーザは、操作部１０５の操作によって、組み合わせの一覧に応じて、条件を設定することができる。組み合わせ特定部２０８は、このような設定情報を、情報取得部２０２及びタイミングチャート作成部２０４を介して取得して、組み合わせ情報に反映させる。図４０は、図３９に示す組み合わせ情報において設定された条件を反映したものである。図３９において、出力が異なっているためにエラーとされた組み合わせ９１及び９２は、図４０では、条件としてのフラグ（ｆｌｇ）が組み合わせ９１については０、組み合わせ９２については１となり、出力が異なっていることに対応した条件が新たに設定されることにより、両者は異なる組み合わせとして扱われる。また、図３９における組み合わせ９４及び９５は、図４０では、組み合わせ９５において組み合わせ９４と同様の条件であるＳｅｎｓｏｒ＝ＯＮとなる。また、図４０では、組み合わせ９３において条件であるＳＷ  ＯＮが設定される。これにより、図４１に示すような組み合わせ情報が得られる。
【００８８】
更に、組み合わせ特定部２０８は、入力、状態、出力及び条件の全ての組み合わせについて、組み合わせ情報に対応する組み合わせと、それ以外の組み合わせとを特定し、これらを区別した網羅情報を作成する。更に、表示制御部２１０は、この網羅情報をモニタ１０６に表示させる。
【００８９】
図４２は、図４１の組み合わせ情報に対応する網羅情報の一例を示す図であり、図４２（ａ）はメッセージ及び条件を行、遷移前の状態を列としたマトリックスを有し、図４２（ｂ）はメッセージを行、遷移前の状態及び条件を列としたマトリックスを有する。
【００９０】
図４１では、メッセージ「モータ回転要求」、遷移前状態「モータ停止」、条件「Ｆｌｇ＝０」からなる組み合わせ情報、メッセージ「モータ回転要求」、遷移前状態「モータ停止」、条件「Ｆｌｇ＝１」からなる組み合わせ情報、メッセージ「モータ反転要求」、遷移前状態「モータ回転」からなる組み合わせ情報、メッセージ「モータ停止要求」、遷移前状態「モータ回転」、条件「Ｓｅｎｓｏｒ＝ｏｎ」からなる組み合わせ情報、入力「電源ＯＮ」、遷移前状態「初期化」からなる組み合わせ情報が含まれている。これに対応して、図４２（ａ）及び（ｂ）では、これらの組み合わせ情報に対応するマトリックスに「○」が付加され、他のマトリックスは斜線部となっており、ユーザによって区別することが可能となっている。
【００９１】
更に、組み合わせ情報は、ソフトウェアの状態遷移モデルの設計に用いることが可能である。例えば、図４１に示す組み合わせ情報は、図４３に示す、メッセージ及び条件を行、遷移前の状態を列としたマトリックスを有する状態遷移表や、図４４に示す、メッセージを行、遷移前の状態及び条件を列としたマトリックスを有する状態遷移表に埋め込まれ、状態遷移モデルが作成されることになる。
【００９２】
なお、ユーザがソフトウェアでの処理の状態遷移を考慮しつつ、個々の機能毎にタイミング設計を行うことが困難な場合があることに鑑み、入力、出力及びタイミングのみに着目してタイミング設計を行い、状態の遷移を後から設計することを可能としても良い。
【００９３】
この場合、図４５に示すようなタイミングチャートに応じて、図４６に示すような組み合わせ情報が得られる。そして、ユーザによって図４７に示すような状態遷移が設計されて、この状態遷移に対応する組み合わせ情報によって、図４８に示すようなタイミングチャートが得られる。
【００９４】
このように、本実施形態のタイミングチャート処理システム１００は、取得した関連情報等に基づいて、ハードウェアでの処理とソフトウェアでの処理とを関連付けたタイミングチャートを作成し、更に、当該タイミングチャートに基づいて、ハードウェア及びソフトウェアでの処理期間の見積もりを行う。このような見積もりにより、システム全体のタイミング設計の精度を向上させることが可能となる。
【００９５】
また、タイミングチャート処理システム１００は、ソフトウェアを同一のＣＰＵによって処理されるグループに分けた場合におけるグループ分けを表すグループ分け情報を取得し、当該グループ分け情報に基づいて、前記グループ毎に、該グループに属するソフトウェアでの処理によるＣＰＵの占有率を見積もっており、この占有率により、システム全体のタイミング設計の精度を向上させることが可能となる。
【００９６】
また、タイミングチャート処理システム１００は、入力、状態、出力及び条件の全ての組み合わせについて、組み合わせ情報に対応する組み合わせと、それ以外の組み合わせとを特定し、これらを区別した網羅情報を作成、表示しており、ユーザは、システムにおいて生じる全ての状態のうち、どの程度網羅されているのかを把握することができ、システム全体のタイミング設計の精度を向上させることが可能となる。
【産業上の利用可能性】
【００９７】
以上、説明したように、本発明に係るタイミングチャート処理システム、タイミングチャート処理方法及びタイミングチャート処理プログラムによれば、ソフトウェアでの処理を含むシステム全体のタイミング設計の精度を向上させることが可能であり、タイミングチャート処理システム等として有用である。
【図面の簡単な説明】
【００９８】
【図１】タイミングチャート処理システムのハードウェア構成を示す図である。
【図２】タイミングチャート処理システムの機能ブロック図である。
【図３】タイミングチャート処理システムの動作を示すフローチャートである。
【図４】関連情報の一例を示す図である。
【図５】チャートデータの一例を示す図である。
【図６】タイミングチャート画像の第１の例を示す図である。
【図７】タイミングチャート画像の第２の例を示す図である。
【図８】タイミングチャート画像の第３の例を示す図である。
【図９】ソフトウェアでの処理期間情報の第１の例を示す図である。
【図１０】タイミングチャート画像の第４の例を示す図である。
【図１１】ソフトウェアでの処理期間情報の第２の例を示す図である。
【図１２】タイミングチャート画像の第５の例を示す図である。
【図１３】通信情報の一例を示す図である。
【図１４】タイミングチャート画像の第６の例を示す図である。
【図１５】見積もりリストの第１の例を示す図である。
【図１６】見積もりリストの第２の例を示す図である。
【図１７】再送情報の一例を示す図である。
【図１８】タイミングチャート画像の第７の例を示す図である。
【図１９】時間的制約情報の一例を示す図である。
【図２０】タイミングチャート画像の第８の例を示す図である。
【図２１】見積もりリストの第３の例を示す図である。
【図２２】見積もりリストの第４の例を示す図である。
【図２３】見積もりリストの第５の例を示す図である。
【図２４】タイミングチャート画像の第９の例を示す図である。
【図２５】見積もりリストの第６の例を示す図である。
【図２６】見積もりリストの第７の例を示す図である。
【図２７】最大及び最小の通信時間を表す通信情報と、最大及び最小の処理時間を表す処理時間情報の一例を示す図である。
【図２８】タイミングチャート画像の第１０の例を示す図である。
【図２９】タイミングチャート画像の第１１の例を示す図である。
【図３０】タイミングチャート画像の第１２の例を示す図である。
【図３１】タイミングチャート画像の第１３の例を示す図である。
【図３２】タイミングチャート画像の第１４の例を示す図である。
【図３３】最大及び最小の通信時間を表す通信情報の一例を示す図である。
【図３４】タイミングチャート画像の第１５の例を示す図である。
【図３５】タイミングチャート画像の第１６の例を示す図である。
【図３６】タイミングチャート画像の第１７の例を示す図である。
【図３７】タイミングチャート画像の第１８の例を示す図である。
【図３８】タイミングチャート画像の第１９の例を示す図である。
【図３９】組み合わせ情報の第１の例を示す図である。
【図４０】条件設定の一例を示す図である。
【図４１】組み合わせ情報の第２の例を示す図である。
【図４２】網羅情報の一例を示す図である。
【図４３】状態遷移表の第１の例を示す図である。
【図４４】状態遷移表の第２の例を示す図である。
【図４５】タイミングチャート画像の第２０の例を示す図である。
【図４６】組み合わせ情報の第３の例を示す図である。
【図４７】状態遷移設定の一例を示す図である。
【図４８】タイミングチャート画像の第２１の例を示す図である。
【符号の説明】
【００９９】
１００  タイミングチャート処理システム
１０１  ＣＰＵ
１０２  メモリ
１０３  ＨＤＤ
１０５  操作部
１０６  モニタ
１０７  内部バス
２０２  情報取得部
２０４  タイミングチャート作成部
２０６  見積もり部
２０８  組み合わせ特定部
２１０  表示制御部
【図１】
2008003947.tif 000003
【図２】
2008003947.tif 000004
【図３】
2008003947.tif 000005
【図４】
2008003947.tif 000006
【図５】
2008003947.tif 000007
【図６】
2008003947.tif 000008
【図７】
2008003947.tif 000009
【図８】
2008003947.tif 000010
【図９】
2008003947.tif 000011
【図１０】
2008003947.tif 000012
【図１１】
2008003947.tif 000013
【図１２】
2008003947.tif 000014
【図１３】
2008003947.tif 000015
【図１４】
2008003947.tif 000016
【図１５】
2008003947.tif 000017
【図１６】
2008003947.tif 000018
【図１７】
2008003947.tif 000019
【図１８】
2008003947.tif 000020
【図１９】
2008003947.tif 000021
【図２０】
2008003947.tif 000022
【図２１】
2008003947.tif 000023
【図２２】
2008003947.tif 000024
【図２３】
2008003947.tif 000025
【図２４】
2008003947.tif 000026
【図２５】
2008003947.tif 000027
【図２６】
2008003947.tif 000028
【図２７】
2008003947.tif 000029
【図２８】
2008003947.tif 000030
【図２９】
2008003947.tif 000031
【図３０】
2008003947.tif 000032
【図３１】
2008003947.tif 000033
【図３２】
2008003947.tif 000034
【図３３】
2008003947.tif 000035
【図３４】
2008003947.tif 000036
【図３５】
2008003947.tif 000037
【図３６】
2008003947.tif 000038
【図３７】
2008003947.tif 000039
【図３８】
2008003947.tif 000040
【図３９】
2008003947.tif 000041
【図４０】
2008003947.tif 000042
【図４１】
2008003947.tif 000043
【図４２】
2008003947.tif 000044
【図４３】
2008003947.tif 000045
【図４４】
2008003947.tif 000046
【図４５】
2008003947.tif 000047
【図４６】
2008003947.tif 000048
【図４７】
2008003947.tif 000049
【図４８】
2008003947.tif 000050