組込みシステムというものが身の回りのあらゆるところに入り込んできていることや、その組込みシステムのソフトウェアがどんどん複雑になってきていることは皆さんもご存じだろうと思う。例えば自動車には数十個のマイクロコントローラが搭載されており、プログラムの行数も500万行を超えるものがあるような状況だ(IPA 2007年版組込みソフトウェア産業実態調査 報告書より)。

巨大で複雑なプログラムはプログラム自体を作ることよりも、きちんとした仕様を作って全員で共有することの方が非常に重要になる。コンピュータやプログラムのことをよくわかっていない顧客から要望を過不足なく汲み取り、モジュール間で矛盾なく整合性の取れた仕様を設計することができれば、後はそれをコードに落とすのはそれほど難しくないとはよく言われることである。

そこで出てくるのがモデリングだ。目的とするシステムの仕様を抽象化したモデルを使って表現することにより開発に直接携わる者だけではなく、発注した者やテストをする者にも理解できるものとすることができるわけだ。

このモデリングに使う道具の1つとしてUML(Unified Modeling Language)がある。本書ではライントレーサーという一種のロボットの設計をUMLで行いながら、モデリングのコツやUMLの書き方を学習をしていく。

組込みソフトウェアの開発を通してUMLの書き方やモデリングのコツを学べる

UMLとは何かから学べる

筆者もUMLという名前しか知らなかった頃はUMLという単一の(フローチャートのような)記述法があるのだろうと思っていたのだが、本書を読むとそうではないことがわかった。本書のUMLの解説部分を引用すると(「2.2 UMLをちょっとお勉強」より)「UMLとは、統一モデリング言語(Unified Modeling Language)のことで、対象のソフトウェアモデル(設計図)を表現するための言語です。モデル(設計図)とは、作ろうとしている対象物の仕様が表現されていて、その図面を使うと、いつ誰が作っても同じものができるようにする図面です。設計図は、表現したい内容に応じて、異なる書き方が存在します。」とある。つまり、単一の図などですべてを表すわけではなく、いろいろな局面でいろいろな図を使いわけるわけだ。

初めのうちは10種類以上ある図をどの用に使っていくかわかりにくいのだが、本書ではベテランエンジニアと新人エンジニアの掛け合いという形で順を追ってモデルを作っていくことにより、複数の図をどの用に使うかを解説している。UMLを用いたモデリングを行うのが初めてという読者はここから読み始めるのもいいかもしれない。

モデリング設計を行っていてまずつまづくのは、ある事象を表すのに端的な言葉を見つけることの難しさだ。やっているうちに言葉探しゲームかとうんざりしてくるものだが、ここで手を抜くと後々で関係者の間で意識のズレが生じる可能性があるので大変だががんばって乗り越えてほしい。モデリングの講師をやっている方に聞くと、いくつもモデルを作っている間にだんだん慣れてきて楽になってくるとのことだ。実際に1年間モデリング設計をやってきた人達と始めたばかりの人達のモデルを見せてもらったことがあるのだが、前者のモデルは分析が簡潔で言葉もわかりやすく、明らかに後者のモデルとは違うものだった。

モデルをどうやったらよりよいモデルにしていけるかのヒントも5章に多数収録されているので、自分で作ったモデルをよりよくするためにも一度目を通しておきたい。特にコードが書ける人がやってしまいがちなのが「状態図を作成するつもりでフローチャートを作成してしまう」ことだ。状態図とフローチャートは違うものだと頭を切り換えておかないと、いつまでたってもフローチャートを書いてしまうので注意しておきたい。

そしてこうして完成したモデルを実際に実装するわけだ。本書ではleJOSというOS上で動き比較的簡単なJava言語と、BrickOS上で動き高度な制御が可能となるC言語の2通りの実装を解説している。もちろん単にプログラミングの解説ではなく、完成したモデルをどうやってコンピュータ言語に落とし込んでいくかを具体的に説明しているので分かりやすいのではないかと思う。難易度は高くなるがきめ細かい制御が可能になるため、高速に動作させるためにはC言語を選択するのが一般的なようだ。

ライントレーサーでの実践的学習も可能

また、本書が扱うライントレーサーは組込みシステム技術協会が毎年大会を行っているETロボコンのライントレーサーだ。このコンテストでは単純に線をトレースしてのタイムだけではなくショートカットやクランク走行など様々な特殊走行を行うことによりボーナスタイムを得ることができるため、高評価を得るためには特殊走行も含めたモデリングが必要になる。

本書ではそういった特殊走行をどう分析していけばいいかの解説も行っており、モデリング学習の教科書としてだけではなく、実際にETロボコンに出るべく開発を行っている人達にもよき教科書になってくれるのではないかと思う。

ロボットレースによる 組込み技術者養成講座

ETロボコン実行委員会 著
毎日コミュニケーションズ発行
2008年08月26日発売
B5変型判 256ページ
ISBN 978-4-8399-2654-0
定価 3,150円(本体3,000円)

本書を3名様にプレゼントいたします。こちらのページからご応募ください。