並行システム設計・解析支援技術
概要
並行システムの開発工程を改善(信頼性の向上、コストの削減)するため、欠陥の少ない並行処理(協調する複数の処理)の設計モデルの作成方法と、その設計モデルの欠陥を検出するための解析方法の研究を行っています。その設計・解析を支援するために、CONPASUというツールを研究開発しています。既存の技術との連携も可能で、企業が蓄積した開発スキルやツールなどの貴重な資産をさらに活かす形で、QCD(品質、コスト、開発期間)を総合的に改善することを目指しています。
研究の背景
ネットワークやマルチコアの普及によって、並行システムが身近になってきています。並行システムでは、複数の処理が協調して複数のタスクを同時に処理(並行処理)するため、応答性や冗長性を向上できます。しかし、複数の処理の相互作用は複雑で、並行処理の全体像を的確に把握することは容易ではありません。さらに、デッドロックやリソース競合などの並行処理特有の欠陥は再現性が低く、テストでは検出が難しいという問題があります。そのため、潜在化した欠陥がリリース後に発見されることもあります。そこで、信頼性の高い並行システムの設計支援を目的として、設計モデルの並行処理を解析するためのツールCONPASUを開発しています。欠陥を設計段階で早期に検出できるため、信頼性の向上だけでなく、開発工程における手戻りコストの削減も期待できます。
研究内容
並行システム設計・解析支援ツールCONPASUの開発
複雑な並行処理の全体像を解析して、簡潔に可視化するツールCONPASUを開発しています。その解析の正さの根拠には、並行処理を記述・解析するための理論であるCSP(プロセス代数)を用いています。CSP理論を基に、複数の処理の合成方法と、その状態数の削減方法を研究し、その成果をCONPASUツールとして実装しています。
既存技術/モデルとの連携方法の調査・検討
CONPASUへ入力するモデル記述言語には、CSPの代表的なツールであるFDRの記述言語CSPMを採用しています。これによって、CSPMに関連する既存の研究成果やツールを利用することができます。例えば、UMLモデルをCSPMに変換するツールを利用すれば、FDRとCONPASUを併用したUMLモデルの解析も可能になります。既存技術/モデルとの効果的な連携方法を検討しています。
CSPモデルベース開発工程の確立
既存のモデルをCSPモデルに変換してCONPASUで解析することもできますが、設計段階からCSPモデルを採用することによって、より欠陥の少ない並行システムの開発が可能になります。そのような開発工程をCSPモデルベース開発工程と呼んでいます。CSPは同期型のメッセージパッシング通信に基づく理論であるため、その振舞いは共有メモリ通信よりもわかりやすいという利点があります。また、並行処理とデータ処理を比較的分離して設計しやすいという特徴があり、設計と解析の効率化が可能になります。このようなCSPモデルベース開発工程の確立を目指しています。
担当研究者
主な研究成果
- Yoshinao Isobe, CONPASU-tool: A Concurrent Process Analysis Support Tool based on Symbolic Computation, CPA 2011 (Communicating Process Architectures 2011, the 33rd WoTUG conference on concurrent and parallel programming), IOS Press, pp.341-362, Ireland, June 2011.
- Yoshinao Isobe, CONPASU-tool: A Prototype of a Concurrent Process Analysis Support Tool based on Symbolic Computation (written in Japanese), FOSE 2010 (17th Workshop on Foundation of Software Engineering), Japanese Lecture Notes Series 36, Kindai-kagaku-sha, pp.65-74, 2010.