モジュール全盛期には下回りの「つなぐ」バス技術をしっかり押さえよう ―― 組み込みネット新春インタビュー(4)
Tech Village「組み込みネット」では,新春特別企画として「2014年,組み込み技術の展望」をお届けします.第4回は,合同会社もなみ屋の邑中 雅樹氏(写真1)に,2014年の組み込みシステム開発についてお話を伺いました.
―― 組み込みシステム開発という観点で,2013年はどのような年でしたか?
邑中氏:小破壊はありながらも成熟に向かう1年だったかと思います.海外半導体メーカが大量投入する廉価な評価ボードや,Arduino,Raspberry Piといった教育用ボードのスペックが上がり,小ロット品に十分使えるようになったことで,ボードの価格破壊が起こりました.mrubyや組み込みAndroid,TrustZoneをはじめとするプロセッサ仮想化なども2013年のキーワードでした.
しかし実は,これらは20~40年前の技術の延長線上にあるものです.mrubyは,20年前に登場した4GL(4th Generation Language;第四世代言語)と同じ方向性の存在と言えます.組み込みAndroidは組み込みLinuxの進化の一形態ですし,プロセッサ仮想化は,メインフレーム時代に確立していた技術です.目新しい用語はあっても,突拍子もない技術というものはなかった1年だと思います.これは,組み込みシステムというものが成熟期を迎えている,と解釈できるように思います.
―― では,2014年はどのような年になるでしょう?
邑中氏:2014年も,組み込みシステムという領域だけで見ると,技術的には大きな変化のない穏やかな一年になりそうです.
トピックはいくつかあります.例えば,Intel社がGalileoボードを出しますよね.でも,搭載される「Quark SoC X1000」はMMU(Memory Management Unit)のないPentium互換のCPU,ととらえると,「あら,(パソコンの世界の)20年前に戻った?」という感じです.ARMがサーバ向けCPUや車載ECU(Electronic Control Unit)に入ってくる,というのも,30年前に大型コンピュータでやっていたことが組み込みに降りてきた,という感覚です.
このように,組み込み分野に関して「今年のトピックについて勉強しよう」と思ったとき,図書館の閉架書庫に元ネタがあるような状況で,ベテランから見ると過去の知識を再利用できますし,新人にとっては地道な学習が成果につながりやすい年だと言えます.
オープン・ソース・ハードウェアの流れで開発ボードも価格競争にさらされていますが,これも既に,オープン・ソース・ソフトウェアで一度起こったことです.いくつものパッケージ・ベンダが消えましたが,Microsoft社は生き残りました.どうすればよいかは過去の歴史が語っています.アベノミクスがうまく回って一息ついている間に,歴史に学び,将来への備えを行っておくとよいと思います.
―― 2014年の,組み込みシステム技術のキーワードは何でしょうか?
邑中氏:注目すべきは,有線・無線問わず「つなぐ」ための技術,すなわちバス技術だと考えています.例えば,電子楽器メーカのコルグが,磁石でモジュールをつなぐだけで電子回路を組み立てられるオープン・ソース・ハードウェア注1のキット「littleBits」とのコラボレーションで,つなげてシンセサイザを作れるキット「littleBits Synth Kit」を2013年12月に発売しました(図1).ほかにも,.NET Micro Frameworkプロジェクトが周辺機能をタコ足配線方式で簡単に追加できるキットを出しています(図2).こんな,ひと手間加えておもしろくなるガジェットが増えています.そして,部品化が進むと,つなぐ技術が重要になります.
注1:littleBitsのパーツの回路図などは,GitHubで公開されている.
はでなアプリケーションがもてはやされると焦る部分もあると思いますが,上の部分は流行りすたりがあります.それよりも,組み込みエンジニアとしては,基本的なバス規格のところを押さえておくとよいと思います.Bluetooth Low EnergyやIEEE 802.11ac,USB 3.0,I2Cといったハードウェア・バスもそうですし,WebSocketやCORBAといったソフトウェア・バスも同様です.それも,どれか一つに絞るのではなく,「このバスも,そのバスも知っている」というように網羅することが重要です.開発に使う際には,コストや納期によって最適な組み合わせが異なりますから.
また,「2014年」という枠ではなく,ここ2~3年先を考えたときのキーワードは「Fab Lab(ファブラボ)」と「子どもコンピューティング」だと思っています.
Fab Labとは,例えば町の公民館のようなところに3Dプリンタや工作機械を置いて,だれでも使えるようにするといった活動です.情報科学芸術大学院大学(IAMAS)の[f.Labo]などでも,主婦の方がレーザ・カッターでボタンを作ったりしていると聞きます.
子どもコンピューティングとは,子どもにプログラミングを教えよう,という動きのことです.昔のプログラミング少年たちは自然発生的にプログラミングしたがったのですが,今は,理系離れの揺り戻しで大人側が教えようとしている面もありますね.ただ,実際に子どもにプログラミングを教えられるようになった背景には,「パーソナル(個人向けの)コンピュータ」という概念を提唱したAlan Kay氏や,100ドル・ノートPCプロジェクトを推進したMITのNicholas Negroponte氏に始まって,青山学院大学の阿部 和広氏やNTT コミュニケーション科学基礎研究所の原田 康徳氏など,プログラミングのユーザが一巡し,教えられる側に回ってきたことが大きいと思います.
―― これから必要なスキルは何でしょう?
邑中氏:今はAndroidが隆盛を誇っていますが,Tizenなども出てきます.スマホがもてはやされてきましたが,歩きスマホが問題になる中,「スマホはやめて,ウェアラブルなメガネにしよう」という流れにもなるでしょう.こんな時代には,何から何まで「自分たちだけでやる」というのは無理になったと思います.ではどうするかというと,別々のスキルやバックグラウンドを持つ人たちが集まって知恵を出し合う,チーム制になってくると思います.プロジェクトごとに必要な人材が集まる,テクノロジスト集団のようなあり方でしょうか.
そのときに重要になるのは,「私はこれは確実にできます」という専門性と,「よく知らないことでも聞いて,理解できるようになる」というコミュニケーション・スキルだと思います.
これまで「上流が決めた制約の中で機能を実現する」川下側の存在であることが多かった組み込みエンジニアも,組み込みシステムが商品に対して提供できる価値を提案できるスキルが必要になるでしょう.