「PIONE」の版間の差分
(→技術上の特徴) |
(→技術上の特徴) |
||
行12: | 行12: | ||
技術的には、次の点に注目しています。 | 技術的には、次の点に注目しています。 | ||
+ | === アルゴリズム関連 === | ||
[[前向き推論]]: makeで採用されていた[[後ろ向き連鎖]]([[後ろ向き推論]])ではなく、[[前向き連鎖]]([[前向き推論]])に変更しました。これらの推論規則は、これらは人工知能の分野で使われている推論規則です。[[前向き連鎖]]を採用したのは、変化に対応して行うべき処理の自由度を上げることを目的としたものです。 | [[前向き推論]]: makeで採用されていた[[後ろ向き連鎖]]([[後ろ向き推論]])ではなく、[[前向き連鎖]]([[前向き推論]])に変更しました。これらの推論規則は、これらは人工知能の分野で使われている推論規則です。[[前向き連鎖]]を採用したのは、変化に対応して行うべき処理の自由度を上げることを目的としたものです。 | ||
行20: | 行21: | ||
[[LINDA]]: [[LINDA]]形式の並列処理環境を採用しました。これにより、[[タプル空間]]を共有空間として用いた並列処理(強調計算システム)が可能になりました。ネットワーク越しの並列計算処理が可能となる仕組みとなるように採用しました。 | [[LINDA]]: [[LINDA]]形式の並列処理環境を採用しました。これにより、[[タプル空間]]を共有空間として用いた並列処理(強調計算システム)が可能になりました。ネットワーク越しの並列計算処理が可能となる仕組みとなるように採用しました。 | ||
− | [[ | + | [[ワークフロー]]:ワークフローは、PIONEが目指すようなプロセス管理の分野で研究が進んでいる一つの研究パラダイムです。オブジェクト指向のデザインパターンのように、ワークフローもパターニングの研究が進んでいます。ここでは、PIONEの抽象的なワークフローに利用できると考えています。 |
− | [[ | + | [[ペトリネット]]:ペトリネットは、離散分散システムを数学的に表現する手法であり、分散システムを注釈付きの有効2部グラフを用いて、視覚的に表現します.ワークフローなどのシステムの動的な動きを表現する方法です。PIONEでは、ペトリネットで表現される分散システムに類似のシステムを表現できます. |
− | [[ | + | [[特性(PIONE)]]: それぞれのタスクを行うサーバ側が自らの特性を理解して、特性を活かせるタスクを優先的に実行する仕組み(feature)を持たせました。これにより、ネゴシエーションの後ろ盾となるそれぞれの個性を作り出しています。 |
− | + | === PIONEの特徴 === | |
− | [[ | + | [[ファイルベース(PIONE)]]:ファイルという単位のデータをInput/Outputの基礎としました。UNIXは、デバイスも含めて、全てファイルを単位としてOSが作成されています。ファイル(ストリーム含む)を単位とすることにより、個々のアプリケーションやAPIが独立して作成できるようになりました。このことがUNIXというOSを普及させた原因のひとつだと考えています。 |
+ | [[隠蔽化パッケージ]]:隠蔽化されたルールを、パッケージを呼び出すことで利用することが出来ます。呼び出し順序をかえることで、オーバーライドすることが可能であり、パッケージの継承が可能となっています。それぞれの画像処理後とのフロールールを規定した後、特定のアクション・ルールを設定することで、同じ流れの画像処理を異なる処理方法を用いて実行することが出来ます。 | ||
+ | |||
+ | === 標準フォーマット === | ||
[[PNML]]:PNML(Petri Net Markup Language)は、ペトリネットを表現するための標準フォーマットです。http://www.pnml.orgが正式なサイトです。PIONEでは、アクション、入出力をそれぞれトランジッション、プレートとして記述されたPNMLと具体的なアクションの内容を記述したMarkdownとから、PIONEの定義書を生成するためのコンパイラを用意しています。 | [[PNML]]:PNML(Petri Net Markup Language)は、ペトリネットを表現するための標準フォーマットです。http://www.pnml.orgが正式なサイトです。PIONEでは、アクション、入出力をそれぞれトランジッション、プレートとして記述されたPNMLと具体的なアクションの内容を記述したMarkdownとから、PIONEの定義書を生成するためのコンパイラを用意しています。 | ||
[[Markdown]]: 具体的なアクションを記述するためにMarkdownを利用しています。PNMLと組み合わせて、定義書を表現できます。 | [[Markdown]]: 具体的なアクションを記述するためにMarkdownを利用しています。PNMLと組み合わせて、定義書を表現できます。 | ||
− | [[ | + | [[XES]]:イベントログとしては、[[XES]]形式を採用することにしました。これは、[[ワークフロー]]の研究分野などで標準化がすすんでいるものです。 |
2013年12月5日 (木) 23:03時点における版
PIONE(ピオーネ: Process-rule for Input/Output Negotiation Environmentは、makeによる記述方法の不足を補い、かつ、分散環境/クラウド環境での実行を可能とした、プロセス定義書のためのプラットフォームです。その詳細は、PIONEの詳細をご覧下さい。
機能上の特徴
第一に、入出力ファイルリスト、及び、パラメターの編集時間を更新判定基準に利用し、ワークフローに従ったプロセス制御がなされます。また、makeと異なり、フローは解析順に従ってなされ、ストリーム型入力にも対応することにしています。このことから、電子顕微鏡写真を撮りおわった段階から随時作業に対応していけるようになります。 更に、ワークフローパラダイムによるフローのパータンニング、ログのマイニングなどの情報技術を取り込んでいくことができるような方向性を検討しています。
第二に、クラスタ環境、クラウド環境を含む並列処理環境、とくに、それぞれのサーバ毎に機能性が異なるヘテロな環境での並列プロセスの実行を意図した作りになっています。現在は、LINDA形式のタプル空間を利用した並列処理環境を採用し、クラウド型のファイルサーバ(dropbox等)にも対応しています。このことは、TRONプロジェクトがめざす「協調型機能分散システム」に近いイメージをもつ概念で、それぞれのエージェント(タスクワーカー)が、特性(feature)に応じて、協調して仕事をします。その中では、ネゴシエーション(negotiation: 交渉)が重要となる、「関係構築交渉型分散処理環境」とよぶべきものであることを考えています。
技術上の特徴
技術的には、次の点に注目しています。
アルゴリズム関連
前向き推論: makeで採用されていた後ろ向き連鎖(後ろ向き推論)ではなく、前向き連鎖(前向き推論)に変更しました。これらの推論規則は、これらは人工知能の分野で使われている推論規則です。前向き連鎖を採用したのは、変化に対応して行うべき処理の自由度を上げることを目的としたものです。
ルールベース:前向き推論を実践するために、データ駆動型のルールベースシステムを採用しています。また、これにより、エージェント間のネゴシエーションを実現しています。
ストリーム処理:変更があるたびに随時、プロセスが実行されるシステムとするために、ルールがストリーム処理に対応できるように設計しています。
LINDA: LINDA形式の並列処理環境を採用しました。これにより、タプル空間を共有空間として用いた並列処理(強調計算システム)が可能になりました。ネットワーク越しの並列計算処理が可能となる仕組みとなるように採用しました。
ワークフロー:ワークフローは、PIONEが目指すようなプロセス管理の分野で研究が進んでいる一つの研究パラダイムです。オブジェクト指向のデザインパターンのように、ワークフローもパターニングの研究が進んでいます。ここでは、PIONEの抽象的なワークフローに利用できると考えています。
ペトリネット:ペトリネットは、離散分散システムを数学的に表現する手法であり、分散システムを注釈付きの有効2部グラフを用いて、視覚的に表現します.ワークフローなどのシステムの動的な動きを表現する方法です。PIONEでは、ペトリネットで表現される分散システムに類似のシステムを表現できます.
特性(PIONE): それぞれのタスクを行うサーバ側が自らの特性を理解して、特性を活かせるタスクを優先的に実行する仕組み(feature)を持たせました。これにより、ネゴシエーションの後ろ盾となるそれぞれの個性を作り出しています。
PIONEの特徴
ファイルベース(PIONE):ファイルという単位のデータをInput/Outputの基礎としました。UNIXは、デバイスも含めて、全てファイルを単位としてOSが作成されています。ファイル(ストリーム含む)を単位とすることにより、個々のアプリケーションやAPIが独立して作成できるようになりました。このことがUNIXというOSを普及させた原因のひとつだと考えています。
隠蔽化パッケージ:隠蔽化されたルールを、パッケージを呼び出すことで利用することが出来ます。呼び出し順序をかえることで、オーバーライドすることが可能であり、パッケージの継承が可能となっています。それぞれの画像処理後とのフロールールを規定した後、特定のアクション・ルールを設定することで、同じ流れの画像処理を異なる処理方法を用いて実行することが出来ます。
標準フォーマット
PNML:PNML(Petri Net Markup Language)は、ペトリネットを表現するための標準フォーマットです。http://www.pnml.orgが正式なサイトです。PIONEでは、アクション、入出力をそれぞれトランジッション、プレートとして記述されたPNMLと具体的なアクションの内容を記述したMarkdownとから、PIONEの定義書を生成するためのコンパイラを用意しています。
Markdown: 具体的なアクションを記述するためにMarkdownを利用しています。PNMLと組み合わせて、定義書を表現できます。
XES:イベントログとしては、XES形式を採用することにしました。これは、ワークフローの研究分野などで標準化がすすんでいるものです。