ソフトウエア開発の先端技術を現場に広める伝道師。酒匂寛氏はこの呼び名にふさわしい。オブジェクト指向技術を日本にいち早く紹介し、多数の導入プロジェクトに参加。現在は「形式手法」の定着を目指す。オープン系の最初期から30年、あくまで現場にこだわり、「バグ無し」開発への理想を追い続ける。

オブジェクト指向、形式手法とソフト開発技術の最前線にいち早く取り組んできました。

 自分の中では問題意識は一貫しています。ソフトを開発する上で、ソフトの論理的な振る舞いを表現した「仕様(スペック)」がいかに大切か、ということです。

 仕様は、要求を出す人と物(プログラム)を作る人が合意する接点となります。ここがいい加減だと、どうにもならないわけですよ。オブジェクト指向も形式手法も、仕様を正しく作り、信頼性の高いソフトを実現する手段として注目しました。

ソフト開発では仕様書を書くのは当たり前ですが、それでは不十分であると。

 多くの仕様書は、「まずAをして、次にBをして、Cをする」みたいな書き方をしがちです。目的を満たすために、どんな手段を取ればいいかを示すわけです。

 でも、目的を実現するやり方って一つではない場合がほとんどです。事情が変われば、別のやり方を選んだほうがよい場合もよくあります。「最後に成り立っていてほしいのはこれ」と示しておいて、実現のやり方は自由に選べる。これが、形式手法が目指している仕様の姿です。

(写真:中島 正之)

オブジェクト指向では不十分

仕様へのこだわりという点で、オブジェクト指向技術はどうだったのですか。

 オブジェクト指向を深く知ったのは、『オブジェクト指向入門』(本誌注:オブジェクト指向言語Eiffelを開発したバートランド・メイヤー氏による、同技術のバイブル的存在)を1990年に翻訳したのがきっかけです。ただ、関わりはもっと古くて、1982年にシステムインテグレータのSRAに入ってから、UNIXで動くCOBOLのテストツールや、PCで動くCASE(ソフト開発支援)ツールを手掛けたんです。

オープン系が普及するはるか前の話ですね。

 そうそう。PCではマウスを使ったのですが、Macintoshが出る前の話です。まだオブジェクト指向言語を使っていなかったのですが、オブジェクト指向の考え方を取り入れました。

 『オブジェクト指向入門』を通じて、この技術の持つ意味が分かるようになりました。それまで便利なプログラミングの仕組みとしか考えていなかったのですが、非常に広範な原理であり、ソフト開発の上流工程から信頼性を高める効果があると気付いたんです。

 オブジェクト指向の考え方を入れると、書くべきことが少なくなる。そうなると、検証の範囲を狭め、しかも書くべき内容がはっきりするので品質が上がる。それがプロジェクトのQCD(品質・コスト・納期)に直接関わってきます。

 90年代はこうした考えのもと、組み込み系や大規模なミッションクリティカルシステムの技術コンサルティングやプロジェクトマネジメントを支援しました。

 ただ、オブジェクト指向には不満もありました。「仕様をちゃんと書く」という点では、まだ不十分でした。モデリング言語のUMLを見ても、やはり物足りなさを感じました。

それで形式手法に注目した。

 2000年に入ってから、まずオンライン証券向けシステムで、次にフェリカネットワークスのプロジェクトに参加しました。モバイルFeliCa ICチップのファームウエアを開発するもので、ここではコンサルティングや教育、レビュー、ガイドラインの作成などいろいろやりました。ほかに、形式手法で製品の品質を高める活動にも協力しました。

 仕様記述言語のVDMを主に利用しているのですが、VDMはJavaやEiffelのような実装言語とは違って、仕様記述に特化したモデリング言語です。ある種の割り切りがあって、便利な様々な機構が入っている。この記述力はなかなか有用だと思ったわけです。