技術革新の三つの潮流に合わせてMATLAB/Simulinkの改良を継続 ―― MATLAB EXPO 2009レポート 《基調講演編》
●イノベーションが景気回復をけん引
そして,講演のテーマはイノベーションに移行した.リトル氏は20世紀の大きなイノベーション20点をまず紹介し,続いて1984年に大きなイノベーションが生じたと過去を振り返った(写真7).1984年のイノベーションとしては,パーソナル・コンピュータ,数値演算コプロセッサ(浮動小数点演算チップ),対話型ソフトウェア,エンジニアリング・ワークステーション,ビットマップのグラフィックス,ウィンドウ・システム,マウスを挙げていた(写真8).そして1984年に,これらのイノベーションに対応する形で技術計算ソフトウェア「MATLAB」のさまざまなバージョンをMathWorks社が提供し始めた(写真9).この結果,「FORTRANでは何千行もの記述が必要だったプログラムが,MATLABではわずか8行で記述できるようになった」とリトル氏は講演で述べていた.
写真7 20世紀の大きなイノベーション20点
写真8 1984年に起こったイノベーション
写真9 1984年に起こったイノベーションと,それに対応するMATLABソフトウェア群
そして今日,起こりつつあるイノベーションの動向として,以下の三つを挙げた.
- 「Software in Everything(すべてのシステムがソフトウェアで実現される)」
- 「システムがより多くの数値計算とアルゴリズムを内蔵する」
- 「マルチコア化,クラスタ化,クラウド化」
これらの動きにMathWorks社は,以下の三つで対応していくとした(写真10).
- システムのモデル化
- モデル・ベースの開発
- 並列コンピューティング
1.の「システムのモデル化」では,システムを構成する複数のドメインに適切なモデルを当てはめる(写真11).モデルには,連続時間モデルや離散時間モデル,離散イベント・モデル,状態マシン(ステート・マシン)モデル,物理モデルなどがあり,これらのモデルに対応した多種多様なモデリング・ツールをMathWorks社は提供してきた(写真12).すなわち,従来からMathWorks社が促してきたことでもある.同社はツールの種類を増やすとともに,ツールそのものを改良してきた.
写真10 イノベーションのトレンドとMathWorks社の対応
写真11 システムをモデリングする
写真12 システムをモデル化する環境の例
左側がモデルで,その下にある赤字がMathWorks社のモデリング・ツール
2.の「モデル・ベースの開発」も,従来からMathWorks社が普及を推進してきた考え方である.モデル・ベースの開発が目指すところは,部門間や企業間をまたがる大規模な開発において,開発プロジェクトが目的とする仕様と,開発成果物の仕様を短期間かつ低コストで完全に一致させることである.
例えば,要求分析の結果である設計仕様を,モデル・ベースの仕様書で記述する.モデル・ベースの仕様書にすることで,テキスト・ベースの仕様書が内包するあいまいさを取り除く.そして要求分析,設計,実装,モジュールの統合と続く工程の各段階でテストおよび検証を導入することで,開発工程における大きな手戻りの発生を最小限度にとどめる(写真13).
写真13 従来のシステム開発とモデル・ベースの開発(MBD)
モデル・ベースの開発が普及してきたことで,システム開発に要する時間を「要求分析」,「システム設計」,「実装」,「テスト」の4段階に分けたときに,相対的には要求分析とシステム設計の割合が増え,実装とテストの割合が減っていく傾向にあるとした(写真14).
写真14 システム開発における「要求分析」,「システム設計」,「実装」,「テスト」の割合
3.の「並列コンピューティング」では,並列処理システムに対応したサブツール(Toolbox)を開発するとともに,マルチコア・プロセッサあるいはマルチプロセッサのサポートを強化してきたことを示した(写真15).例えばforループを並列処理化したり,数値演算処理をマルチコア対応にしたりした.また,複数のシミュレーションを並列に実行できるようにしたり,コード検証をマルチコア対応にしたりした.
写真15 マルチコア・プロセッサあるいはマルチプロセッサに対する主なサポート
(ユーザ講演編に続く)
ふくだ・あきら
テクニカルライター/アナリスト
http://d.hatena.ne.jp/affiliate_with/