TOPPERSの現状と⽅向性

TOPPERSカンファレンス2022

TOPPERSプロジェクトの現状と⽅向性＋話題提供 (“by Design”とSBOM)
2022年6⽉10⽇

⾼⽥ 広章
NPO法⼈ TOPPERSプロジェクト 会⻑
名古屋⼤学 未来社会創造機構 モビリティ社会研究所 所⻑・教授
名古屋⼤学 ⼤学院情報学研究科 教授
附属組込みシステム研究センター⻑
Email: hiro@ertl.jp

Hiroaki Takada

URL: http://www.ertl.jp/~hiro/

1

TOPPERSの現状と⽅向性

AGENDATOPPERSプロジェクトの概要と活動指針（復習）▶ TOPPERSプロジェクトとは？
▶ これまでの開発成果，重点的に取り組んでいるテーマ

TOPPERSプロジェクトの活動状況と成果▶ この1年にリリースした開発成果▶ WGの活動と主な成果，普及・広報活動の概要“by Design” − LinuxとRTOSの決定的な違い▶ Linuxのリアルタイム化，リアルタイム性の評価実験▶ コンテナによる隔離と穴SBOM（Software Bill of Materials）への取り組みの提案▶ SBOMとその必要性，SPDXおわりに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の現状と⽅向性

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

総会
監事

運営委員（24名）

運営委員会

事務局
事務局長

▶ 団体正会員：６６（企業：６５，その他：１）▶ 個人正会員：１１▶ 準会員（個人）：４６▶ 特別会員：２９（団体：１４，個人：１５）

合計会員数：１５２（２０２2年６月10日時点）

カンファレンス実行委員会
展示会運営委員会
開発者会議実行委員会
広報戦略タスクフォース

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

Hiroaki Takada

5

TOPPERSの現状と⽅向性

TOPPERSプロジェクトの狙い

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

6

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

Hiroaki Takada

7

TOPPERSの現状と⽅向性

ミドルウェア▶ TINET（TCP/IPスタック），FatFs for TOPPERS▶ TOPPERS/ECNL（ECHONET Lite通信ミドルウェア）▶ RLL（Remote Link Loader），DLM（Dynamic Loading Manager）
ツール，ソフトウェアプラットフォーム，その他▶ TECS（TOPPERS組込みコンポーネントシステム）▶ TOPPERS BASE PLATFORM（ST，CV，RV）▶ EV3RT（LEGO Mindstorms EV3向けSPF）▶ SafeG（デュアルOSモニタ），SafeG64 ，SafeG-M▶ MDCOM（MultiDomain Communication Module）▶ 箱庭（シミュレーション環境），athrill
教育コンテンツ▶ 基礎1・基礎2・基礎3実装セミナー教材▶ 基礎ハードウェア設計セミナー教材▶ ETロボコン向けTOPPERS活用セミナー教材
Hiroaki Takada

8

TOPPERSの現状と⽅向性

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

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

UA-101 (Roland)

H-IIB（JAXA)

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

OSP-P300(オークマ)SoftBank945SH（シャープ）

PM-A970(エプソン)
9

TOPPERSの現状と⽅向性

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

プラットフォーム

次世代のリアルタイムカーネル技術▶ TOPPERS第3世代カーネル（ITRON系）▶ 車載システム向けRTOS（AUTOSAR OS仕様ベース）
ソフトウェア部品化技術▶ TECS（TOPPERS組込みコンポーネントシステム）
組込みシステム向けSPFと開発支援ツール▶ TOPPERS BASE PLATFORM，ホームネットワーク▶ シミュレーション環境（箱庭），開発支援ツール▶ 車載制御システム向けSPF（AUTOSAR仕様ベース）▶ 仮想化技術（SafeGシリーズ），ドメイン間通信（MDCOM）
技術者育成のための教材開発▶ プラットフォーム技術者の育成▶ ETロボコン向けSPFと教材の提供
Hiroaki Takada

10

TOPPERSの現状と⽅向性

TOPPERSカーネル開発ロードマップ
第1世代カーネル

第2世代カーネル

ATK3?

ATK2

ATK1

⾞載系

第3世代カーネル

AUTOSAR仕様

HRＭＰ3

OSEK/VDX仕様

マルチコア＆保護機能

FDMP

ＦＭＰ

マルチコア対応

マルチコア拡張

ＦＭＰ3
マルチコア

HRP

ITRON系

HRP2

メモリ保護

FI4
μITRON4.0
フルセット

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

JSP

ASP

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

パーティショニング

動的オブジェ
クト生成

ASP3
SSP

TECS
コンポーネントシステム対応第3世代カーネル
スタンダード

SSP3
最小セット

最小セット

2000

2004

Hiroaki Takada

2007

2010

メニー
コア

HRP3

メモリ保護

2013 2015

2018

2023
11

TOPPERSの現状と⽅向性

組込みソフトウェア開発効率化のためのTOPPERS
応用分野毎のプラットフォームの構築・活用と共通化▶ 組込みソフトウェアプラットフォーム構築のための，品質が高く使いやすい（… 使うことで開発の効率化ができる）部
品と構築技術を提供する
設計資産の再利用を促進する仕組みの構築▶ ソフトウェアコンポーネント技術（TECS）▶ TOPPERSソフトウェア自身の再利用（業界レベルでの設計資産の蓄積）
人材育成▶ オープンな教材（セミナー資料とソフトウェア）▶ “お手本としてのTOPPERS”
新しい技術の導入▶ 新しい技術を導入した開発
Hiroaki Takada

12

TOPPERSの現状と⽅向性

TOPPERSプロジェクトの活動状況と成果

Hiroaki Takada

13

TOPPERSの現状と⽅向性

この1年にリリースした主な開発成果
一般公開（2021年6月〜2021年12月）
6月3日 箱庭WG 単体ロボット向けシミュレータの試行パッケージ（箱庭プロトタイプモデルA）
6月3日 TOPPERS/FMP3 R3.2.0 zcu102_arm64向け簡易パッケージ
6月4日 SafeG64 バージョン1.2.0
6月25日 TOPPERS/EV3RT Version1.1
10月18日 TOPPERS/ASP3 R3.5.0 Raspberry Pi Pico向け簡易パッケージ
TOPPERS/FMP3 R3.2.0 Raspberry Pi Pico向け簡易パッケージ
11月26日 TOPPERS/ASP3 R3.6.0 RX向け簡易パッケージTOPPERS/HRP3 R3.3.0 RX向け簡易パッケージ
Hiroaki Takada

14

TOPPERSの現状と⽅向性

一般公開（2022年1月〜2022年3月）
1月9日 TOPPERS/ASP3 R3.4.0 Nucleo F401RE向け簡易パッケージ
1月11日 TOPPERS第3世代カーネル統合仕様書 R3.4.3 LTS
1月15日 TOPPERS/HRMP3カーネル R3.1.3 ターゲット非依存部パッケージ，ARMアーキテクチャ・GCC依存部パッケージ LTS
1月24日 TOPPERS/HRMP3カーネル R3.1.3 ZYBO-Z7向け簡易パッケージ
1月30日 TECSジェネレータ 個別パッケージ v1.8.0
3月8日 TOPPERS/ASP R1.9.5 ARM Cortex-M0アーキテ
クチャ・GCC依存部パッケージ
TOPPERS/ASP R1.9.8 ARM Cortex-M4アーキテ
クチャ・GCC依存部パッケージ
Hiroaki Takada

15

TOPPERSの現状と⽅向性

一般公開（2022年4月〜2022年5月）
5月13日 hakoniwa-ros2sim（箱庭上でROS2プログラムをシミュレーション）
5月18日 TOPPERS BASE PLAFORM(ST/RV) V1.4.3
TOPPERS BASE PLAFORM(CV) V1.1.3
ROMモニタ
RTOS隠蔽化パッケージ（ASP3/FreeRTOS）
早期リリース（2021年6月〜2022年5月）
6月4日 TECSジェネレータ v1.8RC9

Hiroaki Takada

16

TOPPERSの現状と⽅向性

WGの活動と主な成果
教育WG▶ 基礎実装セミナー通信講座▶ TOPPERS基礎１実装セミナー，基礎２実装セミナー，新基礎３実装セミナー▶ 新規通信講座：基礎HW，基礎USB（開発予定）▶ TOPPERS BASE PLATFORM（ST，CV，RV）の開発
TECS WG▶ TECSジェネレータ V1.8.0▶ mruby+TECS on TOPPERS BASE PLATFORMハンズオン▶ TOPPERS/HRMP3，FMP3対応（進行中）▶ STM32H747-Discovery移植（進行中）
Hiroaki Takada

17

TOPPERSの現状と⽅向性

ホームネットワークWG▶ TINETにファジングを適用▶ libFuzzerを使用．TINETの脆弱性を発見・対応

箱庭WG▶ 単体ロボット向けシミュレータ▶ hakoniwa-ros2sim▶ オンラインもくもく会▶ 対外発表▶ ROSCon JP 2021
▶ Unity道場 ロボティクス 秋のLT祭り 2021

海外展開WG▶ TOPPERS第３世代カーネル統合仕様書の英語化
Hiroaki Takada

18

TOPPERSの現状と⽅向性

普及・広報活動の概要
カンファレンス実行委員会▶ TOPPERSカンファレンス
展示会運営委員会▶ ET/IoT 2021
TOPPERS開発者会議実行委員会▶ TOPPERS開発者会議▶ TOPPERS活用アイデア・アプリケーション開発コンテスト▶ オープンソースカンファレンス（OSC）
広報戦略TF，エコシステム▶ 外部との連携によるセミナー開催▶ ウェブサイトの見直し
TOPPERSプロジェクトニュースレター
Hiroaki Takada

19

TOPPERSの現状と⽅向性

その他の活動技術報告会議・技術検討会議
8月4日 IOTデバイスを実際に作ってみる
ETロボコンへの協力▶ ETロボコンに特別協賛▶ ソフトウェアプラットフォームとシミュレーション環境の提供▶ TOPPERS/EV3RT▶ 箱庭▶ ETロボコン向け TOPPERS活用セミナー▶ TOPPERS賞の授与▶ 実装技術の優れたチームを表彰

Hiroaki Takada

20

TOPPERSの現状と⽅向性

GitHubの活用▶ GitHubにTOPPERSプロジェクトのOrganizationアカウントを取得し，WGの活動に使用▶ TOPPERSユーザーズフォーラム▶ TOPPERSプロジェクトの開発成果物のユーザのためのQ&Aおよび情報交換の場▶ GitHub Discussionsを利用▶ toppers-usersメーリングリストは廃止予定▶ TOPPERS Contributed Software on GitHub

Qiita Advent Calendar 2021
▶ 2021年12月1日〜24日に11本の記事を掲載

Hiroaki Takada

21

TOPPERSの現状と⽅向性“by Design”〜LinuxとRTOSの決定的な違い〜

Hiroaki Takada

22

TOPPERSの現状と⽅向性Linuxのリアルタイム化に関する最近の動き
PREEMPT_RTパッチの主要部分がメインラインに▶ 2021年8月15日：PREEMPT_RTパッチセットの第5版が投稿された▶ 2021年8月30日：メインラインカーネルに取り込まれた▶ 2021年10月31日：カーネル5.15がリリース． stable版のカーネルにPREEMPT_RTパッチの主要部分が入った▶ メジャーなディストリビューションが対応するのに少し（数ヶ月）時間がかかると思われる
PREEMPT_RTパッチとは？
▶ Linuxのリアルタイム性（応答性，予測可能性）を向上させるためのパッチセット▶ 2005年から開発・保守が続けられている
Hiroaki Takada

23

TOPPERSの現状と⽅向性

PREEMPT_RTパッチの主な内容▶ 高分解能タイマ（high resolution timers）▶ 割込みハンドラのスレッド化（threaded interrupt handler）▶ rt_mutex▶ カーネル内で使用するミューテックスが，優先度継承を実現する rt_mutex に置き換えられる▶ ブロックするスピンロック（sleeping spinlocks）▶ スピンロック（ブロックしない排他制御機構）がrt_mutex（ブロックする排他制御機構）に置き換えられる▶ 従来のスピンロックと同等の raw_spinlock は残る．ブロックされると不都合な排他制御は，これを使う▶ RCU（Read-Copy-Update）機構のリアルタイム性向上→ 徐々にメインラインカーネルに統合されている
Hiroaki Takada

24

TOPPERSの現状と⽅向性

割込みハンドラのスレッド化※ ハードIRQ ＝ トップハーフ
ソフトIRQ ＝ ボトムハーフ

割込み要求
割込み
コンテキストスレッド化されない
割込みハンドラ

最高優先度のスレッド

ハードIRQ
ソフトIRQ

割込み出口処理
リアルタイム性の阻害要因
割込み要求
割込み
コンテキストスレッド化された
割込みハンドラスレッド（ksoftirqd）

ソフトIRQ

スレッド起動のみ

最高優先度のスレッド

プライマリハンドラ

スレッド

ハードIRQ
スレッド

Hiroaki Takada

負荷が重い時ソフトIRQ
25

TOPPERSの現状と⽅向性

カーネル内の排他制御機構※ sleeping ＝ ブロックされる
排他制御機構メインライン PREEMPT
カーネル_RTパッチ

備考

rt_mutexに置き換わる

mutex

普通のミューテックス

rt_mutex

優先度継承ミューテックス

semaphore

計数セマフォ，オーナーがない

rw_semaphore

sleeping

sleeping

CPU local

sleeping

リーダ／ライタロック

ww_mutex
per_cpu_rw_semaphore

local_lockspinlock_t
rwlock_t
raw_spinlock_t
bit spinlocks
Hiroaki Takada

sleeping
spinning
spinning

CPUローカルデータの排他
普通のスピンロック

rt_mutexに置き換わる

sleepingにならないスピンロック

26

TOPPERSの現状と⽅向性Linuxのリアルタイム性の評価実験と結果
評価実験の目的▶ カーネルに対して様々な負荷をかけた場合に，リアルタイムアプリの応答性がどの程度低下するかを評価
評価実験の方法▶ 最高優先度スレッドを周期的に起動し，起動応答時間を測定する▶ cyclictest ベンチマークを使用▶ 非リアルタイム優先度で，カーネルの様々なシステムコールを呼び出すプログラムを実行▶ stress-ng プログラムを使用
üカーネルのシステムコールを呼び出して，CPU，メモリ，ストレージ等に負荷をかけるプログラムの集合ü200種類以上の負荷セット
Hiroaki Takada

27

LinuxはRTシステムに使えるか︖

評価実験の結果（PREEMPT_RTパッチを使用）▶ 負荷をかけない場合▶ 最高優先度スレッドの起動応答時間が100μ秒（想定したデッドライン）以下は，余裕で達成できる▶ 負荷をかけた場合▶ かける負荷に大きく依存▶ 最高優先度スレッドの起動応答時間が数m秒まで伸びる場合も▶ 最高優先度スレッドの起動応答時間が100μ秒以下に収まらないケース（デッドラインミス率）が10%程度になる
場合もHiroaki Takada

28

LinuxはRTシステムに使えるか︖

起動応答時間が伸びる2つの原因▶ ハードウェア起因▶ メモリに負荷がかかると，起動応答時間が大幅に伸びるüメモリアクセスにかかる時間が伸びていることで，メモリ負荷起因であることを確認
üコア間のメモリ競合で，300倍以上の性能劣化が起こったという報告もある（あるSoCの場合）▶ この効果は，SoCによって大きく異なる▶ カーネル起因▶ いくつかの負荷では，メモリに負荷がかかっていないにもかかわらず，起動応答時間が大幅に伸びる→ 実装の拙いデバイスドライバ／カーネルモジュール（地雷）を踏んでいるものと思われる
Hiroaki Takada

29

TOPPERSの現状と⽅向性

コンテナによる隔離と⽳コンテナ（OSレベル仮想化）! 「コンテナ技術」には2つの技術要素があるので注意▶ 1つのOS上に複数の実行環境を構築する▶ 統合するアプリケーションは共通のOSカーネルを用いるが，ライブラリ等は異なっていても良い
組込みシステムにおけるコンテナ活用のトレンド▶ 元々はクラウドサービス向けの機能であるが，最近，車載組込みシステムでも，（異なるベンダからの）複数のアプリを統合するために，コンテナが活用されようとしている▶ ハイパーバイザと比べて，オーバヘッド（起動時間，使用メモリなど）が小さい▶ ハイパーバイザと比べて，アプリ間の隔離レベルは低い▶ 特に時間的な振舞いの隔離が問題
Hiroaki Takada

30

TOPPERSの現状と⽅向性

コンテナへのリソース配分▶ Linux の cgroups の機能を用いると，コンテナに割り当てられる資源（プロセッサ時間など）を制限することができる▶ これにより，時間的な隔離ができる（ように見える）▶ メモリ使用量，ブロックデバイスのアクセス量などを制限することもできる
時間的な隔離の穴▶ コンテナ内から，コンテナに割り当てられた量を超えた資源を使うことができる（穴が多数）▶ 他のコンテナが使えるプロセッサ時間を減らすことができる【参考文献】 X. Gao, Z. Gu, Z. Li, H. Jamjoom, C. Wang:

Houdini's Escape: Breaking the Resource Rein of Linux Control
Groups, 2019 ACM SIGSAC Conference on Computer andCommunications Security, pp. 1073-1086, Nov. 2019.

Hiroaki Takada

31

TOPPERSの現状と⽅向性

さらなる穴（空間的な隔離も十分ではない）▶ 共有されているソフトウェアリソースを通じて，他のコンテナに悪影響を及ぼすことができる▶ 例）オープンしているファイル数を管理するグローバル
変数 nr_files は，カーネル全体で共有されており，これが上限値を超えるとファイルがオープンできなくなる【参考文献】 N. Yang, W Shen, et al.: Demons in the Shared
Kernel: Abstract Resource Attacks Against OS-level
Virtualization, 2021 ACM SIGSAC Conference on
Computer and Communications Security, pp. 764-778, Nov.
2021.
現時点での結論▶ セキュリティ面まで考える（言い換えると，悪意のあるアプリが入ってくる状況を考える）と，現時点では，リアルタイム／高信頼アプリケーションの統合には使えないと考えた方が良い
Hiroaki Takada

32

TOPPERSの現状と⽅向性“by Design” が重要なキーワード“by Design”とは？
▶ 何らかの性質（要求）を設計段階から考慮すること▶ Security by Designを一般化した用語
security by design（SbD）▶ サイバーセキュリティ対策を設計段階から考慮すること▶ 安全性に関わる組込みシステムは，「後付けのセキュリティ」では許されないことから，Security by Designが求められるLinuxとRTOSの決定的な違い▶ Linuxは “Real-time by Design” でない▶ コンテナ技術は，“Partitioning by Design” でない▶ さらに，“Quality by Design” でもない（Linuxが機能安全要求を満たせないとされる理由）
Hiroaki Takada

33

TOPPERSの現状と⽅向性

SBOMへの取り組みの提案(Software Bill of Materials)

Hiroaki Takada

34

TOPPERSの現状と⽅向性

SBOMとその必要性
SBOMとは？
▶ SBOM = Software Bill of Materials（ソフトウェア部品表）▶ 製品に含まれるすべてのソフトウェアコンポーネントとそのライセンス，依存関係を一覧化したもの
SBOMの必要性▶ 1つの製品には，様々なソフトウェアが含まれている▶ 特に，オープンソースソフトウェア（OSS）の世界では，あるOSSが別のOSSに依存し，それがさらに他のOSSに依存しているというような状況が普通に▶ ソフトウェアの内容を把握するのが困難に▶ OSSライセンスへの適合性確認やセキュリティ上の脆弱性への対応が困難に▶ “サプライチェーンリスク”
Hiroaki Takada

35

TOPPERSの現状と⽅向性

サプライチェーン攻撃の例
仮想通貨のウォレットアプリ「Copay」に対する攻撃（2018年）▶ Bitcoin/Bitcoin Cash用のウォレットアプリ「Copay」に，ユーザの仮想通貨を盗み出すバックドアが仕掛けられて公開されていた▶ 攻撃の流れ▶ Copayは， event-streamというOSSライブラリを使用▶ event-streamの開発者が，リポジトリを放置▶ 攻撃者は，event-streamの保守を引き継ぎたいと申し出て，管理者権限を取得▶ 攻撃者は，event-streamを，自分達が開発しているflatmap-streamを使用するように更新▶ 攻撃者は，flatmap-streamに悪意のあるコードを追加▶ Copayの更新で，悪意のあるコードが取り込まれるHiroaki Takada

36

TOPPERSの現状と⽅向性

SBOMができること
脆弱性のあるシステムの特定▶ あるソフトウェアコンポーネントに脆弱性が見つかった場合に，それを含むシステムを特定することが容易になる▶ 含んでいるソフトウェアコンポーネントのバージョン番号まで管理しておくことが必要
オープンソースライセンスへの適合性確認▶ あるシステムに，どのようなライセンスのOSSが含まれているかを確認することが容易になる▶ 例えば，GNU GPLのOSSが含まれている場合は，その利用条件に従うための措置（ソースコードをオープンにするなど）が必要にSBOMを機械処理可能となることで…
▶ 上記のことを機械的に支援できるようになる
Hiroaki Takada

37

TOPPERSの現状と⽅向性

SBOMの標準化と利⽤の動向
SBOMの標準化▶ ISO/IEC 19770-2 Software Identification Tag（SWID；ソフトウェアIDタグ）▶ Linux FoundationによるSPDX（ソフトウェアパッケージデータ交換）→ ISO/IEC 5962:2021として国際標準化▶ Cyclone DX

SBOMの利用の動向▶ 米国においては，連邦政府に製品を販売する組織に対して， SBOMの作成を義務付ける条項を含む大統領令が出ている▶ 国内では，経済産業省 サイバーセキュリティ課が，SBOM普及のための取り組みを実施
Hiroaki Takada

38

TOPPERSの現状と⽅向性

SPDX (Software Package Data Exchange)→ https://spdx.dev/
作成主体▶ Linux Foundationが支援するSPDX Working Group概要▶ OSSライセンスの登録・管理が中心に▶ 以下の内容を含むファイルの形式▶ パッケージ／ファイル／スニペット（コード片）の情報（名称，作成者，作成日，バージョン番号など）▶ ライセンス情報▶ 注釈▶ 人が読めて，機械処理できる形式▶ 複数のファイル形式（tag:value，JSON，YAMLなど）
Hiroaki Takada

39

TOPPERSの現状と⽅向性

OpenChainプロジェクト
OpenChainプロジェクトとは？

→ https://www.openchainproject.org/▶ OSSライセンス遵守に関する仕様，教育カリキュラム，自己認証プログラムを提供▶ Linux Foundation参加のプロジェクト▶ OpenChain Japan WGが活動
OpenChain仕様▶ 各組織が組織内に確立すべきOSSコンプライアンスプログ

ラムの要件を定義▶ SBOMの作成も求められている▶ SPDXを簡易化したSPDXLiteも策定されている▶ ISO/IEC 5230:2020として国際標準化
Hiroaki Takada

40

TOPPERSの現状と⽅向性

提案 (呼びかけ)▶ TOPPERSプロジェクト関連で開発しているソフトウェアのSBOMを作ってみませんか？
▶ 高田は，SPDXを勉強中▶ ただし，カーネルは他のOSSに依存していないため，題材としては面白くない▶ 規模の大きいソフトウェアプラットフォーム（例：EV3RT）や開発環境（例：箱庭）の方が，題材としては良さそう

Hiroaki Takada

41

TOPPERSの現状と⽅向性

おわりに

Hiroaki Takada

42

TOPPERSの現状と⽅向性

TOPPERSプロジェクトの活かし⽅▶ TOPPERSの開発成果物を利用するだけが，TOPPERSプ

ロジェクトの活かし方ではない
組込みソフトウェア開発企業には▶ オープンソース開発によるオープンイノベーション▶ 組込みシステムのソフトウェアプラットフォームを整備したいが，自社単独では難しく，他社と協力したい▶ 新しい開発技術を評価するにあたり，他社と協力したい▶ 自社のソフトウェア／技術（の一部）を公開（オープンソース化）して，周知度を上げたい
個人や大学のオープンソース開発者には▶ 開発したオープンソースソフトウェアを世に問いたい▶ 一緒に開発する仲間を募りたい
Hiroaki Takada

43

TOPPERSの現状と⽅向性

TOPPERSに関する情報ソース
TOPPERSウェブサイト▶ https://www.toppers.jp/
TOPPERS Project on GitHub▶ https://github.com/toppers
TOPPERSユーザーズフォーラム▶ https://github.com/toppers/users-forum
各種のイベント▶ TOPPERSカンファレンス（次回は，2022年6月10日）▶ TOPPERS開発者会議（毎年，秋に開催）▶ ET&IoT展
各ソフトウェアのTrac/svn（会員限定）
例）ASP3カーネル： http://dev.toppers.jp/trac/asp3/
Hiroaki Takada

44

TOPPERSの現状と⽅向性

おわりに 〜 恒例のお願い
成果活用のお願い▶ TOPPERSの開発成果物はウェブサイトから自由にダウンロードできますので，ぜひご利用ください
利用事例の報告に関するお願い▶ TOPPERSを利用した場合には，利用報告をお願いします▶ 利用事例を紹介することは，さらなる採用の促進やプロジェクトの発展につながる → ユーザにも利益にTOPPERSへの入会のお願い▶ プロジェクトの活動に参加したい方/活動を支援して頂ける方は，ぜひプロジェクトにご入会ください▶ 企業会員 入会金：11万円，年会費：11万円▶ 個人準会員 入会金：5.5千円，年会費：5.5千円
Hiroaki Takada45