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/
© Copyright 2024 ExpyDoc