Comments
Description
Transcript
カーオーディオ向けソフトウェア開発環境の開発
カーオーディオ向けソフトウェア開発環境の開発 Development of Simulator for Car Audio Devices 増 田 泰 昌 Yasumasa Masuda 坂 部 由 典 Yoshinori Sakabe 友 野 善 行 Yoshiyuki Tomono 野 口 哲 宏 Tetsuhiro Noguchi 要 旨 カーオーディオ製品(FM/AM、CD、+αを持つ製品)向けソフトウェア開発の効率化、品質向上を目的と して、パソコン(以下、PC)上でのソフトウェア開発環境“SWIFT”を開発した。 さらに、“SWIFT”と汎用のテスト支援ツールである“Insure++”、“Quick Test”を連携させる仕組みの構 築、グローバル設計(海外オフショア開発)を推進できるソフトウェアPF(以下、ソフトPFという)の共通 化を実施した。 “SWIFT”は、当社カーオーディオ製品向けソフトPFのエミュレーション機能、および周辺デバイスのシ ミュレーション機能を持っており、“SWIFT”の利用によって、開発効率化(工数削減・開発期間短縮)、品質 向上、グローバル設計の推進、若年層の早期戦力化に効果が上がった。 Abstract For the purpose of efficient software development and higher quality of car audio devices (incorporating FM/AM radio, CD deck, and/or other functions), FUJITSU TEN has developed "SWIFT", a software development simulator, that runs on a personal computer (hereinafter referred to as PC). In addition, we have established the system to connect "SWIFT" with "Insure++" and "Quick Test", multipurpose test support tools. As a result, we achieved the commonizing of software platforms (hereinafter referred to as software PFs) for further global designing (development abroad). "SWIFT" can emulate software PFs for our car audio products and simulate their peripheral devices. "SWIFT" has improved our development efficiency (reduction in man hours and shorter development period) and product quality, promoted global designing and enhanced skills of our younger software engineers. 34 カーオーディオ向けソフトウェア開発環境の開発 1.はじめに 1 はじめに カーオーディオ製品(FM/AM、CD、+αの機能を搭 2.2 ソフトPFの構成と“SWIFT”の構成 カーオーディオ向けソフトPFの構成と“SWIFT”の構 成を図1に示す。 載した製品)は、低コストを追及するため、低ビットマイ コン(8ビットマイコンなど)を使用し、アセンブラによ る開発が行なわれていた。ここ数年のオーディオ機能の拡 【実機環境】 【「SWIFT」環境】 【製品ソフト】 【PCソフト】 大、デバイスの発展(メモリ量UP、CPU性能UP)により、 C言語での開発、OS搭載といったマルチメディア製品と同 アプリケーション アプリケーション 様の開発環境下でソフトウェアの開発が行なわれるように ソフトウェア ソフトウェア なっている。 = 機能面においても、USB機能、iPod機能、Bluetooth機 能、衛星ラジオ機能の充実、さらに、車載LAN(車内 ネットワーク)の高機能化などにより、ソフトウェアの規 模、開発工数は、増加の傾向にある。また、製品の多様化、 ソフトPFインターフェース 開発期間の短縮、高品質への要求は年々高まり、ソフト ソフトPF ウェア開発の効率化は大きな課題となっている。 OS(ITRON) そこで今回は、ソフトウェア開発の効率化、および品質 向上を目的として、PC上でのソフトウェア開発環境 = ソフトPFインターフェース ソフトPF マイコン(ハード) ≠ OS(Windows) PC(ハード) 」 「SWIFT(Software Integration Framework to the field) を開発し、オーディオ向けアプリケーションソフトウェア を、PC上で開発できる環境を構築した。“SWIFT”を製 品開発に適用した際の付随効果を含めて、ここで紹介する。 2 2.ソフトPFと“SWIFT”の構成 ソフトPFと“SWIFT”の構成 KEY LCD DSP CD デッキ USB ・・・ ≠ KEY LCD DSP CD デッキ USB ・・・ 2.1 カーオーディオ向けソフトPF ソフトPFとは、アプリケーションソフトウェアを開発 するための基盤となるソフトウェア(OS+共通ミドル ウェア)である。 従来、カーオーディオ向けソフトPFは、大きく三つに 分かれていた。A社向け製品用、B社向け製品用、市販向 【実デバイス群】 【仮想デバイス群】 図1 ソフトPFと「SWIFT」の概念図 Fig.1 Schematic Diagram of Software PF and "SWIFT" け製品用などといった具合である。このような状況だと、 PC用のソフトウェア開発環境を開発する場合も、三つの 図1のように、ソフトPFの外部インタフェース(アプリ 開発環境を開発する必要がある。それぞれのソフトPF毎 ケーションソフトウェアに対するインタフェース)を明確 にアプリケーションソフトウェアも専用に開発する必要が に定義することにより、実機環境と“SWIFT”環境で、 ある。そのため、アプリケーションソフトウェアの共通化 全く同じアプリケーションソフトウェアを動作させること 範囲が小さく、開発効率の悪化を招いていた。 を可能にしている。 今回は、そのようなソフトPFを、一つに纏める活動か ら実施した。07年度以降に開発するカーオーディオ向けソ フトウェアは、全て共通ソフトPF上で動作するように なっている。それにより、以下の効果を得ることができた。 (1)アプリケーションソフトウェアの共通化 (2)ソフトウェア開発環境“SWIFT”の一元化 ソフトPFの主な特徴としては、下記の3点である。 ①ハードウェア依存部分を全てソフトPF内に取り込んで いること。 ②電源制御、車載LAN機能などのカーオーディオ特有の機 能を共通ミドルウェアとして独立させたこと。 ③ハードウェア構成が変更された場合も、ソフトPFを新 (3)仮想デバイスの開発による機能拡張、汎用性確保 ハードウェアに対応させるのみで、アプリケーションソ (4)上記による開発効率化、品質向上 フトウェアの変更が不要になったこと。 35 富士通テン技報 Vol.26 No.1 一方、 “SWIFT”の特徴としては、カーオーディオ向け シリアル通信、IIC通信、UART通信などで実現している ソフトPFと同一のソフトPFをPC上で実現したことであ 周辺デバイスとの通信をPipe機能に置き換えることによ る。それにより、ソフトPF上で開発するアプリケーショ り、1台のPC内で、実機全体をシミュレーション/エミュ ンソフトウェアは、実機環境と“SWIFT”環境で全く同 レーションできるようになっている。 仮想デバイスは、デバイス毎に開発が必要である。デバ 一のものを使用できる。 また、周辺デバイス(CDデッキ、表示機、操作釦、チュー イスのバージョンが上がった場合にも新仮想デバイスの変 ナ、DSPなど)のシミュレーションを仮想デバイスとして 更対応が必要となる。07年度では、約30種類の仮想デバイ 同時に開発することで、“SWIFT”環境でのシミュレー スを開発しており、08年度中に約50種類まで拡充させるこ ション/エミュレーション範囲を拡大することができた。 とを計画している。 “SWIFT”と仮想デバイスの実際の画 仮想デバイスの実現手段と“SWIFT”との関係に関し 面を、図3に示す。 て、図2に示す。“SWIFT”と仮想デバイス間の通信は Windows OSのPipe機能を使用して実現した。実機上では、 3.テスト支援ツールとの組み合わせによる品質向上 3 テスト支援ツールとの組み合わせによる品質向上 “SWIFT”は、Microsoft Visual C++で開発しており、 仮想デバイス郡 アプリケーション Microsoft Windows OS(2000, XPなど)との親和性が非 常に高い。そのため、市販されているWindows向けテス 「SWIFT」 (OS+共通ミドルウェア) CD デッキ LCD DSP ・・・ ト支援ツールと組み合わせることにより、今まで膨大な工 数を掛けて実施していた検証を、容易に実施することが出 来るようになった。 Pipe通信 Pipe通信 Pipe通信 3.1 Insure++の活用 Insure++は、動的に不正なメモリアクセスを検出する ツールである。不正なメモリアクセスを検出するためには、 Windows XP(or 2000) 過去では以下のような手法で検証を実施していた。 ・ソースコードの総点検(人海戦術) 図2 仮想デバイスの概念図 Fig.2 Schematic Diagram of Virtual Devices ・静的解析ツールによる検証(限界あり) 仮想DSP デバイス 仮想LCD デバイス 仮想CDデッキ デバイス 仮想KEY デバイス LANモニタ タスクモニタ 内部通信ログ 「SWIFT」 図3 「SWIFT」本体と仮想デバイス Fig.3 "SWIFT" and Virtual Devices 36 カーオーディオ向けソフトウェア開発環境の開発 ソースコードの総点検による検証は、膨大な工数が掛か に関しては、全製品を網羅できる共通の仮想LCDデ るのが通常である。さらに、過去のソフトウェア資産を活 バイスを開発した。それにより、シナリオファイルの 用してきているソフトウェアは、多数の開発者の考え方が 共通化を図ることができた。任意の内部メモリ比較は、 混在しているため、検証が困難な場合がある。 期待するメモリ値をシナリオに登録しておき、特定の ソースコードの点検には、静的解析ツールを利用し、プ 操作が実行された場合に、実際のメモリ値と比較する ログラムソースの記述を検査する方法があり、従来から導 機能である。 入し効果を上げている。しかし、静的解析ツールによる検 '07年度に開発した製品では、約5,000シナリオを作成し、 証は、ソフトウェアを動作させながらの検証ではなく、ソ 操作・動作に関する試験を全て、自動化することができた。 フトウェアで使用している変数(変化するメモリ)を考慮 した検証ができない。Insure++では、動的にソフトウェ アを動作させながら検証する機能が備わっている。そのた め、静的解析ツールでは不可能な検証を、自動的にかつ効 3.3“SWIFT” 、Insure++、Quick Testの連携 “SWIFT”、Insure++、Quick Testの3ツールを連携さ せることで、さらに効率的な評価を実現した。 果的に実施することができるようになった。'07年度の実 Insure++のメモリチェック機能、およびQuick Testに 績としては、39件のメモリ破壊に起因する潜在不具合を検 よる操作・動作の網羅性を組み合わせることにより、ソフ 出することができた。 トウェア全体のメモリチェックを自動的に検証することが 可能になった。 3.2 Quick Testの活用 Quick Testは、シナリオファイルを作成することにより、 以下の検証を自動実行することが可能である。 (1)マウス操作の自動実行 4. “SWIFT”活用の効果 4 “SWIFT”活用の効果 4.1 ハード/ソフト並行開発による開発期間の短縮化 “SWIFT”を開発し製品開発に適用することで1製品あ (2)任意のビットマップ比較 (1)マウス操作の自動実行は、人がマウスをクリックす たり約1.5ヶ月(約10%)の開発期間短縮を実現することが ることにより操作するべきことを、シナリオファイ できた。図5は、ある製品の開発日程の概要を示している。 ル内に記述することでツールにより自動実行する機 図5から以下のことがわかる。 能である。 ①ハードウェア入手前に、操作動作の検証を開始 ②開発工数ピークの低減 ③機能サンプル出荷可能な時期が前倒し 6月 7月 ハード日程 8月 9月 1M (今迄) ソフト設計 シナリオに登録 実際の画面 している画面 図4 Insure++でのビットマップ比較 11月 12月 2M ★機能サンプル出荷可 適用前 ソ フ ト 日 程 10月 HM 操作動作 システム評価 ★機能サンプル出荷可 HM 適用後 ソフト設計 (今後) 操作動作 システム評価 従来 今回 前倒し&平準化 工数 カーブ Fig.4 Comparison of Bit Maps of Insure++ (2)任意のビットマップ比較は、図4のように、期待する 図5 開発日程 Fig.5 Development Schedule 画面をシナリオに登録しておき、特定の操作が実行さ れた場合に、実際の画面と比較する機能である。ただ し、表示仕様は製品毎に異なることが多く、表示機器 の仮想デバイスを製品仕様に忠実に作成すると、シナ リオも製品毎に作成する必要がある。これは効率化の 面で大きな負担になる。そこで、今回は、LCD機種 4.2 実機レスによる海外オフショアの活用拡大 “SWIFT”を適用することにより、遠隔地での開発にお ける、さまざまな問題の解決を図ることができた。 現在、当部門では、フィリピン、中国などを中心に海外 37 富士通テン技報 Vol.26 No.1 オフショア開発を推進している。ここで一番問題になるの 4.3 若年層の早期戦力化 がハードウェア(実機)の現地への提供である。試作機は、 “SWIFT”を適用することにより、ハードウェアのない 費用面でも高額になる場合が多く、また、輸送中に故障な 環境でもカーオーディオ向けのアプリケーションソフト どが発生することも多い。 “SWIFT”を活用することによ ウェアを開発することが可能になった。このことは、ハー り、アプリケーションソフトウェア“SWIFT”上で開発 ドウェアの知識がなくても製品のアプリケーションソフト 可能なソフトウェアを海外へ委託し、ハードウェア依存度 ウェア開発が可能であることを意味する。 “SWIFT”活用 が高いソフトPF部分を国内で開発する、という開発分担 によりハードウェアの知識の浅い若年層においても、製品 が可能になった。 ソフトウェア開発の担当者として活用することができるよ また、不具合の現象確認においても効果があった。ハー うになり、開発効率化に大きく貢献できた。 ドウェアを使用した場合、日本で再現している不具合でも 海外拠点で保有しているハードウェアでは再現しない、と いう場合があり、不具合現象の確認に時間を要する場合が ある。 “SWIFT”を利用することで、全く同じ開発環境を 準備することが出来るため、一方でしか再現しない、とい う状況が無くなった。図6に示すように、同じ動作をする 5 5.おわりに おわりに 以上、今回開発したソフトウェア開発環境“SWIFT” について紹介した。 “SWIFT”の残された主な課題は、以下の3点である。 ものを同時に見ながら会話ができるため、コミュニケー ・タイマ、割り込みなどのタイミングの精度向上 ションの向上にも効果があった。 ・実表示器との整合性 【神戸本社】 【海外】 Internet ・操作上のフィーリング また、“SWIFT”の活用により、ハードウェアの知識 が身に付かなくなる、という欠点があり、“SWIFT”の 活用と組み込みソフトウェア技術者としての両立が課題 である。 共有データ 今後は、上記の課題解決を実施すると共に、“SWIFT” をカーオーディオに続き、マルチメディア製品のソフト ウェア開発にも適用拡大を実現する。さらに、シミュレー 会話 ション/エミュレーション範囲の拡大、およびソフトウェ ア品質向上に向けた活動の定着化を実現する。 図6 海外オフショアの今後 Fig.6 Future Development Abroad 記載した製品名などの固有名詞は、各社の商標または登 録商標です。 筆者紹介 増田 泰昌 (ますだ やすまさ) 2004年入社。以来、オーディオ 製品のソフトウェア開発に従 事。現在、ソフトウェア技術本 部 技術統括部 ソフトウェア技 術部に在籍。 野口 哲宏 (のぐち てつひろ) 1987年入社。以来、オーディオ 製品のソフトウェア設計に従 事。現在、ソフトウェア技術本 部 技術統括部 ソフトウェア技 術部長。 38 坂部 由典 (さかべ よしのり) 1993年入社。以来、オーディオ 製品のソフトウェア開発に従 事。現在、ソフトウェア技術本 部 技術統括部 ソフトウェア技 術部に在籍。 友野 善行 (ともの よしゆき) 2006年入社。以来、オーディオ 製品のソフトウェア開発に従 事。現在、ソフトウェア技術本 部 技術統括部 ソフトウェア技 術部に在籍。