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

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

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

⾼⽥ 広章
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プロジェクトの組織と会員
会長，副会長，理事

理事会

総会
監事

運営委員（22名）

運営委員会

事務局
事務局長

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

合計会員数：１８９（２０１６年１１月１日時点）
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カーネル
AUTOSAR関連▶ TOPPERS/ATK2（Automotiveカーネル バージョン2）▶ TOPPERS/A-COMSTACK，TOPPERS/A-WDGSTACK▶ TOPPERS/A-RTEGEN
Hiroaki Takada

5

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

ミドルウェア▶ TINET，FatFs for TOPPERS▶ CAN/LINミドルウェアパッケージ▶ TOPPERS/ECNL（ECHONET Lite通信ミドルウェア）▶ RLL（Remote Link Loader），DLM（Dynamic Loading Manager）
ツール，その他▶ TECS（TOPPERS組込みコンポーネントシステム）▶ SafeG（高信頼組込みシステム向けデュアルOSモニタ）▶ TLV（TraceLogVisualizer）▶ TOPPERS Builder
教育コンテンツ▶ 初級・中級実装セミナー教材▶ 基礎1・基礎2・基礎3実装セミナー教材▶ ETロボコン向けTOPPERS活用セミナー教材
Hiroaki Takada

6

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

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

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

UA-101 (Roland)

提供：JAXA，イラスト：池下章裕

H-IIB（JAXA)ASTRO-H (JAXA)＜開発中＞

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）▶ 開発支援ツール（シミュレータ，可視化ツール）
技術者育成のための教材開発▶ プラットフォーム技術者の育成▶ ETロボコン向けSPFと教材の提供
Hiroaki Takada

9

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

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

ATK1

⾞載系

第3世代カーネル

第2世代カーネル

第1世代カーネル

ATK3?

AUTOSAR仕様
ベース

OSEK/VDX仕様

動的オブジェクト生成

FDMP

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

HRP

HRP3
HRP2

メモリ保護
コンポーネントシステム対応μITRON4.0
フルセット

ASP

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

Hiroaki Takada

パーティショニング

動的オブジェクト生成

ASP Safety

JSP

2004

メモリ保護，
時間保護

TECS

FI4

2000

マルチ/
メニーコア

ＦＭＰ

マルチコア対応ITRON系

ＦＭＰ3

2007

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

SSP
最小セット

2010

ASP3

2013

2015

SSP3
最小セット

2020
10

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

ヘテロジニアスマルチプロセッサへの対応が進むTOPPERS〜TOPPERSカーネルが64ビットARMアーキテクチャにも対応〜

Hiroaki Takada

11

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

重要性を増すヘテロジニアスシステム
ヘテロジニアスシステム：リアルタイムOSと汎用OSの併用▶ リアルタイムOSと汎用OSの併用は以前からある技術▶ リアルタイム性や信頼性求められる処理をリアルタイムOS上で実現▶ GUIやネットワーク処理を汎用OS上で実現▶ 組込み機器の高機能化と，ヘテロジニアスマルチコアの一般化により，さらに広く使われつつあるヘテロジニアスシステムの2つの実現方法

Hiroaki Takada

12

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

仮想化技術▶ シングルコアないしは同種類のコアで構成されたマルチコ

ア上で，ハイパーバイザ等を用いてリアルタイムOSと汎用OSを動作させる
SafeG▶ ARM TrustZone（Cortex-Aプロセッサ向け）を用いて，TOPPERSカーネルとLinuxを安全に共存動作させる技術▶ 2011年より一般公開
64ビットARMアーキテクチャへの対応▶ ARM TrustedFiremwareの拡張により，TOPPERSカーネルとLinuxを共存動作させることが可能に▶ この開発の中で，TOPPERSカーネルを64ビットARMアーキテクチャに対応させた
Hiroaki Takada

13

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

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

14

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

ヘテロジニアスマルチコア▶ アプリケーションコア（AP-CORE）とリアルタイムコア（RT-CORE）を持つマルチコアプロセッサを利用▶ 汎用OS … AP-COREで実行▶ リアルタイムOS … RT-COREで実行
ヘテロジニアスマルチコアのサポート状況▶ 現状で，以下のプロセッサで，TOPPERSカーネルとLinuxが動作▶ Zynq UltraScale+ MPSoC（Xilinx）▶ i.MX6SX，i.MX7D（NXP）▶ AP-COREとRT-COREの両方でTOPPERSカーネルを動作させることも可能

Hiroaki Takada

15

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

NXP：i.MX7D

AP-CORE
Cortex A7
デュアルコア

RT-CORE
Cortex M4
シングルコア※ NXP社のウェブサイトより
Hiroaki Takada

16

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

Xilinx：Zynq UltraScale+ CG
AP-CORE
Cortex A53（64ビットARM）
デュアルコア

RT-CORE
Cortex R5
デュアルコア（ロックステップ動作可能）※ Xilinx社のウェブサイトより
Hiroaki Takada

17

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

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

Hiroaki Takada

18

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

組込みコンポーネントシステム
TECS V1.4.0のリリースについて

Hiroaki Takada

19

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

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

20

TOPPERSプロジェクトの最新状況TECSの利用例）ASP3カー
ネルのシステムサービスとサンプルプログラム▶ 右の図は，ASP3カーネルのサンプルプログラ
ムのコンポーネント図▶ ターゲット非依存部と依存部を分離（TECSの有無に関係なし）▶ 動的結合機能の追加で，例えば，システムログの出力先を動的に切り換えることが可能に

Hiroaki Takada+----------------------++------------------------+| TECSアプリケーション || 非TECSアプリケーション |+----------------------++------------------------+|cSysLog|cSerialPort.
||.
アプリケーション- - - | - - - - - | - - - - - - - - - - - - . - - - - - - - - - - - - |+----------------------+ .
システムサービス|. . . . . . . . .|. . . . . .
|
.
|
.
|
+----------------+| +----------------+| cSysLog| tSysLogAdapter || | tSysLogAdapter |+--------| SysLogAdapter || | SysLogAdapter ||+----------------+| +----------------+|||cSerialPort|+----------+ cSerialPort |||||--------------+----------+| cSysLog| tLogTask ||+--------| LogTask |-------------------+||||cnSerialPortManage |||+----------+||||cPutLog|||||||eSysLog|
enSerialPortManage||eSerialPort+----v----+|+---v-----v---+| tSysLog ||| tSerialPort || SysLog ||| SerialPort1 |+---------+|+---------^---+|cPutLog|cSIOPort||eiSIOCBR||||+-------+-------+|| ターゲット非依存部- - - - - - -|- - - - - - - - - - - - - - - - | - - | - - - - - - - - |||ターゲット依存部||||ePutLogeSIOPort||ciSIOCBR+---------v--------++-----------v----------------+|
低レベル出力||シリアルインタフェース||
PutLogTarget|| ドライバのターゲット依存部 |+------------------+|
SIOPortTarget1|+----------------------------+

21

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

TECS登場の背景▶ ソフトウェアの部品化は必然的な流れ▶ ソフトウェアの再利用性向上のため▶ モジュール化を促進するためにも有益▶ 組込みシステムに向いたコンポーネント技術が必要▶ 類似技術が同時多発的に生まれている▶ 例えば，AUTOSARの枠組みでは，アプリケーションはコンポーネントベースで構築する
TECSの普及に向けて▶ システムの構築方法に大きな影響があるため，製品への採用にはハードルが高い▶ 部分的な採用も可能ではあるが…
▶ TOPPERS第３世代カーネル（ITRON系）に標準利用する
ことで，そのメリットをアピールし，利用を促す
Hiroaki Takada

22