自分戦略研究所 | 自分戦略研究室 | キャリア実現研究室 | スキル創造研究室 | コミュニティ活動支援室 | エンジニアライフ | ITトレメ | 転職サーチ | 派遣Plus |

組み込みエンジニアは何を見るか

第7回 組み込みも非組み込みも、必要なのは「ロジック」

加山恵美
2007/9/26

最近注目されている組み込みエンジニア。彼ら、彼女らは、どんな製品にかかわっているのだろうか。

 「仕事をしているときの神原さんはすごく集中しています」と、同僚はいう。周囲の会話や動きをものともせず、脇目も振らず仕事に没頭しているのだという。彼こそが今回登場する組み込みエンジニア、IRIユビテック ユビキタス事業部 ソフトウェア開発室 主幹の神原久夫氏だ。

 ソフトウェア開発の長い経験を持ち、最近では組み込み製品の開発に携わった。組み込みエンジニアへの転向かとも思えるが、神原氏は自分が組み込みエンジニアか、そうでないかについては特に意識していないという。組み込み開発にかかわった経緯やITエンジニアから見た組み込み開発、組み込み開発とアプリケーション開発の共通点などを含め、神原氏のエンジニアとしての考え方を聞いた。

C言語もインターネットも1990年代初頭から

IRIユビテック ユビキタス事業部 ソフトウェア開発室 主幹 神原久夫氏

 神原氏は東洋大学の大学院で電気工学を専攻した。主に情報処理系の研究を行い、C言語のプログラミングなどを経験した(使用したマシンはソニーのUNIXワークステーション、NEWS)。1990年代初頭のことであり、相当早い段階から現在普及している技術に携わっていることになる。

 修士課程を修了すると富士通に入社した。関連会社のプロバイダ運用管理にかかわるアプリケーション開発などを担当し、7年ほど過ぎたころインターネット総合研究所(IRIユビテックの親会社に相当する)へと転職した。大学の先輩の紹介がきっかけで、インターネットを中心とした同社の業務と自由度の高さに引かれたためだという。

映像エンジンモジュールの開発に参画

 2005年、現在勤めるIRIユビテックのプロジェクトに参画するため同社に出向、後に転籍して現在に至る。ここで松下電工との共同開発製品「Building eXchange(BX)」や自社開発製品「Net UBIRIS(ネットユビリス)」などの開発を手掛けてきた。

 ここで組み込み製品であるNet UBIRISの概要を紹介しておこう。この製品の前段階には、フルハイビジョン対応の映像エンジンモジュール「UBIRIS」があった。これにストリーミング映像の再生といったネットワーク機能を付加した製品がNet UBIRISである。

 最初に神原氏がプロジェクトの構想を聞いたとき、率直にいって「大変そうだなあ」と感じたそうだ。というのも従来のUBIRISは映像処理に特化しており、ネットワーク機能はまるでなかったからだ。初めてネットワーク機能を付加するので、機能だけではなくネットワークドライバまでも一から開発しなくてはならないと見込まれていたのだ。

 幸いにも、ネットワークドライバはチップメーカーが提供するものが利用可能であることが分かり、一から開発する必要はなくなった。また作業を行うときはWindowsが搭載されている一般的なパソコンでコーディングし、チップメーカーが提供する開発ツールを使うなどした。組み込み開発といえども、開発作業時のスタイルは従来とさほど大きく変わらなかった。

OSがない、不具合を探す範囲が違う

 それにしても神原氏にとって、開発対象が組み込み製品であるのは初めての経験だった。「やはり当初は慣れるまでに少し時間がかかりました」という。

 従来のアプリケーション開発と大きく違うと感じたのは「OSがない」ことだった。組み込み製品であれば、一般的にOSはパソコンが使用するものとは違う。特殊なOSを使用することも、OSが存在しないこともある。

 またデバッグ作業にも違いがあった。これまでは、不具合があればプログラムのコードを徹底的に確認すればよかった。だが組み込み製品となると、基板の回路に問題がある場合もある。どちらに問題があるのか、切り分けるのはそう簡単ではない。

 自分のプログラムに「不備はない」と思っても、そうとは限らないこともある。だから神原氏は、不具合を見つけるとまず入念にプログラムを確認する。だがあるとき、どうしても原因が分からない不具合に直面した。

 それまで映っていた映像が突然止まってしまうのだ。調べてみると、ネットワークの接続が切れていることが分かった。だがそれを引き起こす要因が分からず、またいくつかある試作品の基板ごとに症状はばらついた。再現性が不定なので厄介だった。

アプリケーション開発担当がオシロをのぞく

 不具合の原因を探るため、神原氏は入念にプログラムを精査した。だが原因となるような不備は見当たらなかった。そこでアプリケーション開発担当であるにもかかわらず、自らハードウェアの確認に乗り出した。

 「オシロも見ましたよ」。当時を振り返り、神原氏は苦笑いする。

 神原氏にとってオシロスコープは、学生時代にも使用したことがあるので、まったく未知のものではない。だが、アプリケーション開発担当ならあまり触ることはないものだ。なのに自らオシロスコープで検証をしたというのだ。

 この果敢な努力が功を奏し、原因が分かった。神原氏はこの不具合の原因を「クロックの波形がなまっていたのです」という。組み込み開発に慣れていないと分かりにくい表現だが、ここでいう「なまっている」とは波形の異常と考えていいだろう。

 つまり原因はクロックだった。クロックの波形が正確性を欠いていたため動作が不安定になり、映像の動きが止まるという現象を引き起こしていたのだ。この不具合に神原氏らは半月ぐらい悩まされていたが、製品発表前に原因を解明することができた。クロックは抵抗部品の交換により正確な波形に改善された。

組み込みのハイブリッドなエンジニア

 このように、アプリケーション開発(プログラム)担当でありながら、ハードウェア(回路)担当の範ちゅうにも踏み込んで調査ができるエンジニアは貴重な存在である。神原氏は自分の担当範囲はしっかり調べ、かつ可能な範囲でハードウェア側の予備調査も行い、確信を得たうえであらためてハードウェア側に調査を申し出ている。

 もしアプリケーション開発担当が単なる「憶測」で「ハードウェア側に不備がある」と主張したらどうだろう。ハードウェア側は素直に聞き入れないかもしれない。場合によっては「いいがかりか?」と反感を持つかもしれない。だが指摘する側がオシロスコープで調査したうえで相談してきたら、軽くあしらうことなどできないだろう。

 Net UBIRISの開発を共にした、同社 電子機器事業部 事業企画室 室長の西塔隆二氏は「ハードウェア担当としても気が引き締まりますよ。そこまでアプリケーション開発担当にやられてはね。彼のような人がいるとプロジェクトがうまく進みます」と神原氏をほめる。それを聞いて神原氏は気恥ずかしいらしく、「いや。みんな、必死ですから」と謙遜する。

 開発現場にもよるだろうが、組み込み開発の現場でアプリケーション開発担当とハードウェア担当が互いの領域しか担当しないとなると、両者の間に溝が生じてしまうこともあるのではないだろうか。神原氏のように両方の事情を理解できるハイブリッドなエンジニアがいるのといないのとでは、大違いだろう。

ロジカルであることが大事

 現在、神原氏はNet UBIRISを離れ、別の開発プロジェクトに携わっている。いま手掛けているのは気象データをロギングするWebアプリケーションで、Net UBIRISに比べれば組み込み的な要素は希薄になった。

 だが神原氏にとってプロジェクトが組み込みか、組み込みでないかはあまり大きな問題ではないようだ。「『組み込みだから』、または『組み込みでないから』ということで変化はあまり生じないと思います。むしろ、変えてはいけないのではないでしょうか。どちらも開発するときはロジカルでなくてはいけません」と話す。

 実装するハードウェアによってリソースの差はあり、それは設計で考慮すべき要素の1つではあるが、開発するうえで本質的な違いにはならないと神原氏は考えている。「ロジカルであること」、これが何よりも大事なことのようだ。

 誠実かつ熱心に仕事と向き合う神原氏ではあるが、仕事をするうえでモチベーションになることは何かと聞くと、やはり「成功したときの喜びや達成感」であるようだ。Net UBIRISならネットのストリーミングデータが基板を通じてディスプレイに映った瞬間を見たとき、不具合の原因を突き止めて解決したときなどだろうか。

 自分の力で不可能が可能となったとき、内心で自分のことを「やっぱりすごいな」と見直すのだそうだ。エンジニアなら誰もが望む至福の瞬間かもしれない。「働けるまで、使ってもらえるまでエンジニアを続けたい」と神原氏はいう。まだまだ神原氏のエンジニア人生は続きそうだ。

組み込みエンジニアに関連する参考記事
組込みソフトウェア技術者試験の概要教えます
こんなところで組み込み初体験

 

自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。