お薦めトピック
- AD -

【CEATEC続報】CellでRubyを動かす,東芝が家電向けUIを試作

2007/10/09 08:00
進藤 智則=日経エレクトロニクス
Facebookでシェアする
Twitterでつぶやく
印刷用ページ
Rubyを使って構築したデジタル家電向けUI。
Rubyを使って構築したデジタル家電向けUI。
[クリックすると拡大した画像が開きます]
東芝の家電向けCell開発環境の構成。
東芝の家電向けCell開発環境の構成。
[クリックすると拡大した画像が開きます]
デモの外観。右にあるのはCellが搭載されたリファレンス・セット「CRS2」。
デモの外観。右にあるのはCellが搭載されたリファレンス・セット「CRS2」。
[クリックすると拡大した画像が開きます]

 東芝は,プログラミング言語「Ruby」を使って開発したデジタル家電向けのGUIを展示した。マイクロプロセサ「Cell」を搭載したリファレンス・セット「CRS2」(関連記事1)で動作させた。東芝の半導体部門はデジタル家電向けにCellを普及させる目論見を持っているが,「せっかくCellのような高速なマイクロプロセサを組み込み機器で使うのであれば,Rubyのような開発効率の高い言語を使って,ソフトウエア開発の作業自体を楽しいものにしたい。そういう思いから今回,開発言語としてRubyを採用した」(東芝の説明員)という。なお,同実演にはRubyの生みの親であるまつもとゆきひろ氏も視察に訪れていた」(関連記事2)

 東芝のブースではCRS2上でLinux(Fedora 7)を動作させ,ソニーのデジタル家電向けGUI「XMB」と似たようなGUIを動作させていた。DLNAによるネットワーク越しのコンテンツ視聴,地デジ視聴,音楽再生などを想定したGUIメニューを作り込んである。今回は電子番組表などすべてのアプリケーションを作り込んであるわけではないが,将来的にはデジタル家電向けプラットフォーム「OCMP(Open Connected Media Platform)」として発展させ,家電メーカーに対し採用を促していく計画である。

 ここで使われたGUIアプリケーションは,ソース・コードの約8割をRubyで構築した。グラフィックス描画ライブラリとしては「Cairo」を,画面の描画については組み込みLinuxで一般的に用いられているライブラリ「DirectFB」を利用した。CairoはもともとはX-Window向けだが,今回,DirectFBへの描画に対応させたという。

「CellだからこそRubyで」

 Rubyはインタープリタで動作するスクリプト言語のため,一般にC言語などで組んだアプリケーションよりも動作が遅くなるといわれる。今回は,数GHz動作が可能と,デジタル家電で用いるマイクロプロセサとしては高速なCellを用いたこともあり,実演ではGUIメニューは十分なレスポンスで動作していた。

  • Rubyを使った家電向けGUIの動画はこちら(約3Mバイト)
  •  ただし,「現在のデジタル家電で一般的な数百MHz動作のマイクロプロセサを使った場合は,Rubyで構築した今回のGUIを十分な速度で動作させるのは難しいかもしれない」(東芝の説明員)という。

     Rubyは生産性の高さが評価され,現在,Webシステムの分野で多く使われているが,デジタル家電など組み込みソフトウエアの分野ではそれ程普及しているわけではない。組み込みソフトウエア技術者が生産性向上のためにRubyを採用したくとも,実際にはメモリ容量やマイクロプロセサのコスト上昇を嫌って実行に移せないというのが実情である。

     デジタル家電へのCellの搭載は,こうした状況を変える可能性がある。映像認識によるユーザー・インタフェース(関連記事34),あるいは動画のトランスコーディング(関連記事5)といった膨大な演算能力が必要な用途を理由にCellの搭載を決断できれば,「副次的に開発言語もRubyを採用しようとの判断が働きやすくなるのでは」(東芝の説明員)とみる。

     なお,Cellは組み込み機器向けとしては高速であるものの,その真価は信号処理プロセサ「SPE」が複数個搭載されている点にある。このためOSなどの汎用処理を担うPower系CPUコア「PPE」に限っていえば,米Intel社の最新の86系マイクロプロセサと比べると,処理性能は見劣りするといわれている。今回のデモで,東芝はRubyアプリケーションをCellのPPE上で動作させており,複数のSPEで並列動作はさせていない。一般的なデジタル家電のマイクロプロセサよりはパワフルだが,パソコンで動作させる場合と比べるとGUIアプリケーションの動作は遅くなっているという。

    この記事を英語で読む

    【6/19開催NEアカデミー】
    組み込みソフトはこうやってモデリングする
    コード中心からモデル中心の開発へ


     大規模・複雑化する組み込みソフトウエアを、どのように扱うべきか。その一つの答えが、ソフトウエアのモデリングです。現状の巨大なシステムがどのような構造を持っているのか。それを「設計図(モデル)」として適切に把握できなければ、次世代のソフトウエア・アーキテクチャは構築できません。本セミナーでは、静的構造図、動的構造図などソフトウエア設計図(モデル)の具体例を紹介し、「高凝集・疎結合」、「走り切り」といったソフトウエアの設計原則について解説します(詳細はこちら)。
    Tech-On!プレミアム

    Tech-On!プレミアム会員なら、左の雑誌記事が毎月30ページまでダウンロードできる!(詳細はこちら

    イプロスの製品トピックス
    とても参考になった 0
    まあ参考になった 0
    ならなかった 0
     投票総数:0
    コメントに関する諸注意
    (必ずお読みください)



    コメントの掲載は編集部がマニュアルで行っておりますので、即時には反映されません。しばらくお待ちください。
    記事中に誤りなど,編集部へのご連絡にはフッターのご意見/ご感想・お問い合わせをお使いください。
    English
    中文