TOPPERSプロジェクトの最新状況

TOPPERSプロジェクト
プレス発表会

TOPPERSプロジェクトの最新状況と本⽇の発表内容について
2018年11⽉14⽇

⾼⽥ 広章
NPO法⼈ TOPPERSプロジェクト 会⻑
名古屋⼤学 ⼤学院情報学研究科 教授
附属組込みシステム研究センター⻑
APTJ株式会社 代表取締役会⻑・CTO

Email: hiro@ertl.jp URL: http://www.ertl.jp/~hiro/
Hiroaki Takada

1TOPPERSプロジェクトの最新状況

TOPPERSプロジェクトの概要と最新状況

Hiroaki Takada

2

TOPPERSプロジェクトの最新状況

TOPPERSプロジェクトとは?
▶ ITRON仕様の技術開発成果を出発点として，組込みシステム構築の基盤となる各種の高品質なオープンソースソフトウェアを開発するとともに，その利用技術を提供
組込みシステム分野において，Linuxのように広く使われるオープンソースOSの構築を⽬指す!
プロジェクトの狙い▶ 決定版のITRON仕様OSの開発 ← 完了
▶ 次世代のリアルタイムOS技術の開発▶ 組込みシステム開発技術と開発支援ツールの開発▶ 組込みシステム技術者の育成への貢献
プロジェクトの推進主体▶ 産学官の団体と個人が参加する産学官民連携プロジェクト▶ 2003年9月にNPO法人として組織化
Hiroaki Takada

3

TOPPERSプロジェクトの最新状況

TOPPERSプロジェクトの組織と会員
会長，副会長，理事

理事会

総会
監事

運営委員（23名）

運営委員会

事務局
事務局長

カンファレンス実行委員会
展示会運営委員会
開発者会議実行委員会▶ 団体正会員：８６（企業：８５，その他：１）▶ 個人正会員：９▶ 準会員（個人）：５６▶ 特別会員：３４（団体：１９，個人：１５）

合計会員数：１８５（２０１８年１１月１日時点）
Hiroaki Takada

広報戦略タスクフォース

教育WG
TECS WG
ホームネットワークWG
海外展開WG
必要なWGを機動的に設置
4

TOPPERSプロジェクトの最新状況

主な開発成果物

⼀般公開しているもの

第１世代カーネル▶ TOPPERS/JSPカーネル，TOPPERS/FI4カーネル▶ TOPPERS/ATK1（Automotiveカーネル バージョン1）▶ TOPPERS/FDMPカーネル，TOPPERS/HRPカーネル
新世代（第２世代）カーネル▶ TOPPERS/ASPカーネル，TOPPERS/SSPカーネル▶ TOPPERS/FMPカーネル，TOPPERS/HRP2カーネル
第３世代カーネル（ITRON系）▶ TOPPERS/ASP3カーネル，TOPPERS/HRP3カーネル
AUTOSAR関連▶ TOPPERS/ATK2（Automotiveカーネル バージョン2）▶ TOPPERS/A-COMSTACK，TOPPERS/A-WDGSTACK▶ TOPPERS/A-RTEGEN
Hiroaki Takada

5

TOPPERSプロジェクトの最新状況

ミドルウェア▶ TINET（TCP/IPスタック），FatFs for TOPPERS▶ TOPPERS/ECNL（ECHONET Lite通信ミドルウェア）▶ RLL（Remote Link Loader），DLM（Dynamic Loading Manager）
ツール，SPF，その他▶ TECS（TOPPERS組込みコンポーネントシステム）▶ TOPPERS BASE PLATFORM（STおよびCV）▶ SafeG（高信頼組込みシステム向けデュアルOSモニタ）▶ EV3RT（LEGO Mindstorms EV3向けSPF）▶ MDCOM（MultiDomain Communication Module）
教育コンテンツ▶ 初級・中級実装セミナー教材▶ 基礎1・（新）基礎2・（新）基礎3実装セミナー教材▶ 基礎ハードウェア設計セミナー教材▶ ETロボコン向けTOPPERS活用セミナー教材
Hiroaki Takada

6

TOPPERSプロジェクトの最新状況

開発成果物の主な利⽤事例

IPSiO GX e3300 (リコー)
スカイラインハイブリッド (日産)
エスクード (スズキ)

UA-101 (Roland)

H-IIB（JAXA)

Cell3iMager duos
(SCREENホールディングス)Hiroaki Takada

OSP-P300(オークマ)

SoftBank945SH（シャープ）

PM-A970(エプソン)
7

TOPPERSプロジェクトの最新状況

次の10年を⾒据えた活動指針 (2011年度に策定)
Smart Futureのための組込みシステム技術▶ 組込みシステム技術を，持続可能なスマート社会の実現（Smart Future）のための重要な要素技術の１つと位置づけ，その研究開発と普及に取り組む▶ それに向けての研究開発課題▶ Safety & Security▶ Ecology（高エネルギー効率）▶ Connectivity
コンソーシアムによるオープンソースソフトウェア開発▶ 同じ技術に関心を持つプロジェクトメンバによりコンソーシ
アムを結成し，複数組織の協力によりソフトウェアを開発▶ 開発したソフトウェアは，TOPPERSプロジェクトからオープンソースソフトウェアとして公開
Hiroaki Takada

8

TOPPERSプロジェクトの最新状況

重点的に取り組んでいるテーマ※ SPF：ソフトウェア

プラットフォーム

次世代のリアルタイムカーネル技術▶ TOPPERS第3世代カーネル（ITRON系）▶ 車載システム向けRTOS（AUTOSAR OS仕様からの発展）
ソフトウェア部品化技術▶ TECS（TOPPERS組込みコンポーネントシステム）
組込みシステム向けSPFと開発支援ツール▶ 車載制御システム向けSPF（AUTOSAR仕様ベース）▶ 仮想化技術（SafeG，A-SafeG），ホームネットワーク▶ 宇宙機向けSPF（SpaceWire OS），BASE PLATFORM▶ 開発支援ツール（シミュレータ，可視化ツール）
技術者育成のための教材開発▶ プラットフォーム技術者の育成▶ ETロボコン向けSPFと教材の提供
Hiroaki Takada

9

TOPPERSプロジェクトの最新状況

TOPPERSカーネル開発ロードマップ
ATK3?

ATK2

ATK1

⾞載系

AUTOSAR仕様

HRＭＰ3

OSEK/VDX仕様

マルチコア＆保護機能

FDMP

ＦＭＰ

マルチコア対応

マルチコア拡張

ＦＭＰ3
マルチコア

HRP

ITRON系

HRP2

メモリ保護

FI4
μITRON4.0
フルセット

HRP3

メモリ保護

TECS
コンポーネント 動的オブジェ
システム対応
クト生成

JSP

ASP

μITRON4.0
スタンダードプロファイル新世代カーネル
スタンダードプロファイル

パーティショニング

動的オブジェ
クト生成

ASP3
SSP

第3世代カーネル
スタンダード2004

Hiroaki Takada

2007

2010

TECS
コンポーネントシステム対応

SSP3
最小セット

最小セット

2000

第3世代カーネル

第2世代カーネル

第1世代カーネル

2013 2015

2018

2020
10

TOPPERSプロジェクトの最新状況

第3世代カーネル (ITRON系) の必要性求められている/求められつつある技術・機能▶ 機能安全からの要求に応えられるパーティショニング Safety▶ ティックレスの高分解能時間管理と外部時刻同期 Connectivity▶ マルチコアにおける動的ロードバランシング Ecology▶ メニーコアプロセッサへの対応（… 今後の課題）

一方，廃止すべきと考えられる機能もある

High performance▶ タスク例外処理機能 … 複雑さと比べて使われていない▶ メールボックス … 安全性の高い機能で代替

TOPPERS第3世代カーネル（ITRON系）へ▶ 新しい世代のリアルタイムカーネルと位置付けた方が，大胆な仕様変更（特に，機能の削除）が可能
Hiroaki Takada

11

TOPPERSプロジェクトの最新状況

TOPPERS/ASP3カーネル
位置づけ▶ TOPPERS第３世代カーネル（ITRON系）の出発点▶ TOPPERS/ASPカーネルの改良版
新しく実装した機能・特徴（主なもの）▶ タスク終了要求機能 … タスク例外処理機能に代えて導入▶ 高分解能（マイクロ秒単位）の時間管理▶ ティックレスタイマ … 省電力化に貢献▶ 外部時刻同期のための機能▶ システムサービスをTECSを用いて構築▶ Ruby版コンフィギュレータを採用
リリース状況と今後の計画▶ 2016年2月に最初に一般公開，最新版はRelease 3.3.1▶ 今後，各種のプロセッサへポーティング
Hiroaki Takada

12

TOPPERSプロジェクトの最新状況

TOPPERS/HRP3カーネル
位置づけ▶ ASP3カーネルに保護機能／パーティショニング機能を追加したもの（ASP3カーネルの上位互換）▶ TOPPERS/HRPカーネル，HRP2カーネルの改良・拡張版
ASP3カーネルに対する追加機能▶ メモリ保護機能▶ メモリ配置の自動決定（HRP2カーネルと同様）と手動決定（HRPカーネルと同様）の両方をサポート▶ オブジェクトアクセス保護機能▶ 時間パーティショニング機能▶ 拡張サービスコール機能
リリース状況と今後の計画▶ 2018年4月に一般公開，最新版はRelease 3.0.0
Hiroaki Takada

13

TOPPERSプロジェクトの最新状況

開発が進むTOPPERS第3世代カーネル(ITRON系) とそのリリース計画〜パーティショニング機能とマルチコア対応を兼ね備えたRTOSを開発〜

Hiroaki Takada

14

TOPPERSプロジェクトの最新状況

TOPPERSカーネル開発ロードマップ
ATK3?

ATK2

ATK1⾞載系

AUTOSAR仕様

HRＭＰ3

OSEK/VDX仕様

マルチコア＆保護機能

FDMP

ＦＭＰ

マルチコア対応

マルチコア拡張

ＦＭＰ3
マルチコア

HRP

ITRON系

HRP2

メモリ保護

FI4
μITRON4.0
フルセット

TECS
コンポーネント 動的オブジェ
システム対応
クト生成

JSP

ASP
新世代カーネル
スタンダードプロファイル

パーティショニング

動的オブジェ
クト生成

ASP3
SSP

第3世代カーネル
スタンダードHiroaki Takada

2007

2010

TECS
コンポーネントシステム対応SSP3
最小セット最小セット

2004

今回発表

HRP3

メモリ保護

μITRON4.0
スタンダードプロファイル

2000

第3世代カーネル

第2世代カーネル

第1世代カーネル

2013 2015

2018

2020
15

TOPPERSプロジェクトの最新状況

TOPPERS/FMP3カーネル

今年度末に公開“Flexible Multiprocessor Profile”
位置づけ▶ ASP3カーネルをマルチプロセッサ向けに拡張したもの（ASP3カーネルの上位互換）▶ TOPPERS/FMPカーネルの改良・拡張版▶ ただし，メニーコアプロセッサを適用対象から外す適用対象となるターゲットハードウェア▶ ホモジニアスなマルチプロセッサシステム（すべてのプロセッサで同じバイナリコードを実行できることが必要）▶ プロセッサ数が4〜8個程度以下
ASP3カーネルに対する追加機能▶ カーネルオブジェクトを複数のプロセッサに分散する機能▶ スピンロック機能▶ タスク等のマイグレーション機能▶ サブ優先度機能（動的負荷分散の実現のため）Hiroaki Takada

16

TOPPERSプロジェクトの最新状況

TOPPERS/HRMP3カーネル 今年度末に公開“High Reliable Multiprocessor Profile”
位置づけ▶ HRP3カーネルをマルチプロセッサ向けに拡張したもの（HRP3カーネルの上位互換）▶ FMP3カーネルに対して保護機能／パーティショニング機能を追加したもの（FMP3カーネルの上位互換）▶ 第2世代では，マルチプロセッサ対応と保護機能の両方を持つITRON系カーネルは開発しなかった
開発の背景▶ 近年，高い信頼性が求められる組込みシステムの分野においても，マルチプロセッサの適用が求められている▶ 高い信頼性が求められる組込みシステムを開発する産業分野からの要望を受けて開発を開始
適用対象となるターゲットハードウェア▶ FMP3カーネルと同様
Hiroaki Takada

17

TOPPERSプロジェクトの最新状況

メニーコアプロセッサを適⽤対象から外した理由
マルチプロセッサ対応の技術的な分岐点▶ ジャイアントロック▶ すべてのカーネル資源を，1つのロックで排他制御▶ シンプルでオーバヘッドは小さいが，スケーラビリティが低い（プロセッサ数が多いと性能劣化が大きい）▶ 細粒度ロック▶ カーネル資源を小さい単位で排他制御▶ スケーラビリティは高いが，オーバヘッドが大きい▶ 第2世代のFMPカーネルではこの両方に対応していたが，両者でコードが大きく異なる箇所もあり，保守性が悪い
第3世代カーネルにおける方針▶ FMP3カーネルは，ジャイアントロックのみに絞る▶ メニーコアプロセッサ向けには，別のカーネルを開発
Hiroaki Takada

18

TOPPERSプロジェクトの最新状況

HRMP3カーネルの仕様と実装技術
基本的には▶ FMP3カーネルの仕様・実装技術と，HRP3カーネルの仕様・実装技術をマージすればよい▶ 両方の実装技術はおおよそ直交
仕様上の課題▶ タスクのスケジューリングアルゴリズム▶ FMP3カーネルでは，プロセッサ毎にスケジューリング
▶ HRP3カーネルで，時間パーティショニングを用いた場
合は，保護ドメイン毎にスケジューリング
⇒ プロセッサ毎・保護ドメイン毎にスケジューリング
▶ システム周期，システム動作モードの扱い
実装技術上の課題▶ システム周期切換えのプロセッサ間での同期手法
Hiroaki Takada

19

TOPPERSプロジェクトの最新状況

各カーネルにおけるタスクスケジューリング（イメージ図）

タスク1

基本パーティショニング

ASP3

HRP3

タスク2

時間保護ドメイン1

タスク3
タスク1

タスク2

プロセッサ

ドメイン2
タスク3 タスク4

メモリ・アクセス保護

アイドル

タスク5 タスク6

タスク7

プロセッサ

パーティショニング＋マルチコア
マルチコア

HRPM3

FMP3
タスク1

タスク2

ドメイン1

タスク5

タスク2

マイグレートプロセッサ1
タスク4

タスク1

タスク3

ドメイン2
タスク3 タスク4

アイドル

タスク5 タスク6

タスク7

プロセッサ1
ドメイン3

タスク2
タスク8

タスク9

タスク2 タスク10 タスク11 タスク12 タスク13

プロセッサ2プロセッサ2

Hiroaki Takada

20

TOPPERSプロジェクトの最新状況

各カーネルのサイズ⽐較▶ ASP3，FMP3，HRP3，HRMP3の各カーネルのプログラム

サイズは以下の通り（ARMプロセッサの場合）
カーネル種別プログラムサイズ

ASP3（少数の機能のみ使用）

約10KB

ASP3（フルセット）

約33KB

FMP3（フルセット）

約51KB

HRP3（フルセット）

約51KB

HRMP3（フルセット）

約72KB▶ 少数の機能のみ使用した場合と，フルセット（すべての機能を用いた場合）では，約3倍の違いがある▶ 複雑な機能を使うとサイズが増加（例：データキュー機能は約3KB）▶ FMP3とHRP3は，ASP3の約1.5倍．HRMP3は，さらにその約1.4倍（ASP3の約2.1倍）
Hiroaki Takada

21

TOPPERSプロジェクトの最新状況

今後のカーネル開発計画
開発済みのカーネルの改良・適用対象の拡大▶ TOPPERS/ASP3，HRP3，FMP3，HRMP3の改良（品質向上，設計書などのドキュメントの充実，拡張パッケージの整備）を継続▶ TOPPERS/ASP3，HRP3，FMP3，HRMP3を各種のター
ゲットプロセッサへポーティング
第３世代カーネルの拡充▶ TOPPERS/SSP3カーネル▶ 最小セットカーネル▶ メニーコアプロセッサ向けのカーネル（名称未定）

Hiroaki Takada

22