JP6218645B2 - プログラム解析装置及びプログラム解析方法及びプログラム - Google Patents
プログラム解析装置及びプログラム解析方法及びプログラム Download PDFInfo
- Publication number
- JP6218645B2 JP6218645B2 JP2014042575A JP2014042575A JP6218645B2 JP 6218645 B2 JP6218645 B2 JP 6218645B2 JP 2014042575 A JP2014042575 A JP 2014042575A JP 2014042575 A JP2014042575 A JP 2014042575A JP 6218645 B2 JP6218645 B2 JP 6218645B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- time
- task
- path
- execution path
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 4
- 238000004088 simulation Methods 0.000 description 53
- 238000004458 analytical method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
システム開発ではタスクの実行時間がデッドラインを超えないよう、タスクの最悪実行時間を算出してデッドラインを超えないことを確認している。
しかし、プログラムの正確な実行時間を見積もるためには命令の実行数だけでなく、キャッシュヒット率やメモリ、I/O(Input/Output)アクセス時間等、H/W(Hardware)の挙動を考慮する必要がある。
上記(2)の方法ではH/Wの挙動も考慮することで、より正確な実行時間を算出することができるが、実行時間が最悪となる実行経路を実行しているかわからない。
キャッシュミス率は自身のタスクの実行だけでなく、他のタスクの実行によっても影響される(正確には自身あるいは他の実行されるタスクの命令あるいはデータの配置(アドレス)によってキャッシュミス率が変わる)。
また、異なる実行優先度のリアルタイムタスクが複数存在し、優先度の高いリアルタイムタスク(A)が優先度の低いリアルタイム(B)の実行を中断させて実行するようなシステムも存在する。
この場合、優先度の低いリアルタイムタスク(B)の実行中断中に、キャッシュメモリに優先度の高いリアルタイムタスク(A)の命令またはデータが格納されることで、優先度の低いリアルタイムタスク(B)の命令またはデータが追い出されることがある。
リアルタイムタスク(B)が処理再開後にキャッシュメモリから追い出された命令またはデータを参照しようとした場合、キャッシュミスが発生するためメモリアクセス時間が増加する。
そのため、リアルタイムタスク(B)の実行時間は処理が途中で中断されなかった場合に比べて実行時間が増加する場合がある。
複数のタスクが生成される、複数のブロックで構成されたプログラムを解析し、タスクごとに、タスクにおいて実行されるブロック群を実行順に実行パスとして抽出する実行パス抽出部と、
前記プログラム実行時のタスクの生成順序に従って、各タスクに対応する実行パスを配列させるとともに、実行パスの組合せを変化させて複数の配列パターンを生成する配列パターン生成部と、
配列パターンごとに、配列パターンに含まれる実行パスが順に実行された場合の実行パスの実行時間を実行パスごとに算出する実行時間算出部とを有することを特徴とする。
本実施の形態では、異なる優先度のリアルタイムタスクが存在するシステムにおいて、優先度の低いタスクが優先度の高いタスクの影響も考慮した最悪実行時間をより高精度に算出し、デッドラインを超えるかどうかをより正確に判定する構成を説明する。
図1において、実行対象S/W記憶部10は、リアルタイムタスクがデッドラインを超えるかどうかを判定する実行対象S/W(Software)を記憶する。
実行対象S/Wでは、2つ以上のリアルタイムタスクが存在し、各タスクに優先度が設定されている。
実行対象S/Wは、複数のブロックから構成されるプログラムであり、実行パスは、実行対象S/Wにおけるタスクごとの実行経路であり、タスクにおいて実行されるブロック群を実行順に連結したシークエンスである。
実行パス解析部20は、実行パス抽出部の例に相当する。
実行パスリストは、実行パス解析部20によって算出されたタスクごとの実行パスのリストと、各パスを実行するための条件を表す情報である。
タスクスケジュールは、対象のシステムのタスクの実行スケジュール情報である。
タスクスケジュールには、タスクの生成順序が記述されるとともに、タスクごとに上限の実行時間であるデッドライン(上限時間)が記述されている。
タスクスケジュールは上限時間情報の例に相当する。
また、タスクスケジュール記憶部60は、上限時間情報記憶部の例に相当する。
より具体的には、実行パス組み合わせ決定部40は、タスクスケジュールに示されるタスクの生成順序に従って、各タスクに対応する実行パスを配列させるとともに、実行パスの組合せを変化させて複数の配列パターンを生成する。
実行パス組み合わせ決定部40は、配列パターン生成部の例に相当する。
実行時間算出部100は、シミュレーション部50、変数操作部70及びキャッシュ無効化部80で構成される。
シミュレーション部50は、実行対象S/Wの実行環境を模擬して、実行対象S/Wの実行時間を算出する。
シミュレーション部50にはキャッシュメモリの動作をシミュレーションするキャッシュシミュレータも備えている。
実行対象S/Wは1つまたは複数のプログラムの実行ファイルとして存在してもよいし、メモリ上に展開されたプログラムでもよい。
実行パスリスト、タスクスケジュールはファイルとして存在してもよいし、メモリ上にのみ配置されるデータであってもよい。
実行パスの算出例について図2のフローチャートを用いて説明する。
図2の各ブロックは1つ以上の命令を表し、ブロック2、ブロック4は分岐命令を表し、本例ではそれぞれの成立条件をX<0、Y=1とする。
このとき、タスクの実行パスは以下の3通りが考えられ、それぞれの実行パスが実行される条件は()に記載したものとなる。
・ブロック1→ブロック2(X<0)
・ブロック1→ブロック2→ブロック3→ブロック4→ブロック5(X>=0かつY≠1)
・ブロック1→ブロック2→ブロック3→ブロック4→ブロック6→ブロック5(X>=0かつY=1)
従って、図2に示したタスクから得られる実行パスリストは図3のようになる。
図3では分岐条件をX<0のように値の範囲で示したが、X=−1のように条件が成立する任意の値を条件として記述してもよい。
全てのリアルタイムタスクについて上記手順を行い、各リアルタイムタスクの実行パスを算出する。
実行パス組み合わせ決定部40は、実行パス解析部20で算出した実行パスリストをタスクスケジュールに基づいてシミュレーション実行する実行パスの組み合わせ(配列パターン)を決定する。
タスクスケジュールは、タスクの実行スケジュールを示す情報であり、リアルタイムタスクの各タスクの実行周期とデッドライン、実行優先度が格納されている。
タスクA、タスクBは、いずれもリアルタイムタスクであり、デッドラインは次のタスク実行の開始までとする。
タスクA、タスクBは、いずれも予め決められた実行周期のタイミング(タスクAはT1、T3、T6、タスクBはT1、T6)で実行される。
図4の例では、タスクAの実行周期はタスクBの実行周期の半分であり、かつ、実行優先度はタスクAのほうが高い。
そのため、タスクBの実行中にタスクAの実行開始タイミングとなると、プロセッサはタスクBの実行を一時中断し、タスクAの処理を行う(T3〜T4のタイミングが該当)。
その後、タスクAの処理が完了するとタスクBの処理を再開する(T4のタイミング)。
本例ではタスクAとタスクBの実行周期が1:2のため、タスクAが2回、タスクBが1回実行される場合のタスクの組み合わせを行う。
つまり、図4のタスクAとタスクBの生成順序に沿って、各タスクに対応する実行パスを配列させるとともに、実行パスの組合せを変化させて18通りの配列パターンを生成する。
そして、シミュレーション部50が、この18通りの配列パターンのそれぞれの実行パスの組み合わせについてシミュレーションを実行し、実行時間を算出する。
シミュレーション部50は、図5に示した18通りの実行パスの組み合わせを1つずつ実行し、実行時間を算出する。
シミュレーション部50は、実行対象S/Wを実行するためのシミュレータであり、実行対象S/Wが動作するシステム(ターゲットシステム)のハードウェア構成(特にキャッシュメモリのエントリの競合)を模擬し、ターゲットシステムのハードウェア仕様に基づいた命令実行時間や、キャッシュミスによるミスペナルティを考慮した実行時間を考慮して実行対象S/Wを実行するものとする。
このようなシミュレータは参考文献1などによって既に考えられている。
図4のようにシミュレーション部50がタスクA、タスクBをそれぞれの実行周期(タイミング)と優先度に基づいて実行する方法としては、シミュレーション部50に備わっているターゲットシステムによるハードウェアタイマに基づいた割り込みや、実行対象S/Wを実行する、あるいは実行対象S/Wに含まれるOS(Operating System)によって実現する方法があり、いずれもシミュレーション部50によるシミュレーション環境構築時に容易に実装することができる。
参考文献1:特開2013−222392号公報
例えばタスクAの実行パスA1〜3が図3のNo.1〜3にそれぞれ対応し、図5のNo.3の実行パスの組み合わせ(すなわちA1→B1→A3)を実行する場合、変数操作部70は図4のT1のタイミングでX=−1を設定し、T3のタイミングでX=0、Y=1を設定する。
また、タスクBの実行パスの実行条件がタスクAの実行パスの実行条件と同じ変数を使用する場合(例えばタスクBがB1を実行する条件がX=2の場合)は、タスクBが再開するタイミング(図4の場合はT4のタイミング)において、再度変数の値を設定する。
これにより、シミュレーション開始時はキャッシュメモリにタスクAの命令およびデータが存在しないため、その実行パスにおける最悪実行時間を算出することができる。
例えば図6のようにタスクBがタスクAの2回目の実行開始タイミングであるT13よりも前のT12のタイミングで処理を完了した場合、キャッシュ無効化部80は2回目のタスクAの実行開始タイミングであるT13でもシミュレーション部50の内部に存在するキャッシュメモリの全てのエントリを無効化する。
これはT12からT13の間に非リアルタイムタスクが動作する可能性があるためであり、非リアルタイムタスクの実行により、タスクAのどのキャッシュデータが追い出されるか(あるいは全く追い出されないか)は実行される非リアルタイムタスクのプログラムによって変わってくるため、全てのキャッシュデータが追い出される、最悪の実行時間を算出するためである(シミュレーション部50はT12からT13のときに非リアルタイムタスクのシミュレーションすることはしない)。
これにより、T12からT13の間に非リアルタイムタスクが動作し、リアルタイムタスクAのデータが追い出されることを考慮した最悪実行時間を算出することができる。
例えば、図4の場合、タスクA(1回目)の実行完了時刻はT2、タスクBの実行完了時刻はT5、タスクA(2回目)の時刻完了時刻はT4となる。
具体的には、図4の場合であれば、タスクA(1回目)の実行完了時刻が2回目のタスクAの実行完了時刻であるT3を超えていないこと、タスクB、タスクA(2回目)の実行完了時刻が次のタスクB、タスクAの実行開始時刻であるT6を超えていないことを確認し、いずれかのタスクの実行完了時刻がデッドラインを超えていた場合は、実行対象S/Wはデッドラインを超えると判定する。
以上のように、本実施の形態では、実行パス解析部20にて実行対象S/Wの全ての実行パスを解析した後、タスクスケジュールに記しているタスクの実行スケジュールに合わせてシミュレーションを行って実行時間を算出する。
このため、優先度の低いタスクBの実行時間は優先度の高いタスクAによる処理の中断による影響を考慮した実行時間を算出されることから、優先度の低いタスクBがデッドラインをミスするかをより正確に判定することができる。
本実施の形態では、全ての実行パスの組み合わせをシミュレーションし、各実行パスの組み合わせの実行時間がデッドラインを超えないことを判定するようにしたが、最悪実行時間判定部90がデッドラインを超えると判断した場合は、実行対象S/Wがデッドラインを超えることが既に確認できているため、以降の実行パスの組み合わせのシミュレーションを実行せずに終了してもよい。
これにより、判定時間を短縮することができる。
この場合、デッドラインを超える可能性の高いパスからシミュレーション実行していくので、早期にデッドラインを超えると判定される可能性がある。
このとき、先ほど説明したように、デッドラインを超えると判定されると以降のシミュレーション実行を行わずに終了すれば、判定時間をさらに短縮することができる。
また、これらのほかにシミュレーション部50を用いて各実行パス単体を実行したときの実行時間を算出し、その時間が長いものを実行パスの長いものとしてもよい(実施の形態2に記載)。
以上の実施の形態1では、実行パス解析部20で算出したタスクごとの実行パスについて、タスクスケジュールに記載されているタスクの実行スケジュールに合わせた総組み合わせを実施する。
しかし、一般的にタスクごとの実行パスは多数(数十〜数百以上)存在し、そのパスをタスクの実行スケジューリングに合わせて組み合わせたときの総組み合わせ数は膨大となり、全てをシミュレーションして実行時間を算出するのは現実的ではない。
そこで、実行パスの組み合わせを決定する数を削減する実施の形態を示す。
図1と同じ構成、動作を行うものについては同じ番号を振り、説明は省略する。
本実施の形態に係る実行パスリストを、以下では、実行パスリスト310と表記する。
図7では流れの説明上、2つの実行時間算出部100が存在しているが、同一のものを想定している。
このとき、実行時間算出部100にあるキャッシュ無効化部80がシミュレーション部50の内部にあるキャッシュメモリを無効状態にして実行し、常にキャッシュメモリの先にあるメインメモリからデータを取得したときの各実行パスの実行時間を算出する。
これにより、最悪の実行時間を算出することができる(実際はキャッシュメモリが有効になっているので、この時間ほど悪くなることはない)。
その上で、組み合わせの中から、デッドラインを超える可能性のある実行パスの組み合わせを抽出してシミュレーション部50で実行時間の算出を行う。
例ではタスクAとタスクBのリアルタイムタスクが図4と同じ実行スケジュールで実行される。
タスクAの実行周期は50ms、タスクBの実行周期が100msとする。
また、タスクAはA1、A2、A3の3種類、タスクBはB1、B2の2種類の実行パスが存在し、それぞれの単体の実行時間はA1、A2、A3が5ms、20ms、60ms、B1、B2は30ms、70msであったとしている。
このとき、タスクAとタスクBの実行スケジュールに応じた実行パスの組み合わせは図9の18通りになる。
ここで、実行パス組み合わせ決定部41は、組み合わせた18通りに対するそれぞれの単体の実行時間の合計を算出し、実行時間の合計がタスクの実行パスの組み合わせを行ったスケジューリング期間(ここでは100ms)を超えるものに対してシミュレーション部50にて実行時間を算出する。
図9ではNo.6、9、11、12、14、15、16、17、18の9個の組み合わせが該当する。
図9ではNo.3、6、9、12、13〜18の10通りが該当する。
以上のように、本実施の形態では実行パス組み合わせ決定部41にて、デッドラインを超える可能性のある実行パスの組み合わせに限定してシミュレーションを行うことで、デッドラインを越えるかどうかの判定を行う時間を削減することができる。
本実施の形態ではキャッシュメモリがない状態の各実行パスの実行時間をもとに組み合わせを減らすようにしたが、キャッシュメモリによる処理時間短縮の効果が大きい場合、実行時間が実際よりもはるかに大きくなり、ほぼ全ての組み合わせを実行する可能性がある。
そこで、キャッシュメモリを有効(使用可能な状態)にし、実行開始時にキャッシュメモリに何もない状態からシミュレーション実行したときの実行時間をもとに組み合わせを減らしてもよい。
ただし、この場合は優先度の高いタスクが途中で割り込まれたときにキャッシュから追い出されることによるキャッシュミス数増加による遅延を考慮するため、実際に算出した実行時間にマージンとなる時間を足した時間を各実行パスの実行時間とする。
マージンとなる時間は実行パスごとに一律の時間でもよいし、キャッシュヒット数、キャッシュ使用量などのキャッシュの使用特性に応じて設定してもよい。
この場合、デッドラインを超える可能性の高いパスからシミュレーション実行していくので、早期にデッドラインを超えると判定される可能性がある。
このとき、デッドラインを超えると判定されると以降のシミュレーション実行を行わずに終了すれば、判定時間をさらに短縮することができる。
最悪実行時間判定システム1000はコンピュータであり、最悪実行時間判定システム1000の各要素をプログラムで実現することができる。
最悪実行時間判定システム1000のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置903は、RAM(Random Access Memory)である。
通信装置904は、例えばNIC(Network Interface Card)である。
入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
プログラムは、図1に示す「〜部」(「〜記憶部」は除く、以下も同様)として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、図1に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態1及び2の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の算出」、「〜の検知」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の生成」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
Claims (14)
- 複数のタスクが生成される、複数のブロックで構成されたプログラムを解析し、タスクごとに、タスクにおいて実行されるブロック群を実行順に実行パスとして抽出する実行パス抽出部と、
前記プログラム実行時のタスクの生成順序に従って、各タスクに対応する実行パスを配列させるとともに、実行パスの組合せを変化させて複数の配列パターンを生成する配列パターン生成部と、
配列パターンごとに、配列パターンに含まれる実行パスが順に実行された場合の実行パスの実行時間を実行パスごとに算出する実行時間算出部とを有することを特徴とするプログラム解析装置。 - 前記実行時間算出部は、
キャッシュメモリが実装されているプログラム実行環境で配列パターンに含まれる実行パスが順に実行された場合の実行時間を実行パスごとに算出することを特徴とする請求項1に記載のプログラム解析装置。 - 前記プログラム解析装置は、更に、
タスクごとに、上限の実行時間が上限時間として記述される上限時間情報を記憶する上限時間情報記憶部と、
前記実行時間算出部により算出された各実行パスの実行時間が、各実行パスのタスクの上限時間を超えていないかを判定する判定部を有することを特徴とする請求項1又は2に記載のプログラム解析装置。 - 前記判定部は、
前記実行時間算出部が全ての配列パターンに対して実行パスの実行時間の算出を終える前に、前記実行時間算出部により算出された各実行パスの実行時間が、各実行パスのタスクの上限時間を超えていないかを判定し、
前記実行時間算出部は、
前記判定部により、いずれかの配列パターンにおいて、いずれかの実行パスの実行時間が上限時間を超えていると判定された場合に、以降の実行時間の算出を取りやめることを特徴とする請求項3に記載のプログラム解析装置。 - 前記実行時間算出部は、
包含しているブロックの個数が多い配列パターンから順に、配列パターンに含まれる実行パスが順に実行された場合の実行パスの実行時間を実行パスごとに算出することを特徴とする請求項1又は4に記載のプログラム解析装置。 - 前記プログラム解析装置は、更に、
タスクごとに、上限の実行時間が上限時間として記述される上限時間情報を記憶する上限時間情報記憶部を有し、
前記実行時間算出部は、
単体で実行された場合の各実行パスの実行時間を算出し、
配列パターンごとに、配列パターンに含まれる各実行パスの単体の実行時間が、各実行パスのタスクの上限時間を超えるか否かを判定し、
配列パターンごとに、配列パターンに含まれる各実行パスの単体の実行時間を合計した合計値が、各実行パスのタスクの上限時間を合計した合計値を超えるか否かを判定し、
いずれかの実行パスの単体の実行時間が上限値を超える配列パターン及び実行時間の合計値が上限時間の合計値を超える配列パターンの少なくともいずれかを選択し、
選択した配列パターンに含まれる実行パスが順に実行された場合の実行パスの実行時間を実行パスごとに算出することを特徴とする請求項1に記載のプログラム解析装置。 - 前記実行時間算出部は、
キャッシュメモリが実装されていないプログラム実行環境で各実行パスが単体で実行された場合の実行時間を算出することを特徴とする請求項6に記載のプログラム解析装置。 - 前記実行時間算出部は、
キャッシュメモリが実装されているプログラム実行環境で、各実行パスの実行開始時に前記キャッシュメモリにデータが存在しない状態で各実行パスが単体で実行された場合の実行時間を算出することを特徴とする請求項6に記載のプログラム解析装置。 - 前記実行時間算出部は、
選択した配列パターンのうち、配列パターンに含まれる各実行パスの単体の実行時間を合計した合計値が大きい配列パターンから順に、配列パターンに含まれる実行パスが順に実行された場合の実行パスの実行時間を実行パスごとに算出することを特徴とする請求項6に記載のプログラム解析装置。 - 前記実行パス抽出部は、
複数のリアルタイムタスクが生成される、複数のブロックで構成されたプログラムを解析し、リアルタイムタスクごとに、リアルタイムタスクにおいて実行されるブロック群を実行順に実行パスとして抽出し、
前記配列パターン生成部は、
前記プログラム実行時のリアルタイムタスクの生成順序に従って、各リアルタイムタスクに対応する実行パスを配列させるとともに、実行パスの組合せを変化させて複数の配列パターンを生成し、
前記実行時間算出部は、
配列パターンごとに、配列パターンに含まれる実行パスが順に実行された場合の実行パスの実行時間を実行パスごとに算出することを特徴とする請求項1に記載のプログラム解析装置。 - 前記実行時間算出部は、
キャッシュメモリが実装されているプログラム実行環境で、配列パターンごとに、特定の実行順序の実行パスの実行開始時に前記キャッシュメモリにデータが存在しない状態で当該実行パスが実行された場合の実行パスの実行時間を実行パスごとに算出することを特徴とする請求項10に記載のプログラム解析装置。 - 前記プログラム解析装置は、更に、
タスクごとに、上限の実行時間が上限時間として記述される上限時間情報を記憶する上限時間情報記憶部と、
前記実行時間算出部が全ての配列パターンに対して実行パスの実行時間の算出を終える前に、前記実行時間算出部により算出された各実行パスの実行時間が、各実行パスのタスクの上限時間を超えていないかを判定する判定部とを有し、
前記実行時間算出部は、
前記判定部により、いずれかの配列パターンにおいて、いずれかの実行パスの実行時間が上限時間を超えていると判定された場合に、以降の実行時間の算出を取りやめることを特徴とする請求項6に記載のプログラム解析装置。 - コンピュータが、複数のタスクが生成される、複数のブロックで構成されたプログラムを解析し、タスクごとに、タスクにおいて実行されるブロック群を実行順に実行パスとして抽出する実行パス抽出ステップと、
前記コンピュータが、前記プログラム実行時のタスクの生成順序に従って、各タスクに対応する実行パスを配列させるとともに、実行パスの組合せを変化させて複数の配列パターンを生成する配列パターン生成ステップと、
前記コンピュータが、配列パターンごとに、配列パターンに含まれる実行パスが順に実行された場合の実行パスの実行時間を実行パスごとに算出する実行時間算出ステップとを有することを特徴とするプログラム解析方法。 - 複数のタスクが生成される、複数のブロックで構成されたプログラムを解析し、タスクごとに、タスクにおいて実行されるブロック群を実行順に実行パスとして抽出する実行パス抽出処理と、
前記プログラム実行時のタスクの生成順序に従って、各タスクに対応する実行パスを配列させるとともに、実行パスの組合せを変化させて複数の配列パターンを生成する配列パターン生成処理と、
配列パターンごとに、配列パターンに含まれる実行パスが順に実行された場合の実行パスの実行時間を実行パスごとに算出する実行時間算出処理とをコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014042575A JP6218645B2 (ja) | 2014-03-05 | 2014-03-05 | プログラム解析装置及びプログラム解析方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014042575A JP6218645B2 (ja) | 2014-03-05 | 2014-03-05 | プログラム解析装置及びプログラム解析方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015169997A JP2015169997A (ja) | 2015-09-28 |
JP6218645B2 true JP6218645B2 (ja) | 2017-10-25 |
Family
ID=54202717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014042575A Active JP6218645B2 (ja) | 2014-03-05 | 2014-03-05 | プログラム解析装置及びプログラム解析方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6218645B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291767B (zh) * | 2016-04-11 | 2020-07-17 | 西门子工厂自动化工程有限公司 | 任务执行时间的优化处理方法和装置 |
WO2018123065A1 (ja) | 2016-12-29 | 2018-07-05 | 三菱電機株式会社 | プログラム解析システム、プログラム解析装置、プログラム解析方法および解析プログラム |
JP7457589B2 (ja) * | 2020-07-01 | 2024-03-28 | 日立Astemo株式会社 | 情報処理装置、情報処理方法、および情報処理システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10061001B4 (de) * | 2000-12-08 | 2005-05-04 | Robert Bosch Gmbh | Verfahren und Steuergerät zur Steuerung von technischen Vorgängen in einem Kraftfahrzeug, sowie Speicherelement und Steuerprogramm hierfür |
JP2003288237A (ja) * | 2002-03-27 | 2003-10-10 | Hitachi Ltd | 制御装置における実行時間測定装置及び実行時間測定方法 |
JP4905597B1 (ja) * | 2011-03-15 | 2012-03-28 | オムロン株式会社 | コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体 |
WO2013128519A1 (ja) * | 2012-03-02 | 2013-09-06 | 日本電気株式会社 | 限界実行時間解析装置及び限界実行時間解析方法並びにプログラムを格納した非一時的なコンピュータ可読媒体 |
-
2014
- 2014-03-05 JP JP2014042575A patent/JP6218645B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015169997A (ja) | 2015-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140012562A1 (en) | Modeling and evaluating application performance in a new environment | |
JP2014513373A5 (ja) | ||
Sunwoo et al. | A structured approach to the simulation, analysis and characterization of smartphone applications | |
CN108885579B (zh) | 用于根据核追踪进行数据挖掘的方法和设备 | |
Ouyang et al. | Straggler detection in parallel computing systems through dynamic threshold calculation | |
US10101796B2 (en) | Processor power estimation | |
JP6218645B2 (ja) | プログラム解析装置及びプログラム解析方法及びプログラム | |
CN114286984A (zh) | 工作负载性能预测 | |
Hassani et al. | LiveSim: Going live with microarchitecture simulation | |
US8340952B2 (en) | Power estimation method and device therefor | |
WO2018032897A1 (zh) | 报文转发性能评估方法、装置和计算机存储介质 | |
US7089406B2 (en) | Method and apparatus for controlling program instruction completion timing for processor verification | |
JP2012509546A (ja) | 組み込みシステムをシミュレートするための方法及びデータ処理システム | |
EP3077910B1 (en) | Methods and apparatus to optimize platform simulation resource consumption | |
US20160026741A1 (en) | Calculating device, calculation method, and calculation program | |
JP6249827B2 (ja) | シミュレーション装置及びシミュレーションプログラム | |
Neves et al. | Mremu: An emulation-based framework for datacenter network experimentation using realistic mapreduce traffic | |
JP5454349B2 (ja) | 性能推定装置 | |
Cornelis et al. | The pipeline performance model: a generic executable performance model for GPUs | |
KR102007881B1 (ko) | 빠르고 정확한 실행 시간 예측을 위한 하이브리드 명령어 집합 시뮬레이션 방법 및 시스템 | |
JPWO2017149641A1 (ja) | シミュレーション装置 | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム | |
CN103955357A (zh) | 一种动态二进制翻译指令集模拟器计时方法 | |
JP6223637B2 (ja) | シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム | |
KR101918051B1 (ko) | Epoch 기반의 시뮬레이션 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170807 |
|
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: 20170829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170926 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6218645 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |