Vol.3 No.3 2010
31/84
研究論文:複雑システムの信頼性を向上させる開発手法(加藤ほか)−207−Synthesiology Vol.3 No.3(2010)およびモデル検査については、表4に示すとおり、測定サブシステムおよび統合制御サブシステムにおいて、それぞれ5人時間および12人時間の工数を要した。ここで、ブリッジ技術を介し、モデル検査を実施することで検出した協調動作の不整合について考察する。サブシステム間における協調動作の不整合について、通常、それらを検出することが可能な開発フェーズは、システム開発の終盤に実施されるサブシステム同士を組み合わせたシステム試験である。システム試験においてサブシステム間における協調動作の不整合を検出した場合、その改修に多くの改修コストおよび改修期間を要する。文献[26]の中でBoehmは、要求仕様が確定した段階で要求の誤りを検出し修正する際のコストを1とした場合、試験において検出された場合には小規模システムで2、大規模システムで20ものコストを要すると分析している。表3に示す協調動作の不整合は、要求仕様を確定する段階において、モデル検査を適用しない限り見逃される可能性が高い不具合といえる。システム開発全体で考えた場合、ブリッジ技術およびモデル検査に要する工数は費用対効果の高い工数であると考える。6.2 開発手法の適用性この研究における開発手法は、特定の技術システムに特化したものではなく、技術システム全般の開発に適用することが可能な手法である。それは、システムを設計する際にシステム仕様を基にシステムを構成する要素を見出して構成要素を正しく協調動作させることでシステムの機能を実現することは、技術システム全般において共通的な概念であるためである。また、本開発手法は、適用対象システムにおける協調動作に関する固有の問題に対処することが可能な手法である。その理由は、協調動作の特徴に応じて評価観点およびモデル検査ツールを選択するブリッジ技術を有するためである。ただし、本開発手法の適用には注意すべき点がある。本開発手法では、構成要素の協調動作が整合していることを確認するために、モデル検査を採用している。モデル検査は、モデルが実現しうるすべての状態遷移において、与えられた性質が成り立つか否かを計算機により網羅的に検証する技術である。モデル検査におけるモデルの状態数が多い場合、状態の組み合わせが膨大になることでモデル検査が終了しない状態爆発という現象が生じることがある。つまり、アーキテクチャ設計の結果、構成要素の協調動作が極端に複雑になると、モデル検査による協調動作の検証が終了しない可能性がある。その場合、構成要素による協調動作が極端に複雑にならないように、再度、アーキテクチャ設計を実施する方策や協調動作に関する仕様のモデルの状態数を減らす方策などが必要になる。6.3 課題この研究における開発手法について、産業事例に対する有効性を確認することができた。しかし、本開発手法には今後に解決すべきいくつかの課題がある。課題の一つ目は本開発手法におけるブリッジ技術の課題である。ブリッジ技術においては協調動作が満たすべき性質を抽出する。一般に、モデル検査の対象が満たすべき性質には活性(liveness)および安全性(safety)が存在する[27]。活性は“検査対象がいつかは良い状態に到達する”という性質である。安全性は“検査対象が決して悪い状態に到達しない”という性質である。検査対象の活性に関する性質については、検査対象が実現すべき仕様そのものである場合が多い。そのため、検査対象の活性は検査対象の仕様もしくは検査対象仕様の基となった仕様から抽出することができる。しかし、検査対象の安全性に関する性質について、その多くは検査対象仕様および検査対象仕様の基になった仕様中に規定されることはない。したがって、検査対象における安全性の抽出については、本開発手法を適用するエンジニアの経験およびスキルに依存する可能性が高い。特に、安全性に関する協調動作が満たすべき性質の抽出については、協調動作の複雑性のため、適用するエンジニアに依存する傾向が強い可能性がある。課題の二つ目は本開発手法におけるモデル検査の課題である。モデル検査においては、構成要素の仕様および構成要素間のインタフェース仕様から抽出した協調動作に関図 13 測定サブシステムおよび統合制御サブシステム間インタフェース仕様における協調動作モデル
元のページ