日経ものづくり 組み込みソフト玉手箱

最終回 擦り合わせが支える組み込みソフト

●組み込みソフトの開発は「擦り合わせ型」
●歴史的なソフト開発の思想は「組み立て型」
●コア部分は日本での開発が向く可能性

 当連載「組み込みソフト玉手箱」の第1回でも触れたが,組み込みソフトの開発は多分に「擦り合わせ型」の色彩を帯びている。特にハードとの関係に擦り合わせが必要。現状では,どうしても仕様変更などが発生してしまうことが多いためだ。
 ところで,もともとコンピュータのソフト開発は「組み合わせ型」を目指して進化している。企業の業務システムや,パソコンで動くアプリケーション・ソフトは既にかなりの部分,組み合わせ型開発で作られている。組み込みソフトとの差はどうして生じたのだろうか。

インタフェースを整えて再利用
 コンピュータ草創期のソフトには,構造がなかった。コンピュータが発達してソフトも大きくなって,何人かで分担してソフトを作るようになると,ソフトを部品化したり,部品を組み合わせたりといった試みが必要になる。これに伴って,ソフトの中に構造が現れてきた。
 初期の部品はサブルーチンの再利用のような形態から始まった。ある程度まとまった処理をする汎用的なサブルーチンを作っておけば,一つのソフトの中で繰り返し使えるだけでなく,他のソフトにも再利用できるはず。このような処理ルーチンをまとめた部品ソフトはライブラリなどと呼ばれた。
 しかし,ソフトの再利用には制約条件が意外と多かった。事務システムでも技術システムでも,企業の業務向けシステムのソフトは企業ごとに細部が異なる。処理内容もだが,問題はソフトの構造が異なることだ。部品ソフトを再利用するには,利用先のソフト構造に合わせ込む作業が必要になる。
 このような作業の発生を防ぐには,ソフトの構造を共通にしておくことが考えられる。処理内容は別,構造は同じにするためには,部品ソフト同士のインタフェース(プログラミング・インタフェース)をはっきりさせる必要があった。どのような入力に対してどのような出力を得るのかを約束事として定義しておく。この約束事に従って部品ソフトを作っておけば,再利用は容易だ。