業界独り言 VOL222 リセット以降main以前

昨日は、坂村先生がプロジェクトXで取り上げられていたのだが、相変わらず元気に取り組まれているプロジェクトリーダーの姿をみて安心できた。問題となる組み込み開発の歴史の中で、日本が活躍していける余地がどれほど残されているのだろうかという点でプロジェクトXの主題となっている部分が気になっている。プロジェクトXを見ている視聴者が、実務を経験してきたものたちとしてその事実を次代の若者に伝えられるのかということ。次代を担うべき若者たちは、こうした事実や歴史について関心を示すのだろうかということ。確かに番組作りとして、進められてきたTRONの締めくくりをPCから携帯で台数ベースで世界に伍するようになったと結ぶのも良いだろう。しかし、基礎技術が必要だと説いてきたOS開発の中核技術者たちのメッセージを会社として本当に理解しているのだろうか、そうしたことの裏返しが組み込みの現場での問題の源流になっているのではないのか・・・。

製品の核となるOSについてリアルタイムOSの一つとしてTRONがあることについて異を唱える人はいまは何処にもいないだろう。実際の海外のOSベンダー自体もオープンなAPIあるいはソース公開といった形でTRON仕様のOSを提供しているのも普通となっている。ではOSが公開されたことで、これを自分たちのアプリケーションに特化させるように取り組めるのかどうかという点については、各ユーザー側の課題である。アプリケーション設計者が考えずともOS技術者が対応しているので製品性能は保証されるといった形が求められているシナリオだったはずだ。たしかに番組でもそのようなコメントが為されていた。タコなアプリケーションがいたとしても性能に影響なくOSが介在してバッテリーの持ちが確保されるというはずだったのか。各メーカーが似たようなものを開発することなく共通基盤の上に立ち特化させれば良いというのがTRONの精神だったはずなのだが。

リアルタイム処理の設計が出来るのかどうかという点が組み込み開発の肝の一つであるといえるし、またそうした中にもうまく言語処理ベースでの機能などもうまく使いこなせるかという点も求められているのである。これらが互いを意識しないことなどから実際の製品開発としてその製品のための基盤を立ち上げる最初の過程こそが要素技術蓄積がものをいう場面といえる。言語処理とOSの話に入る前の話題としては、昔でいうところの「C言語のROM化」という話題であるといえる。言語処理系が提供するライブラリやブートストラップコードの振舞うmain関数以前の事などがそうした話題の中核といえる。出来上がったプラットホームで設計するアプリケーション系の設計しかしない技術者では注意を払わない縁の下の技術でもある。開発の主体がアプリケーションに移っていった昨今ブートストラップ的な要素のケアが薄いのはいたし方ないことなのか。共通要素は動いて当たり前といった扱いで評価が薄いのは、眼に見えた売り上げをお客様から上げられないからなのだろうか。

インタラクションのあるデバイスに対してリアルタイムな制御を施していくという観点においてはドライバ設計技術者とOS技術者との双方に関わるテーマとなってくる。個別の機能単位でタスクという概念でデバイスとシステムの双方の視点で総合動作に思いの回るエンジニアが必要なのはいうまでもないことなのだが、実際にはシステム不具合について自分の範囲以外にまで思いの回るエンジニアというのは火消し屋とでも呼ばれるらしい。各機能サブシステム単位で設計されたタスク動作やIO動作をリセットから責任を持って説明できるくらいは当たり前だと思うのだがいかがなものだろうか。まさか紀元前の歴史(main関数以前?)については、学んだこともないとでもいうのが最近の技術者の姿なのだろうか。しかし、そんなことでは、周辺デバイスの初期化といった点については、昨今のCPUコアが組み込まれた複合チップとして必要欠くべからざることだと思うのだが、このあたりをC言語で記述することの手順についての理解などは大丈夫なのだろうか。

アセンブラの理解なしで、こうしたチップ制御に関しての処理を記述していくことの問題は、実際の開発現場では多く見受けられるようだ。CPUの動作についてパッケージのピンのレベルでの振舞いまでは、エンジニアとして押さえてほしいとおもうのだが、こうしたことをOJTなり導入教育なりで教え込むことの必要性自身が理解されていないのかも知れない。システムがブートアップしてコマンドプロンプトが出てからの世界でしかコンピュータを理解しないのでは組み込みの世界の技術者とはいえないのである。おかしくなったらリセットするという世界で組み込み開発が論じられてしまうのであれば、未来はない。性能を決める要因は、ハードにもソフトにもありハードウェアの動作性能を規定するのが立ち上がり処理の過程で行われる。PCでもBIOSがこうした辺りを世話してくれるのである。接続されるメモリデバイスとプロセッサの間のバスラインの距離や、その構造に基づく容量などがCPUの動作周波数上限を規定する。無論接続デバイスによってもアクセスタイムや端子の付加容量などがあり、総合性能はこれらによって左右されるわけである。

最近のパソコン同様に高性能化の流れにあって組み込みコアにも、一次キャッシュの搭載やアクセラレータ、高速スクラッチなどが搭載されている。また、フラッシュメモリベースのソフトウェアにも最近ではNAND+SDRAMといった志向に向かうのかといった動きもあったくらいだ。NORフラッシュの価格などの点も技術進化といった動きから、「新技術の導入にはリスクがあるので・・・」とNORフラッシュの設計のまま進むメーカーもあるようだ。コストダウンといった視点からのみ言われてきたのでは否定してしまうのかも知れないのだが、最近のデバッグ技術の動きから見ればSDRAMベースへのシフトこそ時代の趨勢と思うのだが、そうならないのは設計している方々のシステム開発センスが実際の開発現場を見据えていないからだろうか。複雑化してきたソフト開発をC++で上位層のみ独立してシミュレータで開発してきているので問題ありませんという会社もあるだろう。ボトルネックを追求するでもなく膨れ上がった機能を短期日に解決して出荷することを良しとする風潮からセカンドプロセッサなどに傾注しているらしいからコスト意識というものが技術低下というよりも管理コストでの最適化といった視点にしかならないようだ。

技術者として、こうした取り組みの流れの会社での仕事でモチベーションが維持できるのだろうかという点が不安になってしまう。組み込み大国と語られる世の中の先輩たちの少し前の成果と、現在進行している現実から想定される未来とが乖離してみえるのは、なぜだろうか。一銭五厘の葉書で召集された兵隊ではないのだが、赤紙でエンジニア大集合を行う会社の変革が、今までよりも、あと少し地に足の付いた開発を的確な方法論で実現していければ使いやすい高い完成度のソフトウェアを安価に再利用度の高いものとして作れるようになるのではないかと思うのだが。トップ判断による大胆な人員配置に続く次の一手を握っている現場の改革意識が実は一番欠けているのかも知れない。無論赤紙もあれば、直取引で職場異動を行う手続きもあるだろうし、エンジニアの意識次第なのだろう。オブジェクト指向の開発に傾注して、携帯電話の開発を成功させた会社があるのを知っている。後発故に取り組めたテーマなのかも知れない。しかし、そうした優れた開発方法論をもってしても業界の構造に根ざした各メーカーの位置づけを良化することもできないままに撤退することになったと聞く。

既定路線として、通信キャリアの要望に応えつつ商品を次々と展開していくことがメーカーの意義であるとすれば、それを達成しつつ多くの仕事を生み出しているさまは経営の神様の賜物といえるのだろう。社会の公器として位置づけられた神様の視点から見た、公正な利益という目標に対してひるまずに諸税金を払ってでも事業を推進していけるような良質な事業となっていくには、他社が追随していくのは大変なことなのだとも思う。やってはいけないべからず集といったノウハウを是としてポインタの使用を禁止している会社もあるらしいので、そうした会社から仕事が来なくなってしまったのはいたしかたないのかも知れない。全ての通信プロトコルをJavaで開発できるようなチップセット作りを標榜していけば、この会社からの受注なども挽回できるのかも知れないのだが・・・。一つのプロセッサでシンプルに高機能なアプリケーションを開発できるようにと考えていること自体が間違った判断であるならば、私も今後のコンサルタント人生についてサポートする業界を乗り換えたほうが良いのかもしれない。

main関数とリセットの狭間について思いが届くエンジニアが、まだ携帯開発業界には健全な姿で評価され仕事が続いている信じたいのであり、先日のプロジェクトXで社名を隠してでもTRONに対して恩義を感じて番組に登場したあるメーカーの技術者の度量にも敬意を表したい。義理を欠いては存在できない日本社会の中で、こうした番組作りになってしまったことを理解している技術者がどれほど居たのだろうか。議論の渦中となったBTRONの話とITRONやCTRONの話には違いがあるのだし、RTOSのAPIを共通化したという意義においてITRONの多大なる功績があったのも事実である。萎んでしまったBTRONではあったが、インテルの80286という環境で実現させてみせた機能や先進性については、その時代の日本の物づくりに敬意を表したい。そうした歴史を知るものたちが、携帯電話に搭載させたITRONを採用させたのだろうか。むしろ、いまや混沌としている開発スタイルの携帯電話にこそBTRONをベースとする端末物づくりを実現してみせてほしいと思うのであるが・・・、そんなことを書き連ねてもTさんには、にこやかにかわされてしまいそうだ。声を荒げたくなったときには、GOGO7188のジェットにんぢんを聴くことにしている。

コメントを残す

メールアドレスが公開されることはありません。