私はずっとサラリーマンとして働いてきた人間なので,産業界と情報技術のことをお話したいと思います。私のキャリアパスの中でのいくつかのテーマがありますが,最初に技術者としてのキャリアを始めたソフトウェアの仕事は,原子炉の核燃料の品質測定のためのソフトであり,次いでコンピュータシステムを作りました。計測技術はこの四半世紀の間に大幅にコンピュータ化されましたが,その中でソフトを作るのが難しくなり,今日の主題であるモデル化が出てきました。
現在ドイツの素粒子科学の実験場のソフトウェアは5千万行ぐらいです。そのぐらいになると,全体を把握している人は大変少なくなってきます。この問題を解決するためにモデリングという技術ができました。5千万行のソフトといってもイメージがわかないが,それを作らなければなりません。しかし一気に作るのは無理です。
鶴亀算を例に挙げます。鶴と亀の合計が24,足が56本だとすると,鶴と亀の頭に1をマーキングします。足の本数は亀が4本,鶴が2本。このコンビネーションだと亀が4匹,鶴が20羽が正解になります。
この問題を解くだけならエクセルで解けます。しかし大きくなると,エクセルでは解くのは難しくなります。項目が大きくなると,間違いも大きくなります。これがプログラミングの欠陥です。そこで普遍的に解けるモデルを作ります。これがモデリングの考えです。鶴と亀の合計,鶴の足と亀の足の合計。これを連立方程式で解くのが数学的モデリングです。これをソフトウェアに応用します。
10年ほど前に,情報処理学会の中で飛行船のコンテストをやろうという話が出ました。ヘリウム飛行船を自動航行させるコンテストを提案しました。自動航行の課題をいろいろな人に出し,どんなモデルが役に立つか,欠陥の少ないソフトを作る方法を研究できる場を作りました。こんな小さな模型でも,何人かの人が勝手にプログラムしたらまとまりません。モデルを作って対処するのがソフトウェア工学の先達の意見でした。規模が大きくなり,みんなで一つの統合されたシステムを作らなければならなくなると,モデルベースの合意形成システムが必要になってきます。共同開発をするときに,どんなコンセプトで,だれがどこを受け持つか。通信のインターフェース,エネルギーの引き渡しのインターフェースの問題,ソフト,エレクトロニクス,メカトロニクスもかかわってきます。するとソフトウェアの世界で使われるクラスモデルが役に立ちます。
経済産業省の下部組織でIPA(独立行政法人情報処理推進機構)という組織があります。その中に次世代ソフトウェアのモデリングをどのように様々な産業に普及させていくかを検討する「モデリング部会」という部会があり,私はそのメンバーを務めています。産業の中で,次世代の新しいものの作り方として出てくる時代になりました。
ソフト屋は抽象化能力が高いので,ぶっとびすぎていて話が合わないことがあります。しかしこれからの時代はそういうレベルの抽象度でモノづくりを考えて,それを実現していくという方向に持っていかないと,世界的な生産競争に日本は勝てません。
そうした抽象化ができる人たちがいま世界のどこに集積しているでしょうか。残念ながら日本はその集積度は大変低い。高いのは欧州の一部と北米の一部です。そこに抽象度の高いモデルを考え,標準化し,そのモデルで思考できる人たちが存在しています。なぜ先ほどの森田先生が北米と欧州の大学で勉強したかという一つの理由です。
その人たちが世界を主導して作ったのがUML(unified modeling language)という一つの言語です。既にISO,世界標準になって7年ぐらいたちます。私もJIS化の委員として日本語にしましたが,彼らの考え方は,世界を「リアル・ワールド,アプリケーション・ワールド,メタモデル・ワールド,メタメタモデル・ワールド」と分けてしまいます。日本人から見るとこんな大雑把な割り切りで世の中のデリケートなものを表現できるのかと思いますが,彼らは一気にやって,それを標準化してしまいます。これを世界中で使いましょう,といって世界の産業を主導していきます。残念ながら日本はそれに異議を唱えるほど強くないので,よく勉強して取り込もうとし,何とか最終製品にして外貨を稼いできました。
しかしもはや直截的にものを作るビジネスはもっと安く,早く,大量に作れる人たちが出てきました。飛行機に乗れば1時間で行けるところにたくさん工場ができ,その工場を主導しているのは日本のメーカーの人たちです。こういう産業構造の変化の中で日本は,少なくともこの分野の中でレベルの高いモデリングができ,かつ製品が作れる,そういう人材が必要になると考えています。
日本は自動車を作ったり,業務系プログラムを書いたりすることについては,世界で1位ではないにしても,ベスト3ぐらいには入るかもしれません。しかし日本は,プログラムの作り方を分析して,言語を作れる抽象度を持った技術者を擁していません。
日本はウィンドウズなどのOSの根本のところを作る人たちが少ない。OSを作ったビル・ゲイツは経済的にも成功を求めました。基本的なものを作るのは科学の根本ですが,アカデミアに任せておいていいことではありません。
仕組みを考えるプログラムは,昔は頭がよくないと作れませんでした。今の時代はUMLというモデル,言語の基本構造をモデリングするのは,頭脳が世界トップの人でなくてもできるようになりました。その時にそこに着目して「よしやろう」と思う人たちが海外には多く出ていますが,日本にはあまり出てきません。
ソフトウェア工学が日本に入って20年ぐらいです。よく勉強する人たちが増えましたが,それを生かす人たちが大変少ないのはもったいないことです。開発支援ツールの輸入等,技術コンサルタントを手掛けたところ,ようやく一部の人たちはモデリングを開発に生かせるようになりました。それには1990年代の初頭から2000年ぐらいまで,10年ぐらいかかりました。
ただ,モデリングの学習には大変な労力と度胸が必要です。モデリングからの製品開発を社内で通すのは大変です。そこで2001年ごろにコンテストをすることにしました。一サラリーマンとして,様々なところに声をかけてUMLロボコンを立ち上げました。結果的に,世界的にもユニークなソフトウェア重視の教育ロボコンとして,実行委員の面々が普及活動をしてくれています。
昔は3カ月ぐらいでモデリングを勉強する機会を提供し,1カ月ぐらい持ち帰ってプログラム,モデルを作っていましたが,年々規模が大きくなりました。1回目はお台場で80人ぐらいが参加したコンテストでしたが,今は北海道から沖縄まで各地区がそれぞれ審査員・技術員を擁してコンテストをし,年に1回チャンピオンシップ大会をするという2段構えの大会になりました。チャレンジチームは毎年340~50あります。チャンピオンシップ大会になると,大きな会場を使わせてもらっています。NPOだから資金はあまりありませんが,様々な方のスポンサーシップをいただいています。
マネジメントを含めると,毎年2000人ぐらいの人がモデリングと組込みソフト技術をこのロボコンで学んでいる計算になります。あと10年やると2万人育ちます。経済産業省の統計で,今の日本の組込みソフトウェア技術者が大体17万人ぐらいということです。乱暴な計算ですが,あと10年もすれば,どこの組込みソフトウェア技術者もETロボコンに一回ぐらい参加したことがあるという計算になると思います。実際に私が企業の研修で要求工学の授業などをすると,若い人たちが休み時間にETロボコンの話をしていることがあります。
各方面から様々な支援を得ながらETロボコンを続けていますが,KCGグループからは特に手厚い応援をいただいています。過去5年間,一貫して関西の地区大会はKCG京都駅前校をお借りしているし,チャレンジする学生さんもいます。すばらしいことです。さっき飛行船コンテストの話をしましたが,これでもKCGグループの学生さんがすばらしい結果を出しています。
私がこうして熱心に教育に首を突っ込んでいるのはビジネスのためです。ビジネスの目的は最終的には利益ですが,販売するものを上手に使えるお客さんがいなければ商売になりません。そのためにもモデリングを学ぶ場を作っています。しかし,やっていると学生に技術を教える喜びを感じます。長い目で見ると,日本の抽象力・モデル化能力はコンピュータ業界で国際的に勝っていくには不可欠の問題なので,そこに取り組んでいます。
日本人は「前を走る人の背中が見えているならついていく」という考え方をしがちですが,諸外国は「何もないなら自分たちが走りたい放題だ」と考えます。日本もこのようなオリジナルなことに取り組むべきだし,ぜひそうなってほしいと考えています。