検索
特集

Web界から組み込みに向けられた刺客「mruby」はこう使われているmruby適用最新事例(2/4 ページ)

「Rubyの良さを組み込みに」を合言葉とする開発言語「mruby」は公開以来、着実な進歩を遂げ、さまざまな場面での利用も進んでいます。ここでは「Web界から組み込みに向けられた刺客」(まつもとゆきひろ氏)たる、mrubyの採用事例を紹介します。

Share
Tweet
LINE
Hatena

Ruby以上の高速化をプリンタで実現

 F社は自動販売機において世界的なシェアを持つメーカーです。以前よりRubyユーザーであり、プリンタ制御部分をRubyで実装、実機にはCにコンバートして利用していました。ただ、開発を中国で行っていたこともあり、「オフショア開発では要求・設計仕様など、情報伝達や共有が難しい」「C言語では動作させるまでに手間がかかる」「RubyからC言語に変換するのは、質にばらつきが大きい」といった課題を抱えていました。

 そこでmrubyの開発時に検証企業として参加を頂いたところ、「気が付いたら出来上がっていた」「パフォーマンスは何ら問題ない」との感想が寄せられました。検証後のレポートでも、プリンタ初期化ではCruby(PCなどで動作する通常のRuby)が勝るものの、それ以降はmrubyのほうがはるかに高速で動作するとの評価を頂きました。

F社 10KLOC規模のプロジェクトにおけるmruby導入効果
バグ件数 19(従来型) 11(mruby導入後) ▲42%
開発工数(人日) 101.5(従来型) 67.5(mruby導入後) ▲33%
photo
CRuby(PCなどで動作する通常のRuby)とmrubyの処理速度比較

小型人工衛星システムへのmruby応用を研究 QPS研究所

 人工衛星の開発はCPUの制限等から全てをイチから行うのが通常です。開発言語は主にCやC++で行われ、人工衛星ごとに仕様が異なるため、開発費用はとても大きくなるのが通例でした。しかしながら今後、人工衛星をさまざまな企業が利用すると考えられ、低コスト化、開発スピードの向上が必要とされています。QPS研究所では人工衛星の開発にmrubyを利用することで以下のようなメリットがあると考えています。

  • クロス開発が不必要になることによる、高汎用性の実現(いったん作成した人工衛星アプリを他の人工衛星に応用できる)
  • 開発スピードの向上、低価格化の実現
人工衛星開発におけるmruby利用の例
人工衛星開発におけるmruby利用の例

 さらにmrubyがネットワークアプリケーションを開発しやすい点を生かして、TCP/IP通信システムを用いた小型衛星の開発を行っています。

  • 人工衛星で用いられる通信手段のTCP/IP化メリット

 (1)人工衛星で使われるセンサー、GPSなどの周辺機器のインタフェースの標準化により、インターネット上での開発や個別開発が容易に

 今までの衛星開発は通信方式の制限があり、1カ所での集中開発が必要不可欠でした。ですが、TCP/IP化によりインターネットやシミュレーター上での開発が可能となりました。また、確立された既存システムを使えることによる安定性の確保が可能となりました。

 (2)シミュレーターで人工衛星の状態を確認する事が可能になり、開発やテストが容易に

 (3)開発のコストダウン、スピードアップが可能に

 これらの結果、人工衛星、宇宙開発への新規参入を促すとともに衛星のIoT化、衛星間通信(M2M)などの可能性が広がると期待されています。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る