日本ソフトウェア科学会第 37 回大会 (2020 年度) 講演論文集

グローバル Project-based Learning における組込みソフトウェアのモデル駆動開発と適用評価
大江 信宏

久住 憲嗣

三輪 昌史

佐藤 未来子

渡辺 晴美

高度 IT 人材育成の観点とグローバル化を踏まえ，海外での Project-based Learning（以下，PBL）を通じて，組込みソフトウェアの技術スキル向上を図っている．重要な技術スキルの 1 つとしてモデル駆動開発（以下，MDD)に焦点を当て，グローバル PBL を実施した．本稿では，短期間の PBL における，組込みソフトウェアの MDD に関わる PBL 課題設定について提案し，実施した成果を報告する．

Based on the viewpoint of advanced IT human resource development and globalization, we are working
to improve the technical skills of embedded software through Project-based Learning (PBL) overseas. Aglobal PBL was conducted with a focus on model-driven development as one of the key technical skills. In
this paper, we propose a PBL task setting related to model-driven development of embedded software in
short-term PBL, and report the results of implementation.

ます増加していくことが予測される．このように，ソ

1 はじめに

フトウェアの大規模化，複雑化に伴い，組込みソフト

高度 IT 人材育成の観点から Project-based Learn-

ウェアの生産性，品質を向上させるための重要な技術ing（以下，PBL）による教育が活発に行われるようとして，モデリング技術が課題と認識されている [1]．になってきている [3]．工学系の複数の分野による分

筆者らは，情報処理学会組込みシステム研究会が主

野横断型のグローバル PBL の人材育成も行われてい催する国際会議 APRIS(Asia Paciﬁc Conference onる [2]．IT 分野はグローバル化が必須であり，国内でRobot IoT Systems Developent and Platform)2018

あっても海外の人と協力して仕事をすることが必要

で，APRIS ロボットチャレンジ（APRIS-RC）をグになっている．組込みシステムは，すでにあらゆる産ローバル PBL として実施した．APRIS-RC の目的

業に浸透しているが，IoT，AI，５ G などの普及には，工学系の複数の分野の学生が海外の学生との英よりさらに拡大していくことが予測される．そして語でのコミュニケーションを取りながらプロジェクトそれを支える組込みソフトウェアの開発規模はます

ベースで協力しながら課題を解決し，組込みソフト

A Result of Trial for Model-Driven Development
through Global Project-based Learning.
Nobuhiro Ohe, Mikiko Sato, Harumi Watanabe, 東海大学情報通信学部組込みソフトウェア工学科, Dept.
of Embedded Technology School of Information andTelecommunication Engineering, Tokai University.
Kenji Hisazumi, 九州大学・大学院システム情報科学研究
院 情報知能工学部門, Graduate School and Facultyof Information Science and Electrical Engineering,
Kyushu University.
Masafumi Miwa, 徳島大学・大学院社会産業理工学研究
部 (理工学域), Institute of Science and Technology,
Tokushima University.

ウェアを開発する教育を提供することであり，同時に，技術者のスキル向上，プロジェクト体験を目的としている．
本稿では，文化，言語の違う学生が一同に集まって行う短期間の PBL における，組込みソフトウェアのモデル駆動開発（以下，MDD) に関わる課題設定について提案し，実施した成果を報告する．具体的に提案する方法としては，・モチベーションを向上させるルール作り
・MDD の理解および体験環境の設定

・組込みシステム制御技術を考え体験するための課
題設定
・グローバル PBL としてのチーム編成の４つである．というシナリオを想定し，ドローンを使ってこれを模擬するためのモデルを作成，実践する．
具体的な要件は，ドローンはグリーンハウス内のいくつかの果物を見渡し，最初に，ベースエリアから離陸する．第二に，ドローンはどの果物を観察するか

2 関連研究の指示をもらい，グリーンハウスに入る．第三に，ド組込みソフトウェアの開発規模拡大に伴い，組込ローンは果物を検索し，観察のために写真を撮る．写みソフトウェアの生産性，品質を向上させるための真は観察のために鮮明でなければならない．最後に，開発技術が求められている．MDD ツールを用いるこ

ドローンはグリーンハウスから出て，ベースエリアとで，UML モデルからコードの自動生成が可能になに着陸する．ドローンの自動飛行のために複数の ARり，モデルの作成から動作検証までを短縮することがマーカー画像がグリーンハウス内に設置されている可能になっている．モデリングに着目した研究としとする．て，オブジェクト指向モデリングスキルの向上の教育に MDD ツールを用いることで，学習者がモデリ

3. 2 モデリングおよび MDD の理解と体験ング作業に集中できることを検証した研究がある [1]．

PBL 課題への取り組みを通して，モデリング技術

この研究では，MDD ツールを用いる場合と用いないと MDD の学習の重要性に気づかせ実際の現場で活場合との比較からオブジェクト指向モデリング教育に用できるスキルを身につけることが目標である．開おける，効果的な MDD ツールの活用方法を検討し発には，MDD を行うことを課す．MDD で開発するている．この前提は，通常，学生が 3〜6 か月程度かための開発環境は，我々が準備し，実際に受講者が開けて行う学習での比較であり，活用方法である．これ発するのは一部分であるが，ドローンのクラスのスに対して，本研究では，短期集中で行う PBL においテートマシン図を設計することにより，コードを自動て，PBL 課題をどのように設定し，どのように実施生成し，すぐに実行確認できる環境を提供することにするかの提案と適用評価を行っている．

より，MDD のメリットを体験できるようにする．また，単に実装とその成果の競争だけでなく，発表会を3 PBL 課題設定の提案行って，モデルを中心とした開発内容を説明すること

3. 1 モチベーションを向上させるルール作りを課す．設計モデルについては，設計した理由とそのPBL では，複数のグループがそれぞれ課題を作る

内容を説明することを求める．単にハードウェアやプところから始めるケースも多い．しかし短期間で競ログラムコードに依存するモデルは良いモデルとは争心をもって挑むためには，同じ課題で競うコンテス言えないことを伝えておく．良いモデルには，暗黙的ト形式がよい．また具体的なイメージがわかりやすまたは明示的に背景または要件が含まれている必要

い課題が望ましい．そこで，今回，「グリーンハウスがあり，理想的なモデルの要素の名前は背景の要件に内での果物の自動観察」というシナリオを設定し，こ基づいている必要がある．モデルはシステムの動作をれをドローンで模擬するための自動飛行モデルの作表す必要があり，モデルは，要件と実装の間の一種の成を，課題として設定する．マンゴーやイチゴなどの橋渡しであることを徹底する．

農作物を栽培するには，農家は毎日それらを確認し，適切なタイミングで水や肥料を供給し，最後にそれらを摘み取る必要がある．大きな農場やたくさんのグ

3. 3 組込みシステム制御技術を考え体験するための課題設定リーンハウスを所有している農家にとって，これらのドローンの自動飛行によるグリーンハウス内の果作業は大変重要である．この人手がかかる作業を効率

物の自動観察では，グリーンハウス内の条件や画像化するために，「グリーンハウス内の果物の自動観察」によって指示される内容をドローン自身が理解して，飛行することが求められる．近年のドローンは前後けない．プレイ中のチームが再試行したい場合，チー左右，上昇下降などをセンチ単位で指定すると，ほぼムは「再試行」を宣言する．5 分以内に，プレイ中のそれに近い飛行ができるようになっている．しかし，チームはいつでも「再試行」を宣言することができ風があったり障害物があったりする場合や，電池の残る．プレイ中のチームが「ゲームオーバー」を宣言す

量による飛行の差があるため，それらの影響を含めたると，ゲームは終了する． または 5 分が経過すると，自動制御が必要になる．このため，AR マーカー画像ゲームは終了する．

を置き，その画像をとらえることで，ドローンがどこを飛行しているかや，果物の写真を撮るために正面に来るような位置制御を必要とする自動飛行制御を課題に含める．

4 課題実施の環境構築−プログラム自動生成のための環境構築と実装
MDD を理解し，体験させるため，課題設定において MDD を行うことを条件とする．UML モデルから

3. 4 グローバル PBL としてのチーム編成

コードを自動生成し，モデルの作成から動作検証までグローバル化が必須の IT 分野を学ぶ学生たちが，の時間の短縮化を図ることができる MDD ツールを互いに英語でコミュニケーションするために，日本人使うこととする．その１つの実行可能モデルであるの学生とタイ及びマレーシアの学生とが混在するよ

Executable UML [4] は，OMG によって仕様が標準うにチーム編成とする．海外で行うグローバル PBL化されている．筆者らは，Executable UML が使えでは，日本人のほうが少ないため，各チームにはかな

る MDD ツールの BridgePoint [4] を利用して，PBLらず日本人が入るようにする．コミュニケーション方の開発課題の環境構築・実装を行うこととする．

法について制限はしないが，基本的な言語は英語であMDD ツールを使いこなすためのプロジェクト環境

り，これに身振り手振り，そして IT 分野の共通語との設定は，PBL 指導を行う側で事前に設定し，かつして UML 言語が使われる．

課題に必要なクラスを設計しておき，PBL 受講者は，そのクラスのステートマシン図を設計するところか

3. 5 課題のルール詳細

ら課題実施できるようにする．今回の PBL 課題におコンテスト形式で行うためのルールと評価方法は

ける BridgePoint の環境構築は，ドローン制御のプ次の通りである．グリーンハウス内での果物の自動観ロジェクトを作成し，(i) ドローンを飛行させる機能

察コースを図 1 に示す．ドローンの自動飛行によるグ(ii) ドローンのカメラがとらえる AR マーカーの画像

リーンハウス内の果物の自動観察において所定の動を認識する機能 (iii)AR マーカーの画像からドローン作を正しく行い，写真を鮮明に撮影できたかどうかを自身の位置を把握する機能を持つクラスを “tello” と評価する．離陸からベースエリアへの着陸までの所要いう名称で１つ定義する．図 2 にプロジェクト下の時間の早い方を上位とする．トライする時間は 5 分

定義を示す．

間とし，その間，各チームは最初からゲームを再試行

tello クラスのプログラムの自動生成のプログラムできる．5 分経過すると，ゲームオーバーとなる．す構造を，図 3 に示す．受講者が設計するのは図 3 の黄べての再試行の中で，そのチームの最高得点を評価点色のモデル部分である．tello クラスの実装を簡単にとする．

するため，ドローンとの通信部分や AR マーカーの認

プレイの進行は，各チームがまずドローンをベー識，位置把握などは，ドローンのメーカーが提供してスエリアにセットする．ジャッジに「スタート」を宣いる SDK のための Python サンプルコードを流用し言する． 「スタート」の宣言から，タイマーはカウて，基本クラスとのインタフェース上で必要なコードントアップを開始する．チームは，ドローンを制御すを PBL 課題設定者が追加する．このほか，tello クラるためのプログラムを開始する．飛行中，プレイ中のスからは，BridgePoint のブリッジ機能を使って外部チームはドローンとコントロール PC に触れてはいコードを呼び出すように組込む．また，モデルがイベ図1

図2

グリーンハウス内での果物の自動観察コース図

果物の自動観察（名称：Telloctrl）プロジェクト

図3

Tello クラスの自動生成のプログラム構造

概要

から提供されている SDK 付属のプログラムソースがントして受け取る仕組みを実装する．これらのためにすでに Python 言語で実装済だったものをそのまま利ブリッジと外部関数を用意する．ドローンからの画像用できるようプロセス間通信による方法で実装する．

受信および AR マーカー認識は，ドローンのマーカ

これらの構造によって，ソースコードの自動生成

なることが予想された機体制御コード，AR マーカー受信と認識，プロセス間通信などは，機体メーカが提供する SDK に関わる GitHub のコードを流用することにより，50 行程度の変更をするにとどまった．教育目的のロボットコンテストには同様の方式により実装が可能と考えられる．

(2) MDD の理解と体験効果
今回モデリング部分は UML のステートマシン図を作成するのみであったが，状態とイベントによる遷移については，知っていたメンバも多く，理解はしやすかったようだ．MDD ツールを使った課題の実施という効果は，C 言語などによるプログラミングに比べて，理解が早く，短期の PBLでも十分習得できたと言える．今回 PBL 課題に
表1

共通関数と Tello 関数とイベントチャレンジしたメンバは，一定の UML の知識を持つメンバが多く，設計上の共通言語としては，モデルから C 言語のソースコードを生成するモ

UML を用いることで，メンバ間の誤解を生みにデルコンパイラで行う．アクション言語から呼べるメくいというメリットもあった．短期間ということ

ソッド，ステートマシン図において各ステートが受信を考慮し，設計する部分を局所化したことも，そするイベントの Tello 関係のみの一覧を表 1 に示す．

こに集中することができたという効果があった．

PBL の受講者は，これらのメソッドとイベントを用(3) 組込みシステム制御技術への理解度いて，Tello クラスのステートマシン図を設計し，ア

単なるシーケンス制御のみでは，グリーンハウクション言語を記述することによって，課題を実施

ス内の果物の写真を正面から撮影できないため，する．

AR マーカーを使った位置制御を行う必要がある
が，その位置制御に苦労しているチームが多かっ

5 評価と考察た．一方，正面からの写真というのをある程度割PBL を実施した評価および考察を述べる．PBL のり切って，位置制御を省略し，シーケンス制御の実施期間は，2 日間で，ルールは事前に Web ページみで飛行させることによって，ベースから離陸し上に公開しておいた．PBL に参加した受講生は，42て，所定の複数の写真を撮影してベースに戻る名で，これを 9 チームに分けて実施した．国別内訳ことができたチームもある．実際，9 チームのうは，日本人 14 名，タイ人 26 名

マレーシア人 2 名

ち元に戻ってこれたのは 2 チームのみであった．

であった．文化，言語の違う学生が一同に集まって苦労して最後まで飛行できなかったチームは位置行う短期間の PBL における，組込みソフトウェアの制御の難しさを理解したが，それを省略したチー

MDD に関わる課題設定についての成果と評価についムは，最後まで飛行できたものの，組み込み制御て述べる．の難しさを回避したことになり，理解度という意(1) 課題実施の環境構築における実装結果

味では，前者の方がよかったのかもしれない．

課題実施の環境構築・実装の評価は，必要最小限スキル面での各理解度を 5 段階評価で受講者に回の開発で実装できた．実装したのは，ブリッジ関答してもらった結果，4 以上（標準以上）の理解度の数が３つで，156 行，プロセス間および機体との割合は，図 4 のグラフに示す通りであった．普通に理通信関数は，112 行であり，一番コード量が多く解できたというレベルを含めるとほぼ全員が理解でわる課題設定についての提案と実施した成果を報告した．その手段して，コンテスト型 PBL によるモチベーション向上は，短期間ではあるが，コンテストに向けチームは一丸となって課題に取り組んだと評価できる．モデリングのスキルとグローバルプロジェクトを体験させることが当初の目的であったが，モデリングのスキルは，MDD の概念の理解やツールの理解が進んだといえる．グローバルプロジェクトの体験は，ベースとなるコミュニケーションについてアンケート
図4スキルのアンケート結果を行った結果，図 5 に示すように，互いに必ずしも十分とは言えないが，コミュニケーションを楽しむことができ，もっとコミュニケーションをとりたいと考える受講者が 95 ％いたことは，互いに native ではない
学生通しのコミュニケーションが PBL を通して行われたと評価できる．
今回，行った MDD の手法は，組込みソフトウェア開発のほかのケースでも活用可能であり，また異なるツールにおいても，基本的なツールの方式が同じであれば活用できると考えられる．

参 考 文 献図5

コミュニケーションのアンケート結果きたと評価できる．

6 まとめ
文化，言語の違う学生が一同に集まって行う短期間の PBL において，組込みソフトウェアの MDD に関[1] 赤山聖子ほか: オブジェクト指向モデリング教育におけるモデル駆動開発ツールの活用方法の検討, 情報処理学会論文誌, Vol. 55, No. 1(2014), pp. 72–84.
[2] 井上雅裕: グローバル PBL -イノベーション創出と持続可能な開発のための人材育成-, 情報処理, Vol. 60,
No. 9(2019), pp. 886–889.
[3] 戸沢 義夫ほか: Global PBL Feasibility Study の実践と得られた知見, 情報教育シンポジウム論文集,Vol. 6(2009), pp. 167–174.
[4] xUML.org: eXecutable Translatable UML Open
Source Editor, https://xtuml.org/, (参照：2020/7/30).