Androidの機器開発も確実にサポート。ソフトの見える化を実現したYDCの開発ツール。

優れた画質のカメラと美しいカラー液晶で知られるシャープの携帯端末。Androidを搭載したスマートフォンを各キャリアに提供するなど、事業のさらなる拡大に向けて取り組みを強化している。端末の機能が高度化するなかで、NTTドコモ向け端末の開発を支えてきたのが、組み込みマイコン向けの開発ソリューションを展開する横河ディジタルコンピュータ(YDC)のツール群だ。シャープでNTTドコモ向けのソフトウェア開発を担当する西田氏を招いてお話を伺った。

3G携帯端末の開発を支えた300台を超えるYDCのICE。

YDCの開発ツールはシャープの携帯端末の開発に使われているそうですね。

山田:シャープさんが2004年3月に発売したNTTドコモの「FOMA SH900i」の開発からお付き合いが始まって以来、かれこれ7年以上に亘って当社の開発ツールを採用していただいています。シャープさんの携帯端末は市場でも特に人気が高く、その成功を陰ながら支えてきたことをとても嬉しく思っています。

シャープの携帯端末というと、古くはカメラ付きケータイを思い出すのですが、開発の沿革について簡単にご紹介ください。

西田:NTTドコモ様向けに携帯端末の開発を始めたのは1997年で、「Docomo by SHARP SH201」が第一号機になります。その後NTTドコモ様からカメラ付き携帯のラインナップを加えたいというお話をいただくようになり、mova初のカメラ付き端末として「iショット」サービスに対応した「SH251i」(2002年6月)や、2.4インチTFTカラー液晶を搭載して3D表示機能をサポートした「SH505i」(2003年6月)などを製品化しました。

YDCとはどのような経緯でパートナーシップが始まったのでしょうか。

西田:その頃NTTドコモ様は2Gのmovaから3GのFOMAへと切り替えを進められていて、シャープではスマートフォンの先駆けとなるような「SH2101V」(2002年7月)を当社初のFOMA端末として提供しました。SH2101Vは電子手帳「ザウルス」の技術を取り入れたモデルだったのですが、開発には大変苦労しました。そこで、効率的で品質の高い開発を進めるために、開発フロー全体の見直しに着手するとともに、開発ツールについても、当社と真剣に付き合ってくれるベンダーを新たに選定することにしたのです。その時に山田さんから、ぜひYDCのツールで開発してみませんかと提案をいただき、かなり突っ込んだ打ち合わせを重ねました。技術的なサポートも手厚くやっていただける上、ツールの価格もリーズナブルでしたので導入を決めました。

その当時は、どのようなツールを、どの程度の規模で導入していたのですか?

西田:当時は、ITRON系OSを採用していた時期で、搭載していたARMプロセッサをいかに効率的に動かすかが非常に重要でした。たとえばキーを押したときのレスポンスを軽くするために、ARMプロセッサの命令レベルでの細かなチューニングが必要だったのです。そこで、ハードウェアレベルでの解析に役立つYDCのICE(インサーキットエミュレータ)を利用することにしました。YDCさんと心中するくらいの気持ちで一気に導入し、もっとも多いときで400台近く使用していました。

ツールに関連してどのようなサポートを行っていたのでしょうか?

山田:携帯端末は製品サイクルが短く、しかも世代を追うごとに機能も増えていきます。OSのバージョン、コンパイラのバージョン、ARMプロセッサの世代、さらにソフトウェアの規模までが機種ごとに変わる中で、ツール側も迅速な対応が求められていました。シャープさんの端末の開発計画の一歩先を行くために、不夜城のごとく新機能の開発に取り組んだこともあります。また、シャープさんの広島工場が開発拠点ですので、そこからもっとも近い福岡市博多区にある当社の九州オフィスにサポート部隊を配置して、当社から広島に駆けつけたり、シャープさんの担当者の方に福岡まで来ていただいたりしていました。

Symbian OS採用の頃から開発モデルが大きく変化。

シャープの携帯端末は、カメラと美しいカラー液晶の搭載もあって、市場で人気を得ています。そのような中で開発はどのように変化していったのでしょうか。

西田:ひとつの転機はSymbian OSの採用です。より信頼性が高く、より低コストで開発できるOSとして、ITRON系から切り替えました。Symbian OSの一号機は2005年12月発売の「FOMA SH902i」です。そのしばらく前に、次の秋冬モデルでSymbianをやりますからよろしく、と山田さんに対応をお願いしたのですが、「本当にそんな短期間でですか?」とおっしゃられて(笑)。

山田:それまでのITRON系とは違ってSymbian OSはARMプロセッサが内蔵するMMU(メモリマネージメントユニット)を使って動作するため、論理アドレスと実際にアクセスする物理アドレスが異なり、ICEとしても劇的な進化が必要でした。ARMプロセッサのMMUの仕組みについて、西田さんのチームの皆さんと一緒に勉強会を開いたこともあります。Symbian OS対応機能の開発では綱渡りの連続で、シャープさん専用にファームウェア用のサーバーを立てて各拠点でICEを一斉にバージョンアップしてもらったり、YDC内に同じ環境を構築してテストしたり、一時期はシャープさんの拠点に常駐したりと、今思い返しても本当に大変でしたね。

携帯端末は2000年代後半から急激に機能が増えていったように記憶しています。アプリケーション開発も大変だったのではないでしょうか?

西田:NTTドコモ様からの機能要求もありますし、カメラも毎年100万画素ずつ画素数が増え、Symbian OSに切り替わってからは徐々にアプリケーション開発に比重が移っていきました。ところがある日、開発の現場を覗いてみると、評価ボードやICEをほとんど誰も使っていないのです。若いエンジニア連中に、なんでICEを使わないんだ、もっと使え、とハッパをかけるのですが一向に改まりません。理由を聞いてみると、ICEで1秒にも満たない短時間のトレースを取ってもアプリケーションの解析はできないと言うのです。それより、アプリケーションを実機(試作端末)で動作させ、挿入した「print」文が吐き出すログを見ながらチェックしたり、パソコン上のエミュレータを使ってチェックしたほうが楽だと言うわけです。そのときに、ICEは不要にはならないにしても、もう何百台も抱える時代じゃないなと直感しました。アプリケーション開発にも使え、ソフトウェアをきちんと計測出来るツールを作ってもらわないと、携帯市場の先頭から脱落してしまうのではないかという危機感もあり、山田さんに早速相談して、実機でデバッグできる新しいツールをお願いしたのです。

このようなシャープの要求にYDCはどう応えたのですか?

山田:西田さんが、もう試作ボードを使う時代じゃないんだよ、実機なんだよ、とおっしゃられて、開発手法はどんどん変化しているのだからYDC自身も大きく変化してこれまでにない開発ツールを提案してくれないと困るというご指摘をいただき、広島工場からの帰りの飛行機の中ではずいぶん悩みました。社に戻ったあとさっそくうちの開発スタッフを集めて、今までの発想を捨てて新しいものを作ろうということになったわけです。シャープの開発担当の皆さんは、埋め込んだprint文を低速のシリアルポートに吐き出しながらデバッグを進めているということで、どうしても実アプリケーションの挙動に影響が及んでいました。そこで、端末実機の中でもっとも高速な外部インタフェースであるSDカードにログの出力先として利用しながら、アプリケーション内部の動きを時間という軸で動的解析するツール「システムマクロトレース」の開発に着手しました。何回かのやりとりを経たあとプロトタイプを西田さんのところに持っていった時に、"こういうのが欲しかったんだよ"とお褒めの言葉を頂いたことを覚えています。開発がハードに近いところから上位のアプリケーション層に移ることによって、実機そのものが開発プラットフォームになるのだという重要な変化点を、西田さんには教えていただきました。このシステムマクロトレース機能は、「advide LUNA」というデバッグツールに搭載され、多くのお客様からご評価をいただいています。

西田:システムマクロトレースには関数やタスクの実行履歴をグラフィカルに把握できるといった特徴があるのですが、なかでも、関数の入口と出口を捉えて関数の実行時間を表示してくれる機能が個人的にはとても気に入りました。しかも、見たいところをアプリケーション開発者が簡単に指定できるなど操作性にも優れていて、短い時間の中でとても完成度の高いツールを作っていただいたと思っています。あとはシャープ内の開発スタッフに普及させるのが私の役目でした。

Androidの時代を迎えて、開発期間短縮と品質向上が鍵に。

Googleが中心となったOHA(オープンハンドセットアライアンス)から2008年秋にAndroidがリリースされて以来、スマートフォン市場は急速にAndroidの採用にシフトしていきます。シャープはどのような取り組みを行ったのでしょうか。

西田:シャープがAndroid端末を投入するという話は2009年11月の段階で公表しており、2010年5月の発表(「LYNX SH-10B」)を目指して、Symbian OS搭載端末の開発と並行しながらAndroidの開発も進めていました。ただ、Android自体がまだ初期の段階でしたので思うような性能がなかなか出ないという状況でした。それであればYDCさんのシステムマクロトレース機能が有効なのではないかと思い付いて、2010年が明けた直後くらいに、プロトレベルでいいので2010年3月中にAndroidに対応してもらえないかと、とんでもなく無理なお願いをしたんです(笑)。

山田:今だから言えますが「西田さん、またですか」という感じでした(笑)。

年明けに要請があって3月までに開発するというのは相当厳しそうですね。

河本:私は2010年からシャープさんの営業担当になったのですが、ツールがないとシャープさんの開発も進みませんので、社内の開発チームになんとかAndroidに対応して欲しいと頼み込んで回りました。また、完成したプロトタイプをシャープさんに持ち込む時には、どこの部署の、どなたに、何時に、何台持っていく、ということまですべて明確にして、時間のロスなく使っていただけるようにいろいろな調整をしたことを思い出します。

Androidはバージョンアップも頻繁に行われていますが、Symbian OSの端末開発と違いはありますか?

西田:日本のキャリアさんは基本的に春夏と秋冬に新しいモデルを投入するのが通例となっていますが、OHAは不定期にバージョンを上げられており、多くのパッチもリリースされるため、携帯端末の開発スケジュール管理が非常に難しくなっています。エンドユーザーはどうしても最新バージョンのAndroidを望まれますが、当社での開発期間に加えてキャリアさんでの試験期間も必要なので、OHAのリリース後にいかに早く品質を確保して製品に組み込んでいくかが新たな課題のひとつに挙げられます。また、似たような端末がいろいろなメーカーから出てきますので、徹底的な省電力化やユーザーインタフェースのレスポンスを含む性能向上など、細かいところで差別化を積み上げていかないと勝ち抜くことができません。いわば原点回帰が重要になってくると考えています。

開発ツールにも変化は出てくるのでしょうか。

河本:当社のようなツールベンダーからみると、フリーで使えるものを含むさまざまなツールが市場に登場してくるため、競争がより厳しくなるだろうというのが実感です。ただ有償であっても、当社のツールが開発効率や品質の向上に貢献するということは自信を持って言えますので、お客様にその価値をきちんとご提案していきたいと思っています。また、シャープさんから実機評価の大切さを教えていただいたように、これからもお客様のご要望をツールの機能にフィードバックしながら、たとえば今後主流になるマルチコア環境での最適化を支援する新たな機能にも取り組んでいきたいと考えています。

今後の取り組みについて展望をお願いします。

山田:Androidに代表されるように、これからは誰かが作ったものを上手く利用しながら製品をまとめていかなければならない時代になっています。ブラックボックスに近いソフトウェアを実機上で動作させながら、品質をどう確保するのか、性能をどうチューニングするのか、不具合があったときに問題をどう見極めるのか、といった点が非常に大事になってくるでしょう。また、情報端末だけではなく一般の組み込み分野でもARMプロセッサの採用が増えてくると考えられます。ARM プロセッサによってグローバルかつオープンな扉を開けようとされるお客様を、「他人が作ったプログラムの動きが見える」、「誰もが使える」、「最終製品に接続できる」これら三つのキーワードでしっかりとサポートしていきたいと考えています。