人気ブログランキング | 話題のタグを見る

ふと思いついたこと
by namuko06
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
品質崩壊
 読んでいなかった日経ビジネスの4.25-5.2合併号に目を通してみた。昨年あたりから、自動車のリコールが増大し(三菱自工の事件は別として)、携帯電話の新機種で不具合が多発、最近では新幹線でATCの初期不良なども発生している。これらの事故、事象を日経ビジネスでは調査分析したところ、組み込みコンピュータでの不具合が大半であるという。当然コンピュータ・ハードではなく、それに搭載されるソフトウェアの問題だ。
 様々な分野で稼働するハードウェアには当然ソフトウェアによって制御されている。ユーザビリティを高めるために機能を増やし、リアルタイムでの多重制御が必然となり、コンピュータ・ハードウェアは高性能化し、それにつれてソフトウェアの規模も膨大となっていく。機能が増え、コンカレンシーが求められれば当然ソフトウェア自身も複雑なコードによって形作られていく。
 これまで、コンピュータのソフトウェアは処理手順のモジュール化によって、規模が膨張しても耐えられる(ハードウェアの大容量化、高速化を前提として)設計手法をとってきた。しかし、提供する機能が増え、さらに細分化され、それらの同時性をインプリメントしようとすると、必然的にこれまでのパターンは使用できず、例外処理だらけのコードとなっていく。センサーから得られた情報を元に瞬時に高度な数値計算をして、処理を決定していく様は、私の想像を絶する世界だ。
 これでは、一つの不具合(バグ)が引き起こす機能障害がどの程度の規模になるのか、予測ができない。処理能力が速く、搭載している機能が多ければ多いほど、その影響は甚大だ。
 鉄道も同様である。JR西日本は、単位時間あたりの採算から、運行ダイヤをプログラムしたにちがいない。一つの駅に停車する時間が15秒、といったダイヤグラムを考えたのが、コンピュータだったのかもしれないが、現実的なハードウェア(列車や運転士の能力を含む)の性能を無視したものであるのは、明らかだ。
 コンピュータはソフトウェアにバグがあれば、かならず不具合の事象を起こす。JR西日本の現場でも運転士の疲弊、列車の故障、路線上の踏切が開かない、といった様々な事象が多発していたはずだ。これらが、運行ダイヤに起因するものであると、どうして気がつかなかったのか? 気がついていてもそれを修正できないならば、不具合は加速的に増大して、大きな障害が発生することは、技術者であれば簡単に気がつく。
 かつて、米国のスペースシャトル、コロンビア号が打ち上げ直後に大爆発を起こした事故は私の脳裏に焼き付いている。たった一つの規定品質を満たさないOリングが、あれだけの事故を起こしたのだ。クリティカルな状況にあるロケットの飛行では、些細な不具合が甚大な事故となる。JR西日本の事故も窮屈な運行ダイヤが、電車の運行をクリティカルな状況に必然的に作り上げたのだ。誰がこの運行ダイヤで電車を走らせることを許可したのか。安全だけでなく、すべての品質は100%を維持することは難しいことを、被害者の方々が教えてくださったのだ。これを繰り返してはならない。
 心配なのは、航空機だ。詳しくはまだ分析中だが、大きな事故が起きないことを祈っている。
by namuko06 | 2005-05-13 00:50 | 読書
<< 世界はつながっている JR西日本はカラスか? >>