オルタナティブ・ブログ > 永井孝尚の写真ブログ >

ライフワークを持とう。ライフワークを究めよう。

走るコンピュータ、飛ぶコンピュータ

»

Windows XPは4000万行のコードで書かれているそうです。

これに対してGMは、2010年までに車は平均で1億行のコードを持つと予測しています。

また、エアバスA-380は10億行以上のコードで書かれています。

コンピュータ制御により、燃費を著しく改善して環境負荷を下げたり、人為的ミスを減らして事故を回避する等のメリットが得られますが、一方で、自動車や飛行機がこのように巨大なコードで制御されるようになると、どのようにコードを保守するか、ということが大きな問題になります。また、ハッキング対策やウィルス対策も必要になってくるでしょう。

今後、ウィルス対策ソフト同様、このようなリスク管理そのものが大きなビジネスになってくる可能性があります。

Comment(10)

コメント

mohno

> エアバスA-380は10億行以上のコードで書かれています
これって出典は、どこでしょうか。
単純に1行=$1で計算すると10億ドルの開発費 :-O

mohnoさん、
これはIBMのGlobal Innovation outlookという資料からの抜粋です。

元々は、結構有名な話のようで、"A380 1 billion lines of code"で検索すると、色々な資料が出てきます。

今泉さん、
ありがとうございます。両方とも、GIO 2.0へのリンクが掲載されていますね。

mohno

今泉さん、情報ありがとうございます。このエントリと同じように数字が並べられているのですね。残念ながら、ざっと眺めただけでは、この「10億行」がどんな属性のものかはわかりませんでしたが。
うろ覚えで恐縮ですが、たしか岩波の『ソフトウェア工学』に「使用環境が限られるアプリケーション」「不特定多数が使う商用アプリケーション」「そのベースとなるOS」について、それぞれかかる工数が段違いに変わってくるということが紹介されていました(これは、感覚的にも理解できると思います)。
だから、こうした数字の並べ方をしても、あまり意味がないのでは?と思っていたのですが、このような資料に堂々と並べられていたものだとは意外でした。たとえば、A380の開発チーム(+オフショア?)が、独立した25個の異なるWindows XP相当OSを作れると思う人は、あまりいないのではないでしょうか。もっとも、私自身も自動車の部品点数とソフトウェアのコード行数を比較することはあるので“まったく意味がない”とまでは言い切りません。←ずるい?^_^;
余談ですが、セキュリティについて触れているページ(p.32)にしては背景のコードは、インデントがいい加減ですね。:-) 身内でも、こういうところに注意を払わない資料を見かけるので他山の石ではあるのですが。

mohnoさん、
コードの属性の差異に着目するよりも、もう少し粒度を粗くして、「複雑さ」の管理がよりクリティカルになっている、という議論として捉えると、ものすごく意義がある指摘だと思います。(僭越ですが。。)
ITでリターンが出る出ないも、詰まるところ、複雑さがよく管理できているかどうかに行き着きます。複雑さがうまく管理できなければ、リターンが減るだけけでなく、潜在的なリスクも増す。そういうことですよね?

mohno

今泉さん、
> 「複雑さ」の管理がよりクリティカルになっている
ここには、まったく反対はありません。
> The new Airbus A380 contains over one billion lines of code.
> GM predicts the average car will have 100 million lines of code by 2010.
> "In comparison", Windows XP has about 40 million lines of code.
と書いてあるんですよね。

mohnoさん、いつもありがとうございます。
これって本当に怖いことですよね。
ソフトウェア開発では、全ての条件や組合せを再現してテストするのは非常に困難です。しかも、航空機という複雑系とも言える巨大なシステムを動かすのですから。
「不具合を完璧に防止する」という考え方よりも、「発生する不具合による障害をいかに最小化するか」というような発想転換が有効かもしれませんネ。

mohno

私が興味を持ったのは
> 最新のジェット旅客機では優に500万行を超えるコードが使われている
というところですね。GIO 2.0 で引用されている最新鋭機(A380)の10億行とはかけ離れすぎ。IDG News からの引用とのことなんですが、元はどんな記事だったんでしょう。これを調べようと「Linux はリビジョン違いも含めて数億行・・・」なんて表現を見かけたりしたのですが(たとえばLinux カーネルは数100万行程度のはず)、この10億行は独立した意味を持つコードなんでしょうかね。

コメントを投稿する