18

九州産業大学情報科学会誌

7 巻 1 号（2008 年 10 月）

ハードウェアの知識を持つ組込みソフトウェア技術者の育成プログラム
田中 康一郎TANAKA, Koichiro

九州産業大学情報科学部知能情報学科
Faculty of Information Science, Kyushu Sangyo University

tanaka@is.kyusan-u.ac.jp, http://www.is.kyusan-u.ac.jp/~tanaka/

花野井 歳弘HANANOI, Toshihiro

九州産業大学情報科学部知能情報学科
Faculty of Information Science, Kyushu Sangyo University

hananoi@is.kyusan-u.ac.jp, http://www.is.kyusan-u.ac.jp/~hananoi/

1. は じ め に

2. 情報科学部のハードウェア系科目におけるこれまでの取組み

自動車、情報家電、ロボットなどのように、製造業を主産業とするわが国においては、コンピュータを組込んだ高性能、高機能な付加価値の高い（差別化）製品の開発は重要な戦略である。
しかしながら、組込み製品（組込みシステム）開発の中核を担う組込みソフトウェア技術者の不足は深刻であり、産業界よりその育成が強く求められている。
この組込みソフトウェア技術者には、通常の情報技術

2・1 ハードウェア系科目のカリキュラム概要「ハードウェア平成 14 年創設された情報科学部では、を怖がらない」ソフトウェア技術者の育成カリキュラムを構成し、他に先駆けて今後ますます重要性を増す組込みソフトウェア技術者育成を目標の一つとしてきた。このカリキュラムは、組込みソフトウェア開発に必須なハードウェアの基礎知識を修得するため、計算機および計算者より広い分野の知識と技術が求められる。すなわち、機システムのアーキテクチャから論理回路，CPU の設計オブジェクト指向設計などの幅広いソフトウェアの知識演習までを重視した構成に特長がある。

とともに、リアルタイム性の理解が重要で物理現象、自然現象（特に電子／論理回路）等のハードウェアに関する基礎知識、経験が要求される。さらにシステム規模が増大する中では、品質、コスト、納期などを意識した、プロジェクト型開発技術が必要になる。
このため経済産業省では、組込みソフトウェアの開発スキルを測定する指標として組込みスキル標準 (Embedded

Technology Skill Standards: ETSS)[独立 08, 独立 05]

さらに平成 16 年度からは、プロジェクト型演習として、「ハードウェア・ソフトウェア協調設計の概念を持ったシステムレベル設計の演習」と、プロジェクト運営に多数の経験とノウハウをもつ IT 企業との連携による「組込みシステム開発におけるプロジェクト運営に関する演習」を新たに付加し、実践的なカリキュラムによる教育訓練を行っている [花野井 08, 花野井 07]。

を定め、情報処理学会では情報専門学科におけるカリキ

これにより、「ハードウェアを含めた商品のコンセプトュラム提案「J07」の「コンピュータエンジニアリングや全体感を理解し、その中でソフトウェアの役割を正し(Computer Engineering: CE) 領域」において、産業競争力強化、輸出力強化などわが国の CE 領域における人く認識して、顧客に提言できる組込みソフトウェア技術材として組込み技術者がコアとなるとしている。の実践的カリキュラムを構成、実施してきた。

平成 14 年創設された九州産業大学情報科学部（以下、情報科学部）では、「ハードウェアを怖がらない」ソフトウェア技術者の育成カリキュラムを構成し、他に先駆けて今後ますます重要性を増す組込みソフトウェア技術者育成を目標の一つとしてきた。

者の育成」を目的とした組込みソフトウェア技術者育成

ハードウェア系科目の特長は次のようにまとめられる。

• 一貫性・連続性• 講義と実験の連携• 実験実習を重視した実践的内容• 講義・実験に使用する共通の実験教材 KERNEL

本稿では、まず情報科学部のハードウェア系科目にお一方、教育実施体制の特長として、実験・演習科目に実けるこれまでの取組みについて第 2 章で言及する。次に習助手、ティーチング・アシスタント、スチューデント・

第 3 章では実施結果から明らかとなった問題点を列挙すアシスタントを手厚く配置し、学生による実験・演習指る。さらに第 4 章では第 3 章で列挙された問題点を解消

導を中心に教育を行ってきた。学生が教育に携わることするために予定している新たなハードウェア系科目の構は、指導される側、指導する側のいずれにとっても大き成について紹介し、最後に簡単にまとめる。

な教育効果がある。

19

ハードウェアの知識を持つ組込みソフトウェア技術者の育成プログラム

2・2 ハードウェア系科目群の紹介とにより、プロジェクトによるシステム開発の全体を学

ハードウェア系科目群には「計算機アーキテクチャ」、ぶことができ、企業の開発現場の雰囲気を体感すること「計算機システム」、「情報回路」、「情報回路設計」、「実験ができるなど、技術面よりも大学独自では実現しにくい科目（情報科学基礎実験、情報回路実験）」「組込みシステ

現実のプロジェクト制によるソフトウェア開発作業を体ム／ VLSI 工学」がある。これらの科目では、ハードウェ験することを主眼としており、大きな教育効果をあげてアとして、教育用モデル計算機 KERNEL（図 1）とハーいる。

ドウェア・ソフトウェア協調処理システム RYUOH(図 2)

企業技術者を非常勤講師として招いて行う講義は一般を利用している。ハードウェア系科目群の概要と特長を的であるが、学生が企業に出向いてしか経験できないよ

表 1 に示す。

うな企業現場レベルの実習を、同時間に複数人の企業技術者を講師・インストラクタに迎えて擬似的に企業現場を再現する教育方法（逆インターンシップと名付ける）はこれまでにない教育方法である。
この「プロジェクトベース設計演習」を主とする本学部の産学連携教育は、平成 18 年度の「経済産業省 産学協同実践的 IT 教育レポート」において注目すべき事例のトップに取り上げられるなど高い評価を得ている。

3. ハードウェア系科目群の問題点
ハードウェア系科目を全て受講できる情報科学総合コー
スは、平成 18 年度に日本技術者教育認定機構 (JapanAccreditation Board for Engineering: JABEE)[日本]
図1

教育用モデル計算機 KERNELの認定審査を受審し、その結果「情報及び情報関連分野」
で JABEE 技術者教育プログラムとして認定されている。
しかしながら 6 年間の実施経験の中で、改良すべき項目が見出されている。以下にその詳細を述べる。

i. 計算機系科目
ビット数の異なる教育用モデル計算機の利用 「計算機アーキテクチャ」と「計算機システム」では、科目共通の教育用モデル計算機として、KERNEL と称する統一したモデルを採用している。ただし双方の科目の教育目的に合わせて、計算機入門教育を担う「計算機アーキテクチャ」ではシステム構成が簡素
図2

ハードウェア・ソフトウェア協調処理システム RYUOH

な 16 ビットモデル を用い、アセンブリ言語プログラミング主体の実践的な教育を担う「計算機システム」では容易にプログラミングができる命令数の上記の科目に加えて、平成 16 年度からはプロジェクト豊富な 32 ビットモデル を採用している。16 ビッ運営に多数の経験とノウハウをもつ IT 企業との連携にトモデルはハードウェアで動作しているものを用い

よる「組込みシステム開発におけるプロジェクト運営にているが、32 ビットモデルはハードウェアモデルが関する演習」を新たに付加し、実践的なカリキュラムに現在未完成であるためパーソナルコンピュータ上でよる教育訓練を行っている。

動作するシミュレータを使用している。このようなこの実践的演習「プロジェクトベース設計演習」は開状況から、双方のマイクロプロセッサモデルには専発の実際を体験するために現役の IT 技術者をインスト

門家から見れば大きな違いは存在しないものの、受ラクタに迎えて産学共同で行う演習である。平成 16 年講する学生には別のモデルであるような誤解を与え、度及び 18 年度に経済産業省の支援を受けて開発し継続理解の妨げになっていることが授業評価アンケート的に実施している。インストラクタに IT 企業より現役などより確認されている。の技術者を迎え、少人数プロジェクトを組んでロールプ連続で開講されてない計算機系科目

現在「計算機アーレイによる演習に特長があり、従来の大学教育にはないキテクチャ」は 1 年次後期に開講されており、その実践教育訓練を目的とした演習である。企業の第一線の関連科目である「計算機システム」は 2 年次後期に技術者が講義および演習のインストラクタを担当するこ開講されている。したがって学生は「計算機アーキ

20

九州産業大学情報科学会誌

7 巻 1 号（2008 年 10 月）

表 1 ハードウェア系科目群の概要と特長

使用機材
講義の目的

科目

概要および特長

実機

開発言語

その他

(CAD システム)
情報処理

計 算 機

情報処理システムの基礎として、 KERNEL

システム

アーキテ

数値や文字、音声、画像などのビッの基礎

クチャ

ト列での表現方法、に基づく計算[美馬 02]機の動作原理、基本構造、基本動作を学ぶ。特に、KERNEL（実機）を使用した実機演習を行い、体験を重視した学習方法を採用する。
計算機

計算機

CPU やメモリ、入出力装置、外部システム

システム

記憶装置から構成される計算機シの構成

ステムの構成、動作原理を学ぶ。特およびに KERNEL（シミュレータ）を動作原理用いたアセンブリプログラミング

KERNEL Assembly(Simula- (KERNEL アセンブラ)tor)[永尾 06, 迫
02]

を通して、理解を促進する学習方
論理回路

情報回路法を採用する。
ディジタルシステムの基礎となるの基礎（講義）

論理関数について、真理値表、論理式、その最適化手法などを学ぶ。
論理回路に関して、基本論理素子、加算器等の組合せ回路やカウンタ情報科学等の順序回路について学習する。
情報回路（講義）で修得した知識基礎実験を、CAD ツールや IC 論理実験装（実験）置を用いて設計実装することでそ計算機シ情報回路の理解を深める。
論理回路（講義）で学習したディステムの設計

ジタルシステムの基礎をベースに設計手法（講義）

ハードウェア記述言語 (Hardware

KERNEL Verilog HDL(Cadence NC-Verilog)(Xilinx ISE)

IC 論 理実験装置

Verilog HDL(Cadence NC-Verilog)

Description Language: HDL) を用いて VLSI の設計手法について情報回路学習する。
情報回路設計（講義）で修得した実験知識を、CAD ツールや IC 論理実（実験）

験装置を用いて設計実装すること

組込みシ組込みでその理解を深める。
再構成型の集積回路である FPGA

ステムのシステムや 1 チップ・マイクロコントロー

設計手法／ラ、DSP のようなシステム LSI をVLSI

応用システムに組込むためのシス

工学

テムレベル設計の概念を学び、システムレベル設計言語 SystemC を用いた新しいシステム設計技術について学習する。

KERNEL Verilog HDL(Cadence NC-Verilog)(Xilinx ISE)
RYUOH
[田中 04,Tanaka02]

SystemC(Mentor Visual Elite)
SystemVerilog(Mentor ModelSim)(Synplicity Synplify)(Xilinx ISE)ANSI-C(TI Code ComposerStudio)(Microsoft Visual C++)IC 論 理実験装置

IC 論 理実験装置

21

ハードウェアの知識を持つ組込みソフトウェア技術者の育成プログラム㻝 ᖺḟᚋᮇ㻞 ᖺḟ๓ᮇ㻞 ᖺḟᚋᮇ㻟 ᖺḟ๓ᮇ

䝕䞊䝍ᵓ㐀䛸䜰䝹䝂䝸䝈䝮䠥䝕䞊䝍ᵓ㐀䛸䜰䝹䝂䝸䝈䝮 㻵㻵䝕䞊䝍ᵓ㐀䛸䜰䝹䝂䝸䝈䝮 㻵㻵㻵䝁䞁䝢䝳䞊䝍䝛䝑䝖䝽䞊䜽㻟 ᖺḟᚋᮇ䝰䝞䜲䝹䝁䞁䝢䝳䞊䝔䜱䞁䜾䜸䝤䝆䜵䜽䝖ᣦྥタィ䝥䝻䜾䝷䝭䞁䜾ᇶ♏

䜸䝨䝺䞊䝔䜱䞁䜾䝅䝇䝔䝮䝥䝻䜾䝷䝭䞁䜾ゝㄒ䛸䝁䞁䝟䜲䝷䝕䞊䝍䝧䞊䝇
䝋䝣䝖䜴䜵䜰₇⩦䝋䝣䝖䜴䜵䜰₇⩦

᝟ሗ⛉Ꮫ₇⩦
ィ⟬ᶵ䜰䞊䜻䝔䜽䝏䝱䠄䝥䝻䝆䜵䜽䝖䝧䞊䝇タィ₇⩦䠅ィ⟬ᶵ䝅䝇䝔䝮᝟ሗᅇ㊰ᐇ㦂 㻵᝟ሗᅇ㊰ᐇ㦂 㻵㻵᝟ሗᅇ㊰ 㻵㻵

᝟ሗᅇ㊰ 㻵㻵㻵

⤌㎸䜏䝅䝇䝔䝮 㻛㼂㻸㻿㻵 ᕤᏛ᝟ሗᅇ㊰ 㻵

図3

新カリキュラムにおけるハードウェア系科目とソフトウェア系科目の系統テクチャ」の知識を習得して、半年後にその関連科目である「計算機システム」の学習を行うことになっ4. 新カリキュラムにおけるハードウェア科目群の構成と講義内容ていた。その他の科目との関連も考慮する必要があるが、関連する科目は連続して開講される方が学習効果が高いと考える。

第 3 章で列挙された問題点を解決するために、新カリキュラムのハードウェア系科目群では次に挙げる４点にii. 情報回路系科目関して見直すこととした。この結果、ハードウェア系科講義と実験との連携を密とした情報回路系科目 情報回

目とソフトウェア系科目の系統は図 3 のようになり、１路系の講義科目（「情報回路」「情報回路設計」）と実年次後期から３年次後期まで継続してハードウェア系科験科目（「情報科学基礎実験」「情報回路実験」）で目を学習できる環境が整備できた。以下にその変更点とは、講義と実験の連携を密にすることで教育効果をその効果について詳細に述べる。

高める工夫を行っている。このような方法は講義でi. ハードウェア系科目の見直し習得した知識をすぐに実験演習で復習できるため講「計算機アーキテクチャ」「計算機システム」「情報回

義内容を時間内に理解できる場合は大変効果的な方路 I」「情報回路 II」
「情報回路 III」
「情報回路実験 I」「情法ではある。ただし講義内容が学生に対して充分に報回路実験 II」「組込みシステム／ VLSI 工学」まで一伝わらない場合、講義内容を適切に変更できなくな貫して同じハードウェアプラットフォームを用いるべくるため逆に学習効果が低下することもある。現在、関連科目間の統一性・一貫性・連続性の向上を狙う。同

実験の最終課題として、「計算機アーキテクチャ」でじ計算機モデルを用いて教育する各科目の内容を検討し、用いた KERNEL マイクロプロセッサの 16 ビットテキストの整備を行う。また各講義の関連や、組込みシモデルの設計・実装・検証を行うようにしているが、ステム設計にどのように役に立つのかを明確にし、学生残念ながら多数の学生が命令数の少ないバージョンに提示することにより従来よりも高い教育効果が期待での KERNEL マイクロプロセッサの設計までしか終きる。

了しておらず、必ずしも学習効果が上がっているとii. 教育用モデル計算機 KERNEL の改良は言い難い状況である。
ハードウェア関連選択科目との不連続開講「計算機アー
従来の教育用モデル計算機 KERNEL は、情報回路系キテクチャ」において計算機の動作を理解するためのシ科目は、2 年次通年で開講している。一方ハードウェステムとして、また「情報回路実験」における VLSI 設

ア関連選択科目である「プロジェクトベース設計演計教育のハードウェア・プラットフォームとして、効果習」や「組込みシステム／ VLSI 工学」は 3 年次後的に活用されてきたが、他のハードウェア系科目では積期に開講している。ここでも計算機系科目と同様で極的に利用してこなかった。そのため本学部のカリキュ関連した科目が連続して開講されていないという問ラムの「組込みソフトウェア技術者育成向け履修モデル」

題が生じている。

は、初歩から実践までの一貫性を考慮して構成されてい上記に加えて、組込みソフトウェア開発力強化の目的るものの十分ではなかった。そこで、この KERNEL をで平成 17 年に公開された ETSS の基準からもカリキュ基本に、「計算機アーキテクチャ」、「計算機システム」、ラムの見直しが必要であると考える。

「情報回路」、「情報回路実験」、「組込みシステム／ VLSI

22

九州産業大学情報科学会誌工学」といった全ての科目で共通に利用可能な教育用モ

7 巻 1 号（2008 年 10 月）♦ 参 考 文 献 ♦デル計算機を構築する。組込みソフトウェア技術に関連する全ての科目を、同一のモデル計算機を用いて実施することで、従来よりも高い教育効果が期待できる。

iii. 情報回路系の講義、実験の再編成
講義の時間が不足している情報回路系の講義科目を 1科目追加し、情報回路 I、情報回路 II、情報回路 III に再編成する。このように講義科目を 2 つから 3 つに増やす
ことで、2 年次前期から 3 年次前期まで情報回路系科目が開講されるため、ハードウェア系選択科目との連続開講が可能となる。また、これまでは講義と演習の連携を密接に行っていたが、講義とその関連の実験演習の開講時期を半期移動させることで、講義の進度を学生の習得状況に応じて柔軟に変更できるようにする。さらにハードウェア系選択科目で必要となる手続き型言語 (C 言語)をハードウェア教育で必要な言語と定義し、情報回路 IIIにて HDL と共に指導することとする。これによりハードウェア系選択科目ではさらに社会に貢献できる実践的な教育に集中できる。

iv. 「プロジェクトベース設計演習」の強化
この演習においては、現実の開発プロジェクトの管理・運営を体験することを第 1 の目的としていた。このため演習テーマは技術的には、比較的容易な組込みソフトウェアの開発をテーマとしていた。しかしながら ETSS の公開などに従い、ますます増加している組込み技術者の求人に対してはより高度な組込み技術の習得も要求されるようになってきた。新カリキュラムにより、従来からのプロジェクト管理・運営手法の習得に加え、組込みソフトウェア開発技術も習得できる教育効果を得るものと考える。

5. まとめ

本稿では、九州産業大学情報科学部で行っているハードウェアの知識を持つ組込みソフトウェア技術者の育成プログラムの内容とその問題点、今後の改善策について言及した。従来のカリキュラムはソフトウェア技術者育成のためのカリキュラムとして有効であったが、さらに第 4 章で述べた 4 つの改善を行うことで、これまで以上に短期間で高い学習効果が得られることを期待している。
なお組込みシステム／ VLSI 工学については今回は大きな改善点はないが、今後、研究の成果を基に、IC カー
ドリーダ [黨 08]、超低消費電力マイクロコントローラ [富永 08]、無線通信機器 [田中 08, 河野 08, 大富 08]、携
帯電話 [山川 08]、動的部分再構成ハードウェア [Tanaka06, 田中 07] のなど用いたより実践的なものを利用した設計演習課題を追加していく予定である。

[Tanaka 02] Tanaka, K., Iwaya, Y., Hayashi, Y., Sato, T.,
and Arita, I.: Design and Implementation of FPGA/DSP
Based PCI Card, in Proceedings of Fifteenth International
Conference on Systems Engineering, pp. 407 – 413 (2002).
[Tanaka 06] Tanaka, K.: An FPGA Implementation of Partial Dynamic Reconfiguration Controller and Processor Interfaces for a Processor-Based System with Reconfigurable
Logics, in Proceedings of International Technical Conference on Circuits/Systems, Computers and Communications, Vol. 2, pp. 157–160 (2006), Invited paper.
[永尾 06] 永尾, 有田, 田中, 重松：教育用計算機 KERNELII の実
装, 情報処理学会第 68 回全国大会講演論文集, pp. 3A–4 (2006).
[河野 08] 河野, 大富, 安武, 田中：IEEE802.15.1 の自動通信性能評価システムの設計, 平成 20 年度電気関係学会九州支部連合大会（第 61 回連合大会）講演論文集, p. 11–2A–15 (2008).
[花野井 07] 花野井, 有田, 澤田, 牛島, 吉元, 牧薗：双方向型産学連携実践教育 (実践教育，＜特集＞産学連携論文), 情報処理学会論文誌, Vol. 48, No. 2, pp. 832–845 (2007).
[花野井 08] 花野井, 澤田, 稲永, 安武, 牛島, 吉元, 西岡：産学協同によるプロジェクトベース設計演習のための FD（大学教員能力開発）プログラムの実施と総括, 情報処理学会論文誌, Vol. 49,
No. 8, pp. 2818–2829 (2008).
[山川 08] 山川, 安武, 田中：SynbianOS 携帯電話を利用した移動無線通信向け中継装置の設計, 平成 20 年度度電子情報通信学会九州支部学生会第 16 回学生会講演会論文集, p. D–21 (2008).
[大富 08] 大富, 河野, 安武, 田中：Bluetooth を対象とした自動通信性能評価システムの設計, 平成 20 年度度電子情報通信学会
九州支部学生会第 16 回学生会講演会論文集, p. D–20 (2008).
[田中 04] 田中, 林, 澤田, 佐藤, 有田：FPGA/DSP ベースシス
テムによる組込み向けシステム設計教育, 電子情報通信学会論文誌, Vol. J87-DI, No. 6, pp. 640 – 648 (2004).
[田中 07] 田中康一郎：RICE:動的部分再構成可能な協調処理システム, 九州産業大学情報科学会誌, Vol. 6, No. 1, pp. 53–62(2007).
[田中 08] 田中, 富永, 安武, 田中：小電力無線機器の実現に向けた汎用無線通信モジュールの電流測定, 平成 20 年度電気関係学会
九州支部連合大会（第 61 回連合大会）講演論文集, p. 11–2A–03(2008).
[独立 05] 独立行政法人 情報処理推進機構：スキル基準 — 開発
力を強化するスキルの最適活用に向けて— Version 1.0 (2005).
[独立 08] 独立行政法人情報処理推進機構ソフトウェア・エンジ
ニアリング・センター：組込みスキル標準 ETSS 概説書 [2008年度版] (2008).
[日本] 日本技術者教育認定機構：http://www.jabee.org/.
[迫 02] 迫, 田中, 佐藤, 有田：OS 演習教育用計算機 KERNEL2 の実装, 情報処理学会第 64 回全国大会予稿集, pp. 45 – 46 (2002).
[美馬 02] 美馬, 田中, 佐藤, 有田：計算機教育向けシステム KERNEL1 の設計, 情報処理学会第 64 回全国大会予稿集, pp. 43 –44 (2002).
[富永 08] 富永, 田中, 安武, 田中：小電力無線機器の実現に向けた超低消費電力プロセッサの電流測定, 平成 20 年度電気関係学会
九州支部連合大会（第 61 回連合大会）講演論文集, p. 04–2A–08(2008).
[黨 08] 黨, 安武, 田中：入退室を自動認識できる FeliCa を用いたタイムレコーダシステムの開発, 平成 20 年度度電子情報通信学会九州支部学生会第 16 回学生会講演会論文集, p. B–29 (2008).