「PIONEチュートリアル-XES」の版間の差分
行53: | 行53: | ||
では、[[PIONEチュートリアル-PNML#基本3(複数種類の入出力がある処理)]]のログを確認してみましょう。<br> | では、[[PIONEチュートリアル-PNML#基本3(複数種類の入出力がある処理)]]のログを確認してみましょう。<br> | ||
− | まずはTime optionをRelative(Ratio)に設定すると、タイムラインの全体像が見えるようになります。そして、コンポーネントをTask IDに設定してみましょう。<br> | + | まずはTime optionをRelative(Ratio)(Time)に設定すると、タイムラインの全体像が見えるようになります。そして、コンポーネントをTask IDに設定してみましょう。<br> |
+ | [[画像:PIONE-PNML-Basic3-ProM-1.png]]<br> | ||
[[画像:PIONE-PNML-Basic3-ProM.png]]<br> | [[画像:PIONE-PNML-Basic3-ProM.png]]<br> | ||
上図では1, 2行目でMainRule、5行目からTextSed、10行目からTextSwapの処理の流れを見ることができます。<br> | 上図では1, 2行目でMainRule、5行目からTextSed、10行目からTextSwapの処理の流れを見ることができます。<br> | ||
行66: | 行67: | ||
[[PIONEチュートリアル-PNML#基本3(複数種類の入出力がある処理)]]のマルチタスクでの動作ログを比較してみましょう。<br> | [[PIONEチュートリアル-PNML#基本3(複数種類の入出力がある処理)]]のマルチタスクでの動作ログを比較してみましょう。<br> | ||
− | <p align="center">[[画像:PIONE-PNML-Basic3-ProM2.png]]<br> | + | <p align="center">[[画像:PIONE-PNML-Basic3-ProM2-1.png]]<br> |
+ | [[画像:PIONE-PNML-Basic3-ProM2.png]]<br> | ||
t=2<br> | t=2<br> | ||
+ | [[画像:PIONE-PNML-Basic3-ProM3-1.png]]<br> | ||
[[画像:PIONE-PNML-Basic3-ProM3.png]]<br> | [[画像:PIONE-PNML-Basic3-ProM3.png]]<br> | ||
t=8<br></p> | t=8<br></p> | ||
行75: | 行78: | ||
<br> | <br> | ||
− | <p align="center">[[画像:PIONE-PNML-Basic3-ProM4.png]]<br> | + | <p align="center">[[画像:PIONE-PNML-Basic3-ProM4-1.png]]<br> |
+ | [[画像:PIONE-PNML-Basic3-ProM4.png]]<br> | ||
t=16<br></p> | t=16<br></p> | ||
しかし、タスク数が多すぎるとタスクの準備と後処理の時間が増えるばかりで、本処理の速さはあまり変わらず逆に効率が悪くなってしまいます。従って、使用する[[pione定義書]]あるいは[[PNML]]と入出力のファイル数などから効率の良いタスク数を設定することも重要です。<br> | しかし、タスク数が多すぎるとタスクの準備と後処理の時間が増えるばかりで、本処理の速さはあまり変わらず逆に効率が悪くなってしまいます。従って、使用する[[pione定義書]]あるいは[[PNML]]と入出力のファイル数などから効率の良いタスク数を設定することも重要です。<br> | ||
<br> | <br> |
2014年11月6日 (木) 05:58時点における版
PIONEは実行後にその処理結果をログファイルとして出力します。このログファイルをシーケンス図やグラフにすることで、処理の流れや並列の状況を確認することができます。
目次
ProMを利用したログファイルの可視化
ProMを用いて、ログファイルを閲覧する方法を示します。
ログファイルの確認
PIONEコマンドで出力されるログファイルから処理の流れを確認してみましょう。
PIONEチュートリアル-PNML#基本3(複数種類の入出力がある処理)を実行ログを確認してみます。
ログファイルからXESファイルへの変換
PIONEコマンドを実行すると-bで指定したディレクトリ内にログファイル(pione-process.log)が出力されます。
これをProMでインポートできる形式であるXESファイルに変換します。
変換処理は下記のように行います。
pione log format TextSwapSed/pione-process.log > log.xes
変換ファイル名の拡張子を.xes以外にするとProMで読み取れない場合があるので、ご注意ください。
XESファイルをProMで開く
ProMを起動後、まずウィンドウの右上にあるimport...ボタンを押すとファイルダイアログが開きますので、閲覧したいXESファイルを選択します。
選択したXESファイルが表示されますので、次はウィンドウの右側にある▼(Use resource)ボタンを押します。
すると、下記のようなActionsが表示されますので、表示したい内容に合わせてActionを選択し、下部のStartボタンを押すとグラフや図が表示されます。今回はAnalyze using Dotted Chartを選択してみましょう。
Dotted Chartでのログ閲覧
Dotted Chartでの閲覧内容を示します。
Component type: ドットを表示するコンポーネントを選択します。 |
では、PIONEチュートリアル-PNML#基本3(複数種類の入出力がある処理)のログを確認してみましょう。
まずはTime optionをRelative(Ratio)(Time)に設定すると、タイムラインの全体像が見えるようになります。そして、コンポーネントをTask IDに設定してみましょう。
上図では1, 2行目でMainRule、5行目からTextSed、10行目からTextSwapの処理の流れを見ることができます。
また、ColorやShape/SizeをEventにするとschedule, start, completeなどの違いが分かりやすくなります。
上図では茶四角がschedule、桃丸がstart、水三角がcompleteとなっています。今回はシングルタスクで行っているので、6 ~ 9行目、10 ~ 13行目に着目してみると順番に逐次処理していることがよく分かります。また、1, 2行目の紫四角がsuspend、緑菱形がresumeとなっていますので、その間でMainで呼び出しから返ってくるまでの時間を見ることもできます。
並列処理の比較
PIONEコマンドを並列で処理したときに意図通りの並列処理をしているかを見てみます。
PIONEチュートリアル-PNML#基本3(複数種類の入出力がある処理)のマルチタスクでの動作ログを比較してみましょう。
t=2では2つずつ, t=8では8つずつそれぞれ並列処理が行われ、Mainのsuspend - resume間の割合も少なくなっています。
しかし、タスク数が多すぎるとタスクの準備と後処理の時間が増えるばかりで、本処理の速さはあまり変わらず逆に効率が悪くなってしまいます。従って、使用するpione定義書あるいはPNMLと入出力のファイル数などから効率の良いタスク数を設定することも重要です。