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

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

TOPPERSプロジェクトの最新状況
2012年年5⽉月9⽇日

⾼高⽥田  広章NPO法⼈人  TOPPERSプロジェクト  会⻑⾧長名古屋⼤大学  ⼤大学院情報科学研究科  教授
附属組込みシステム研究センター⻑⾧長

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

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

⽬目次
TOPPERSプロジェクトの概要▶ プロジェクトの組織と会員，プロジェクトの狙い▶ 主な開発成果，主な利用事例▶ 重点的取り組みテーマ，TOPPERS新世代カーネル
本日の発表項目▶ 高信頼組込みシステム向けリアルタイムOS TOPPERS/
HRP2カーネルの一般公開について▶ マルチプロセッサRTOS向けテストスイート TTSP（TOPPERS Test Suite Package）の一般公開について
TOPPERSプロジェクトの活動状況と今後の活動方針▶ 次の10年を見据えた活動方針▶ TOPPERS新世代カーネル開発ロードマップ（改訂版）	
▶ TOPPERS/ATK2，TECS，SafeG
Hiroaki  Takada

2

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

TOPPERSプロジェクトの概要

Hiroaki  Takada

3

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

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

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

4

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

TOPPERSプロジェクトの組織と会員
会長，副会長，理事	 運営委員（21名）	

理事会	

総会	
監事	

運営委員会	

事務局	事務局長	カンファレンス実行委員会	
展示会運営委員会	
開発者会議実行委員会	

▶ 団体正会員：９７	
（企業：９６，その他：１）	

▶ 個人正会員：１０	▶ 準会員（個人）：６２	
▶ 特別会員：３０	
（団体：２２，個人：８）			
合計会員数：１９９	
（２０１２年５月１日時点）	

教育WG	
TECS WG	
中国普及WG	
韓国普及WG	
英語化WG	
必要なWGを機動的に設置	

Hiroaki  Takada

5

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

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

6

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

主な開発成果  (第1世代カーネル)
TOPPERS/JSPカーネル 最初の開発成果▶ µITRON4.0仕様のスタンダードプロファイルに準拠したリ
アルタイムカーネル
TOPPERS/FI4カーネル IPA▶ µITRON4.0仕様のすべての機能を持つよう拡張
TOPPERS/ATK1（Automotiveカーネル バージョン1）▶ 自動車制御システム分野での国際標準であるOSEK/VDX OS仕様に準拠したリアルタイムカーネル
TOPPERS/FDMPカーネル IPA▶ 機能分散マルチプロセッサ向けのリアルタイムカーネル
TOPPERS/HRPカーネル JAXAと共同開発▶ メモリ保護機能などの高信頼システム向けの機能を追加▶ JAXAが検証を実施	
Hiroaki  Takada

7

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

主な開発成果  (新世代カーネル)

TOPPERS/ASPカーネル 新世代カーネルの出発点▶ JSPカーネルに対して，信頼性・安全性・ソフトウェアポータ
ビリティ向上のための各種の拡張・改良▶ 拡張パッケージにより，オブジェクトの動的生成をサポート
TOPPERS/FMPカーネル▶ ASPカーネルをマルチコアプロセッサ向けに拡張
TOPPERS/SSPカーネル 公募型事業▶ 機能を最小限に絞り込んだリアルタイムカーネル
TOPPERS新世代カーネル統合仕様書▶ TOPPERS新世代カーネルの仕様を統合して記述した
カーネル仕様書
TOPPERSテストスイートパッケージ（TTSP）▶ TOPPERS新世代カーネル用のテストスイート

Hiroaki  Takada

8

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

主な開発成果  (ミドルウェア)
TINET 経済産業省省  地域コンソ▶ ITRON TCP/IP API仕様に準拠したコンパクトなTCP/IPプ
ロトコルスタック▶ IPv4とIPv6の両方に対応
FatFs for TOPPERS▶ FAT12/16/32に対応したファイルシステム
CAN/LINミドルウェアパッケージ 経済産業省省  地域コンソ▶ CANとLIN向けの通信ミドルウェア
RLL（Remote Link Loader） IPA
DLM（Dynamic Loading Manager）▶ いずれも，モジュールの動的なローディングを行うためのミドルウェア．実現アプローチが異なる	
9
Hiroaki  Takada

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

主な開発成果  (TECS,  SafeG,  ツール)
TECS（TOPPERS組込みコンポーネントシステム）▶ 各種のソフトウェアモジュールを部品化し，必要な部品を組み合わせることによって大規模な組込みソフトウェ アを効率的に構築するための技術（仕様とツール）
SafeG▶ 1つのマイクロプロセッサ上で，汎用OSとRTOSを安全に共存して動作させるデュアルOSモニタTLV（TraceLogVisualizer）▶ RTOS等のトレースログを可視化するためのツール
TOPPERS Builder▶ Eclipse/CDTを用い，TOPPERSカーネルを用いた開発を支援する統合開発環境▶ CD-ROMだけで立ち上げられるCD-ROMイメージを用意	
Hiroaki  Takada

10

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

主な開発成果  (教育コンテンツ)
初級実装セミナーの教材 英語版,  中⽂文版も⽤用意▶ RTOS上に組込みソフトウェアを構築する手法の基礎を，実習を通して学習するセミナーの教材
中級実装セミナーの教材 中⽂文版も⽤用意▶ ネットワークプログラミングやシステム設計手法を学習
基礎１実装セミナーの教材▶ 小規模な組込みシステム開発とRTOSの基礎を学習
基礎２実装セミナーの教材▶ RTOSの解説とサービスコールの実装体験を行う
独立の教育コンテンツ▶ TOPPERS版鹿威し，TOPPERS二足歩行ロボット教材▶ 組込み技術者向けTECS教育教材▶ ETロボコン向けTOPPERS活用セミナー教材	
Hiroaki  Takada

11

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

開発成果物の主な利利⽤用事例例
コンシューマ機器への組み込み事例	

PM-A970 (エプソン)	

IPSiO GX e3300 (リコー)	
Hiroaki  Takada

945SH	
（シャープ）	

DO!KARAOKE	（松下電器産業）	

GT-541 (ブラザー工業)	

UA-101 (Roland)	
12

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

産業機器等への組み込み事例	

アーク溶接機DP-350(ダイヘン)	

キザシ (スズキ)	

H-IIB（JAXA)	
＜開発中＞	
Hiroaki  Takada

ASTRO-H (JAXA)	
＜開発中＞	

マイクロプレート分析装置 AP-X(協和メデックス)	

NC装置 OSP-P200(オークマ)	
13

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

重点的に取り組んでいるテーマ
次世代のリアルタイムカーネル技術!  高信頼性・安全性・リアルタイム性を追求▶ TOPPERS新世代カーネル（ITRON仕様からの発展）▶ 次世代車載システム向けRTOS（AUTOSAR仕様をベース）
ソフトウェア部品化技術▶ TECS（TOPPERS組込みコンポーネントシステム）
組込みシステム向けプラットフォームと開発支援ツール▶ 各種のミドルウェアや仮想化技術▶ 開発支援ツール（シミュレータ，可視化ツール）▶ 宇宙機向けソフトウェアプラットフォーム
技術者育成のための教材開発▶ プラットフォーム技術者の育成▶ ETロボコン向けプラットフォームと教材の提供
Hiroaki  Takada

14

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

TOPPERS新世代カーネルの必要性

μITRON4.0仕様の公表から，すでに10年年以上が経過
組込みシステムにおける要求の変化▶ システム/ソフトウェアの一層の大規模化・複雑化▶ これまで以上に高い信頼性・安全性▶ 小さい消費エネルギーで高い性能µITRON4.0仕様以降の各方面の技術開発成果▶ マルチコアプロセッサ対応▶ 保護機能（メモリ保護，時間保護）▶ 機能安全対応，省エネルギー制御▶ コンポーネントシステム対応µITRON4.0仕様で完成度が低かった箇所の改良▶ システムコンフィギュレーション手順などè  これらの要求にこたえる新しいカーネル仕様が必要

Hiroaki  Takada

15

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

TOPPERS新世代カーネル開発ロードマップ
リリース済み⼤大規模化・複雑化
TECS	

動的オブジェ
クト生成	

コンポーネント

⾼高性能・省省エネルギー

リリース済みシステム対応	

ＦＭＰ

リリース済みマルチコア
プロセッサ拡張	

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

省エネルギー制御	

HRP2
メモリ保護，時間保護	

今回新たに
リリース

信頼性・安全性

ASP Safety
機能安全対応	

SSP
最小セット	

2007	
Hiroaki  Takada

2008	

新世代カーネル
フルセット	

早期リリース中

適⽤用範囲拡⼤大リリース済み
2012	
2009	
2011	
2010	
※ リリース前のカーネルの名称は仮称	
16

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

⾼高信頼組込みシステム向けリアルタイムOS
TOPPERS/HRP2カーネルの⼀一般公開について

Hiroaki  Takada

17

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

TOPPERS/HRP2カーネルとは？
名称の意味▶ HRP … “High Reliable system Profile”の略▶ 2 … バージョン番号

位置づけ（１）▶ TOPPERS新世代カーネルの中で，高信頼組込みシステム向けのリアルタイムカーネル▶ TOPPERS/ASPカーネル（TOPPERS新世代カーネルの出発点）に対して，メモリ保護機能など，高信頼組込みシステムに求められる各種の機能を追加
位置づけ（２）	
▶ TOPPERS/HRPカーネル（この夏に打ち上げられるH-IIBロケットの制御ユニットに搭載予定）の改良版 	
Hiroaki  Takada

18

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

HRP2カーネルの仕様
仕様の由来▶ µITRON4.0仕様保護機能拡張（µITRON4.0/PX仕様）をベースに様々な改良を実施
ASPカーネルとの差分▶ 高信頼組込みシステムに必要となる機能を追加▶ メモリ保護機能，オブジェクトアクセス保護機能▶ ミューテックス機能，オーバランハンドラ機能▶ 拡張サービスコール機能▶ メモリ保護機能と相性の悪い機能を削除▶ メールボックス機能
仕様を規定する仕様書▶ TOPPERS新世代カーネル統合仕様書で仕様を規定Hiroaki  Takada

19

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

μITRON4.0/PX仕様の特徴▶ オーバヘッドの小さい実装が可能▶ メモリ保護ユニット（MPU）を用いた実装が可能▶ アドレス変換を行う必要がない（行ってもよい）▶ 静的なコンフィギュレーションを活用し，最適化の余地を大きくする▶ シンプルで理解しやすい仕様▶ メモリ保護に関する設定が簡単にできること▶ セキュリティホールを作らないためにも重要▶ 多重アドレス空間・多重ID空間はサポートしない▶ 資源の分配に関する保護機能（プロセッサ時間の保護，メモリ割当て量の保護）はサポートしないè TOPPERS新世代カーネルでも，これらの特徴を踏襲	
Hiroaki  Takada

20

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

保護機能の導⼊入イメージ  (導⼊入前)
サブシステム２	 

サブシステム１	 

タスク	

タスク	

タスク	

メモリ
領域	

メール
セマフォ	 ボックス	

タスク	
メモリ
領域	

デバイスドライバ	 

割込み
ハンドラ	 タスク	

共有リソース	 

メモリ
領域	
メモリ
領域	

ミドルウェア	 

メモリ
領域	

CPU例外 周期メモリ
ハンドラ	 ハンドラ	 領域	タスク	メモリ領域	

カーネル	 Hiroaki  Takada

21

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

保護機能の導⼊入イメージ  (導⼊入後)保護ドメイン２	 

保護ドメイン１	 

タスク	
メモリオブ
ジェクト	

タスク	

タスク	

メール
セマフォ	 ボックス	

タスク	
メモリオブ
ジェクト	

カーネルドメイン	 

割込み
ハンドラ	 タスク	

無所属	 
メモリオブ
ジェクト	

デフォルトでメモリオブ “  はすべての保ジェクト	
護ドメインからアクセス可	
保護ドメイン３	 

メモリオブ
ジェクト	

CPU例外 周期 メモリオブ
ハンドラ	 ハンドラ	 ジェクト	

カーネル	 
Hiroaki  Takada“  囲みに穴をあける機能も持つ	タスク	
メモリオブ
ジェクト	

“  デフォルトでは同じ保護ドメイン内からのみアクセス可	“  特権モードで動作	
22

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

メモリ保護ユニット  (MPU)  とは？
MPUの概要▶ アドレス変換を行わず，メモリ保護のみを提供するハードウェア機構▶ アドレス空間内に8〜32個程度のメモリ領域を設定し，メモリ領域毎に可能なアクセスの種類を設定できる
MPUの特徴▶ メモリアクセス時のオーバヘッドはほとんどない▶ 実行する処理単位の切換え時に，アクセス可能なメモリ領域を切り換えるための固定時間のオーバヘッドが生じる▶ メモリ管理ユニット（MMU）でリアルタイム性確保の障害となるTLB（アドレス変換キャッシュ）のミスがないため，最大実行時間の見積もりが容易è ハードリアルタイムシステムでは利点が大きい	
Hiroaki  Takada

23

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

ビットマスク方式のMPU（Cortex-M3のMPUなど）▶ アドレスの上位の指定した数のビットが指定した値に一致するアドレスが1つのメモリ領域となる▶ メモリ領域のサイズは2の巾乗の値に制限され，ベースアドレスはサイズ境界にアラインしなければならない▶ メモリ領域のサイズの制限から，ムダなメモリ領域（内部フラグメンテーション）が生じることは避けられない
上下限指定方式のMPU（SH-2AのMPUなど）▶ メモリ領域の上限と下限のアドレスを設定する▶ メモリ領域のサイズやベースアドレスのアラインメント制約がなく，内部フラグメンテーションが生じない▶ メモリ領域を設定するレジスタが（最低）2つとなり，処理単位の切換え時のオーバヘッドが大きくなる	
Hiroaki  Takada

24

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

HRP2カーネルの最⼤大の特徴
プロセッサのメモリ保護機構を隠蔽▶ プロセッサの持つメモリ保護の機構（の細部）を知ることなしに，メモリ保護機能を活用できる▶ MMUを持つプロセッサも，どちらのタイプのMPUを持つプロセッサも，同じように扱える▶ 強力なコンフィギュレーション機能により実現▶ アプリケーション設計者は，各オブジェクトファイル（またはセクション）を配置するメモリ領域をどのように保護するかを指定▶ コンフィギュレータは，各セクションをメモリ上にどのように配置するかを決定し，その配置下におけるメモリ保護情報を静的に生成
Hiroaki  Takada

25

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

コンフィギュレーションの記述例例
obj_a1.oは，DOM_Aの専有領域に配置	

DOMAIN	 (DOM_A)	 {	 	 CRE_TSK(TASK_A,	 {	 TA_NULL,	 1,	 taskA_main,	 …	 });	 	 CRE_SEM(SEM_A,	 {	 TA_NULL,	 1,	 1	 });	 
アクセス許可ベクタ		 ATT_MOD("obj_a1.o");	 	 ATA_MOD("obj_a2.o",	 {	 TA_DOM(DOM_A),	 TA_SHARED,	 	 	 	 TA_KERNEL,	 TA_SHARED	 });	 
}	 
obj_a2.oは，DOM_Aの専有
ライト共有リード領域に配置	
KERNEL_DOMAIN	 {	 	 CRE_TSK(TASK_K,	 {	 TA_ACT,	 0,	 task2_main,	 …	 });	 	 ATT_ISR({	 TA_NULL,	 1,	 INTNO_SIO1,	 sio_isr,	 1	 });	 	 ATT_MOD("obj_k.o");	 
obj_k.oは，カーネルドメ}	 
インの専有領域に配置	
CRE_SEM(SEM_S,	 {	 TA_TPRI,	 1,	 1	 });	 
ATT_MOD("shared_lib.a");	 
shared_lib.aは，共有領域に配置	
Hiroaki  Takada

26

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

コンフィギュレータの処理理の流流れ  (概要)
システム
コンフィギュレー
ションファイル	コンフィギュレータパス 1, 2	

カーネル	

カーネル構成・初期化ファイル	
メモリ構成・初期化ファイル（仮）	

コンパイラ& リンカ	

リンカスクリプト	
コンフィ
ギュレータ
パス 3	

Hiroaki  Takada

アプリケーション	

アドレス配置情報	
メモリ構成・初期化ファイル	

コンパイラ& リンカ	

エラーチェック	
コンフィ
ギュレータ
パス 4	

ロードモジュール	27

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

開発体制とターゲットプロセッサ
HRP2カーネルの開発体制▶ 名古屋大学 大学院情報科学研究科 組込みリアルタイムシステム研究室（高田研究室）と組込みシステム研究セン
ター（NCES）を中心に開発
現時点でサポートするターゲットプロセッサ▶ SH-4▶ SH-2A（SH72AWグループなどMPUを持つもの）▶ Cortex-M3（MPUを持つもの）

近い内にサポートするターゲットプロセッサ▶ ARM11およびCortex-Aシリーズ

Hiroaki  Takada

28

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

活⽤用計画  ­−スペースワイヤOS
スペースワイヤ（SpaceWire）とは？
▶ 次世代の宇宙機向け通信ネットワーク規格▶ 国内外の科学衛星への採用が始まっている▶ 国内においては，JAXAが中心になって研究開発スペースワイヤOSの構成▶ カーネルにTOPPERS/HRP2カーネルを利用▶ スペースワイヤ上での通信機能を実現するミドルウェア
研究開発の計画▶ 名古屋大学 組込みシステム研究センター（NCES）とJAXAの共同研究により，2011年度〜2012年度にかけて開発する計画（進行中）▶ ターゲットハードウェアは，スペースワイヤインタフェースを持った耐放射線システムLSI（SOI-SoC）		

Hiroaki  Takada

29

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

マルチプロセッサRTOS向けテストスイート
TTSP  (TOPPERS  Test  Suite  Package)  の⼀一般公開について

Hiroaki  Takada

30

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

TTSP  (TOPPERS  Test  Suite  Package)  の概要TTSPとは？
▶ TOPPERS新世代カーネル向けのテストスイート
開発の動機（課題）▶ TOPPERSの開発成果であるオープンソースのリアルタイムカーネルは，品質が十分に確認されていない▶ 組込みシステムの品質の説明責任が重視される中で，品質確認の仕組みは不可欠▶ マルチプロセッサ向けのRTOSに関する検証手法が確立していない
開発体制▶ 名古屋大学 組込みシステム研究センター（NCES）が呼び掛け，複数の企業や公的研究機関と共同で実施したコンソーシアム型共同研究の中で開発	
Hiroaki  Takada

31

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

マルチプロセッサ向けRTOSに関するコンソーシアム
プロジェクトの位置付け▶ 名古屋大学独自に実施してきたマルチプロセッサ向け
RTOSの研究開発プロジェクトに，企業からの参加を募集
し，2009年度〜2010年度に実施▶ NCESで実施中の高度な研究開発人材育成事業の一環
研究開発の内容▶ 名古屋大学で開発を進めているTOPPERS/FMPカーネルをコアとする▶ マルチプロセッサ向けRTOSに関する以下のようなテーマ
に関して研究開発▶ 検証手法, 性能評価手法（検証スイートなど）▶ 開発環境（トレースログの可視化ツールなど）▶ 仕様策定・実装技術（動的負荷分散手法など）	
Hiroaki  Takada

32

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

実施内容と参加企業▶ 検証手法の検討と開発に重点をおいて実施▶ 動的負荷分散手法についても研究開発▶ 2009年度は7社，2010年度は5社の企業と1公的機関（+名古屋大学）が参加▶ 東芝▶ デジタルクラフト▶ ルネサステクロノジ ▶ 三洋電機（2009年度のみ）▶ NEC通信システム▶ 松浦商事（2009年度のみ）▶ 富士ソフト▶ 宮城県産業技術総合センター▶ 5名がほぼフルタイムで共同研究開発に従事開発したソフトウェアの取扱い▶ 参加企業は自由に利用できる（相互に無償利用許諾）▶ 共同研究終了の1年後に，TOPPERSプロジェクトよりオープンソースソフトウェアとして公開	
Hiroaki  Takada

33

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

TTSPにおけるAPIテストの考え⽅方▶ API発行前後のシステム状態の変化を確認する（テストシナリオ）	
wup_̲tskの仕様抜粋	
wup_̲tsk          タスクの起床                          ：【機能】tskidで指定したタスク(対象タスク)を起床する．
対象タスクが起床待ち状態である場合には，対象タスクが待ち解除される．

前状態	 
TASK1

TASK2

(実⾏行行中)優先度度:中(起床待ち)
優先度度:⾼高処理	 TASK1

仕様の振舞いを確認するテストを実施する
・⾃自タスク以外のタスクを指定して呼び出す．
・起床待ち状態のタスクを指定する．
・対象タスクの優先度度が，実⾏行行状態のタスクよ 　り⾼高い場合，対象タスクが実⾏行行状態になるこ 　と．

Hiroaki  Takada

wup_̲tsk

TASK2

後状態	 
TASK1

TASK2

(実⾏行行可能)(実⾏行行中)34

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

テストシナリオの記述  (TESRY記法)▶ 階層型データ形式言語であるYAML形式を用いて，テストシナリオを記述する方法を定義（TESRY記法）	

前状態
優先度中のTASK1が実行状態
優先度高のTASK2が起床待ち状態	 

pre_condition:
TASK1:
type : TASK
tskpri : TSK_PRI_MID
tskstat: runningTASK2:
type : TASK
tskpri : TSK_PRI_HIGH
tskstat: waiting
wobjid : SLEEP

処理
TASK1がwup_̲tsk(TASK2)を発行してE_̲OKが返る	 

do:id : TASK1
syscall: wup_tsk(TASK2)
ercd : E_OK

後状態
TASK1が実行可能状態となる
TASK2が実行状態となる	 

post_condition:
TASK1:
tskstat: readyTASK2:
tskstat: running(例例)wup_̲tskのテストケース

前状態から変化のないパラメータは省省略略可能→

Hiroaki  Takada

35

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

テストシナリオからのテストプログラム⽣生成▶ TESRY記法で記述したテストシナリオから，それを実現するテストプログラムを生成する▶ テストプログラムを生成するツール（TTG：TOPPERS TestGenerator）を開発	
テストシナリオを実現するテストプログラム

テストシナリオ（TESRY記法）
前状態 　＜API発⾏行行前のシステム状態＞
処理理 　＜API発⾏行行処理理＞
後状態 　＜API発⾏行行後のシステム状態＞

test.cfg

⼊入⼒力力

出⼒力力

test.htest.cTTG(TOPPERS  Test  Generator)
・Rubyで開発
・約22,000⾏行行

Hiroaki  Takada

36

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

APIテストの設計プロセス
統合仕様書
API仕様

事前に作成した条件網羅羅表と結果が⼀一致することを確認

仕様カバレッジを100%とする
テストケース
テストケース
テストシナリオ(ブラックボックス)(ブラックボックス)(ブラックボックス)仕様/実装の両⾯面からテスト抽出したテストケースを実施することでソースコードのC1カバレッジが100%となるかを確認
C1カバレッジ確認(条件網羅羅表)

Hiroaki  Takada

条件網羅羅のためのテストケースを追加

実⾏行行カバレッジ
ファイル(gcovファイル)
シミュレータで実⾏行行しカバレッジ取得
テストプログラム・test.c・test.h・test.cfg
全テストケースを実施するテストプロ
グラムの⽣生成  (TTG)テストケース
テストケース
テストシナリオ(ブラックボックス)(ブラックボックス)(ホワイトボックス)

37

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

テストケース数
機能名

ASP

FMP

タスク管理理機能(task_̲manage)

181

604

タスク付属同期機能(task_̲sync)

205

280

タスク例例外処理理機能(task_̲except)

85

123

データキュー機能(dataqueue)

280

370

イベントフラグ機能(eventﬂag)

145

116

メールボックス機能(mailbox)

98

66

固定⻑⾧長メモリプール機能(mempﬁx)

97

66

優先度度データキュー機能(pridataq)

264

322

セマフォ機能(semaphore)

106

91

周期ハンドラ機能(cyclic)

20

61

アラームハンドラ機能(alarm)

39

146

システム状態管理理機能(sys_̲manage)

76

135

割込み管理理機能(interrupt)

2517CPU例例外管理理機能(exception)

910

タスクの状態参照機能(task_̲refer)

39

88

システム時刻管理理機能(time_̲manage)

63スピンロック(spin_̲lock)

048

110

47

1,785

2,593

静的API

合計

Hiroaki  Takada• テストケースの抽出は，コンソーシアム参加企業におけるRTOS開発の経験を活かし，組み合わせ爆発を抑⽌止• FMPカーネルは，ASPカーネ
ルのマルチプロセッサ拡張であるため，ASPカーネル⽤用のテストケースは，そのままFMPカーネルで使⽤用可能• FMPカーネルで追加された
APIやプロセッサを跨ぐテス
トケースを  FMPカーネル⽤用のテストケースとして追加• FMPカーネルに対するテストケースは合計4,378件となった
38

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

TTSPの特徴と有⽤用性テストプログラム生成（TTG）の利点▶ テストスイートの開発効率化，拡張性・保守性の向上▶ テストシナリオの記述は，テストプログラムを直接記述するよりも容易で，保守性も高い▶ 実施するテストやテストプログラムの粒度を変更可能▶ どれだけのテストシナリオをまとめて1つのテストプログラ
ムにするかを，テストプログラム生成時に指定
TOPPERS新世代カーネルの品質向上に貢献▶ ASPカーネル，FMPカーネル，TOPPERS新世代カーネル
統合仕様書の不具合を数多く発見
ユーザにとっても有用▶ TOPPERSは，ユーザ側で新しいプロセッサやSoCにポーティングされて使用されることも多いため
Hiroaki  Takada

39

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

TTSPのリリースと今後TTSPの内容▶ TESRY記法により記述されたテストシナリオ▶ テストプログラム生成ツール（TTG）▶ その他，カーネルのテストに必要なプログラムとドキュメント
一式
リリーススケジュール▶ 2011年5月：TTSP Release 1.0.0▶ ASPカーネルのみに対応▶ 2012年5月：TTSP Release 1.1.0▶ FMPカーネルにも対応▶ 不備の修正や利便性の向上
今後の計画▶ HRP2カーネルへの対応	
Hiroaki  Takada

40

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

TOPPERSプロジェクトの活動状況と今後の活動⽅方針

Hiroaki  Takada

41

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

組込みシステムの今後の変化
制御と情報処理の統合（統合システム）▶ 情報通信技術と組込みシステム技術を活用したスマート社会を構築することが世界的な流れ▶ スマートグリッド，エネルギーITS，スマート…
▶ 組込みシステムと情報システムを結合した大規模なシステム（System of Systems）の構築が重要に
クラウドコンピューティング	
ネットワークによる機能再配置▶ それぞれのサービスの複雑化はさらに進むと思われる▶ すべての機器がネットワーク接続されれば，すべての機器が汎用・多機能である必要はない! パラダイムチェンジの時期の見極めが難しい
消費電力あたりの性能の向上▶ 新しいハードウェア技術の導入が必要	
Hiroaki  Takada

42

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

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

43

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

重点的に取り組んでいるテーマ  (再掲)
次世代のリアルタイムカーネル技術!  高信頼性・安全性・リアルタイム性を追求▶ TOPPERS新世代カーネル（ITRON仕様からの発展）▶ 次世代車載システム向けRTOS（AUTOSAR仕様をベース）
ソフトウェア部品化技術▶ TECS（TOPPERS組込みコンポーネントシステム）
組込みシステム向けプラットフォームと開発支援ツール▶ 各種のミドルウェアや仮想化技術▶ 開発支援ツール（シミュレータ，可視化ツール）▶ 宇宙機向けソフトウェアプラットフォーム
技術者育成のための教材開発▶ プラットフォーム技術者の育成▶ ETロボコン向けプラットフォームと教材の提供
Hiroaki  Takada

44

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

TOPPERS新世代カーネル開発ロードマップ  (改訂版)
⼤大規模化・複雑化
TECS	
コンポーネントシステム対応	新世代カーネル
フルセット	

動的オブジェ
クト生成	

⾼高性能・省省エネルギー

ＦＭＰ

パーティショニ
ングサポート	

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

HRP2

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

省エネルギー制御	

メモリ保護，時間保護	

信頼性・安全性

ASP Safety
機能安全対応	

SSP
最小セット	

2007	

2008	

Hiroaki  Takada

2009	

2010	

2011	

適⽤用範囲拡⼤大
2012	

2013	
45

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

省エネルギー制御▶ 最近出始めた省エネルギー制御が可能なプロセッサ（ARMのbig.LITTLE技術など）を有効に活用▶ 名古屋大学等において，基礎的な研究（評価実装も含む）は実施
パーティショニング機能のサポート▶ これまでのロードマップには掲載なし▶ 安全性要件の異なるアプリケーションを1つのコンピュータ上に統合する上で不可欠な機能▶ セキュリティ向上の上でも極めて重要な機能▶ 検討が必要な課題▶ プロセッサ時間のパーティショニングの実現方法▶ パーティション間で共有するリソースの管理方法	
Hiroaki  Takada

46

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

次世代⾞車車載システム向けRTOSに関するコンソーシアム
プロジェクトの位置付け▶ 名古屋大学 組込みシステム研究センター（NCES）が設定した研究開発テーマに，複数の企業の参加を得て研究・開発を進めるコンソーシアム型共同研究▶ NCESで実施中の高度な研究開発人材育成事業の一環▶ 2012年4月時点で，12の企業が参加
参加企業（2012年4月時点，参加順&五十音順）▶ 日本電気通信システム（株）	
▶ （株）ヴィッツ	
▶ パナソニック アドバンストテク▶ （株）OTSL	ノロジー（株）	
▶ （株）サニー技研	
▶ 富士ソフト（株）	
▶ （株）デンソー	
▶ 富士通VLSI（株）	
▶ （株）東芝	
▶ ルネサス エレクトロニクス（株）	
▶ トヨタ自動車（株）	
▶ （株）永和システムマネジメント 	Hiroaki  Takada

47

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

研究開発体制（2012年4月時点）▶ 参加企業から，計12名の技術者がNCESに常駐（内2名はハーフタイムでの従事）▶ 名古屋大学の教員・研究員8名が参加（内2名がフルタイムで従事）
研究開発の内容▶ AUTOSAR OS仕様をベースとした次世代の車載組込みシステム向けのRTOS仕様の策定▶ 策定した仕様に基づいたRTOSの実装と評価▶ RTOSの検証スイートの開発	
研究開発成果の取扱い▶ 開発したRTOS（検証スイートを除く）は，開発終了後，
TOPPERSプロジェクトより，TOPPERS/ATK2の名称でオープンソースソフトウェアとして一般公開		

Hiroaki  Takada

48

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

プロジェクトの期間▶ 2011年4月に開始▶ 毎年更新で，3年間程度継続実施する計画
2011年度に取り組んだ領域▶ RTOS仕様の策定▶ AUTOSAR OS仕様の問題点や曖昧な点を修正▶ RTOSの実装と評価▶ AUTOSAR OS仕様のSC1（基本セット）のすべてとSC3（メモリ保護）の一部の実装▶ トレーサビリティの取れた設計ドキュメント▶ 通信ミドルウェアを搭載して，機能と性能を評価▶ 検証スイートの開発▶ 実装したRTOSのテストスイート▶ コードカバレッジ（MC/DC）100%を目指す
Hiroaki  Takada

49

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

TECS  (TOPPERS組込みコンポーネントシステム)
TECSとは？
▶ 各種のソフトウェアモジュールを部品化し，必要な部品を組み合わせることによって大規模な組込みソフトウェ アを効率的に構築するための技術
TECS（コンポーネント技術）を用いる利点▶ 大規模な組込みソフトウェアの見える化▶ ソフトウェア部品の流通性・再利用性の向上▶ 分散フレームワークによる分散システムの開発効率化
TECSの特徴とアプローチ▶ コンポーネント間の結合を静的にし，最適化を可能に▶ すべてのソフトウェアをコンポーネントとして扱える▶ 遠隔呼出し（RPC）のためのコンポーネントをツールによ り生成	

Hiroaki  Takada

50

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

SafeG
SafeGの概要▶ 1つのマイクロプロセッサ上で，汎用OS（LinuxとAndroid）とRTOS（ASPカーネル）を安全に共存して動作させるデュアルOSモニタ▶ ARM TrustZone技術を用い，RTOSをTrust状態，汎用OSをNon-Trust状態で実行▶ 汎用OSにセキュリティホールがあり，特権モードで不正なプログラムが動作しても，RTOS側を保護できる
リリース・開発計画▶ 2011年6月に，オープンソースとして配布開始▶ 名古屋大学 組込みシステム研究センター&高田研究室
で各種の拡張開発が進行中	
51
Hiroaki  Takada

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

TOPPERSカンファレンス2012
開催概要▶ 日時：2012年6月12日（火）10:00～19:30▶ 場所：大田区産業プラザ（PiO）（東京都大田区）

プログラム概要▶ 特別講演：組み込みシステムとしての衛星設計（高橋忠幸，福田盛介（JAXA/ISAS））▶ 基調講演： TOPPERSプロジェクトの現状と方向性（高田広章（名古屋大学））▶ TOPPERSプロジェクト活動報告，最新成果（HRP2，TTSP，SafeG，TECS，SSPなど）の技術解説，開発事例の紹介など

Hiroaki  Takada

52