Linuxベースのオープン・プラットフォーム

Androidとは、Linuxベースのオープン・プラットフォームである。OS、ミドルウェア、UI、Webブラウザー、電話帳といった標準的なアプリケーション・ソフトウェア群がパッケージ化されている。

グーグル社からは、誰にでも無償で提供されており、近年Androidを搭載した携帯電話がぞくぞくと登場するなど、搭載デバイスが増えてきている。

国内ではドコモがAndroidを搭載したスマートフォンを発売しているし、auも検討中とのことだ。海外でもHTC社、モトローラ社などで提供を開始しており、グーグル社自身もAndroidバージョン2.1を搭載したスマートフォンとなる「Nexus One」を発売している。さらに、新興国でもAndroidを搭載したスマートフォンが登場している。

Androidは、オープン・プラットフォームであり、メーカやキャリアなどで閉じていた携帯電話開発をオープン化するものとなる。Androidに対応したハードウェア部品も増えてきており、それらを集めて組み立てることで携帯電話を完成することができる「携帯電話のパソコン化」が起こる。携帯電話メーカとしては、差異化の部分にリソースを注力するという開発手法が一般化していくだろう。


Androidアプリケーションを配信するサイトもオープン

Androidのアーキテクチャを図1に示す(グーグル社の資料から)。最下層にLinuxカーネルがあり、その上に各種ライブラリーとランタイムが載る。さらにアプリケーション・フレームワークがあり、最上位がアプリケーションとなる。


拡大画像
図1:Androidのアーキテクチャ(グーグル社の資料より)

Linuxカーネルはバージョン2.6が使用されており、セキュリティやメモリ管理、プロセス管理、ネットワークスタック、ドライバーモデルなどが用意されている。

ライブラリーとして、bionicという独自libcやMPEG4、H.264、MP3、AAC、AMR、JPG、PNGなどをサポートしている「メディアライブラリー」、強力なリレーショナルデータベースである「SQLite」、ハードウェアによる3Dアクセラレーションや3Dソフトウェアラスタライズを選択できる「OpenGL/ES」、2D グラフィックス エンジンの「SGL」、ブラウザーエンジンである「LibWebCore」、フォント(ビットマップ、ベクタ)のレンダリングを行う「FreeType」などに加え「WebKit」、「SSL」といったライブラリーが用意されている。

ランタイムは、前述した「Dalvik VM 」と呼ぶ仮想マシンである。最小のメモリ使用量で実行できるように最適化されたDalvik 実行可能フォーマットのファイルを実行する。Linux カーネルを使用することで、スレッディングや低レベルのメモリ管理といった基本機能を実行している。

グーグル社は、すでにAndroidに向けたアプリケーションを配信するサイトである「Android Market」をオープンしている。当初はダウンロードできるアプリケーションは無料であったが、その後有料のアプリケーションもダウンロードできるようになった。ダウンロード販売されるアプリケーションの売り上げの70%がプログラマーに還元されるというビジネスモデルとしており、多くのプログラマーの参入が見込まれている。


Androidに向けた利点とソリューション

ウインドリバーは、Android開発に向けて、(1)Androidに対する経験と実績、(2)OHA(Open Handset Alliance )の商業化パートナーとしての特権、(3)Google/OHAメンバーとの親密な関係、といった利点をもっており、(4)Wind River Androidプラットフォームの提供、(5)Wind River FAST(Framework for Automated Software Testing)(以下、FAST)というソリューションを用意している。

(1)と(2)は、同様な利点をもたらす。OHAへウインドリバーは2007年11月から創立メンバーとして参画している。

OHAへの参加によって、Androidの情報をいち早く入手することが可能なる。Androidはオープンソースであることからバグが潜んでいる可能性が高く、いち早く入手することでウインドリバーで品質を向上できる。OHAには、キャリアをはじめ、半導体メーカや携帯電話メーカ、ソフトウェアやミドルウェアメーカなど多くのメンバーが参加している。

さらに、ロードマップの把握、CTS(Android Compatibility Test Suite)の入手などがある。CTSは、特定企業以外では入手は難しいが、ウインドリバーを通じれば最新のCTSを入手することが可能となる。

(3)Google/OHAメンバーとの親密な関係は、バグの早期対応や新規機能開発時の適切な対応ができることにつながる。Androidは互換性を維持することが必須となることから、開発途中での問題や新規機能を開発したりする場合の対応に悩むシーンが多く出てくる。そうした場合にウインドリバーが、必要に応じてGoogle/OHAのメンバーと連携することで、最適な解決策を見つけるためのサポートを提供できる。


Wind River Androidプラットフォームで差異化機能の開発に集中

(4)のWind River Androidプラットフォーム(図2)は、優れた開発環境であり、これを活用することで差異化機能の開発に集中できるようになる。


拡大画像
図2:差異化機能の開発に集中できるWind River Androidプラットフォーム

大きな特徴として、ユーザーインタフェースの拡張、パーソナル化の拡張、アプリケーション・フレームワークの拡張などがある。

ユーザーインタフェースの拡張として、音楽プレーヤに向けた拡張に加え、起動/終了画面、電話の発信やテキストメッセージ送信など基本的な電話機能用に向けたジェスチャー操作など、差異化を図れる要素のカスタマイズに向けたオプションも用意されている。

パーソナル化の拡張は、ロックされた待ち受け画面で静止画のスライドショーを実行できる機能が用意されている。さらに、標準のAndroidとは異なるルック&フィールを望むユーザーに向け、アナログ時計などの新しいウィジェットやスキンも用意している。

アプリケーション・フレームワークの拡張は、ハードキーやソフトキーの短押しや長押しで実行される機能を変更するといった既存のAndroidアプリケーション・フレームワークに対して、ターゲットに応じた変更や最適化や拡張ができる。

さらに、Wind River Androidプラットフォームを搭載したデバイスを工場出荷時の初期設定に戻すリセット機能も追加している。すべてのユーザーデータを消去し、初期のカーネルとファイルシステムイメージをリロードできることから、容易にデバイスの修理やサービスを行うことができる。


ドライバーからアプリケーションまで幅広い階層でのテストが可能

(5)FASTによるテスト環境の整備は、ウインドリバーならではのものだ。

FASTはAndroidばかりでなくMoblinやIVI(In-Vehicle Infotainment)などに向けたテスト環境である。テストの範疇の一例を図3に示す。一例としたのは、FASTはさまざまなテストツールを統合して自分なりのテスト環境を構築できるからだ。


拡大画像
図3:ウインドリバーのテスト環境である
Wind River FAST(Framework for Automated Software Testing)で提供されるテスト例

「Wind River Test Engine」は、FASTの中核となるもので何万もの自動テストシナリオを持っている。カーネル、BSP、ミドルウェア、アプリケーションの統合のテストという多大な労力を要する過程の自動化を実現するものだ。

図3は左側がAndroidデバイス、右側がFAST部分となる。下層のアイテムから見ていこう。

「Linuxカーネル」部分に相当するテストを担当するのが「Wind River Low-Level Tests」となる。lperf、IOZones、LTPといったハードウェアに近い機能のテストを行うことができる。

「ライブラリー」部分のテストに相当するのが「TETWare」や「Android CTS」だ。「TETWare」では、ディスプレイ、GPS、パワーマネジメント、ハードウェアドライバーなどの各種テストが含まれている。「Android CTS」は、Androidで用意されているテストスイートであり、前述のように特定企業以外では入手が難しいところ、ウインドリバーを通じれば最新のCTSを入手することが可能となる。

「アプリケーション・フレームワーク」に相当するのが、「Instrumentation Tests」となる。ここでは、電子メール、ブラウザー、その他のフレームワークのテストなどが含まれる。

「アプリケーション」のテストでは、「Android Monkey Tests」が活躍する。ランダムに実行される操作によってバグをあぶり出す(YouTube)。さらにアプリケーションでは、「Wind River STP」によるテストもある。STPは、スケーラブルなテストプラットフォームのことであり、ユースケースの実行を含むアプリケーションとユーザーインタフェースのテストが可能である。


FASTでモンキーテストを行っているところ(YouTube)

FASTはこれらのテストの自動実行し、レポートも出力できる。レポートはメールで送ることもでき、遠隔地でもテスト結果を確認できる。

さらにFASTは、使用するお客様に最もマッチしたものにカスタマイズできるため、テスト工数の大幅な短縮が可能となる。また、オーサリングツールが搭載されており、独自の自動化テストの作成に加え、ウインドリバーがテスト環境を構築することもできる。

デバイスの機能が複雑化/大規模化してきており、それに対するテストでは工数やコストが増大が止まらない。FASTを活用することで、デバイスの品質向上と開発期間のコスト低減という相反する課題を満足することが可能となる。



 

下記フォームよりお問い合わせください
セミナー&イベント

現在、開催予定はございません

セミナー&イベント一覧 »