「PIONEコマンドのTIPS」の版間の差分

提供: Eospedia
移動: 案内検索
(pione定義書、パッケージ)
(PIONEの式の結果をシェルコマンドで出力したい)
 
(同じ利用者による、間の12版が非表示)
行1: 行1:
 [[PIONE]]コマンド作成に関するTIPSを示します。実装例は[[PIONEチュートリアル]]、[[PIONEチュートリアル-PNML]]、実行例は[[PIONE Webclientチュートリアル]]をご覧下さい。<br>
+
 ここでは[[PIONE]][[コマンド]]に関するTIPSを示します。<br>
 
<br>
 
<br>
  
== [[pione定義書]]、パッケージ ==
+
== [[PIONE定義書]]やパッケージの実行 ==
=== [[pione定義書]]やパッケージの実行 ===
+
=== ログ(pione-process.log)の見方 ===
==== ログ(pione-process.log)の見方 ====
+
 
主にpione log formatを使用して出力されたファイルを[[ProM]]で閲覧すると見やすいです。詳しくは[[PIONEチュートリアル-XES]]をご覧下さい。<br>
 
主にpione log formatを使用して出力されたファイルを[[ProM]]で閲覧すると見やすいです。詳しくは[[PIONEチュートリアル-XES]]をご覧下さい。<br>
 
<br>
 
<br>
  
==== 不要ファイルを削除したい ====
+
=== 実行結果をファイル出力するとき ===
 +
他のコマンドと同様にシェルコマンド'''>'''などを用いて、ファイルへ出力することができますが、このときはオプション--color falseを使用して下さい。これはpioneコマンドの実行結果が標準出力されるとき、端末に対しての色制御文字列も同時に送るため、そのままテキスト化すると色制御文字を含んだ出力となってしまうためです。<br>
 +
<br>
 +
 
 +
実行例<br>
 +
<table>
 +
<tr>
 +
<td>デフォルト</td>
 +
<td>--color false</td>
 +
</tr>
 +
<tr>
 +
<td>
 +
<pre>
 +
$ pione-client HelloWorld.pione > out.txt
 +
</pre>
 +
</td>
 +
<td>
 +
<pre>
 +
$ pione-client HelloWorld.pione --color false  > out.txt
 +
</pre>
 +
</td>
 +
</tr>
 +
<tr>
 +
<td>out.txt</td>
 +
<td>out.txt</td>
 +
</tr>
 +
<tr>
 +
<td>
 +
<pre>
 +
�[32m  ==>�[0m &Anonymous:Root([],{})
 +
  �[32m  -->�[0m Rule Application: &Anonymous:Root([],{})
 +
    �[32m  -->�[0m Distribution: &Anonymous:Root([],{})
 +
      �[34m    �[0m �[33m>>> &Anonymous:Main([],{})�[0m
 +
�[32m  ==>�[0m &Anonymous:Main([],{})
 +
�[32m  SH�[0m ------------------------------------------------------------
 +
�[32m  SH�[0m echo "Hello PIONE world !" > message.txt
 +
�[32m  SH�[0m ------------------------------------------------------------
 +
    �[32m  <--�[0m Distribution: &Anonymous:Root([],{})
 +
�[32m  <==�[0m &Anonymous:Main([],{})
 +
  �[32m  <--�[0m Rule Application: &Anonymous:Root([],{})
 +
�[32m  <==�[0m &Anonymous:Root([],{})
 +
</pre>
 +
</td>
 +
<td>
 +
<pre>
 +
  ==> &Anonymous:Root([],{})
 +
    --> Rule Application: &Anonymous:Root([],{})
 +
      --> Distribution: &Anonymous:Root([],{})
 +
            >>> &Anonymous:Main([],{})
 +
  ==> &Anonymous:Main([],{})
 +
  SH ------------------------------------------------------------
 +
  SH echo "Hello PIONE world !" > message.txt
 +
  SH ------------------------------------------------------------
 +
  <== &Anonymous:Main([],{})
 +
      <-- Distribution: &Anonymous:Root([],{})
 +
    <-- Rule Application: &Anonymous:Root([],{})
 +
  <== &Anonymous:Root([],{})
 +
</pre>
 +
</td>
 +
</tr>
 +
</table>
 +
<br>
 +
 
 +
=== 不要ファイルを削除したい ===
 
下記のコマンドで[[PIONE]]動作時に作成される作業ファイルのうち使用していないものを削除することができます。動作が遅いときやメンテナンスしたいときに使用してみましょう。<br>
 
下記のコマンドで[[PIONE]]動作時に作成される作業ファイルのうち使用していないものを削除することができます。動作が遅いときやメンテナンスしたいときに使用してみましょう。<br>
 
<pre>
 
<pre>
行15: 行77:
 
<br>
 
<br>
  
==== デバッグモード実行 ====
+
== デバッグ ==
 +
=== デバッグモード実行 ===
 
pioneで始まる[[PIONE]]のコマンドのほとんどは--debugを付けるとデバッグモードで起動することができます。エラー報告の情報の一つとして利用できます。<br>
 
pioneで始まる[[PIONE]]のコマンドのほとんどは--debugを付けるとデバッグモードで起動することができます。エラー報告の情報の一つとして利用できます。<br>
 
<pre>
 
<pre>
行26: 行89:
 
-後略-
 
-後略-
 
</pre>
 
</pre>
 +
<br>
 +
 +
=== [[PIONEの式]]の結果をシェルコマンドで出力したい ===
 +
[[pione val]]を使用することによって、[[PIONE]]の記述による式の結果を出力することができます。複雑な式が正しく動作しているかシェルコマンドにてテストするときにも利用できます。<br>
 
<br>
 
<br>
  
 
== アクションファイル ==
 
== アクションファイル ==
 
=== デバッグ方法 ===
 
=== デバッグ方法 ===
==== pione action ====
+
アクションファイルのテスト・デバッグとして[[pione action]]を利用することができます。<br>
アクションファイルのテスト・デバッグのためにpione actionを利用することができます。<br>
+
<br>
+
 
+
===== list =====
+
pione action listはアクションファイル内のルール(transition)名をリストとして出力します。<br>
+
<pre>
+
/PIONE-PNML$ pione action list Basic2/Serial2.md
+
First
+
Second
+
</pre>
+
<br>
+
 
+
===== print =====
+
pione action printはアクションファイル内の指定したルール(transition)のコードを出力します。<br>
+
<pre>
+
/PIONE-PNML$ pione action print Basic2/Serial2.md First
+
awk '{print $1*2}' {$I[1]} > {$O[1]}
+
/PIONE-PNML$ pione action print Basic2/Serial2.md Second
+
awk '{print $1+1}' {$I[1]} > {$O[1]}
+
</pre>
+
<br>
+
 
+
===== exec =====
+
pione action execはアクションファイル内の指定したルール(transition)のコードを実行します。<br>
+
<pre>
+
/PIONE-PNML$ pione action exec Basic1/HelloWorld.md Hello
+
/PIONE-PNML$ cat {[1]}
+
Hello PIONE world !
+
</pre>
+
 
<br>
 
<br>

2015年2月24日 (火) 00:59時点における最新版

 ここではPIONEコマンドに関するTIPSを示します。

PIONE定義書やパッケージの実行

ログ(pione-process.log)の見方

主にpione log formatを使用して出力されたファイルをProMで閲覧すると見やすいです。詳しくはPIONEチュートリアル-XESをご覧下さい。

実行結果をファイル出力するとき

他のコマンドと同様にシェルコマンド>などを用いて、ファイルへ出力することができますが、このときはオプション--color falseを使用して下さい。これはpioneコマンドの実行結果が標準出力されるとき、端末に対しての色制御文字列も同時に送るため、そのままテキスト化すると色制御文字を含んだ出力となってしまうためです。

実行例

デフォルト --color false
$ pione-client HelloWorld.pione > out.txt
			
$ pione-client HelloWorld.pione --color false  > out.txt
			
out.txt out.txt
�[32m  ==>�[0m &Anonymous:Root([],{})
  �[32m  -->�[0m Rule Application: &Anonymous:Root([],{})
    �[32m  -->�[0m Distribution: &Anonymous:Root([],{})
      �[34m     �[0m �[33m>>> &Anonymous:Main([],{})�[0m
�[32m  ==>�[0m &Anonymous:Main([],{})
�[32m   SH�[0m ------------------------------------------------------------
�[32m   SH�[0m 	echo "Hello PIONE world !" > message.txt
�[32m   SH�[0m ------------------------------------------------------------
    �[32m  <--�[0m Distribution: &Anonymous:Root([],{})
�[32m  <==�[0m &Anonymous:Main([],{})
  �[32m  <--�[0m Rule Application: &Anonymous:Root([],{})
�[32m  <==�[0m &Anonymous:Root([],{})
			
  ==> &Anonymous:Root([],{})
    --> Rule Application: &Anonymous:Root([],{})
      --> Distribution: &Anonymous:Root([],{})
            >>> &Anonymous:Main([],{})
  ==> &Anonymous:Main([],{})
   SH ------------------------------------------------------------
   SH 	echo "Hello PIONE world !" > message.txt
   SH ------------------------------------------------------------
  <== &Anonymous:Main([],{})
      <-- Distribution: &Anonymous:Root([],{})
    <-- Rule Application: &Anonymous:Root([],{})
  <== &Anonymous:Root([],{})
			


不要ファイルを削除したい

下記のコマンドでPIONE動作時に作成される作業ファイルのうち使用していないものを削除することができます。動作が遅いときやメンテナンスしたいときに使用してみましょう。

$ pione clean


デバッグ

デバッグモード実行

pioneで始まるPIONEのコマンドのほとんどは--debugを付けるとデバッグモードで起動することができます。エラー報告の情報の一つとして利用できます。

$ pione-client HelloWorld.pione --debug
debug: "pione-client" has executed an item "validate_task_worker_size" at the phase "". [/Eos/pione/lib/rootage/core.rb:425:in `execute_item'] (2014-12-05T17:01:42.709+09:00, #22178)
debug: "pione-client" has executed an item "stream_location" at the phase "". [/Eos/pione/lib/rootage/core.rb:425:in `execute_item'] (2014-12-05T17:01:42.710+09:00, #22178)
debug: "pione-client" has executed an item "option" at the phase "init". [/Eos/pione/lib/rootage/core.rb:425:in `execute_item'] (2014-12-05T17:01:42.710+09:00, #22178)
debug: "pione-client" has executed an item "argument" at the phase "init". [/Eos/pione/lib/rootage/core.rb:425:in `execute_item'] (2014-12-05T17:01:42.710+09:00, #22178)

-後略-


PIONEの式の結果をシェルコマンドで出力したい

pione valを使用することによって、PIONEの記述による式の結果を出力することができます。複雑な式が正しく動作しているかシェルコマンドにてテストするときにも利用できます。

アクションファイル

デバッグ方法

アクションファイルのテスト・デバッグとしてpione actionを利用することができます。