TRONプロジェクト
TRONプロジェクト(トロンプロジェクト)は、坂村健による、リアルタイムOS仕様の策定を中心としたコンピュータ・アーキテクチャ構築プロジェクトである。1984年6月開始「6月」というのが具体的に何をした時なのかはよくわからない。サーベイ等はもっと前から行っており、前月の5月に研究集会での発表も行っている。。
TRONとは、「The Real-time Operating system Nucleus」(リアルタイムオペレーティングシステム核)の頭字語である。組込み向けのリアルタイムオペレーティングシステム(RTOS)の仕様の策定をプロジェクトの中核としているが、本来は応用(アプリケーション)のユーザーインタフェースのデザインやハードウェアの仕様策定など、様々なサブプロジェクトを含む。
TRONプロジェクトの中心人物である坂村健は、TRONプロジェクトが開始した1984年頃より、リアルタイムカーネル(組み込み向け)のITRONと、より大きなシステム(パソコン向け)のBTRON、それらを統合するシステムであるMTRON、といったロードマップを示していたが先頭のアルファベットを並べると「IBM」ではないか、という冗談があった。後にCTRONが加わり「ICBM」と、より物騒になった、というオチが付く。、1987年に発表した論文『The Objectives of the TRON Project』において、HFDS(Highly Functionally Distributed System、超機能分散システム)と言う構想を発表。未来の地球人類社会では、日常生活のあらゆる部分(電球1個、壁パネル1枚)にまでマイコンが入り込み何らかの形で人間と関わりを持つようになると予想し、それらのコンピュータをそれぞれの機器別にバラバラに扱うのではなく、標準によってうまく連携させるのだという未来像が提示され、TRONはその実現に向け準備するプロジェクトだ、と規定された。すなわち、μITRON3.0仕様書の言葉を借りれば「コンピュータ組み込み機器をネットワーク接続し、それらに積極的に環境を演出させる」という「電脳強化環境(Computer Augumented Environment)」の実現こそがTRONプロジェクトの目標であると提示され、これを一般向けに解りやすく言い換えて「どこでもコンピュータ」とも称していた。
1980年代にTRONプロジェクトの中核とされたサブプロジェクトのうち、組み込み向けOSのITRON以外は2000年代を迎える前に頓挫したものの、2000年頃には身の回りのほとんどの電気/電子機器に組込みシステムが応用されるような時代となった。TRONプロジェクトはこのような「ユビキタス社会」において、組込みシステム用のリアルタイムカーネルのデファクト標準仕様としてのμITRONを中心として、「どこでもコンピュータ環境、ユビキタスネットワーク社会」をゴールとして掲げた。例えば任天堂が2017年に発売したゲーム機「Nintendo Switch」のコントローラー「Joy-Con」にμITRON4.0がジョイコンに搭載されたNFCチップの制御用に使われている。なお、Switchの設定画面の「知的財産の表記」の項目にFreeBSDのライセンス表記があることから、本体のOSはFreeBSDベースだと考えられる。、セイコーエプソンが2008年に発売したプリンター「カラリオ EP-901F」にeT-Kernel Multi-Core Editionが搭載されているなど、TRON系OSは2000年代以降も、主に炊飯器・洗濯機・カメラ・ゲーム機などと言った日本メーカーの家電製品に搭載されたマイコンを制御するための組み込み用OSとして、広く使われている。
坂村は2015年、身の回りのあらゆるものがローカルのネットワークでつながる「ユビキタスコンピューティング」の次の段階として、身の回りのあらゆるものがクラウドコンピューティングを通じてつながるという「アグリゲート・コンピューティング」という構想を発表。TRONは2010年代以降のIoT時代においても、IoTを実現する様々なデバイスを制御するための組み込み用リアルタイムOSの一つとなるべく、クラウドソリューションのMicrosoft Azureを提供する日本マイクロソフト社とも連携しながら、開発が行われている。
TRONプロジェクトは、1990年代後半にインターネットを通じたフリーソフトウェア運動が盛んになる以前より、OSのソースコードや仕様書などを含めた全ての成果物を一般向けに無償で公開しており、その使用に際しては実施料を要求されず、実装・商品化は誰でも自由に行える。2010年代以降にはフリーソフトウェア運動に倣って「オープンソース」「オープンデータ」「オープンAPI」を標榜している。一方で、ユーザー側で実装したアプリケーションについては、クローズでもよいということを表明しており、これが「ノウハウを公開したくない」と言う組み込みメーカーの支持に繋がっている。TRONのライセンスであるT-Licenseは、フリーソフトウェア運動で主流のライセンスであるGPLやBSDライセンスなどと比べてかなり緩く設定されており、派生物においては全てをオープンにする義務が課されず、オープンにしてもしなくても自由で、また一部をオープンにして一部をクローズドにするといったことも可能である。かつてのTRON系OSはトロンフォーラムのみが配布元であり、再配布は原則として禁止されていたが、2011年策定のT-License2.0においては時代に合わせて自由度を高め、ソースの改変履歴をトレースするための「ディストリビューションucode」を付与することを条件として、トロンフォーラムが著作権を持つオリジナルのソースをユーザー側で再配布したり、オリジナルのソースに改変を加えたものを再配布したり、オリジナルのソースを第三者が改変して再配布したものに、さらに自分で改変を加えて再配布したりすることも可能となった。TRON系OSの仕様書やT-LicenseといったTRONプロジェクトのオリジナルの成果物の著作権者はトロンフォーラムあるいは坂村健となっている。
TRONプロジェクトは1984年の開始以来、日本の坂村健が中心となって推進しているが、この活動をサポートする組織としては、2019年現在、坂村が会長を務める「」が存在する2015年4月1日に「T-Engineフォーラム」から「トロンフォーラム」に名称変更。さらに以前は社団法人トロン協会が中心となっていたが、2010年1月15日付けで解散し、2000年頃から併存していたT-Engineフォーラムに吸収された。。トロンフォーラムの会員は日本企業が多いが、幹事会員を務める日本マイクロソフト社を始めとして、外資や海外の企業も存在する。なお、1980年代には「OS」という分野においてTRONプロジェクトとマイクロソフト社の対立が報道されたが、坂村によると実際には「対立していない」とのことで、2003年にはTRONプロジェクトのOSであるT-Engineの上にマイクロソフトのOSであるWindows CEを移植したり、2014年にはIoT分野においてMicrosoft Azureを利用するために日本マイクロソフトとの提携を発表したりなどしている。
2017年には、IoT時代においてTRONのさらなる世界的普及を目指して、坂村健とトロンフォーラムはTRON系の組み込み向けリアルタイムOS「μT-Kernel 2.0」の著作権を米電気電子学会IEEEに譲渡。2018年9月11日、μT-Kernelベースの「IEEE 2050-2018」が、IEEE標準として正式に成立した。これによってTRON系OSが、IEEEによって標準化されるOSの国際標準規格の一つとなった。2019年にはTRONプロジェクトにおいて初めてGitHubが採用され、μT-Kernel 3.0の仕様書やソースコードなどが世界に公開された。
「TRONプロジェクト」とは、OSの開発だけでなく、ハードウェアやインターフェースの開発も含めた様々なサブプロジェクトを総称するための名称であり、その下に様々なサブプロジェクトが存在する。
1984年に坂村が開始し、1986年発足のTRON協議会(1988年に「トロン協会」に改称)が中心となって推進した初期のTRONプロジェクトにおいては、組み込み向けOSの「ITRON」、ビジネス向け(現代で言うパソコン向け)OSの「BTRON」、メインフレーム向け(現代で言うサーバー向け)OSの「CTRON」、TRONにおけるヒューマンインターフェイスをデザインする「トロン電子機器HMI研究会」、TRON構想を実現するためのハードウェアを策定する「トロンチップ」、これらを統括する(現代で言う分散コンピューティングに相当する)「MTRON」、の6つが主なプロジェクトとされていた。
「ITRON」プロジェクトの成功を受け、坂村は2000年に開かれたトロン協会の第12回通常総会において、TRONプロジェクトが第2ステージに入ったことを宣言。ITRONの標準化を進めた「μITRON4.0」を継承し、組み込みシステムの高性能化・高機能化に対応した、OSのより強い標準化を進めるため、2001年に次世代のTRONプロジェクト「T-Engineプロジェクト」が発足。2002年発足のT-Engineフォーラムが推進する初期のT-Engineプロジェクトおいては、コミュニケーションマシン(携帯情報端末、携帯電話など)向けの「BTRON3」、旧世代のOSながら依然として広く使われる「μITRON4.0」、などの従来からのサブプロジェクトに加えて、BTRON3で使われるファイル形式の「TAD(TRON Application Databus)」、TRONで16万字以上を扱える多文字環境を実現する「多言語処理環境」、次世代組込みOSの「T-Kernel」、T-Kernelの開発環境として標準化された「T-Engine」、電子伝票システム(現代で言う公開鍵暗号方式)の「eTRON」が主なサブプロジェクトであった。
2011年、T-Kernel2.0の発表と同時にT-Engineプロジェクトの「Step2」が宣言され、それ以前のT-Engineプロジェクトが「Step1」、μITRON4.0が「Step0」と位置付けられた。2015年にT-Engineフォーラムは「トロンフォーラム」と改称され、IoT時代を見据えてTRON本来の役割に立ち返るべく、再び各種のサブプロジェクトの構想が活発化している。
なお、T-Engineプロジェクトの開始後も、レガシー向けに旧来のITRONの需要がまだ残っていたことから、ITRONを推進するトロン協会とT-Kernelを推進するT-Engineフォーラムはしばらく併存していた。トロン協会は2010年に解散したが、ITRONは未だ広く使われており、サポートはT-Engineフォーラム(現・トロンフォーラム)が継承している。
坂村健が1984年に開始した、初期のTRONプロジェクトである。1986年発足のTRON協議会(1988年に社団法人トロン協会に改称)が中心となって推進していた。
組込みシステム向け(を重視した)リアルタイムOS。TRONプロジェクトにおける最も古いプロジェクトであり、1984年にプロジェクトを開始した。
1982年より、日本電子工業振興協会・マイクロコンピュータ技術委員会・OS分科会において、日本の電機各社とともに日本のマイコン開発をどう進めるかを議論していた中で、主査であった坂村健(当時は東京大学理学部情報科学科助手)が構想したものが、形となったものである。「まず基盤となるリアルタイムOSを含む開発環境整備から進め、その後、そのOSが最も効率よく動くチップを作ろう」と言うことで、まず最初にITRONプロジェクトが開始された。
マイクロコンピュータ技術委員会に参加していたメンバーのうち、門田浩(当時NECの集積回路事業部、退社後に組込みシステム技術協会専務理事)と桑田薫(同、NEC退社後に東工大副学長)を中心とする日本電気(NEC)のチームによって最初にITRONの実装が進められ、1985年春にはNEC V20/30上で動作するITRONの実装ITRON/86がNECによって公開された。1986年8月には68000上で動作するITRON/68Kが日立によって公開されるなど、ITRONの仕様の策定と各社による実装が同時に行われ、各社の実装がITRON仕様にフィードバックされた。
1984年当時、日本の組み込みシステムはOSを搭載しておらず、そのためITRONの当時のライバルは「他のリアルタイムOS」ではなく「OSを利用していない組み込みシステム」であった。OSを搭載しないシステムと比較して、OSを搭載することでどうしても発生してしまうオーバーヘッドを最小限に減らし、OSの導入による標準化によって生じるソフトウェアの互換性や保守性の面でのメリットが上回るように、「弱い標準化」の方針で仕様の設計が行われた。
1987年5月に16bitプロセッサ向けの初版(ITRON1)を公開。ITRON1仕様はNEC Vシリーズやモトローラ68000を始めとして数十を超える16bitシステムに実装が行われた。
1989年にはITRON1仕様に機能の追加やITRON2相互間の互換性強化などを施した32bitの大規模組み込みプロセッサ(TRONCHIPを想定)向けの「ITRON2」を公開。同時に、小規模組込みシステム(シングルチップコンピュータや8ビットプロセッサ)向けのITRON2のサブセットとして「μITRON(μITRON2)」も公開された。「ITRON1の標準化の程度を上げて仕様拡張を行ったのがITRON2であり、ITRON1の適応化の程度を上げて仕様を簡略化したのがμITRON」とのこと。システム間で共通する標準OSとしての互換性を保つことと、各システムに合わせてOSを適応化することで得られる性能の向上は、トレードオフの関係になるため、高性能な32bitシステムと低性能な8bitシステムの双方において、そのバランスを取れるように策定された仕様である。
ITRON2仕様においては、ITRON間の互換性やアプリケーションプログラムの移植性が高められ、またITRON仕様とBTRON・CTRONとの整合性が強化された。ただし、μITRON仕様が非常に広く普及したのに対して、ITRON2仕様はほとんど利用例が無く、失敗に終わったといえる。
μITRON仕様の基本方針に関して、1989年当時、様々な汎用の16bitプロセッサにおいてITRONが使われていたが、家電製品や自動車への組み込みを目的としたチップ(シングルチップコンピュータや8bitプロセッサなど)においては、ROM容量・RAM容量の制限やコストの問題などから標準OSが使われることは少なく、アプリケーション側でOSの機能まで包含してプログラミングを行うのが一般的であった。いくらITRONは適応化によって不要な機能を削除できるといっても、元々16bitシステム用に策定されたITRON1仕様はこれらのシステムにおいては巨大であり、オーバーヘッドが発生するため、採用できない。そのため、μITRON仕様においては、ITRONのシステムコールインタフェースやパラメータの有無などいくつかの点について、推奨仕様あるいはインプリメント依存仕様に格下げを行うなど自由度大きくし、また、OSレベルでの機能のサブセット化を許し、OSのインプリメンタがプロセッサアーキテクチャに合った機能や必要性の高い機能を自由に選択できるなど、ITRON2の仕様書の言葉を借りるなら、OSとしての標準化が「限界を超える」所まで弱められた。この点から、「μITRONは、一つのOSの仕様を指すものではなく、OSの仕様設計を行ない、システムコールの命名を行うためのガイドライン」に過ぎないと坂村は考えており、「μITRONでは、プロセッサ毎あるいはアプリケーション毎に、一つのガイドラインに沿った別々のOS仕様が存在しており、それらのOSがμITRONというOSのファミリを形成」するものと想定された。ITRONが様々なプロセッサに実装される組み込みにおいては、OSの仕様の違いによる問題よりも、プロセッサ間による違いの方がずっと影響力が大きいため、標準OSとしての互換性が取れなくても問題ない。それでも、どのITRON仕様OSにおいてもμITRON仕様で決めたシステムコール名称を使っているため、プログラマの教育がしやすく、「教育の互換性」というメリットは大きなものだと坂村は考えた。
坂村の考えは成功し、μITRON3.0仕様が策定された1993年の時点で、ほとんどすべての日本メーカー製8bit MCUにμITRON2が実装され、さらにはμITRON2仕様カーネルを32bitプロセッサ用に実装するという、当初想定していなかった適用例も出てきた。そのため、1993年発表のμITRON3.0仕様においては、μITRON2における事例のフィードバックを受けて、ITRON2とμITRONの仕様が一本化され、μITRON仕様はITRON全体の新バージョンとして、ITRONのほぼ全てに相当する機能を持つようになった。μITRON3.0においては、標準化と適応化の強化に加えて、「接続機能」が追加されたことが大きな特徴で、1993年当時はコピー機やFAXなど、MCUの低価格化に従って1つの機器の制御に複数のMCUが使われるケースが増えてきていたことから、μITRON仕様カーネルを持ったノードを疎結合ネットワークによって相互接続した分散システムをサポートするための機能が追加された。また、開発環境の標準化などにも取り組んだ。
1994年よりトヨタ社が車載用OSの候補としてITRONを検討し始め、1997年にはITRON専門委員会の下にRTOS自動車応用技術委員会が設立され、1999年にはITRONを搭載した初の自動車、トヨタ・ランドクルーザープラドが発売された。この頃には、民生用機器においては、デジタル家電で広く使用されていた他、1990年代後半から2000代前半にかけて普及したフィーチャー・フォンにおいても広く使われていた。1999年にはμITRON4仕様が公開される。ソフトウェア移植性の向上、外販することを前提とするソフトウェア部品構築のための機能、自動車制御分野おけるRTOSに対する要求、プロセッサの性能向上やメモリ容量の増加への対応(従来はオーバーヘッドが大きかったために見送られた機能も入れることができるようになった)、が主な追加点である。この頃には、ネットワーク応用やインターネット・イントラネット関連機器を中心として、通信やGUI・デバッグ関連のミドルウェアがITRON上で利用される機会が増加し、これらのミドルウェアの移植性向上に対する要求を満足するため、「弱い標準化」と「強い標準化」と言う相反する要求を満たす仕様となった。
組込み機器の機能の高度化や複雑化・大規模化に対応するため、2001年に「より強い標準化」を目指したT-Engineプロジェクトが開始され、ITRONプロジェクトは終了した。しかし「リアルタイム性、リソースを浪費しないコンパクトさ、柔軟な仕様適合性、オープンアーキテクチャポリシー」が強く支持され、その後も小規模システムにおいてはμITRONが広く使われている。
なお、μITRON4.0の仕様策定の中心人物であり、坂村健の監修のもとでμITRON4.0の仕様書を編纂した東大坂村研究室出身の高田広章は、T-Engineプロジェクトに移行せず、μITRON4.0仕様に準拠した「TOPPERS/JSPカーネル」をベースとするTOPPERSプロジェクトを独自に立ち上げた。
「Business TRON」の略。OA機器(オフィスなどでビジネス用に使われることが想定されるコンピューターで、現代で言うパソコンに相当する)向けのOSの仕様で、1985年に開発がスタートした。ちなみに「BTRON」とはOSの名称ではなく、仕様の名称であり、BTRON仕様に準拠したOSが各社からリリースされることが想定される。
BTRONプロジェクトにおいては、BTRON仕様OSの策定だけでなく、キーボードなどのハードウェア(HMI、ヒューマン・マシン・インターフェース)やデータフォーマットの策定も含め、コンピュータのあらゆる階層が再設計された。むしろBTRONプロジェクトにおいては、OSの仕様策定よりもHMIやデータフォーマットの策定がメインであるとも坂村は考えており、「特定のアプリケーションを動かすためだけなら、アプリケーションの互換性は問題ではない」として、BTRON仕様のHMIとデータ形式をBTRON仕様ではないOSの上に実現した「μBTRON」も想定されていた。
BTRON仕様OSは、1987年8月の時点では、パソコンやワークステーション向けのBTRON(μBTRON、後にBTRON1と呼ばれる)、1987年から1988年にかけて出る予定である専用機(ワープロなど特定の用途に使われる機械)向けのμBTRON、1990年までに完成するはずであるトロンチップ(当時TRONプロジェクトで開発中であったチップ)向けのBTRON(ピュアBTRON、後にBTRON2と呼ばれる)、の3つが構想されていた。ちなみに、BTRON2仕様OSは大澤範高(当時・パーソナルメディア社、後・千葉大学大学院教授)らによって開発されていたらしいが、実装は結局リリースされず、BTRON2の仕様書のみが1992年に出版された。
他のTRONプロジェクトのOSとは違って、BTRON仕様OSを搭載した機器は直接人間が扱うものであるという特徴があることから、坂村はBTRONマシンを「コミュニケーションマシン」と位置付け、人間工学的見地から見て使いやすいデザインや障碍者にも使いやすいデザインなど、開発当初からHMI(ヒューマン・マシン・インタフェース)に重点が置かれて開発が行われた。BTRONのHMIを定める「BTRON HMI」においては、ハードウェアも規定され、例えば入力デバイスとしてキーボードと(マウスではなく)ペンを使うことが規定された。坂村はBTRONで使われる「TRONキーボード」の制作を沖電気に、電子ペン(現代で言うスタイラスペン)の制作をワコムに依頼。TRONキーボードは1986年に完成、ワコムのワイアレス電子ペンは1987年に完成した。
1985年、文部省は「教育方法開発特別設備補助」5か年計画において、学校へのコンピューター導入のために初めて予算を計上した(初年度は20億円。年々増加し、自治体からの補助金も入れるとかなり巨額の補助金が出る)。同じころ、通商産業省もソフトウェア危機に対応するために予算を計上し、またメーカーに働きかけを行った。1986年より、学校教育へのコンピュータの導入を目指して通商産業省と文部省が設立したCEC(セック、財団法人コンピュータ教育開発センター)によって、日本の教育用パソコンのOSの標準化を図るため、BTRON仕様OSが日本の学校教育における標準OSとして検討された。1987年当時、NEC以外のメーカーはパソコンのシェアが非常に少なかったので、CECの策定した「CECマシン」を作って当時全国に約3万5千校存在した小中学校において国費で確保された教育パソコン市場を取ることでNECの牙城を崩すべく、1987年9月までに、CECに加盟する日本の大手家電メーカーのうち、NECを除く11社がBTRONの採用に賛同した。教育用パソコンも含めて1987年当時の日本のパソコン市場をほぼ独占していたNECは、当時はPC-8801シリーズからPC-9801シリーズへの移行期にあたり、N88-BASICでの動作を前提とする8ビット機のPC-8801に代わってMS-DOSの搭載を前提とする16ビット次世代機のPC-9801シリーズの普及を推進していたので、NECだけは最後まで渋ったが、半年以上ゴネた末にBTRONとMS-DOSのダブルOSを許可することで説得に応じ、日本の教育市場で使用されるパソコン「CECマシン」においてBTRON仕様のOSを採用することで1989年3月に正式決定。'87、'88、'89、と次第に仕様が固められたCECマシン仕様においては、トロンキーボードは不採用となるなど、CECマシンは坂村が当初構想していた「コミュニケーションマシン」としてのBTRONマシンとは異なる、普通のパソコンとなっていった。
BTRON仕様OSの開発に当たっては、BTRONプロジェクト開始当初よりNECに強力な対抗意識を燃やす松下電器産業が参画し、200人体制でBTRON仕様の開発に当たらせるなど、松下を中心とする反NEC陣営による強力な開発体制が敷かれた。BTRON1仕様OSは、櫛木好明(当時は松下電器産業情報システム研究所長、後に松下電器常務取締役)率いる松下電器産業中央研究所(大阪府門真市)の情報システム研究所が中心となって開発された。松下は1987年3月に試作機を公開(この段階ではBTRONの仕様・実装共に未完成であった)、CECマシンの仕様が固まるにつれて、1988年にはIntel 80286での動作を前提とするBTRON/286 1.1を発表(このBTRON/286仕様がBTRON1仕様となる)、松下は1989年3月にはついにCECマシンの実用機を完成させた。CECマシンのOSであるBTRON仕様OSは、松下が他の11社にライセンスする形式で(BTRON仕様OSは誰でも開発できるとの建前だったが、実際は松下1社のみが供給した。「CECへの納入品のみに搭載できる」という条件で、松下は自社で開発したOSを各社に有料で貸し出した)、同年中にはCECに加盟するAX陣営(「反NEC陣営」から「FMR陣営」の富士通と松下を除いたもの)の共同により、AX陣営の各社が製造したAXアーキテクチャのパソコンにもBTRON仕様OSが移植され、1989年10月に東京国際見本市会場で開催されたデータショウ'89では、松下の策定したBTRON1.2仕様OSを搭載した、様々なBTRONマシンの試作品が展示された(なお、データショウ'89の目玉は、PC-98シリーズの新フラッグシップPC-H98およびPC-98シリーズ初のラップトップパソコン「98NOTE」や、Mac初のラップトップパソコンMacintosh Portableであり、TRONは全く注目されなかった。TRON陣営にしても、例えば東芝は当時世界シェア1位のPC/AT互換ラップトップパソコンDynaBookの展示の方に力を入れていた)。
しかし1988年、アメリカ合衆国通商代表部(USTR)によって「政府調達のOSを松下に限定するのは不公正である」との指摘を受け(この時は日本側は「BTRON仕様OSは誰でも開発できる」と釈明し、USTRは誤解を解いた)、さらに1989年4月、USTRが発表した「貿易障壁年次報告」においてBTRONが取り上げられ、スーパー301条に基づく制裁の候補とされるなど、日米貿易摩擦を背景とした米国からの圧力にさらされた。1989年5月にトロン協会がUSTRに対して「誤解だ」と抗議文を送り、同月中にUSTRは誤解を解いて、この時はトロンはスーパー301条対象品目から外された。なお、スーパー301条とは、市場における不公正な取引慣行に対して撤廃を求めて米国が対象国との交渉を行い、もし撤廃されなければ高額な関税などの制裁を課すというもので、「日本の教育市場における教育用パソコンについて、使用するOSを市場自身が選定するのではなく、日本の政府系機関であるCECが(マイクロソフト社のMS-DOSなどBTRON以外のOSを締め出す形で)選定するのは不公正である」と言う趣旨が協会抗議文への返書に書かれてあったとのこと。