An Application of SCADE Suite to the Design of Embedded

An Application of SCADE Suite to the Design of Embedded Software
for a Line-Tracing Robot
- For Participating in the Embedded Technology Software Design Robot Contest Shuji Takahashi†, Nobutada Matsubara††, Yuya Onuma††, Hirofumi Nakano††, Koki Negishi††,
Yu Fujimura†††, Masakazu Takekura††, Daigo Adachi††, Yukimi Tateno††, Ayami Hara†††,
Yuko Arafune†††, Kenta Kasuya†††, Kento Kimura†††, Saki Shinoda†††, Takuya Tsukamoto†††,
Yuki Shimamura††††, Yoichi Shiraishi†††††
We are using SCADE Suite to design Embedded Software in the Model Based approach.
This topic is appropriate for evaluating the SCADE Suite in the viewpoints of minimizing
the programmer errors and of satisfying the strict industrial standards as well as safety
requirements.The simulation gives us the comparison of automatically generated codes by
the SCADE Suite with the corresponding hand codes.
1. はじめに
我々は,2009 年より LEGO MindStorms NXT を用い
てモデルベースアプローチによる組込みソフトウェア開
発 PBL(Project Based Learning)の実践を行い,得られ
た知見を各メンバの研究にフィードバックする自己研鑽
の場として活動している[1].本 PBL では,モデルベー
スアプローチによる組込みソフトウェア設計をプログラマ
のヒューマンエラーの最小化や厳しい規格及び安全性
要求を満たす設計の観点から SCADE Suite[2]による
設計・シミュレーションを行い,評価した.
2. ET ロボコンとは
ET ロボコン[3]とは,決められた走行体で指定コース
を自律走行する競技で,同一のハードウェア(LEGO
MindStorms NXT)(図 1)に,UML 等で分析・設計し
たソフトウェアを搭載し競うコンテストである.走行体に
はライトセンサ,ジャイロセンサなどのセンサが取り付け
られていて,これらを利用して黒いライン上をライントレ
ースしながら走行する組込みプログラムを作成する.評
価方法は設計モデルの巧拙と地区大会当日の走行で
あり, 設計と実装の二つの点から評価されることにな
る.
†Department of Production Science and Technology, Gunma
University
E-mail: [email protected]
†† Faculty of Engineering, Gunma University
†††School of Science and Technology, Gunma University
††††Graduate School of Science and Technology, Gunma
University
†††††Graduate School of Science and Technology, Gunma
University
図 1 走行体
3. 開発工程
3.1. 我々のメンバの概要
モデルベースアプローチによる組込みソフトウェア
開発に興味がある,学部 2 年生と 3 年生の有志が 14
名集まった.情報系の学生は 7 名であり,C 言語の学
習期間は 2 年である.メンバ全員はモデルベースアプ
ローチによる開発とチーム開発を今回初めて行う.なお,
本 PBL は大学の単位にならない PBL である.
3.2. 開発工程
第 1 に,モデルベースアプローチによる組込みソフト
ウェア開発の概要を学習した.第 2 に,UML 及び UML
モデルによるシステム設計を学習した.第 3 に SCADE
Suite を学習した.第 4 に,「ET ロボコン」の開発を
UML モデルによるシステム設計を行い,SCADE Suite
による実装を行った.
3.3. SCADE Suite の学習
大学の講義と並行して,2014 年 5 月より行った.
Esterel Technologies 社よ り 提供 されて いる“ Getting
Started with SCADE Suite” のテキスト(英語)の輪読と
“SCADE Suite E-Learning”の動画(英語)による自学自
習を行った.
4. SCADE Suite による実装
4.1. UML 設計モデル
UML モデル(ユースケース図,クラス図,シーケンス
図,ステートマシン図など)によるシステム設計(図 2)を
行い,その後チームメンバによるレビューを行った.
4.3. シミュレーション
チームメンバによるレビュー後,「オペレータ」「ステ
ートマシン」毎にシミュレーションによる検証を行った
(図 5).
Jump board
①Low speed
line trace
(Right edge)
⑤Go forward
[Else]
[Run for specific
distance]
[Else]
[Collide to the
Jump board]
⑥Go backward
[Else]
[Run for specific
distance]
②Step on
the board
③Low speed
line trace
(Right edge)
[Else]
[Front wheel fall
into the hole]
⑦Line search
⑧Low speed
Line trace
(Right edge)
④Front wheel
turn right
図2
UML によるシステム設計
4.2. 実装
UML モデルに基づき,実装を行い,その後チームメ
ンバによるレビューを行った.
まず,ブロック線図を使用した「オペレータ」を使用し
て実装した(図 3).
図3
オペレータ
ブロック線図では実装しにくい,状態遷移がある場合
は,「ステートマシン」を使用して実装した(図 4).
図5
シミュレーション
4.4. 実機による検証
SCADE Suite KCG C Code Generator により自動生成
された C コードを使用して実機による検証を行った.
5. まとめ
SCADE Suite によるモデルベースアプローチによる組
込みソフトウェア開発を行い以下のメリットが得られた.
第 1 に,ブロック線図による実装のため,直感的に記
述ができ,さらに状態遷移図を利用できるため条件分
岐の構文より全体をわかりやすく表現できる.これらの
理由のため,レビュー中にヒューマンエラーを発見しや
すい.
第 2 に,「オペレータ」「ステートマシン」毎に対してシ
ミュレーションを行えるので,どこで実行時エラーが起き
ているのかを発見しやすい.
これら 2 点により,特に検証作業において品質が向
上し工数の削減ができるものと考えられる.
今後は,SCADE System を使用して SysML による設
計から SCADE Suite による実装へとシームレスに開発
を行い,一貫したモデルベースアプローチによる組込
み開発を行いたい.
参考文献
[1]
[2]
[3]
図4
ステートマシン
モデルベース設計手法による組込みシステム開
発 PBL:高橋 修司,白石 洋一ら:ESS2013 論文
集, 情報処理学会, 2013
SCADE Suite:
http://www.esterel-technologies.com/products/sca
de-suite/
ET ロボコン:
http://www.etrobo.jp/2014/