組み込み中核人材プロジェクトにおける大学等での取り組み

# 組み込み中核人材プロジェクトにおける大学等での取り組み
情報処理学会　Vol.2009-EMB-14 No.10 2009/7/24
小川清、斉藤直希、渡部謹二(1)、 鵜飼裕之(2)、 速水悟(3)
https://researchmap.jp/multidatabases/multidatabase_contents/detail/231120/713ae1b93d01fe911af7cf6ec17fb980?frame_id=576083
https://researchmap.jp/multidatabases/multidatabase_contents/download/231120/713ae1b93d01fe911af7cf6ec17fb980/40449?col_no=2&frame_id=576083
1 名古屋市工業研究所 2 名古屋工業大学 3 岐阜大学
Early study for embedded engineer Training on Univercity and public testing institute
Kiyoshi OGAWA, Naoki SAITO, Kinji WATABE, (NMIRI), Hiroyuki UKAI (Ngoya-IT), Satoru HAYAMIZU (Gifu Univ.)
# 1. 概要
#### キーワード:中核人材, 組み込み開発, HAZOP, RTL 設計スタイルガイド,
平成 20 年度経済産業省 産学連携製造人材育成事業で組込み中核人材プロジェクトの実証講義を、 名古屋ソフトウェアセンターを管理法人とし実施した。 事業の目的は、産業・輸送機器の物作りを基盤とした組込みソフトウェア開発において、 安全の要求にこたえるため、技術者の視点と管理者の視点を併せ持った「高度組込みソフトウェア開発技術者」の育成である。 実施方法は、大学における専門家の知識を中小企業に伝達することを課題として設定した。 実践性を考慮して、 企業の専門家の方の講義と、工場での現場の課題の確認を実施している。 名古屋工業大学、岐阜大学での実証講義には、株式会社ティップス、 東洋電機株式会社、名古屋市工業研究所などが参加した。
コースの名称は、 大学で開催するコースについては、2つのコースの違いを明確にするため ETSS[1]に準拠してプロダクトマネージャ、ドメインスペシャリストという枠組みを用いた。公的試験研究機関としての名古屋市工業研究所は、大学のシーズをいかに中小企業に伝達するのに注力した。実践性については、名古屋市工業研究所における研修、研修で再確認し、利用した技術、 手法について整理した。名古屋地区では、企業における先進的な教育の取り組みがある[13][14]。また公的試験研究機関における支援活動も活発である[10][11][12]。第2章で電源制御を中心とした名古屋工業大学のコースでの名古屋市工業研究所が取組んだグループ議論を紹介し、第3章で岐阜大学の FPGA による画像処理編での名古屋市工業研究所が取組んだグループ議論を紹介する。 第4章で、名古屋市工業研究所の研修での取組みにおいて、大学のシーズをいかに中小企業に伝達するかについて確認した事項を整理し、第5章でまとめと今後の課題を示す。
# 2. プロダクトマネージャコースにおけるグループ議論
## 2.1 なぜなぜ分析と HAZOP[2]
なぜなぜ分析は、 組込みサマーワークショップ(SWEST)において、2年連続で、 グループ議論として取り組まれ、好評を得た[3][4]。なぜなぜ分析は、地元の大企業から中小企業に至るまで、 不具合発生時にその原因を調べ、対策をすばやく立てるために幅広く利用されている。 しかし、 事前作業である HAZOP や、 Automotive SPICE などの作業診断において、なぜなぜ分析が有効であることは認知されていなかった。
HAZOP や Automotive SPICE において、 なぜなぜ分析の原因―結果の連鎖をたどる構造に着目し、面談、議論に生かす試みを行った。 HAZOP を実施する際に、原因分析、対策の検討などにおいてなぜなぜ分析の「なぜ」を5回繰り返す手法を生かし、事前に原因の可能性を洗い出すことを試みた。 HAZOP でなぜなぜ分析を事前にしてあれば、 不具合発生時の原因追求と対策が効率的になることが想定できる。 実証講義においては、なぜなぜ分析を経験後、 HAZOP を実施する際になぜなぜ分析の手法を利用した。
実証講義は1回だけであったが、 有効な知見を得られたため、内容の改定と資料の再整理を検討した。資料の再整理のためのため、 名古屋市工業研究所の主催で、中部エレクトロニクス振興会、中部アイティ協同組合の協力のもと、 1日のなぜなぜ分析 HAZOP の研修を実施した。技術者が集まるとしばしば利用者の視点が抜け落ちるが、技術者がテストドライバの資格を持っている場合には、利用者の視点もでる可能性がある。また、ハードウェアとソフトウェア技術者、 製造業とその部品供給者の間の情報交換が、 HAZOP によって格段によくなることが確認できた。
ソフトウェアに関連する HAZOP の事前の準備として、状態遷移図と時系列図を UML[23]で記述しておくことが重要であることを確認していたため、UML ツールの利用も対応した。
## 2.2 グループ議論
なぜなぜ分析と HAZOP を、 グループ議論として実施した。 なぜなぜ分析は、 SWEST におけるデンソー、アイシン精機のそれぞれの講師の実施方法を参考に、HAZOP のやり方のガイドに基づいて実施した。HAZOPでは、座長、記録担当、設計者、 安全の専門家、利用者という役割分担が必要であるが、 公開募集のセミナ形式では、参加条件に制約を設けることは困難であるため、すべての関係者を集めることが前提の方法ではできないという課題が分かった。
プログラマの間の議論では、 プログラミング言語とネットワークを利用した議論も可能である。 しかし、 ハードウェアの技術者とともに議論するためには、相互の習慣を尊重した方法が必要となる。 HAZOPは、経験のあるガイドによれば、座長、記録者、設計者、安全の専門家、利用者という5人構成を推奨している。
仕様の伝達では、ハードウェアとソフトウェアを分業していう場合には、ハードウェアの設計者とソフトウェアの設計者との間の情報交換が必要になる。 その際、しばしば利用者の視点での議論が漏れることがあるのに対して、HAZOP では、利用者視点の確保が必須であり、この意味でも漏れがなくなる。そのため、ソフトウェア開発において、 HAZOP が有用な手法であることが分かる。
# 3. ドメインスペシャリストコースにおけるグループ議論
## 3.1 RTL 設計スタイルガイド
STARC の RTL 設計スタイルガイド[5][6]を用いたグループ議論は、名古屋市工業研究所の Verilog-HDLの研修報告に対して、 FPGA コンソーシアムからの指導で取り組み始めたものである。[7][8][9]
2008 年の SWEST において、 Verilog-HDL スタイルガイドの優先順位付けのグループ議論を実施した。その成果をまとめて、 岐阜大学の VHDL の講義の中で、VHDLの設計スタイルガイドに基づいたグループ議論を実施した。SWEST での議論では、 プログラミング言語のスタイルガイド相当である MISRA-C と対比して、時間に関連する規則が多いことが指摘されている。
## 3.2 グループ議論
設計スタイルガイドでは、多くのルールから、何から勉強するとよいか、どの規則ははじめから守っていた方がよいかについて議論した。経験者と未経験者を含むグループ議論では、経験者から未経験者への情報伝達という側面がある。経験者が能動的で、未経験者が受動的に見た場合である。逆に、経験者が受動的で、 未経験者が能動的になるためには、未経験者が、「なぜ?」という視点で、疑問を連鎖的に発生させる方法が考えられる。 対象技術については未経験であっても、 専門家としての姿勢を獲得していれば、未経験な事象に対して能動的に知識の獲得が可能である。 グループ議論の前に、経験者と未経験者のそれぞれが能動的に振舞うための指針を提示するとよいことがわかった。
大学のゼミでは、全員が質問をしないと終わらないという方法をよく用いている。 その学生が、 企業に入った途端に質問をしなくなるという事象に遭遇したことがある。 学生時代には質問できても、企業では知らないことを質問してはいけない雰囲気が存在するのかもしれない。
4 公的試験研究機関の果たす役割
## 4.1 技術文書の視点
大学における技術文書は学術論文である。 論文誌、紀要における論文は、学術団体の基本文献である。また、教科書として利用する書籍、内部発行文書も重要である。
企業においては、特許、 意匠、 書籍、 仕様書などの著作権物が技術文書として重要である。
公的試験研究機関は、 経済産業省管轄でもあり、 国際規格および日本工業規格が重要な文書である。 特に、 工業標準化法においては、官庁の調達の技術的な仕様が工業標準を尊重することをうたっており、技術的な規範としての役割が重要である。 特に、WTO/TBT 協定に基づき、日本工業規格においても、文化的、 地域的特性のあるもの以外は国際規格との整合が必要であるため、公的試験研究機関が国際規格の制定に寄与することが、技術発展にとって必須であるとの調査報告がある。
名古屋市工業研究所では、平成 13 年度の技術指導事業「異機種間接続による品質管理システムの構築の指導」において、ISO 9000 をはじめとする国際規格の利用について指導事業を始めている。 公的試験研究機関における国際規格への取り組みの方針に沿って、 国際規格の制定に積極的に携わってきた。ISO/IEC 15504 part2 part5, part9 の co-editor を歴任している。また、ISO/IEC JTC1 SC7 WG24 では、 中小企業におけるガイドを審議している。 国際規格は、国の事業であるとともに、専門家の活動であり、経済産業省が管轄している JISC では、情報技術について情報処理学会に審議を委嘱している。
## 4.2 用語の視点
国際規格であっても、 同一用語が同一の意味で用いられているのは、その文書限りである。参照文献の欄に掲載している文書の用語定義は、その文書の用語定義として用いることになっている。 実際に、 複数の規格の間で、同一の用語を別の意味で用いている場合がある。特に、ソフトウェアは、あらゆる分野で用いられるため、対象となる分野の用語との重複を考慮する必要がある。
また、 ISO9000シリーズをはじめとする管理規格については、ソフトウェア分野、 対象分野の用語とも重複する場合があり、ひとつの用語が3つの意味を持つ可能性がある。
たとえば、「プロセス」 は、 一般用語であるほか、 様々な規格で特定の用語として規定されている。 また、OS では、処理の単位をプロセスと呼んでいるものもある。電子計算機の CPU をプロセッサというのは、プロセスを実施するものという意味である。
規格番号 JIS X 0021
### 表1「プロセス」の定義
定義
物理変数が監視され又は制御される装置で行われる一連の動作。
JIS X 0170
OS の処理単位
入力を出力に変換するもの
コンピュータの処理の1単位

また、「profile, プロファイル」という用語も、 様々な用途で用いられている。 C言語では、 Profiler という関数の実行時間を測定する道具がある。 国際規格のプロファイルは、規格に基づいた特定分野への適応としての技術文書である。 自動車業界においては、 ISO TS 16949 が有名である。 人の履歴を記載したプロフィールと呼ばれているものも、profile である。
略号では、CD のように2文字のものは、多数の異義語がある。 3文字略語でも、同一の文章で複数の意味を用いていることがある。
### 表2 略号 CD のフルスペル例
フルスペル
Compact Disc
Change Directory
分野
光メディア
OS のコマンド
通信規約
Collision Detection
シリアル通信
Carrier Detect
現金支払機
Cash Dispenser

用語構造の定義は、 is-a 構造、 has-a 構造、 use-a 構造に分類する提案を行っており、 用語構造の作成において、抽象データ型言語におけるクラス、メソッド、 外部呼び出しに対応しており、 用語構造において振舞いを含む定義があれば、クラス図を用いなくてもよいことを提案している。
## 4.3 分析・設計の道具としてのUML
UML 研修は、中部エレクトロニクス振興会、中部アイティ協同組合からの要請に基づいて、2008年より1日の研修を実施している。コンピュータとソフトウェアの基本的技術である状態遷移図と時系列図を UML で記述する研修を実施している。 UML でいきなりクラス図を書かせる講習会もあるが、 同じ振舞いをするものを階層構造で整理するためには、状態遷移、時系列、タイミングなどの振舞いを記述し、同じ振舞いをするものを集合とするのがよいことが知見としてある。 実際に研修で利用したツールでは、振舞い図からは C のソースコードの枠組みを自動生成し、設計した構造を再利用できるようにしている。 また C のソースコードからは、クラス図は自動生成できるため、クラス図を UML でいきなり作成する必要がないことが推測できる。なお、UML は ISO/IEC の国際規格になっており、HAZOP は IECの国際規格になっている。
## 4.4 演習、報告方法
ソフトウェア技術者の間では、ライトニングトークスという短時間に要点を整理して報告するよい慣習がある。企業においては、報連相にライトニングトークスを取り入れて短時間で用件を伝える訓練をするとよい。
### 4.4.1 課題検討(グループ議論)
3人から5人ほどのグループに分けることにより、全員が発言し、 自分の理解を確認することと、 新しい知見や視点の獲得を目指した。
課題は、参加企業から自発的に持ってきたものを扱うことを基本としている。 ただし、 機密保護の関係で、企業の課題を持ち寄ることができないことを想定して、事前に過去の事例を用意している。演習の進め方を表3に示す。
### 表3 課題絵演習の手引き
グループでの課題演習(議論)の手引き(例)
1 演習ごとに、リーダを決める
2 自分の考えを「自分の意見」欄に記録
3 全員が考えを紹介。 聞きながら、参考になること、思い当たることを、「グループの議論」欄に記録
4 リーダが大事なこと、参考になることをまとめる。

議論の進捗を検討してみると、 日程が差し迫った事案がある際に、その改善に役立たない質問は、非同期型の意思疎通の手段をとるべきであり、グループ議論のような同期型の意思疎通手段は万能ではないことが分かった。
### 4.4.2 優先順位付け
課題演習のまとめ方として、時間制約の中で、一定時間が経過したら、優先順位付けの作業が必要であることがわかった。全体の4分の1から半分以内で、 洗い出しを終了し、半分から3分の2以内で重点項目についての議論を始め、最後に振り返りと報告の時間を取る方法が有効であった。STARC 設計スタイルガイドでの教育における優先順位付けの成果を下に、 C 言語コーディング標準である MISRA-C[15][16]での教育における課題[17][18]の解決方法が明確になった。
### 4.4.3 振り返り
課題演習のまとめ方として、 KPT (ケプト、 keepproblem - try) という方法が用いられることがある。 K はkeep で、これまでやっていて良かったことで、今後も継続する事項。 Pは problem: 問題で、これを機に見直すとよいこと。T は try でこれから挑戦してみることである。ケプトという用語は語呂があまりよいとは思われない。 例えば 「KiMu Chi」のように、「K:継続」「M:問題」「Ch:挑戦」のような語呂合わせをすると、 より取り組みやすいことが想定できる。
### 4.3.4 報告方法
ライトニングトークスとは、「電光石火講義」 の意味で、時間を切って、瞬時に要点のみを伝える方法である。たとえば、1時間を5分づつ区切って、11人の発表を行う。この方法の利点としては、
1 多くの人が発言できる
2 短い時間で要点だけ聞ける
3 多人数では動機付けになる事項が違う場合がある
が考えられる。 また、ライトニングトークスの資料の提示方法として、
1 紙芝居方式の表示
2 大きな文字の利用
3 図だけの提示の利用
なども示されている。
# 5 まとめ
大学における組込み中核人材育成の実証講義では、当初より高水準の技術者に絞ったスキル達成を目標としていたため、景気の動向変化による技術者の余剰を言われるようになっても、次の時代を切り拓く製品試作、低価格化のための新技術の評価など、重要な役割を果たすことができたと思われる。 大学における先進的な技術の導入においては、 国際規格をはじめとする各種工業標準を道具として利用できることがわかった。公設試験研究機関がその役割を果たすためには、国際規格制定の段階で積極的に関与することが重要であることを再確認した。今後も日本がソフトウェア業界の国際規格の制定を主導するために貢献していくことが求められている。
# 謝辞
本稿を作成するにあたって、 組み込み中核人材プロジェクトの開発委員会、評価委員会に参加いただいた専門家の方々, 産業技術連絡会議組込みシステム研究会, CEST[19], SWEST[22], 組込みハード・ソフト研究会[20],中部エレクトロニクス振興会技術委員会組込み Linux 分科会[21]を始め多くの方々の指導をいただきました。また、実証講義に参加いただいた方、関連セミナに参加いただいた方のご意見をできるだけ多く記録するようにいたしました。 ご意見をいただいた皆様に感謝いたします。
# 参考文献
[1] ETSS, 組込みスキルスタンダード, https://sec.ipa.go.jp/std/eb.php,2006
[2] IEC 61882:2001 Hazard and operability studies (HAZOP studies)- Application guide
[3] 「実践!なぜなぜ分析」,佐藤洋介, SWEST9, 2007
[4] 「実践!なぜなぜ分析 パート2」, 間瀬 順一. SWEST10, 2008
[5] Design Style Guide 2001 Verilog-HDL, STARC, hd-lab, 2001
[6] RTL 設計スタイルガイド, Verilog HDL 編 第2版, 半導体理工学研究センター, 2006
[7] Verilog プログラムの課題, 長谷川誠,渡部謹二, 小川清,電気関係学会東海支部, 2007
[8] Verilog 研修について, 小川清,斉藤尚希,渡部謹二, 産業技術推進連絡会議組込み技術研究会, 2006
[9] Verilog HDL スタイルガイドを利用したFPGA プログラミング研修, 服部智幸, 渡部謙二, 小川清, 電気関係学会東海支部, 2008
[10] 組込みシステム開発事例集, 產業技術連携推進会議 情報・電子部会 組込み技術研究会, 工業調査会, 2006
[11] 堀武司, 堤大祐,小川清, 斉藤直希, 公設試験研究機関における組込みオープンソースソフトウェアTOPPERS による企業向け研修について,情報処理学会全国大会, 2005
[12] 小川清, 斉藤直希, 吉川直邦, 伊藤正樹, 後田直樹, 藩建華,リアルタイム組込みソフトウェアの用語の木,実時間処理ワークショップ(RTP2003), IPSJ, 2003
[13] 渡邊友裕, 杉山歩, 沼田亜美, 後藤孝一, 京井真之, 新人教育は「模型ロケット」新人技術者編, Design Wave 2006.6, CQ出版, 2006
[14] 大西秀一, 服部博行, 新人教育は「模型ロケット」指導者・管理者編, Design Wave 2006.6, CQ出版, 2006
[15] 組込み開発者におくる MISRA-C一組込みプログラミングの高信頼化ガイド, MISRA-C 研究会, 日本規格協会, 2004
[16] 組込み開発者におくる MISRA-C:2004 C言語利用の高信頼化ガイド, SESSAME/MISRA-C 研究会, 日本規格協会, 2006
[17] 吉川直邦, 坪井泰樹, 斉藤直希, 小川 清,MISRA-C: 1998 と MISRA-C:2004 の C90 C99 との検討,情報処理学会全国大会, 2005
[18] 松井清一, 森貞幸, 水野敏紀, 渡部謹二, 斉藤直希, 小川清, 組込みソフトウェア技術者教育の課題, 電気関係学会東海支部連合大会, 2003.10
[19] CEST, http://www.ertl.jp/CEST/
[20] 組みこみハード・ソフト研究会, http://it-mono.jp/events01.html
[21] 中部エレクトロニクス振興会技術委員会, http://www.infonia.ne.jp/eleshow/
[22] 組込みシステムに関するサマーワークショップ, http://www.ertl.jp/SWEST/
[23] ISO/IEC 19501:2005 Information technology -- Open Distributed Processing -- Unified Modeling Language (UML) Version 1.4.2