箱庭技術の教育への活⽤事例

株式会社チェンジビジョン
久保秋 真
12021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

実機で演習していたのを箱庭で代替した• 2019年まで• 個⼈またはグループで演習• 実機（Mindstorms EV3＋EV3RT）を利⽤• Astah* Proで設計モデルを作成、変換による実装
実機で実⾏• 2020年• 各⾃の⾃宅で演習（対⾯は実施できず）• 各⾃に実機を⽤意できない（代わりに箱庭を利⽤）• 実機と同じように設計、実機と同じように実装

箱庭上の環境で実⾏

22021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

ソフトウェア開発の演習（早稲⽥⼤学⼤学院1年向け）

3
2021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

ソフトウェア開発演習• 半期（15回）の講義• UML、オブジェクト指向、実装はすでに講義・演習している• 設計と実装の対応づけを重視• 荷物を運搬するシステムの開発• 開発プロセスに沿って開発• 設計が形骸化しないための分析設計の活⽤⽅法を演習を通じて学ぶ• 適⽤領域の⽤語による設計モデルを実装まで紐づける• 変換による実装※※変換ルールを使って設計モデルからコードを得る作業。

⼿動で変換することで、モデル変換の役割や意味を実感してもらう。
2021/6/4© 2021, Shin Kuboaki.

4

TOPPERSカンファレンス2021

使⽤する機器• 荷物を運搬する⾃動搬送ロボット• 駆動制御部による⾛⾏• 荷台、ライン監視部、側壁監視部、バンパーを装備
側壁監視部
ライン監視部
荷台
バンパー
駆動制御部
別の演習：https://youtu.be/A24WsSucrKw
2021/6/4© 2021, Shin Kuboaki.

5

TOPPERSカンファレンス2021

演習の課題• ⾃動搬送システム• 状況に応じて「配達」「転送」「回送」の各業務を処理する• 配達業務• 待機場所で荷物を受けるのを待つ• ⾛⾏開始指⽰を受け取ったら、配達先へ荷物を運搬する• 配達先に到着したら停⽌する• 荷物が下ろされるのを待つ• 荷物が下ろされたら、⾞庫へ回送して停⽌する
2021/6/4© 2021, Shin Kuboaki.

6
TOPPERSカンファレンス2021

業務の流れ（のうち配達業務を抜粋）
4. 荷台から荷物が降ろされて⾛⾏開始指⽰を受けたら、回送を開始する
⾞庫

配達先

5. 運搬済みで回送後、側壁を認識したら⾞庫に⼊ったとみなし業務を終了する

3. 側壁を認識したときは、停⽌して荷物が降ろされるのを待つ

転送先

1. 荷物を受け取るのを待つ
2. ⾛⾏開始指⽰で運搬開始する
待機場所
2021/6/4© 2021, Shin Kuboaki.

7
TOPPERSカンファレンス2021

実装⽅式の設計• 「変換による実装」の⽅式を決める• 内部設計はこの⽅式を使うことを前提にする• 設計の前に、この⽅式を使う実装を演習しておく

クラス図
ステートマシン図

変換による実装

図からコードへの変換ルール
2021/6/4© 2021, Shin Kuboaki.

void auto_transporter_transport(void) {switch(p_state) {// 略case TRANSPORTING:
line_tracer_run();if (walldetector_is_detected()) {p_state = WAIT_FOR_UNLOADING;}
break;
case WAIT_FOR_UNLOADING:
line_tracer_stop();break;
}
}

実装コード

8
TOPPERSカンファレンス2021

開発プロセスに沿って開発
外部設計

ユースケース図

クラス図

アクティビティ図
シーケンス図システムの構成要素をビルディングブロックに分割

要求分析

内部の構造を表す

利⽤するのは誰で、提供する機能・サービスはなにか

ステートマシン図

クラス図

状態とイベントとアクションを整理
内部設計
外部設計

外部とのやり取りに着⽬して振舞いを整理
システム分析
⽅式設計
ライブラリ

内部の構成要素を整理
変換による実装
内部設計

アーキテクチャ2021/6/4

開発環境、構成や実装⽅式などを決定

実装コード 9© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

動作例の紹介• 実機でのデモ• 箱庭でのデモ

10
2021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

まとめ（早稲⽥⼤学）• 箱庭を使えたことで、各⾃の⾃宅で演習できた• 実機が配布できなくても、動作を確かめられた• 組み込みでも、アプリ開発なら実施できる• 依存しているのは、RTOSやセンサ・モータのAPIだから• ⾛⾏、荷物の上げ下ろし、壁の認識ができると、あとは業務のアプリケーションを作ることができるから

11
2021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

プロジェクト演習（⽇本⼤学⽣産⼯学部3年）

12
2021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

プロジェクト演習• クォーター（週1回、２コマ）の講義• プログラミングもモデリングもあまり慣れていない• グループによる開発の体験を重視• 観光スポットを遊覧するサービスの開発• グループで実際に動くものを作る体験• ⽬的・⽬標・成果を共有する• 頼んでやってもらう、頼むとき渡す・受け取る成果物の役割の実感• 開発プロセスに沿って開発• UMLの図に精度は求めない（困ってもらtって必要性を感じてもらう）
2021/6/4© 2021, Shin Kuboaki.

13

TOPPERSカンファレンス2021

演習のお題• ⼤学周辺の観光スポットを巡るサービスの提供• 専⽤道を⾛るオートライドで乗って巡る• 利⽤者は予め遊覧先を選んで乗⾞する• スポットに着いたら利⽤者は遊覧、再び乗ったら次のスポットへ移動• 観光しないスポットはスキップする

旧⼤沢家住宅K2蒸気機関⾞

142021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

動作例の紹介• 実機でのデモ• 箱庭でのデモ

15
2021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

まとめ（⽇本⼤学）• 箱庭を使えたことで、各⾃の⾃宅で演習できた• 実機が配布できなくても、動作を確かめられた• 仲間で互いに⼯夫して助け合う以前のつまづき• 環境を⽤意して動かすこと⾃体が⼤変だった• プログラミングに不慣れだと、環境が複雑なだけでわからない感じに⽀配されてしまう

16
2021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

箱庭を使って演習して得られたこと

172021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

実は、学⽣の反応は厳しいものだった…
• 実機ほどには「動いた！感」がない…
• やはり、実物にかなわないか…

• PCの性能が低いと、動かすのが億劫になる• Zoomで画⾯共有すると、さらに重くなる（デモができない）• 環境構築ができない• 演習を始めるまでに⾄らず（そして履修をあきらめてしまう）• WSLがインストールできない、シェルが使えない、…etc.

• 動かないときの原因がわからない• config ファイルの誤りなど、問題の切り分けができない
2021/6/4© 2021, Shin Kuboaki.

18
TOPPERSカンファレンス2021

実機を使う「体験」の代わりにはならない• 設計やコード作成の演習としては便利• 箱庭は、どこでも動作検証に使えるのがよい、とのこと• 実機のときのように夢中にはなってくれない• 学⽣の使うPCでは、動かすのが億劫• シミュレーションの環境が起動、動作とも重いようだ• 1度動かすと、あとはあまり動かす気持ちにならない• 実機ほどは外乱の影響がないので、動きに変化がない• 他の⼈の動かしている様⼦が、横⽬に⼊ってこない• ⾃分のPCで動かすので、他との違いや⾃分の不出来に気づかない
2021/6/4© 2021, Shin Kuboaki.

19
TOPPERSカンファレンス2021

実機では軽んじられる側⾯は、試しやすい• 実機では感じない・観測できないことを試せる• 短い時間に起こるセンサーのオフ・オン等を確かめられる• シミュレーションのティックを変えて顕在化させると気づかせるなど• 実機では環境のせいにするが、そうはしにくい• 周囲の明るさが違うから、コースにシワがあったから…など• そのような変化がない環境で動作できるので、別の原因だと気づける

20
2021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

まとめ

21
2021/6/4© 2021, Shin Kuboaki.

TOPPERSカンファレンス2021

まとめ• 箱庭は、システムの設計・実装の演習に使える• 実機のないテレワーク環境でも、演習できる• 「動かす体験」には向かない場合がある• 環境構築は開発に慣れていない学⽣には難しい• 動作環境は学⽣のPCやネットでは負荷が⾼い
環境構築や動作負荷の問題は、森さんの発表にあるように、今後はもっと改善されるでしょう
箱庭の改善と発展に期待しています！
2021/6/4© 2021, Shin Kuboaki.

22

TOPPERSカンファレンス2021