次が「Hardware in specialized form factors」である。MATLABを使ったモデルベース開発が進むということは、当然ながら多彩なハードウェアをサポートする必要が出てくるという事でもある(Photo17)。

Photo17:右中央にArduinoもある

もちろん、これまでもASICからMCU、FPGAまで幅広いターゲットデバイスに対応しているが、汎用の開発ボードはともかく実際のターゲットとなると、Simulinkのモデルをシミュレーションで動かす必要があった。これをラピッドプロトタイピング向けターゲットコンピュータ上にてリアルタイムで実行できるというのがRelease 2014aで従来の「xPC Target」と「xPC Target Embedded」が統合されて新たな製品としてオプション製品群に追加された「Simulink Real-Time」である(Photo18)。実例として示されたのはまたしてもPhonak Audéo Vであるが(Photo19)、リアルタイムで動作検証を行うことで開発期間を短縮できたとしている。

Photo18:Simulink Real-Timeでは実機用のアプリケーションを自動生成、これをもちいてSimulationを行う

Photo19:これは耳のモデル(粘土で挟まれた黒い箱)に開発中の補聴器(手前のベージュのもの)を差し込んで、実際の耳をエミュレーションしている。ここでSimulink Real-Timeを使ってテストや検証が行われたそうである

加えてRelease 2014bではArduino/Raspberry Pi/Mindstorms EV3といった低価格プラットフォーム(Photo20)や、Cortex-A/MシリーズMCU(Photo21)、さらにはAndroidまでが対応範囲となった(Photo22)。

Photo20:この他の、たとえばmbedは? というと、これはCortex-Mとして扱われることになるだろう。ちなみにたとえばArduinoの場合、MATLABのEmbedded CoderがArduino用のCコードを出力し、これをArduino IDEを使ってビルドしてArduinoにロードする形になるそうだ

Phto21:ARMのMCUは日々増えつつあるので、どこまでCatch upするのかを確認したところ、基本的にはMAB(MathWorks Advisory Board)などを経由して、どんなMCUをターゲットとして含めるかの意見を聞いて、それを元にサポートする製品を決めるという話だった

Photo22:iPhone/Androidも対応ハードウェアとして追加された

3つ目が「Connected chips, devices & systems」である。固定回線→Mobileと進み、IoTになって飛躍的にConnected Deviceの数が増加しているのはご存知の通り(Photo23)。この結果として何が発生するか、といえばデータの爆発である(Photo24)。したがって、これをいかに処理するのか、が重要な課題である。これは別に電力のみならず他の分野においてもそうであり(Photo25)、1EBものデータ量が現実のものになりつつある。

Photo23:これはまぁ説明は不要かと思う

Photo24:たとえば従来型のタービンの場合、そこで取得されるデータは毎日17MB程度、年間でも6.3GBでしかない。ところがスマートグリッドを経由して大規模なEnergy Producerを構築する場合、毎日0.7TB、年間では0.25PBものデータ量になる

Photo25:航空分野は、以前は数値風洞などに代表される「設計時の計算」にCompute Powerが投じられていたが、今は飛行状態やエンジンの稼働状況などを常時サンプリング、メンテナンスや故障予測などに利用されている

こうした大量のデータからどう必要なものを抽出するかがData Scientistの腕の見せ所ではあるのだが、それはそれとしてMATLAB自身もこれまで以上に大量のデータを扱えるようにする必要がある。そのための改良が、Release 2014bで追加された「Datastore」や「Hadoop」、「MapReduce」への対応である(Photo26)。その代表例がliquidnetである(Photo27)。同社がどうMATLABを利用しているのかはこちらに詳しいが、そのインフラとしてHadoop/MapReduceを利用してシステムを構築している。

Photo26:各々の詳細は後述

Photo27:liquidnetは40カ国の株式取引を行う機関投資家向け証券会社であり、取引にあたっての定量分析ツールとしてMATLABをベースとしたシステムを提供している

最後が「People computing anywhere」である。特にMobileの進化とCloud Serviceの発展に伴い、従来型のPCをベースとしたサービスでは不十分という面が出てきた(Photo28)。こうした流れにあわせ、MATLABのCloud Serviceが提供されるようになった(Photo29)。また、ローカルで開発したMATLABのプログラムを大規模なサーバー上で変更なしにスケールアップして動かすことが出来るMATLAB Production Server(Photo30)も、こうした助けになるとしている。

Photo28:もちろんこれは今に始まった話ではなく、それゆえ早い時期からMATLABのMobile対応なども行われてきた訳であるが

Photo29:この画面ではまだRelease 2013bとされているが、現時点の表記を見るとRelease 2014aも提供されている

Photo30:MATLAB Production ServerそのものはRelease 2012bで追加されたものなので、目新しいという訳ではないが、スケールの拡大を容易に行えるという観点で改めて取り上げられたものと思われる

ところでちょっとPhoto06に戻ると、長期的な計画の中には"Challenging the education systems to produce those skillsets"という文言がある。MATLABはアルゴリズムを現実のものとするためのツールであるが、そのアルゴリズムそのものを開発できるようにする訓練や、実際にそのツールを使えるようにするための訓練はどうしても必要になる。その手段の1つとして今回発表されたのがMOOCsの利用(Photo31)である。実際、すでにMOOCを利用したMATLAB関連コースがいくつも存在している。従来の教育コースに加え、オンラインを使ったトレーニング (R2014bからは、MATLAB Academyというものもスタート)も今後は活発になってゆく事を示唆して、氏の基調講演は終了した、

Photo31:edXはすでに受講者が7桁に達しているという話。JMOOCに関してはまだこれから、という気もしなくはないが