今年もEmbedded Technologyに行って来ましたので、レポートを残しておきます。 展示会はあまり面白くないので、コンファレンスのレポートです。
今年から展示会のタイトルに IoTの冠が付いて、IoTを明示的に意識した展示会になっています。コンファレンスの方はそういう雰囲気ですが、展示会の方はそんなに区別がきっかり付いている感じではありませんでした。
2015/11/18 10:00〜13:00
C-1 : Ruby による組み込みソフト開発 田中 和明氏 九州工業大学
Rubyと「組み込み」という言葉がちょっと距離がある感じがして面白そうだったので聞いて見ました。
内容
もともとのRubyの実行環境はかなりリッチである必要があるが、それをどこまでシェイプできるか、組み込みに使えるかどうかというポイントで小型化した処理系。
Ruby処理系とは別物としてのmrubyを作った。(経産省のプロジェクト)
現状の組み込み開発は、ソフトであるがゆえ自由度があり、その自由度と引き換えに開発コストが上昇している。そこで、開発効率の高いRuby環境を組み込みに持ってくることで生産性の向上を図ろうということ。
mrubyでは、中間コードまでをコンパイルして、ターゲットに持って行き、ターゲット上には専用のRubyVMを実装しておいて、そこで中間コードを実行するというモデルになる。 ポイントとしては、Rubyの動的動作を小さな環境でどのように実行するか、ということだった。オブジェクトの再定義など。(Rubyは全く経験無いのでよくわかりませんが。。。)
VMは16bitCPUでも実装できる。実際にPICにもポーティングしているとのこと。 C99コンパイラがあればVMをコンパイルできる。
利点として、開発用PCのリッチな環境で徹底的にデバッグができること。実際にはターゲットを仮想化した環境を作る必要があるが、IO関係の単純なドライバ(入出力をファイルに落とすとか、プリントするとか)を作るだけ。
欠点としては、リソースが必要なこと。1MbyteRAM程度は必要。
mrubyの使われ方 SCSK九州 石井さん
どのようなシーンで使われているかという話で
- mod mruby Apach用モジュール
- ios用
- ゲーム(PC)での利用
- 組み込み用
組み込みボードとして
- wakayama.rb ボード (ルネサスRXプロセッサ)
- enzi ボード (ARM)
(正直、ちょっと選択肢が狭い。自分でポーティングするなら何でもいいのだろうけれど、そこまで出来るスキルがあるならC++でコーディングしてもいいかと思う。)
RAMは1MB程度必要なので、mbedの環境と比較するとちょっと大きいかなと思う。
mruby組込みシステム開発の勘所 SCSK九州 三牧さん
MINDSTORMにmruby環境を実装。
第1世代目では、ハードウエア環境が64KBRAMだったため、VMを実装できたがフリーエリアが7KBでロボットのアーキテクチャを記述するには不十分で諦め。
第2世代では64MBにRAMが大きくなったので、余裕で実装。
実際の利用時にはmrubyだけではだめなので、Cでラップする必要あり。 OSがあると更にいい。
(ここから先、知識不足でついていけず。。。。大幅カット)
わかったことは、
- 結局、OSがあったほうがいいし、mrubuy単体ではだめ。
- レイヤ構造を取らざるを得ないし、ちょっと面倒
- ただ、一度そういう環境を作ってしまえばあとはラクチンという感じか?
- そこまでするモチベーションがない。
- mbedの開発環境などに比べるとリソースリッチ環境が必要
実装事例 IIJ 斎藤さん
ルータのユーザインターフェイスの実装をmrubyでやっている、という話。
webエンジニアが多い環境では、rubyを組み込みに使えるということは大きな利点で、同じ技術者が組み込みの一部を担える。
コンフィグファイルの中にスクリプトを入れられるような構造とすることで、多用なことができるようになる。
UIのような文字の処理が多いところは得意。
enziによるmruby実行環境 ManyColors 中野さん
JSONパース用のクラスライブラリもあり。(魅力的)
ほとんどがデモンストレーションだったけれど、ボード上で直接インタプリタが動くというのはちょっと変な感じ。
セッションの感想:
mrubyがいかに生産性を上げようとも、利用の障壁がC/C++並に下がらないと普及は難しそう。そもそも、おおきなファンクションを持ったライブラリは駆動環境も大きくなるはずなので、その辺のバランスあるいはアプリケーションとのバランスが必要な気がする。(素人ながら)
ミッションクリティカルなソフトウエアパスではなく、ユーザインターフェイスとか緩い外部とのコネクションとかそういったところでは使えそう。(結局Cが要るのだから、こういったバランスはとりやすいかと)
2015/11/18 14:30-15:10
IoTビジネス最前線 ユビキタス 佐野さん
IoTのビジネスモデルというか、何を目指しているのか、的な話。
キーワードとしては、CPS(Cyber Physical System)
M2Mとの違いとして
- オープン化
- データのフィードバック アーキテクチャがオープンになって接続性が保たれるようになってきている。(昔の電話みたいな感じか?)
ビジネス環境の変化
- 1980年代 量産の時代
- 販売ネットワークの整備によるマスプロダクション
- 生産技術の拡大
- 2000年代 ネットワークの時代
- 製品がネットワークにつながる付加価値
- ユーザに製品が渡ってから付加価値が上がる仕組み
- ネットワークコストの低減による環境の下支え
- ネットワーク技術の向上
-> デザイン性、サービス、楽しさを軸とした製品の評価
これから
組み合わせによる付加価値の増大
=>「現実」と「仮想」の組み合わせ
=>「デバイス相互」の組み合わせ大手企業の「自前主義」の終焉
いろんなモノが組み合わさってより良いものができる、付加価値の高いものができる
-> 新しいバリューチェーン一つの物の見方だけでは良いものはできない。多様な視点から見た最適な製品を集めて新しいバリューを創りだす。
価値観の変化
- 所有 から 共有
- マーケットシェア から マインドシェア
- 買わせる から 好きになる、使ってもらう時間を長くする
- 利益の最大化 から 利益の透明化
- 終身雇用 から クラウドソーシング
- 画一 から 部分的カスタマイズ
CPS :
2006年頃から提唱され始めた現実社会と計算機の中のシステムの統合
現実社会の現象をセンシングし、処理し、最適なフィードバックを掛けることでいろんなことを最適化しようとすること。
最適化のためには共有スタイルのビジネスモデルへの対応が必要
大企業はすでにこういったモデルではついてこれない可能性があり、そういう企業はプロデューサ的な立場でビジネスをするべき
要素技術
- デバイス・センサ
- 位置情報:どこにいても、正確に、リアルタイムで
- UXデザイン:使いやすさ、直感に訴える
- SNS:人間自身の行動、発言がセンサ
これら技術は充分安価になっていて参入障壁は低下している(一部の大企業のものではなくなった)
ビジネスモデルのイノベーション
実例:
農業用トラクタのIT化
自動運転は当たり前で、その生産性の増加率の議論へ。
トラクタの運転パターンを作物に対し最適化、そのパターンを「ソフト」として販売へ。公共インフラ工事の最適化
機材の自動的なデプロイ
危ないところなど、工事の必要になりそうなところをセンシング
オープンイノベーション
「あるもの」をいかにうまく組み合わせて、「必要なもの」を「必要な人」に届けられるか。
(プラットフォーム展開:コアビジネスを利用した周辺ビジネスをパッケージングすること)
セッションの感想:
全体的な印象として、UNIX的価値観というか、そういうものを感じた。適材適所で小さな仕事をこなすものを大量に投入して効率を上げる。