TOPPERSの概要と最新の成果

ET2017 TOPPERSセッション

TOPPERSプロジェクトの概要と最新の成果
2017年11⽉16⽇

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

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

1TOPPERSの概要と最新の成果

TOPPERSプロジェクトとは?
TOPPERS = Toyohashi Open Platform for
Embedded and Real-Time Systems

プロジェクトの活動内容▶ ITRON仕様の技術開発成果を出発点として，組込みシステム構築の基盤となる各種の高品質なオープンソースソフトウェアを開発するとともに，その利用技術を提供
組込みシステム分野において，Linuxのように広く使われるオープンソースOSの構築を⽬指す!
プロジェクトの推進主体▶ 産学官の団体と個人が参加する産学官民連携プロジェクト▶ 2003年9月にNPO法人として組織化▶ それ以前は，名古屋大学（2002年度までは豊橋技術科学大学）高田研究室を中心とする任意団体として活動
Hiroaki Takada

2

TOPPERSの概要と最新の成果

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

理事会

総会
監事

運営委員（22名）

運営委員会

事務局
事務局長

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

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

広報戦略タスクフォース

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

TOPPERSの概要と最新の成果

TOPPERSプロジェクトの狙い
決定版のITRON仕様OSの開発 完了▶ ITRON仕様がかかえる過剰な重複投資と過剰な多様性の問題を解決（または軽減）
次世代のリアルタイムOS技術の開発▶ 組込みシステムの要求に合致し，ITRONの良さを継承する次世代のリアルタイムOS技術を開発
Linuxと類似のOSをもう１つ作っても意味がない!
▶ オープンソースソフトウェア化により産学官の力を結集
組込みシステム開発技術と開発支援ツールの開発▶ 高品質な組込みシステムの効率的な開発を支援
組込みシステム技術者の育成への貢献▶ オープンソースソフトウェアを用いた教育コースや教材を開発し，それを用いた教育の場を提供
Hiroaki Takada

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カーネル
AUTOSAR関連▶ TOPPERS/ATK2（Automotiveカーネル バージョン2）▶ TOPPERS/A-COMSTACK，TOPPERS/A-WDGSTACK▶ TOPPERS/A-RTEGEN
Hiroaki Takada

5

TOPPERSの概要と最新の成果

ミドルウェア▶ TINET，FatFs for TOPPERS▶ TOPPERS/ECNL（ECHONET Lite通信ミドルウェア）▶ RLL（Remote Link Loader），DLM（Dynamic Loading Manager）
ツール，その他▶ TECS（TOPPERS組込みコンポーネントシステム）▶ SafeG（高信頼組込みシステム向けデュアルOSモニタ）▶ MDCOM（MultiDomain Communication Module）▶ EV3RT（LEGO Mindstorms EV3向けSPF）▶ TLV（TraceLogVisualizer），TOPPERS Builder
教育コンテンツ▶ 初級・中級実装セミナー教材▶ 基礎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の概要と最新の成果

TOPPERSライセンススキップします▶ TOPPERSプロジェクトで独自に開発したソフトウェアには，独自のライセンス条件を設定する
基本的な考え方▶ 組込みシステムの事情を考慮し，GNU GPLやBSDライセンスより自由に使えるライセンス条件とする▶ 成果をアピールすることが開発資金獲得に繋がることから，どこでどう使われているかをなるべく知りたい
ライセンスの内容▶ 派生物をオープンする義務は課さない．派生物を販売するビジネスも可能▶ 機器に組み込んで使用する場合の実質的な義務は，利用したことを報告することのみ … レポートウェア
Hiroaki Takada

8

TOPPERSの概要と最新の成果

開発成果物の知的財産権に関する規則

スキップします基本的な考え方▶ ユーザの利益と開発者の参加しやすさを折衷させる▶ 著作権（侵害が自覚できる）と産業財産権（特許権など,知らずに侵害する場合がある）を区別して考える規則の最も重要な部分▶ TOPPERSの開発成果物は，TOPPERSの会員（この規則を守ることに合意している）が開発する▶ 会員は著作権侵害をしない義務▶ 会員は，自らが開発する開発成果物中に，自らが所有する産業財産権が利用されている場合には，開発成果物の利用者に対して，当該産業財産権の実施を無償許諾▶ 会員は，開発成果物が何らかの知的財産権を侵害していることを発見した場合に，報告する義務
Hiroaki Takada

9

TOPPERSの概要と最新の成果

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

10

TOPPERSの概要と最新の成果

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

プラットフォーム

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

11

TOPPERSの概要と最新の成果

リアルタイムカーネル開発の流れ! 高信頼性・安全性・リアルタイム性を追求
第１世代のリアルタイムカーネル▶ µITRON4.0仕様準拠＋αのリアルタイムカーネル▶ TOPPERS/JSP，FI4，FDMP，HRP▶ OSEK/VDX OS仕様準拠のリアルタイムカーネル▶ TOPPERS/ATK1
第２世代のリアルタイムカーネル▶ TOPPERS新世代カーネル（ITRON仕様からの発展）▶ TOPPERS/ASP，FMP，HRP2，SSP▶ AUTOSAR OS仕様ベースのリアルタイムカーネル▶ TOPPERS/ATK2（SC1，SC3，SC1-MC，SC3-MC，…）
第３世代のリアルタイムカーネル▶ TOPPERS第3世代カーネル（ITRON系）▶ TOPPERS/ASP3，…

Hiroaki Takada

12

TOPPERSの概要と最新の成果

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

ATK1

⾞載系

第3世代カーネル

第2世代カーネル

第1世代カーネル

ATK3?

AUTOSAR仕様
ベース

OSEK/VDX仕様

動的オブ
ジェクト生成

FDMP

HRP3

マルチコア
プロセッサ拡張

HRP

保護機能/TECSASPμITRON4.0
スタンダードプロファイル新世代カーネル
スタンダードプロファイル

Hiroaki Takada

動的オブジェクト生成今回リリースASP Safety

JSP

2004

メモリ保護，時間保護

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

μITRON4.0
フルセット

パーティショニング

HRP2

メモリ保護

FI4

2000

マルチ/
メニーコア

ＦＭＰ

マルチコア対応ITRON系

ＦＭＰ3

2007

機能安全対応第3世代カーネル
スタンダードプロファイル

SSP
最小セット

2010

ASP32013

2015

2017

SSP3
最小セット

2020
13

TOPPERSの概要と最新の成果

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

14

TOPPERSの概要と最新の成果

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

15

TOPPERSの概要と最新の成果

TOPPERS時間パーティショニングスキーム▶ 各パーティションは，システム周期内で各パーティションを実行するタイムウィンドウを決める方式（航空機向け規格であるARINC 653で採用）をベースとして，システム割込み（タイムウィンドウによらずに受け付けられる割込み）を許すように拡張した方式でスケジュール▶ パーティション内で複数のタスクを実行する場合には，従来のOSと同じ方式でスケジュール（階層型スケジュール）tタイムウィンドウ1システム
割込み
Hiroaki Takada

タイム
ウィンドウ2

タイムウィンドウ1の終了時刻が遅くなる

タイム
ウィンドウ3

システム
割込み

アイドル
ウィンドウ

アイドルウィンドウが短くなる
16

TOPPERSの概要と最新の成果

AUTOSAR仕様ベースのSPFの開発
問題意識と取り組み▶ AUTOSAR仕様準拠SPFは，海外企業が開発競争で優位に．近い将来，すべて海外製になる可能性も▶ 名古屋大学 組込みシステム研究センター（NCES）と複数の企業によるコンソーシアム型共同研究で取り組み
ATK2コンソーシアム▶ 2011〜2013年度に実施．最大13社が参加
APコンソーシアム※ AP：Automotive Platform▶ 2014〜2016年度に実施．最大28社が参加（オブザーバ参加を含む）▶ 主な研究開発項目(a) TOPPERS/ATK2の機能安全規格対応(b) 時間パーティショニング機能の検討・開発(c) BSWモジュールの開発（ウォッチドッグスタックなど）
Hiroaki Takada

17

TOPPERSの概要と最新の成果

TECS (TOPPERS組込みコンポーネントシステム)
TECSとは？
▶ 各種のソフトウェアモジュールを部品化し，必要な部品を組み合わせることによって大規模な組込みソフトウェ アを効率的に構築するための技術
TECSの特徴とアプローチ▶ コンポーネント間の結合を静的にし，最適化を可能に▶ すべてのソフトウェアをコンポーネントとして扱える▶ 遠隔呼出し（RPC）のためのコンポーネントをツールで生成
最近の取り組みと成果▶ 2016年5月に，mruby on EV3RT+TECSをリリース（最新版は，2017年5月にリリース）▶ 2017年6月に，TECS V1.5.0をリリース▶ HRP3カーネルのシステムサービスを，TECSを用いて構築
Hiroaki Takada

18

TOPPERSの概要と最新の成果

ヘテロジニアスシステムサポート：SafeGとMDCOM
重要性を増すヘテロジニアスシステム▶ 組込み機器の高機能化と，ヘテロジニアスマルチコアの一般化により，RTOSと汎用OSを併用するヘテロジニアスシステムが，再び注目されている

ヘテロジニアスマルチコアのサポート状況▶ 以下のプロセッサで，TOPPERSカーネルとLinuxが動作▶ Zynq UltraScale+ MPSoC（Xilinx）▶ i.MX6SX，i.MX7D（NXP）
Hiroaki Takada

19

TOPPERSの概要と最新の成果

SafeG▶ SafeGの概要▶ 1つのプロセッサ上で，汎用OS（LinuxとAndroid）とRTOSを安全に共存して動作させる
デュアルOSモニタ▶ ARM TrustZone技術を用い，RTOSをTrust状態，汎用OSをNon-Trust状態で実行▶ 汎用OSにセキュリティホールがあり，特権モードで不正なプログラムが動作しても，RTOS側を保護できる▶ 最近のリリースと開発の状況▶ Release 1.2.4を，2017年5月にリリース▶ Altera社 Cyclone V SoC 開発キット（Altera SoC）とFreescale社 Sabreボード（i.MX6Q）に対応
Hiroaki Takada

20

TOPPERSの概要と最新の成果

MDCOM▶ OS間通信機能の必要性▶ 両OS上で動作するアプリケーションが連携して処理を進めるために，OS間の通信機能が必要▶ RTOSに向いた新たなOS間通信機能が必要に▶ MDCOM（Multi Domain Communication Module）▶ TOPPERSカーネル上のタスクとLinux上のプロセス間での通信をサポート▶ 仮想化とヘテロジニアスマルチコアの両方で使用可能▶ 2017年6月に一般公開

Hiroaki Takada

21

TOPPERSの概要と最新の成果

TOPPERS/ECNL (ECHONET Liteミドルウェア)
ECHONET Lite（エコーネットライト）とは？
▶ エコーネットコンソーシアムが策定したプロトコル▶ ISO規格およびIEC規格として国際標準化▶ 日本国内でのHEMS標準プロトコルとして認定
開発とリリースの経緯▶ TOPPERSプロジェクトからコアーズ（株）に開発委託▶ 2014年10月にオープンソースソフトウェアとして公開
TOPPERS/ECNLの特徴▶ ECHONET Lite規格に準拠した機器向けの通信スタック▶ TOPPERS/ASPカーネルとTINET（TOPPERSの開発成果物であるTCP/IPプロトコルスタック）上で動作▶ TOPPERSのコンフィギュレータを使用して，静的APIの記述で，機器のオブジェクトとプロパティを定義
Hiroaki Takada

22

TOPPERSの概要と最新の成果

TOPPERS BASE PLATFORM▶ 教育WGにおいて，リファレンスシステムとなりうる２種類のソフトウェアプラットフォームを開発
TOPPERS BASE PLATFORM（STM）▶ 12種類のSTM32 nucleo/Discoveryボードに対応▶ ARM Cortex-M0/M3/M4/M7を搭載▶ 各種の周辺デバイスをサポート▶ 基礎教育用（基礎１，新基礎２，新基礎３セミナーで利用）
TOPPERS BASE PLATFORM（CV）▶ DE0-Nano-SoC開発キットに対応▶ Intel社 Cyclone V SoC（ARM Cortex-A9×2＋FPGA）を搭載▶ 上級教育用（今後開発する上級１，上級２，上級３セミナーで利用）
Hiroaki Takada

23

3.1. プライマリークラスの概要

プライマリークラスとは、参加チームが規定された走行体(図 3-1)を使用し、規定されたコース(図 3-2)上で走TOPPERSの概要と最新の成果体を走行させ、その結果である競技成績を競うクラスである。

TOPPERS/EV3RT
ET ソフトウェアデザインロボットコンテスト 2015 デベロッパー部門 競技規約 1.1.0 版
TOPPERS/EV3RTとは？
3.2. アドバンストクラスの概要▶ LEGO Mindstorms
EV3向けのSPF 3-6)を使用し、規定されたコース(図 3-7)上で走行
アドバンストクラスとは、参加チームが規定された走行体(図体を走行させ、その結果である競技成績を競うクラスである。
▶ ETロボコンの公式プラットフォーム▶ 公式プラットフォームは複数あるが，
図 3-1 走行体(プライマリークラス) 左：NXTway, 右：EV3Way
標準の技術教育で扱うのはEV3RT
TOPPERS/EV3RTの構成▶ TOPPERS/HRP2カーネル＋動的生成機能拡張▶ アプリケーションプログラムの動的ローディング機能
図 3-6 走行体(アドバンストクラス) 左：NXTrike, 右：ETrikeV▶ 各種周辺デバイス向けのデバイスドライバとミドルウェア▶ 各種センサ，モータ，Bluetooth，SDカード，LCDなど
mruby on EV3RT+TECS▶ EV3RT上に，mruby（軽量Ruby）を載せたプラットフォーム
第1ゴールゲートLプライマリー難所(ルックアップゲート)

プライマリー難所(ガレージL)

アドバンスト難所(直角駐車場)

スタートラインL

GOAL1

スタートラインGOAL1

アドバンスト難所(二本橋)

アドバンスト難所(バーコード)第1ゴールゲートL

アドバンスト難所(直角駐車場)

スタートラインL

アドバンスト難所(縦列駐車場)

GOAL1

第1ゴールゲートR
スタートラインR

GOAL1

Hiroaki Takada

アドバンスト難所(二本橋)
アドバンスト難所

24

R

TOPPERSの概要と最新の成果

使いやすくするための開発・⼈材育成▶ TOPPERSを用いた組込みソフトウェア開発は，難しいと思われている … 確かに，最初のハードルが高い
ハードルを下げるための環境の準備▶ TOPPERS BASE PLATFORM▶ TOPPERS/EV3RT▶ TOPPERS/R2CA … TOPPERS上でArduinoライブラリを使用するための環境
ハードルを下げるための人材育成▶ 教育WGによる各種の教材開発，セミナーの実施▶ ETロボコン向けセミナーの実施
開発/活動への参加を促すための取り組み▶ TOPPERS活用アイデア・アプリケーション開発コンテストの実施
Hiroaki Takada

25

TOPPERSの概要と最新の成果

新しい技術への挑戦
ソフトウェアコンポーネント技術（TECS）▶ 組込みソフトウェアの開発効率化のために普及が望まれる▶ ソフトウェアコンポーネント技術は，AUTOSARでも採用されている▶ TECSはTOPPERSで10年以上かけて開発してきた技術▶ まだ不十分な部分もあるが，実用レベルに達してきた▶ 使われることで，技術の発展も見込める▶ 普及活動を進めていきたい
メニーコア▶ TOPPERS/FMPカーネルがメニーコアにも適用できることが示せてきた▶ 並列処理向けのベンチマークプログラムでは，Linuxよりも（少し）良い性能を発揮している▶ さらに研究を進めていきたい
Hiroaki Takada

26

TOPPERSの概要と最新の成果

おわりに 〜 恒例のお願い
TOPPERSへの入会のお願い▶ TOPPERSのユーザやサポータには，プロジェクトへの入会をお願いしたい
利用事例の報告に関するお願い▶ 利用事例を紹介することは，さらなる採用の促進やプロジェクトの発展につながる → ユーザにも利益に▶ TOPPERSのユーザには，利用報告をお願いしたい
TOPPERSの活動へのご意見を募集中▶ IoT時代における組込みシステムに必要な技術は？
▶ TOPPERS第3世代カーネルに入れるべき機能は？
▶ 第3世代へ移行するタイミングは，カーネル仕様を大きく見直すチャンス
Hiroaki Takada

27