実機のAndroid端末のアプリケーションでボタンを押すと,開発機の状態遷移表にリアルタイムに反映される
実機のAndroid端末のアプリケーションでボタンを押すと,開発機の状態遷移表にリアルタイムに反映される
[画像のクリックで拡大表示]
Androidのシミュレータを使った開発例
Androidのシミュレータを使った開発例
[画像のクリックで拡大表示]

 キャッツは,2009年11月18日から20日までパシフィコ横浜で開催されている組み込みソフトウエア開発の技術展「Embedded Technology 2009」で,同社のCASEツール「ZIPC」のAndroid対応版の試作品の動作を実演した。イベントと状態を関連付ける状態遷移表を作成するだけで,AndroidアプリケーションのJavaプログラムを自動生成できる。またテスト時には,実行しているAndroidアプリケーションの状態が,状態遷移表の中でハイライトされるため,より確実にテストを行うことができる。製品化の時期は未定。

 状態を横軸,イベントを縦軸にしてアクションを指定する状態遷移表からAndroidに対応したJavaのプログラムを生成する。試作品では,個々のイベントと個々の状態をすべて別のクラスとして生成していた。もっとも,これではメモリの使用効率が悪くなってしまう。これに対し,同社ソフトウェア事業部 技術部マネージャーの村上晋一郎氏は「今回,展示したのはあくまで試作段階の実装。(製品化の際には)メモリ使用量を抑えるモードやスピード重視モードといったさまざまなモードを用意したい」と説明する。

 村上氏は「簡単なゲーム・アプリケーションのようなソフトウエアなら,ここまでの仕組みは不要だ。しかし,これからはAndroidでもアプリケーション間連携を活用した複雑なサービスが出てくるはずだ。チーム開発では,ソース・コードの品質だけでなく,設計の漏れがないかを検証することも必要になる」とAndroidのアプリケーション開発にZIPCを導入する意義を語る。想定する利用分野は,情報家電,セットトップ・ボックス(STB),車載機器,FA機器,医療機器,デジタル・サイネージなどの組み込みソフトウエア開発。スマートフォンで動作する業務アプリケーション開発での利用も視野に入れているという。

 状態遷移表は機器のアーキテクチャに依存しないため,「例えばiPhone向けアプリケーションの開発に流用できる」(村上氏)というメリットもある。将来は,iPhoneや携帯電話機向けLinux仕様「LiMo」に対応したZIPCの開発も予定しているという。