TOPPERS
TOPPERS(Toyohashi Open Platform for Embedded Real-Time Systems、トッパーズ)は、オープンソースの組込み向けリアルタイムカーネルおよびソフトウェア部品群である。また、当該ソフトウェア群の普及促進を担う特定非営利活動法人であるTOPPERSプロジェクトを指すこともある。
目次
TOPPERSプロジェクト
高田広章教授(名古屋大学)が豊橋技術科学大学在職中に研究室の学生とともに開発した、μITRONカーネルのソースコードの公開がTOPPERSプロジェクトの発端である。その後、多くの教育機関、公的機関、企業、および個人の協力を得て成長を続け、2003年には特定非営利活動法人として再編成した。
μITRON仕様による成果物が出発点であったことから、TRON陣営と見なされることがある。しかし、TOPPERSプロジェクトの成果にはμITRON仕様とは違う,ISOによる国際規格となったOSEK/VDX仕様に準拠したカーネル(TOPPERS/ATK1)も公開している。なおOSEKの一番小さい仕様(使用)とTOPPERS最小セットカーネルはタスクの待ちがないという点で類似性がある。TRON系という括りはインタフェースの関連性という視点以外には技術的な意味がない。
日本OSS推進フォーラム(代表幹事 栗島 聡)は、2012年、優れたオープンソースソフトウェア(OSS)の開発及び普及に貢献した個人等を表彰する第8回 日本OSS奨励賞の受賞者としてOSC事務局とともに特定非営利法人TOPPERSプロジェクトを選定。日本OSS奨励賞は、過去1年間にOSSの開発や普及に顕著な活躍をした個人ないしグループを表彰。2009年度に新設し第4回目。
新世代カーネル
2007年頃までのTOPPERSプロジェクトは既存の標準仕様に対するオープンソース実装を公開するという方針で活動してきた。2007年以降はμITRON4.0仕様の経験を踏まえて新しいシステムに対応するカーネルを仕様から作成し公開するという方針へ転換した。この新しい方針に基づくカーネル仕様および実装は、TOPPERS新世代カーネル(若しくは単に新世代カーネル)と呼んでいる。正確には第二世代と呼んだ方がよかったかもしれない。次の世代を作る時には,第三世代と命名するだろう。μITRONの仕様を基に新しいカーネル仕様を策定するという方針はT-Kernelも同じである。TOPPERS新世代カーネルとT-Kernelの互換性があるかどうかは,どちらの団体も明らかにしていない。 それぞれカーネルの設計思想がどのように違うかの対比があると分かりやすい。
直接的・間接的な成果
TOPPERSプロジェクトによる直接的・間接的な成果物には以下のものがある。2007年頃の組込み業界では、主な配布物がJSPカーネルであったため、TOPPERS/JSPカーネルを単に「TOPPERS」と呼ぶことがあった。現在では、いろいろな配布物があり、ダウンロード件数が多いものは、新世代カーネル(ASPカーネルなど)に移行しつつある。
初代系
- JSPカーネル - μITRON 4.0のスタンダードプロファイルに準拠したカーネル
- IIMPカーネル - μITRON 4.0/PX仕様に準拠したメモリ保護拡張機能を持ったカーネル
- IDLカーネル - IIMPカーネルをベースとしたダイナミックローディング拡張機能を持ったカーネル
- FDMPカーネル - 機能分散型マルチプロセッサ向けに拡張したカーネル
- SMPカーネル - 対称型マルチプロセッサ向けに拡張したカーネル
- FI4カーネル - µITRON4.0仕様に規定しているすべての機能を持ったカーネル(Fullset of µITRON4.0)
- Automotive Kernel 1.0 (ATK1) - 自動車で主に用いているOSEK/VDX仕様に準拠したカーネル実装。
- HRPカーネル - 宇宙機など高信頼性分野での適用を狙ったカーネル
- 最小セット(SSP)カーネル - μITRON 4.0仕様の最小機能に対応したカーネル。名古屋市工業研究所などで実装している。
第二世代系 (新世代)
- ASP(Advanced Standard Profile)カーネル - TOPPERS第二世代カーネルの基盤(出発点)となるリアルタイムカーネル。
- FMPカーネル - マルチコア向けカーネル。組込み向けのSMPをサポートするカーネル。
- HRP2カーネル - 宇宙機など高信頼性分野での適用を狙ったカーネル
- 最小セット(SSP)カーネル(公募版) - TOPPERS割り込み処理モデルに対応したμITRON 4.0仕様の最小機能(Smallest Set Profile)に対応したカーネルでTOPPERS公募プロジェクトで設計したもの。杉本明加氏がアーキテクト。
- TECS、テックス - TOPPERS Embedded Component System。組込みソフトウェアの汎用性と再利用性を実現する技術。最小セットカーネル(公募版)などにも対応。
ミドルウェア等
- TINET,タイネット - ITRON TCP/IP仕様に準拠したTCP/IPプロトコルスタック
- FatFs for TOPPERS - FatsFSは赤松武史氏が開発し、フリーソフトウェアとして公開しているFAT仕様準拠のファイルシステム。FatFs for TOPPERSは、 FatFs(R0.04)を基にTOPPERS/JSPカーネル上で動作するようデバイスド ライバを追加。
- CAN/LINミドルウェア - 標準的な車載通信プロトコル であるCAN(Control Area Network)およびLIN(Local Interconnect Network)用のミドルウェア。それぞれの通信プロトコルに対して、RTOS 上で動作するRTOS対応ミドルウェアと、RTOSのない環境で動作するNonOS対応 ミドルウェア有。
- (FlexRayミドルウェア)
- SafeG - OS並列同作を目的とするハイパーバイザ。[1]通常の OS仮想化と比較して1マイクロ秒程度でOSを切り替える高速性、フットプリントの小ささ、割り込み応答性の保証といった組み込みOS向きの特性を持つ。 ARMのTrustZoneを利用して実装している。[2]
- TTSP(TOPPERS Test Suite Package) - TOPPERS新世代カーネル(第二世代)を対象とした、各種試験ツール、試験プログラム、試験データ、文書の統合。
- TLV(TraceLogVisualizer) - 各種RTOS、シミュレータ、エミュレータ等が出力する追跡記録(trace log)を可視化し、 追跡記録の解析を容易にするための道具。
関連団体
公式
- 組込みソフトウェア管理者・技術者育成研究会(SESSAME:略称セサミ) - 連携し、組込み技術者向け教材を開発している。
- 組込みシステム技術協会(JASA。略称ジャサ) - 事務局の場所を借りている。JASA主催の展示会ETに出展している。
- 組込みスキルマネージメント協会(SMA)
- 情報処理推進機構(IPA) SEC(セック:過去名称ソフトウェア・エンジニアリング・センター)
- 産業技術連携推進会議 情報・電子部会 組込み技術研究会
事実上
- 組込みシステム開発技術研究会(CEST:セスト) - 東海地方の組込み技術者の研究会。TOPPERS会員企業が多い。
- 組込みシステム技術に関するサマーワークショップ(SWEST:エスウェスト) - 年に1度、合宿型の研究会を開催している。TOPPERS会員企業の参加が多い。実行委員もTOPPERS会員企業が多い。事務局がTOPPERSプロジェクト内にある。TOPPERSプロジェクトがSWESTの協賛団体になっている。
- クリティカルソフトウェアワークショップ(WOCS:うおっくす) - JAXA,IPA主催のワークショップを年に1回開催している。TOPPERS会員企業の参加が多い。プログラム委員もTOPPERS会員企業が多い。TOPPERSプロジェクトがWOCSの協賛団体になっている。
- TERAS ツールの仕様を検討する団体。追跡可能性などを検討している。TOPPERS会員企業の参加が多い。
特別会員
()書きは過去の特別会員
- (大阪情報専門学校)
- 沖縄工業高等専門学校 メディア情報工学科
- 華中科技大学 ルネサス高級組み込みコントローラ研究室
- 九州技術教育専門学校
- 九州大学 福田・中西・久住研究室
- Embeddes System Beiging Forum
- 一般社団法人組込みスキルマネージメント協会
- (独)産業技術総合研究所 知能システム研究部門
- 創価大学工学部 伊与田研究室
- 東京都市大学 計算機ソフトウェア研究室
- とうほく組込み産業クラスタ
- 東北電子専門学校 自動車組込みシステム科
- 苫小牧工業高等専門学校 情報工学科
- (豊田工業高等専門学校 情報工学科アーキテクチャ研究室)
- 名古屋市工業研究所
- 名古屋大学 大学院情報科学研究科 高田研究室
- (名古屋大学大学院情報科学研究科 阿草研究室) 阿草教授退官
- 兵庫県立大学大学院 応用情報科学研究科 中本研究室
- 福島県ハイテクプラザ
- 福島県立テクノアカデミー郡山
- 地方独立行政法人北海道立総合研究機構産業技術研究本部工業試験場
- 宮城県産業技術総合センター
- 湖南大学組込みシステム及びネットワーク研究室
- 立命館大学 情報理工学部情報システム学科