連載
» 2005年09月23日 00時00分 UPDATE

組み込み企業最前線 − キャッツ −:「品質100%保証」を実現するCASEツールへ (1/2)

ソフトを“見える化”する独自方法論を盛り込んだCASEツール「ZIPC」で知られるキャッツ。ZIPCをハブとして、ユーザーが持つツール資産、開発環境を統合するツールソリューションで機器メーカーの開発効率化に貢献してきた。次に目指すは、「品質100%保証」を実現する方法論の確立と“ツール文化”の啓蒙だ。

[石田 己津人,@IT MONOist]

 2005年初め、1つの大規模プロジェクトが成功を収めた。そのプロジェクトは、その1年ほど前に手痛い失敗を経験している。費やした多額の費用がフイになり、科学技術を誇る日本に影を落とした。失敗の原因として「巨大機器を制御する組み込みソフトウェアにバグがあった」と噂されていた。そのためか、開発手法を見直したプロジェクトチームは、1つの開発ツールを新たに導入した。キャッツが開発・販売する組み込み向けCASE(Computer Aided Software Engineering)ツール「ZIPC」である。


キャッツ代表取締役社長兼COO 上島康男氏 キャッツ代表取締役社長兼COO 上島康男氏

 1973年設立で30年以上の歴史を持つキャッツは、現在社員数70名を抱え、ツール製品を中心に組み込みソフト/ハードウェアの開発を手掛ける。同社の名を一躍有名にしたのが、国内初の組み込みソフトウェア向けCASEツールとして1990年に登場したZIPCである。電子情報技術産業協会の調査によれば、1998年以来、この分野では7年連続で市場シェアトップを維持する。「世界的に見ても類似品はない」と、同社の代表取締役社長兼COO 上島康男氏は独自性に胸を張る。

“見える化”もたらす状態遷移表

 ZIPCは、モデリング、デバッグ、コード生成、テストという一貫した機能を持つ。評価ボードが完成していない段階でも、作成したモデル(設計書)からデバッグができ、Cコードを自動生成、モデルとソースコードを同一に保つ。さらに、一般にはコードで行うターゲット(プロセッサ)上のデバッグも各プロセッサ対応デバッガと連携してモデルベースで行える。そのため開発のスピード、生産性が高まる。

ZIPCの画面 ZIPCの画面

 そして何より、ZIPCは品質確保に貢献する。その理由は「拡張階層化状態遷移表」(Extended Hierarchical State Transition Matrix)と呼ばれる設計手法をベースにモデルを作成するからだ。

 組み込みシステムは、複雑に絡み合った「状態(State)」を内部に持ち、外部から入ってくるさまざまな「事象(Event)」に応じて制御(Action)を行う。そのため、状態と事象の関係をきちんと整理しながら設計しないと、正常に動作しない。状態遷移表は、マトリックス表を用いて状態と事象の関係をビジュアルに把握する手法だ。つまり、ソフトウェアの“見える化”である。

 従来の状態図やフローチャートではなく状態遷移表を設計に使うことのメリットは、網羅的に記述できることだ。表のセルに空白があれば、その部分では状態と事象の関係が記述されておらず、バグの原因となる“モレ・ヌケ”があることが分かる。さらに、携帯電話のようにコンシューマが使う組み込みシステムでは、異常(例外)ケースを設計段階から想定しておくことが重要になるが、複雑な組み込みシステムで異常ケースをすべて想定するのは極めて難しい。それが状態遷移表ならばビジュアルに見え、異常ケースを想定した設計が可能になる。結果として、不具合の発生を低減できる。

 上島社長は、状態遷移表にいち早く注目した経緯をこう話す。「1990年代まで、われわれは、電力会社で使う制御システムの開発をメインに手掛けていた。その分野は、わずかなバグも許されない世界なので、当時から手書きの状態遷移表がよく使われていた。だが、大規模なシステムになると、タタミ10畳、20畳分もの巨大な表を手で切り張りしていた。『これでは面倒だ』とコンピュータ化し、加えて拡張階層化という概念を持ち込んだ。ただ、いくらコンピュータ化しても、表が巨大化しては扱いにくい。状態と事象を階層化することで、表が膨れ上がらない独自の仕組みを考えた」。

 つまり、拡張階層化状態遷移表とは、ミッションクリティカルな社会インフラシステム分野で培われた設計手法のエッセンスをキャッツが独自に改良したものといえよう。発売当初は、監視制御分野などで多用されたZIPCだが、Windows版を投入し、多くの汎用組み込みプロセッサに対応し始めた1995年ごろを境に家電、携帯電話などのコンシューマ機器、オフィス情報機器、自動車といった民生機器へ適用範囲を広げ、名だたる機器メーカーに採用されてきた。組み込み開発が大規模化し、効率的な開発手法が求められ始めた時期と完全に同期する。

不具合発生率1/4に低減

 実際、ZIPCを開発に導入したことで品質や生産性を高めた機器メーカーは多いようだ。「状態遷移表を使ったことで不具合発生率が従来の約1/4に低減された」(「KONICA TECHNICAL REPORT Vol.13」)といった声が聞かれる。また、キャッツがユーザー事例論文を集めて発行する「ZIPC WATCHERS Vol.8」(2004年10月)によれば、「ZIPCを導入した開発フレームワークを適用した結果、開発期間が約150日から約75日に半減した」(九州日立マクセル)といった生産性アップの報告もある。こうした実績、高評価の積み重ねが、冒頭で紹介したような国家プロジェクトでの採用にもつながっている。日本の組み込み業界へのZIPCの貢献度は、決して小さくはないだろう。

 キャッツは、ZIPC以外にも開発現場ニーズに即したツール製品を2002年以降次々と世に送り出している。複雑化する組み込みシステムのGUI設計を支援する「Drawrial」、システムLSIのモデルベース設計、ソフト/ハード協調検証を可能にする「XModelink」、状態モデルから効果的な試験経路を自動抽出する「Perfect Pass」など。どの製品もユニークな方法論を持ち、評価は高い。例えば、XModelinkは、2003年に行われた「第11回LSIオブ・ザ・イヤー」の設計環境・開発ツール部門でグランプリを受賞している。

関連リンク:
キャッツ

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.