組込みエンジニア向けLinux スキル向上に向けたトレーニング検討について
一般社団法人組込みシステム技術協会 理事 副会長
サイバートラスト株式会社 副社長執行役員
リネオソリューションズ株式会社 代表取締役会長
国立大学法人 九州工業大学 客員教授
一般社団法人ソフトウェア協会理事
佐野 勝大
X
1
一般社団法人
組込みシステム技術協会
Japan Embedded System Technology Association
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
これからの組込みエンジニアにOSSのスキルが重要な理由
「Software Defined x:
世界はOSSで出来ている」
「Secure by Design, Secure by Default」
「Made From Japan - 日本ならではの強みを生かした組込みエンジニアへ」
2
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
Linux FoundationとJASAの協業の展開
両団体のトレーニングコースの相互乗り入れと共同セミナー、共同マーケティングのスタート
次世代の組込みソフトウェアエンジニアのスキルマップとトレーニングの共同開発
認定制度の共同検討とIPAなど政府関連団体への提言活動
2024/11/20発表
3
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
次世代の組込みOSSエンジニアの人物像
アドバンスド
ミドル
エントリー
組込みシステム開発プロセスとOS、OSSの基本的な理解と、あらかじめ設計されたシステム仕様と準備された開発環境に基づいて、開発リーダーの指示の下、基礎的なシステム開発と単体テストと基本的なデバッグが実施できるエンジニア
システムの一部の技術に精通し、OSの機能理解と十分な実装経験を有し、システムに最適なOSSの選定と利用を通じて、効率的な設計、開発、担当機能のデバッグを開発チームと連携し、独立して実施できるエンジニア
システム全体のHW、OSのアーキテクチャを理解し、全体設計、実装、システムチューニング、高度なデバッグまで、幅広い専門知識とOSSの効果的な利用と開発能力を発揮、開発チームをリードし、コミュニティと連携、貢献できるエンジニア
プラットフォーム
エンジニア
アプリケーション
エンジニア
プラットフォームエンジニア:システムの開発基盤、デバイスドライバ、OSパッケージを開発、構築するエンジニア
アプリケーションエンジニア:システム上で機能するアプリケーションを開発するエンジニア
4
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
トレーニングプログラムのスキームについて
LF トレーニングコース(例)
組込みLinuxカーネル開発入門(LFD435)
組込みLinux開発(LFD450)
LFD461-JP(Yocto)
JASAトレーニングコース(例)
組込みLinux導入(ビルド)
組込みLinuxシステム管理
組込みLinuxアプリケーション開発入門
組込み技術者試験制度(ETECクラス1,2)
OSS開発入門(LFD102/103,LFC191)
Linux 入門
組込みOSSエンジニアスキル標準(エントリー)
Certificate
組込みOSS
SBOM管理入門
各スキルレベル(エントリー/ミドル/アドバンスド)に応じたトレーニングコースを修了、認定試験をパスすることでエンジニアスキルバッチを付与
5
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
組込みOSSエンジニアに求めるスキルマップ案
レベル | 組込みOSSエンジニアの人物像 | |
プラットフォームエンジニア | アプリケーションエンジニア | |
エントリー | 組込みソフトウェア開発知識:ETECクラス2の範囲において、グレードB以上のスコアを取得できる知識を有している OSSコンプライアンス:OSSライセンス・コンプライアンス・コミニュティ貢献の知識がある OSSエンジニアとしてできること: ①要件に合わせたカーネルコンフィグの設定 ②既存に組み込まれたデバイスドライバの導入 ③デバイスツリーの修正、およびデバイスドライバの動作確認 ④デバイスドライバの正常動作のためのudevの設定、動作確認のためシステムコール・procfs・sysfsを使ってテストプログラムを作成、実行 | 組込みソフトウェア開発知識:仕様が決まっているアプリケーションをLinuxのアプリケーション実装セオリーに準拠して実装する能力を有している OSSコンプライアンス:OSSライセンス・コンプライアンス・コミニュティ貢献の知識がある OSSエンジニアとしてできること: ①開発言語:MUST C言語、WANT:C++言語 ②POSIX(システムコール)、シグナル、スレッド、プロセス間通信(IPC、その他)、ファイル制御、デバイス制御(デバイスファイル経由、sysfs経由)→基本的なLinuxのドライバ仕様を自力で確認が行える ③Systemd、googleTESTなどの管理プログラム、ツール利用が行える |
ミドル | 組込みソフトウェア開発知識:エントリーレベルと同じ OSSコンプライアンス:エントリーレベルと同じ OSSエンジニアとしてできること:エントリーレベルにプラスして、以下が行える ①既存のデバイスドライバのテストを実施、および不具合(性能期待値でないも含む)原因をソース上で特定 ②新規のデバイスドライバを作成 ③Yoctoなど組込みシステム開発環境構築の実施 | 組込みソフトウェア開発知識:エントリーレベルにプラスして、自身が作成するプログラム外を活用してシステム構築が可能。 �OSSコンプライアンス:エントリーレベルと同じ OSSエンジニアとしてできること:エントリーレベルにプラスして、以下が行える ①開発言語:エントリーレベルにプラスして、RUST利用も可能 ②使用するソースコードのライセンスについてもケア�③ミドルウェアを自力で調査し、導入可能かどうか判断、導入�④CGROUPを活用してリソース管理 ⑤ファームウエアアップデートも含めたシステムの安全性を配慮したユーザランド設計 |
アドバンスド | 組込みソフトウェア開発知識:エントリーレベルと同じ OSSコンプライアンス:エントリーレベルにプラスして、以下を追加 ①コミニュティ貢献活動を実施 ②OSSライセンス・コンプライアンスの正しい理解、およびソフトウェアを正しく選択・適用 OSSエンジニアとしてできること:ミドルレベルにプラスして、以下が行える ①ブートローダの仕組みの理解と修正 ②ファームウェアアップデート・セキュリティ・性能面を考慮したマイコン上のLinux環境における設計(パーティション構成、RAMFSの使用有無、セキュリティ対策等) ③他OSからの移行をする場合、OS観点(デバイスドライバ含む)の移行方針設計(アプリケーション観点は除外) ④構築したLinux環境について、評価方針の策定・指示、および要件未充足の場合、問題特定・修正実施 | 組込みソフトウェア開発知識:ミドルウェアレベルにプラスして、組込みシステム全体を考慮した上での設計(対SoC内に存在する他環境との連携)→組込みシステムのライフ設計(寿命等)も意識した上での方針指示 OSSコンプライアンス:プラスして、以下を追加 ①OSSライセンス・コンプライアンスを正しく理解し、ソフトウェアを正しく選択・適用が行える OSSエンジニアとしてできること:ミドルレベルにプラスして、以下が行える ①開発言語:ミドルレベルと同じ ②③セキュリティ、信頼性、リアルタイム性についても考慮 ④コミニュティ活動において貢献 |
6
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
組込みOSSエンジニアスキルマップ案:プラットフォームエンジニア
スキルレベル | Linux | 習得すべきスキルセット(共通) | RTOS(従来型組込みOS) | ||
技術要素(知識) | 開発技術(できること) | 技術要素(知識) | 開発技術(できること) | ||
エントリー レベル |
|
| OSの基本設計概念理解とターゲットボード上でのOS構成・設定とビルド、実行 基本的なドライバー、ミドルウェアの正常動作の確認とデバック手順の習得 |
|
|
ミドル レベル |
|
| OSのチューニングとビルドツールを用いたOSのパッケージ・パッチ追加/変更、デバイスドライバーの組込みとビルドなどBSP開発とメンテナンス知識の習得 |
|
|
アドバンスド レべル |
|
| OS全体の深い知識とセキュリティ、リアルタイム処理、厳しい要求に耐えうるパフォーマンスチューニング、複雑なドライバー開発と高度なデバッグ知識を習得 BSP全体の最適化、保守方針のリードをコミュニティと連携してサイクル化 |
|
|
7
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
組込みOSSエンジニアスキルマップ案:アプリケーションエンジニア
スキルレベル | Linux | 習得すべきスキルセット(共通) | RTOS(従来型組込みOS) | ||
技術要素(知識) | 開発技術(できること) | 技術要素(知識) | 開発技術(できること) | ||
エントリー レベル |
|
|
|
|
|
ミドル レベル |
|
|
|
|
|
アドバンスド レべル |
|
|
|
|
|
8
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
スキルマップへのパブリックコメント募集について
スキルマップ草案へのご意見を、以下の GitHub リポジトリ にて受け付けております。�関心をお持ちの技術者・企業・コミュニティの皆様の積極的なフィードバックを心よりお待ちしております。��GitHub (パブリックコメント募集) URL https://github.com/linuxfoundation-jp/embedded-linux-certification��コメント受付期間は2025年11月20日〜12月19日まで
9
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.
ご清聴ありがとうございました。�
10
一般社団法人
組込みシステム技術協会
Japan Embedded System Technology Association
Copyright(C)JASA 組込みシステムセキュリティ委員会 2024 All Rights Reserved.