INFORMATION CONTROL

信頼できる
ソフトウエアを構築するには

[2007年11月号]

この記事を :  印刷する プリントする ブックマーク  はてなブックマークに登録 この記事をクリップ! Buzzurlにブックマーク Yahoo!ブックマークに登録 メールで送る メールで送る
<<123 PAGE 3/3   目次に戻る
機械は孤立した島ではない

ソフトウエアの信頼性を向上するには、プログラマとソフトウエア・サプライヤが変わらなければならない。それを実現すれば、信頼性と品質を向上し、コストを低減することができる
出典:Control Engineer-ing、The Mathworks

 現在、こうした拡張性が確立していないのは残念なことである。というのも、アプリケーションが実行されるプラットフォームやシステムは、より大きなネットワークの一部分である場合が多いからだ。こうした組み合わせになると、ソフトウエアの信頼性に影響を及ぼす新たな課題が数多く存在し、制御エンジニアだけでは対応できない問題もある。

 バージニア州シャーロッツヴィルのGE Fanuc Automation社で、Proficy HMI/SCADAソフトウエアを担当する製品マーケティング・マネジャー、Roy Kok氏は、プラットフォームのオペレーティングシステム(ここではMicrosoft Windows NTまたはVista)は最新版に統一する必要があり、できればすべてのパッチを完全に導入すべきだと言う。ただし、重要性の低い部分の微修正を行う前にパッチを適用すると、ソフトウエアの信頼性に悪影響を与える可能性があるという。そこで、GE Fanuc社などのベンダーでは、熟練した技術者を使い、どのタイミングでパッチを適用するかを確定する業務を行っている。

 同様に、その他のソフトウエアやコンポーネントも、最初は問題がないように見えても、自動アプリケーションに悪影響を与える可能性がある。
 Kok氏はまた、重要度の低いものやテストされていない余分なソフトウエアを排除すればソフトウエアの信頼性は向上するが、それだけでは不十分だと言う。そこで必要になるのが、サードパーティー製コンポーネントや、その他の部分に起きる変化を検出する診断機能である。

 例えば、生産ラインがダウンしたときに、ある特定のリミットスイッチを参照している小さなコードを迂回(バイパス)すればラインを再稼働できるだろう。その場合、ソフトウエアの修正は後回しにして、該当するスイッチを迂回する変更を直ちに実施することが強く求められる。Kok氏は、こうした仮の解決策をそのまま放置してはならないと強調する。気づかれないまま放置すると、後になって故障の原因になるからである。これに対してGE Fanuc社の変更管理システムは、制御用ソフトウエアを定期的に自動スキャンし、バックアップファイルと比較して変更点を検出して、記録に残すことができる。


信頼はするが、検証もする
 スイスABB Process Automation社のシステムソフトウエア・アーキテクチャ担当ディレクタ、Jeffrey Harding氏もまた、同社の800xAソフトウエアに搭載した診断機能により、システムの動作と健康状態を確認していると言う。この製品は、例えば、ソフトウエアのコンポーネントがインストールされるのを監視し、その内容をすでにテスト済みの信頼できる設定と比較することができる。「これによって、サードパーティー製のものなど、テストされていないバージョンのコンポーネントがインストールされれば、それを検出することができる」(Harding氏)。

 米Siemens Engineering and Automation社で工学ソフトウエア製品のマーケティングを担当するEric Kaczor氏は、エンドユーザーが、多くの異なるソフトウエアを取り扱わなければならない現状を指摘する。これがバージョン管理とバージョン間の互換性の確保を困難にしている。これに対して使用される一つの方法では、ソフトウエアの時間を止めることによって問題を減らす方法がある。Siemens社では、ユーザーが保有する装置に必要なソフトウエアを、1枚の“ゴールデンDVD”に収めて提供している。Kaczor氏によると、こうした方法で提供するソフトウエアは、最新バージョンから多少は遅れるかもしれないが、最適な組み合わせを提供することによって、最新のソフトウエアでは達成できない性能を提供できるという。「すべてが確実に機能する組み合わせにしている」(同氏)。

 また、Siemens社では、出荷するソフトウエアのすべてが、同社が市場に出したすべてのハードウエアの組み合わせに対応するようにしているという。同社では、これを行うために、数多くの装置を詰め込んだ複数の部屋で、新しいソフトウエア製品の候補のすべてに対して、膨大な数の回帰テストを実施している。こうした確認は徹底的に行われているが、それでもすべてのサードパーティー製ソフトウエアを検証するのは不可能なため、100%の状態にはできない。

 カリフォルニア州テメキュラにあり、I/O機器、制御装置、ソフトウエアを供給するOpto 22社でも、他社と同様にソフトウエアを顧客にリリースする前に回帰テストを実施している。Opto 22社の品質保証グループのシニア・エンジニアRoger Herrscher氏によると、同社では対象範囲に含まれるハードウエアのすべてに対してソフトウエアをテストできるよう、品質保証部門の組織変更を行ったばかりだという。従来、同社の品質保証チームのエンジニアは、製品テストだけを専門に行っていたが、そこにソフトウエアとハードウエアの設計者も加えることにしたのだ。こうした取り組みは、製品に対する詳細知識の蓄積や、テストの質の向上、最終的な品質の向上にもつながっている。

 ところが、ソフトウエアの設計者には、できればこうして欲しいという好みの方法がある場合が多い。そうなると、ユーザーが取り得る選択肢のすべてを考慮した設計ができなくなる。Herrscher氏によると、テスト機能の設計を異なる担当者が実施することにより、この問題は回避できるという。

 フランスのリュエイユ・マルメゾンにあるSchneider Electric社でも、他のサプライヤーと同様に、同社のソフトウエア製品Unity Proの全リリースに対して回帰テストを実施している。同社で自動化製品マネジャーを務めるRich Hutton氏によると、トラフィックを処理する通信層が、特に信頼性と動作の安定性に重要な影響を与えるという。同氏は、診断機能について、メモリーの不具合などの問題を検知できるが、リソースを消費するのが欠点だと指摘する。極端な方法を取れば、診断機能によって、アプリケーション本体の信頼性に影響が出る可能性さえあるという。

 Schneider Electric社では、自社製ソフトウエアの信頼性を確保する取り組みを続けながら、エンドユーザーが自らの目的のために作成するアプリケーションのプログラミングにおいても、信頼性が確保されるように対策を講じようとしている。Hutton氏によると、同社の開発ツールは、IEC 61131-3の5種類のプログラミング言語をサポートしている。これには、ソフトウエアの信頼性の確保のため、Schneider Electric社の顧客を支援する意味も含まれている。

 Hutton氏は、「標準的なプログラミング言語を選択すれば、設計者の仕事の信頼性が向上する。そして、通常はコードの記述の信頼性も高まる」と言う。



<<123 PAGE 3/3   目次に戻る
この記事を :  印刷する プリントする ブックマーク  はてなブックマークに登録 この記事をクリップ! Buzzurlにブックマーク Yahoo!ブックマークに登録 メールで送る メールで送る

Sponsor Links

Partner Solutions

DNJ RESOURCE CENTER

PTCジャパン株式会社
【PTC/Mathcad】表計算ソフトを越えて計算の作成と文書化に適したソリューションへの移行

資料一覧を見る この資料をダウンロード