EDA・ソフトウエア 強いLSIやボードを設計するための
 

プログラミング言語Rubyに組み込み版が登場、その名も「軽量Ruby」

進藤 智則=日経エレクトロニクス
2011/12/05 12:15
印刷用ページ
ET2011での実演の概観(九工大のブース)
ET2011での実演の概観(九工大のブース)
[クリックすると拡大した画像が開きます]
軽量Rubyのプロジェクトとしては、JIS規格の範囲までカバー予定
軽量Rubyのプロジェクトとしては、JIS規格の範囲までカバー予定
[クリックすると拡大した画像が開きます]
軽量Rubyの各コンポーネント
軽量Rubyの各コンポーネント
[クリックすると拡大した画像が開きます]
ET2011での実演の様子。FPGAボード自体は、東芝情報システムが「組込みRubyチップ評価ボード」として一般に販売予定である。EthernetやCOMポートといったペリフェラルへのアクセスは、C言語で記述してある。
ET2011での実演の様子。FPGAボード自体は、東芝情報システムが「組込みRubyチップ評価ボード」として一般に販売予定である。EthernetやCOMポートといったペリフェラルへのアクセスは、C言語で記述してある。
[クリックすると拡大した画像が開きます]

 プログラミング言語のRubyに、軽量な組み込み版が誕生する。Rubyの開発者であるまつもとゆきひろ氏が中心となって開発しており、名称は「軽量Ruby」である。福岡県の企業や大学などの連合が、経済産業省の「地域イノベーション創出研究開発事業」に応募して採択され、その助成を受けて開発している。2012年4月にオープンソースとして公開する予定である。「Embedded Technology 2011」(2011年11月16~18日、パシフィコ横浜)において、実演を披露した。組み込み分野においても、Rubyの高い生産性を利用したいというニーズに応える。

 軽量Rubyは、コンパイラと仮想マシンによる実行モデルを採用している。Rubyのソース・コードをコンパイラに掛け、ターゲット上ではバイト・コードを実行する形である。仮想マシンは「RiteVM」という名称で、「Ruby Lightweight VM」に由来する。仮想マシン自体は組み込み向けを意識し、わずか数Mバイトのフットプリントで動作する。ライブラリなどを含めた全体は「mruby(eMbeddable Ruby)」という名称である。なお、本家のRuby(CRuby)では、1.8系がインタープリタ方式、1.9系が仮想マシン方式を採用している。

各種の組み込みOSに対応、OSなしでも動作可

 これまでRubyはWebシステムなどで多く利用されてきたが、軽量Rubyは組み込み分野で利用できるよう工夫している。具体的には、仮想マシンやライブラリはすべて、C言語の「C99」の範囲のみで実装されており、高い移植性を持つ。VxWorks、μITRON、Linuxなど組み込み分野で用いられる各種OSに対応するほか、OSなしの環境でも動作する。

 リアルタイム性にも配慮した。ハード・リアルタイムの実現は難しいが、ソフト・リアルタイムに対応した。リアルタイム性を確保する際、ガベージ・コレクション(GC)が障害となるが、RiteVMではインクリメンタルGCを採用することでソフト・リアルタイム性を確保しやすくした。

 また、一部の処理はハード・ワイヤード回路でアクセラレーションできるようにしている。ハッシュ関数などは既に実装済みで、今後、GCのハードウエア化も検討している。これらのアクセラレーション回路は、九州工業大学 准教授の田中和明氏らが開発している。

 ET2011での実演では、Altera社のFPGA上にソフトコアのCPU「NIOS」を実装し、50MHz動作のNIOS上でRiteVMおよびRubyアプリケーションを実行した。具体的には、Rubyで記述されたWebサーバー(Ruby on Railsに添付されているWEBrick)をRiteVM上で動作させ、iPadのブラウザからその情報にアクセスできることを確認した。

ライブラリはほぼJIS規格の範囲に対応

 Rubyは多くの機能をライブラリとして実装している。軽量Rubyのライブラリは、ミニマル、スタンダード、フルの三種類に分類される。このうち今回の経済産業省の助成事業の対象となっているのは、ミニマルの範囲までである。

 フルとは、文字通り本家のCRubyの1.8/1.9系と同じ実装範囲を表し、文字コードやHTTP関連など豊富な機能が含まれる。スタンダードは、RubyのJIS規格「JIS X 3017」の範囲であり、Rubyの組み込みライブラリの機能に相当する。ミニマルは、スタンダードのサブセットであり、下記の表1のクラスやモジュールに対応している。組み込み向けを想定しているため、ミニマルのライブラリには、入出力を司る「IO」クラスは含まれていない。

表1 軽量Rubyのミニマル・ライブラリの内容

 ET2011で実演したのは、このミニマル版である。経済産業省の助成事業自体はミニマルまでが対象だが、今後、軽量Rubyのコミュニティなどが発足したあかつきには、「スタンダードの範囲も実装されるだろう」(九工大の田中氏)という。

ライセンスはBSDライセンスなどを検討

 軽量Rubyは現在、NDAを結んだ企業などにベータ版を配布しており、評価検証中である。富士電機の中国法人、遺伝子解析用のシーケンサを手掛けるManycolors、ASICを手掛けるロジックリサーチといった企業が評価中である。また、組み込み分野以外にも、軽量であることを生かして、アプリケーションそのものへの組み込みなども想定している。

 オープン・ソースとして公開する際のライセンスは現在、検討中である。BSDライセンス、もしくはMITライセンスなどを検討しているという。

 経済産業省からの助成事業は、福岡CSKが代表となってとりまとめている。研究の主体は、まつもと氏の所属するネットワーク応用通信研究所(NaCl)、九州工業大学、福岡CSKの3者である。このほかアドバイザーとして、東芝情報システム、福岡県、九州組込みソフトウェアコンソーシアム(QUEST)、福岡CSKの親会社であるSCSK(住商情報システムとCSKが合併)が参画している。

【9月18日(金)開催】
高精細映像時代に向けた圧縮符号化技術の使いこなし方
~H.265/HEVCの基礎から拡張・応用技術とその活用における心得~


本セミナーでは高品質、高信頼、高効率に製品化するために標準化された高圧縮符号化技術、H.265/HEVCについて、その基盤となった符号化技術の進展から映像・製品特性に適切に圧縮符号化技術を使いこなす上で知っておきたい基本とH.265/HEVCの標準化、実装、製品化に向けた基礎及び拡張技術の理解と活用の勘所等について詳解します。詳細は、こちら
会場:中央大学駿河台記念館 (東京・御茶ノ水)
コメントする
コメントに関する諸注意(必ずお読みください)
※コメントの掲載は編集部がマニュアルで行っておりますので、即時には反映されません。

マイページ

マイページのご利用には日経テクノロジーオンラインの会員登録が必要です。

マイページでは記事のクリッピング(ブックマーク)、登録したキーワードを含む新着記事の表示(Myキーワード)、登録した連載の新着記事表示(連載ウォッチ)が利用できます。

協力メディア&
関連サイト

  • 日経エレクトロニクス
  • 日経ものづくり
  • 日経Automotive
  • 日経デジタルヘルス
  • メガソーラービジネス
  • 明日をつむぐテクノロジー
  • 新・公民連携最前線
  • 技術者塾

Follow Us

  • Facebook
  • Twitter
  • RSS

お薦めトピック

日経テクノロジーオンラインSpecial

記事ランキング