Comments
Description
Transcript
クリティカルチェーン
派生開発カンファレンス2012 ET ロボコンへの PFD と USDM の適用 八木将計† 深谷直彦† 大原貴都† 小川秀人† †株式会社 日立製作所 横浜研究所 〒244-0817 神奈川県横浜市戸塚区吉田町 292 番地 E-mail: †{masakazu.yagi.zd, naohiko.fukaya.ha, takatoshi.ohara.me, hideto.ogawa.cp}@hitachi.com 概要 近年,組込みソフトウェア開発分野における若年層・初級エンジニアの育成が重要となってきている.こ の状況に対して, 「ET ロボコン」はコンテストという形式で,ソフトウェアの分析・設計の教育機会を提供するこ とを目的としている.日立製作所 横浜研究所は,ET ロボコン 2011 に参加し,ロボコン向けソフト開発に PFD と USDM を適用した.ET ロボコンに求められる成果物を精査し,PFD を用いることで,ET ロボコンに特化した開 発プロセスを設計した.また,ET ロボコンのソフト設計に USDM を用いることの有効性を示した. キーワード ET ロボコン,PFD,USDM,短 TAT,Strategy パターン, 追跡可能性 Application of PFD and USDM to Software Development of Embedded Technology Software Design Robot Contest Masakazu YAGI†, Naohiko FUKAYA†, Takatoshi OHARA†, and Hideto OGAWA† †Hitachi, Ltd., Yokohama Research Laboratory 292, Yoshida-cho, Totsuka, Yokohama, Kanagawa, 244-0817 Japan E-mail: †{masakazu.yagi.zd, naohiko.fukaya.ha, takatoshi.ohara.me, hideto.ogawa.cp}@hitachi.com Abstract Embedded Technology software design robot contest (ET robocon) offers an opportunity to study the embedded software development for junior engineers. We participated in ET robocon 2011 and applied PFD (Process Flow Diagram) and USDM (Universal Specification Describing Manner) to the software development of ET robocon. In ET robocon, participating teams are ranked according to the running speed of the robot and the abstract document of its software design. We designed a specialized software development process in ET robocon using PFD. Moreover, we clarified an efficacy of USDM for ET robocon. Keyword ET robocon, PFD, USDM, TAT reduction, Strategy pattern, traceability 1. は じ め に 近 年 ,組 込 み ソ フ ト ウ ェ ア の 重 要 性 が 増 加 し て き て お り [1],そ れ に 伴 い ,組 込 み ソ フ ト ウ ェ ア 開 発分野における若年層および初級エンジニアの 育成が重要な課題の一つになっている. こ の 状 況 に 対 し て ,ソ フ ト ウ ェ ア の 分 析・設 計 モ デ リ ン グ の 教 育 機 会 提 供 を 目 的 と し た ,産 官 学 連 携 に よ る オ ー プ ン 参 加 型 の ET ソ フ ト ウ ェ ア デ ザ イ ン ロ ボ ッ ト コ ン テ ス ト (以 下 , ET ロ ボ コ ン ) が 開 催 さ れ て い る [2]. ET ロ ボ コ ン は , 決 め ら れ た 自 律 型 ラ イ ン ト レ ー ス ロ ボ ッ ト( 以 下 ,走 行 体 )で 指 定 コ ー ス を 自 律走行する競技であり,同一のハードウェアに UML®な ど で 分 析・設 計 し た ソ フ ト ウ ェ ア を 搭 載 し 競 う コ ン テ ス ト で あ る .コ ン テ ス ト は ,走 行 体 の 走 行 競 技 速 度 を 競 う「 競 技 部 門 」と ,UML® な どで記述されたソフトウェア設計モデルの内容 (以 下 , モ デ ル 図 )の 審 査 で あ る 「 モ デ ル 部 門 」 か ら な り .そ れ ら 二 つ の 部 門 の 総 合 で 全 体 の 順 位 が 決定する. 日 立 グ ル ー プ は , こ の ET ロ ボ コ ン に 積 極 的 に 参 加 し て お り ,2008 年 度 4 事 業 所 6 チ ー ム か ら , 2011 年 度 10 事 業 所 20 チ ー ム へ と , 参 加 を 拡 大 し て い る .そ の な か ,日 立 製 作 所 横 浜 研 究 所 は , 組込みソフトウェア生産技術の研究部署の若手 研 究 者 (主 に 入 社 1 年 目 か ら 5 年 目 社 員 )を 中 心 と し た チ ー ム で ET ロ ボ コ ン 2011 に 参 戦 し た . 我 々 の 部 署 は 研 究 部 門 で あ る た め , ET ロ ボ コ ンの参戦にあたって,教育目的だけではなく, 様々なソフト工学の技術を応用することを目的 の 一 つ に お い た .用 い た 技 術・ツ ー ル は ,UML® に よ る オ ブ ジ ェ ク ト 指 向 設 計 技 術 , USDM(Universal Specification Describing Manner)[3],マ イ ン ド マ ッ プ ®[4],QFD(Quality Function Deployment : 品 質 機 能 展 開 )[5] , LTSA(Labelled Transition System Analyser:モ デ ル 検 査 技 術 )[6] , タ グ チ メ ソ ッ ド ( 実 験 計 画 法 )[7] , PFD(Process Flow Diagram)[8] , CCPM(Critical Chain Project Management : プ ロ ジ ェ ク ト マ ネ ジ メ ン ト 手 法 )[9] , TOC-TP(Theory of Constraints – Thinking Process:問 題 解 決 手 法 )[10]で あ る .本 報 告 で は , こ れ ら ET ロ ボ コ ン の 開 発 で 用 い た 技 術 の 中 の PFD と USDM の 事 例 に つ い て 述 べ る . 我 々 の チ ー ム は , ほ ぼ ET ロ ボ コ ン 初 参 加 で あ る 上 ,メ ン バ ー 全 員 が 研 究 者 で あ る た め 実 際 の 開 発 経 験 が 十 分 で は な く ,ど の よ う な 開 発 プ ロ セ ス な る か 想 定 で き な い と い う 課 題 が あ っ た .本 報 告 で は , そ の 課 題 に 対 し , ET ロ ボ コ ン に 求 め ら れ る 成 果 物 を 精 査 し て PFD を 用 い る こ と で ET ロ ボ コ ン に 特 化 し た 開 発 プ ロ セ ス を 設 計 し た .結 果 , 短 TAT(Turn Around Time)開 発 を 実 現 す る ア ー キテクチャを実現し.その効果を実証した. ま た ,ET ロ ボ コ ン の モ デ ル 部 門 で は , 「トレー サ ビ リ テ ィ (追 跡 可 能 性 )」と い う 評 価 項 目 が あ り , 過 去 の モ デ ル 部 門 評 価 の 傾 向 か ら ,そ の 項 目 が 不 十 分 に な り や す い と い う 課 題 が あ っ た .本 報 告 で は ,そ の 課 題 の 解 決 の た め ,ソ フ ト 設 計 に USDM を用い,その有効性を確認した. ン コ ー ス・ア ウ ト コ ー ス の 合 計 走 行 タ イ ム か ら 獲 得したボーナスタイムを差し引いた総合タイム で 競 う [11]. 「 モ デ ル 部 門 」は ,走 行 体 に 搭 載 す る ソ フ ト ウ ェ ア の 設 計 で あ る モ デ ル 図 (図 3)の 良 し 悪 し を 競 う . モ デ ル 図 は ,「 機 能 」「 構 造 」「 振 舞 い 」 等 と い っ た 基 準 で 審 査 さ れ る [12]. モ デ ル 審 査 基 準 で は , 機 能 は 「 UML で は ユ ー ス ケ ー ス 図 な ど が 該 当 し ま す 」,構 造 は「 UML で は ク ラ ス 図 や オ ブ ジ ェ ク ト 図 な ど が 該 当 し ま す 」,振 舞 い は「 UML で は 状 態 マ シ ン 図 ,ア ク テ ィ ビ テ ィ 図 な ど が 該 当 し ま す 」 と あ り [12] , 多 く の 場 合 , モ デ ル 図 に は UML®が 用 い ら れ る . 審 査 は モ デ ル 審 査 員 に よ っ て 行 わ れ る が ,審 査 に は ,そ れ ほ ど 多 く リ ソ ー ス を 確 保 で き な い 事 情 か ら , モ デ ル 図 は A3 用 紙 5 ペ ー ジ 以 内 と 規 定 さ れ て い る .こ の 紙 面 の 制 限 に よ り ,モ デ ル 図 に は 全 て の 詳 細 な 設 計 情 報 は 記 載 で き な い た め ,モ デ ル 審 査 員 に 分 か り や す い よ う ,設 計 情 報 か ら チ ー ム が 主 張 し た い 点 に つ い て ,ま と め る こ と が 重 要 と な る .つ ま り ,モ デ ル 図 は ,プ レ ゼ ン 資 料 な ど に 近 い 物 と な る .よ っ て ,モ デ ル 図 は ,通 常 の 開 発 ド キ ュ メ ン ト と は 異 な り ,開 発 自 体 に 直 接 寄 与 す る も の で は な く , ET ロ ボ コ ン に 特 有 な ド キ ュ メントである. 表 1 走 行 体 (LEGO Mindstorms NXT®)の ス ペ ッ ク CPU ARM7® 48MHz OS TOPPERS / OSEK 駆動系 車 輪 モ ー タ (左 /右 ),尻 尾 駆 動 モ ー タ 各種センサ 超音波,ジャイロ,光学,タッチ その他 Bluetooth®, USB 2. ET ロ ボ コ ン の 特 徴 と 課 題 2.1. ET ロボコンの特 徴 ET ロ ボ コ ン は , 走 行 を 競 う 「 競 技 部 門 」 と ソ フト設計を競う「モデル部門」からなる. 「 競 技 部 門 」 は , 図 1 に 示 す 走 行 体 (ス ペ ッ ク は 表 1)で , 図 2 に 示 す 競 技 フ ィ ー ル ド の 走 行 速 度 を 競 う .走 行 フ ィ ー ル ド は ,ア ウ ト コ ー ス と イ ン コ ー ス の 2 コ ー ス あ り ,2 チ ー ム が 交 互 に 両 方 を 走 行 す る .ま た ,競 技 コ ー ス 上 に は ,難 所 と 呼 ば れ る 障 害 物 が あ り ,そ れ ら 難 所 を ク リ ア す る こ と で ,ボ ー ナ ス タ イ ム を 獲 得 で き る .競 技 は ,イ 図 1 走行体概観図 図 2 ET ロ ボ コ ン 2011 競 技 フ ィ ー ル ド (5460mm×3640mm) と は 異 な り ,モ デ ル 図 上 で 各 モ デ ル の 対 応 関 係 が 読み取れるように配慮することを示す. UML®は ,ク ラ ス 図 な ど の「 構 造 面 」と 状 態 マ シ ン 図 な ど「 振 舞 い 面 」の 対 応 関 係 は 図 示 し や す い が ,「 機 能 面 」 で あ る ユ ー ス ケ ー ス 図 は 他 の 図 と の 対 応 を 紙 面 で は 示 し に く い .そ の た め ,機 能 と 構 造 の ト レ ー サ ビ リ テ ィ は UML®で は 示 し に く く ,過 去 の モ デ ル 審 査 結 果 を 調 査 し て も ,機 能 と 構 造 に 関 す る ト レ ー サ ビ リ テ ィ (追 跡 可 能 性 )に 関する指摘・減点が多い. 我 々 の チ ー ム で も ,モ デ ル 図 に は ,主 に UML® を 用 い る こ と と し た た め ,機 能 と 構 造 の ト レ ー サ ビリティが問題になると想定された. 3. PFD に よ る ET ロ 1 ボ コ ン の ソ フ ト 開 発 プ ロ セスの分析と設計 図 3 モデル図 2.2. ET ロボコンの課 題 我 々 の チ ー ム が ET ロ ボ コ ン に 参 加 す る 上 で の 課題は以下であった. 【 課 題 1 】: 不 明 確 な 開 発 プ ロ セ ス ET ロ ボ コ ン は コ ン テ ス ト と い う 特 徴 か ら 開 発 プロセスも一般的なソフト開発とは異なる可能 性 が 考 え ら れ た が ,チ ー ム メ ン バ ー の ほ と ん ど が 初 参 加 で あ る 上 ,メ ン バ ー 全 員 が 研 究 者 で あ る た め 実 際 の ソ フ ト 開 発 経 験 が 十 分 と は 言 え ず ,ど の ような開発プロセスになるか想定できなかった. ま た ,日 立 グ ル ー プ 内 の 過 去 の 参 加 者 に よ る と , プロジェクトのコントロールが非常に大変にな り や す く ,徹 夜 や 休 日 出 勤 で 対 応 す る こ と が 多 い と い う こ と で あ っ た .そ の よ う な 状 況 を 防 ぐ 意 味 でも開発プロセスを明確にする必要があった. 【 課 題 2 】: モ デ ル 図 の ト レ ー サ ビ リ テ ィ ET ロ ボ コ ン の モ デ ル 審 査 基 準 に は , 「トレーサ ビ リ テ ィ (追 跡 可 能 性 )」と い う 項 目 が あ る .ET ロ ボ コ ン に お け る ト レ ー サ ビ リ テ ィ (追 跡 性 )は , 通 常 の 開 発 に お け る ト レ ー サ ビ リ テ ィ (追 跡 可 能 性 ) 2.2 節 に 示 し た ,ET ロ ボ コ ン の【 課 題 1 】を 解 決 す る た め に , PFD を 適 用 し た . ま ず , ET ロ ボ コ ン の 一 般 的 な ソ フ ト 開 発 プ ロ セ ス を PFD に よ り 分 析 し , ET ロ ボ コ ン プ ロ ジ ェ ク ト の コ ン ト ロ ー ル が 困 難 に な る 要 因 を 明 確 に し た .そ の 課 題 に 対 応 す る た め ,PFD で ET ロ ボ コ ン に 特 化 し た 開 発 プ ロ セ ス を 設 計 し ,そ れ を 実 現 す る ア ー キ テ ク チャを採用した. 3.1. ET ロボコンの一 般 的 なソフト開 発 プロセスの分 析 一 般 的 な ロ ボ コ ン に お け る ソ フ ト 開 発 の PFD を図 4 に示す.図 4 より,ロボコンでは,ロボ ッ ト の ハ ー ド 仕 様 と 競 技 規 約 (競 技 フ ィ ー ル ド や 難 所 の 仕 様 )か ら ど の よ う に 走 行・難 所 ク リ ア を す る か と い う 「 走 行 戦 略 」 を 立 て る (P1). そ の 後 , その走行戦略からソフト設計・実装を行う (P2,P3) . 結 果 , 作 成 し た ソ ー ス コ ー ド を 用 い て 実際にロボットをレプリカコースで走行させて, 走 行 性 能 を 検 証 す る (P4).検 証 結 果 を 受 け て ,よ り良い走行を実現するため, 「走行戦略」 「設計モ デ ル 」「 ソ ー ス コ ー ド 」 に フ ィ ー ド バ ッ ク を 行 う (P5).つ ま り ,速 く 安 定 し た 走 行 が 実 現 で き る ま で,反復開発を繰り返すこととなる. ロ ボ コ ン の 競 技 部 門 は ,他 チ ー ム と の 競 争 で あ り ,走 行 性 能 に 明 確 な 目 標 が な い .そ の た め ,チ ー ム が 納 得 す る ま で ,永 遠 に 反 復 を 繰 り 返 し ,走 行 戦 略 ,設 計 モ デ ル ,ソ ー ス コ ー ド に 手 を 入 れ 続 け る こ と に な る .こ の こ と が ,プ ロ ジ ェ ク ト を コ ン ト ロ ー ル し づ ら い も の に し ,徹 夜 や 休 日 出 勤 で 対応しなければならなくなる要因であると考え られる. D1 D1 ハード 仕様 ハード 仕様 P1 走行戦略を 作成する P2 D3* 走行戦略 更新 更新 競技規約 実装 する モデル 更新 D2 P3 D4* 設計 する D5 D4* 設計 する モデル P1 D3* 走行戦略 D4* P6 モデル モデル図を 作成する D6* 検証結果 図 4 P4 走行性能を 検証する 更新 モデル図 D6* 検証結果 走行戦略を 検証する P5 走行戦略 走行戦略を チューニング する 成果物 D4* モデル 検証結果 D7 P4 D3* D3* D6* D5 ソースコード 走行戦略(初版) 走行戦略 生成 を作成する P5 検証結果から良い 走行を再検討する P3 実装 する 成果物 D2 競技規約 成果物 ソースコード P2 P6 モデル図を 作成する 図 5 D6* 検証結果 D7 モデル図 採用した開発プロセス 成果物 一 般 的 な ET ロ ボ コ ン の 開 発 プ ロ セ ス 3.2. ET ロボコンに特 化 したソフト開 発 プロセスの設 計 前 節 に 示 す ET ロ ボ コ ン に お け る 開 発 プ ロ セ ス の 問 題 を 解 決 す る た め , 我 々 の チ ー ム で は , ET ロ ボ コ ン に 求 め ら れ る「 成 果 物 」を 精 査 す る こ と で ,図 5 に 示 す PFD の 開 発 プ ロ セ ス を 設 計 し た . 図 4 に 示 す 一 般 的 な ET ロ ボ コ ン 開 発 は「 ソ ー ス コ ー ド 」を 最 終 成 果 物 と し て い る の に 対 し ,我 々 が 採 用 し た 開 発 プ ロ セ ス (図 5)は , 「 走 行 性 能 」そ のものを最終成果物として扱っている.つまり, 「 ソ ー ス コ ー ド 」で は な く ,走 行 性 能 を「 走 行 戦 略 」 と と ら え , そ の 生 成 (最 適 化 )コ ス ト が 最 小 と なるように開発プロセス設計した結果が図 5 の PFD で あ る . 図 5 の 開 発 プ ロ セ ス で は ,上 流 で の 走 行 戦 略 の 立 案 を 行 わ ず ,「 チ ュ ー ニ ン グ 」 と い う プ ロ セ ス で , 走 行 戦 略 を Try&Error で 決 定 し て い く (P4,P5) . よ っ て , チ ュ ー ニ ン グ 工 程 に 入 っ た あ とは,設計モデルもソースコードも変更しない. これにより,反復部分が最小限に収められため, 短 TAT 開 発 を 実 現 し ,上 流 工 程 (設 計・実 装 工 程 ) へ の 大 き な 手 戻 り は 発 生 せ ず ,プ ロ ジ ェ ク ト が コ ントロールしやすくなるものと考えた. 3.3. プロセス設 計 に基 づき採 用 したアーキテクチャ 前 節 の 開 発 プ ロ セ ス を 実 現 す る た め ,走 行 体 の Bluetooth®通 信 機 能 を 用 い て , PC か ら 走 行 戦 略 を 送 る こ と で ,走 行 を 切 り 替 え る ア ー キ テ ク チ ャ を 設 計 し た .走 行 体 の ソ フ ト に は ,Strategy パ タ ー ン [13]を 採 用 し , ロ ボ ッ ト の 最 小 挙 動 を 用 意 し た .PC で ,そ れ ら 挙 動 を 状 態 遷 移 で つ な い で「 走 CSVファイルで, 走行戦略を入力 PC 走行戦略 走行体 Bluetooth®通信 図 6 採用したアーキテクチャ 行 戦 略 」を 作 成 す る (CSV フ ァ イ ル で 記 述 ).そ の 走 行 戦 略 を PC か ら Bluetooth®通 信 で 走 行 体 に 送 信 し て ,走 行 体 は 送 信 さ れ た 走 行 戦 略 と お り に 走 行 す る (図 6). こ の ア ー キ テ ク チ ャ を 用 い る こ と で ,ソ ー ス コ ー ド に 手 を 入 れ る こ と な く チ ュ ー ニングを実現できると考えた. 4. USDM に よ る ト レ ー サ ビ リ テ ィ の 確 保 2.2 節 に 示 し た ,ET ロ ボ コ ン の【 課 題 2 】を 解 決 す る た め , USDM で 「 機 能 」 を 表 現 し , TM(Traceability Matrix) で 「 構 造 」 に 対 応 す る UML®(パ ッ ケ ー ジ 図 )と の 関 係 を 記 述 す る こ と と し た . モ デ ル 図 に 記 載 し た USDM+ TM を 図 7 に 示 す .た だ し ,過 去 の モ デ ル 図 の「 機 能 」の 内 容 調 査 よ り , ロ ボ コ ン で の 「 機 能 」 は USDM で の「 下 位 要 求 」に 対 応 す る と 考 え た .ま た ,実 際 に 作 成 し た USDM 全 て を 記 載 す る 紙 面 が な い た め,主要部分のみを記載した. P.3パッケージ図とのトレー サビリティ(○が関連を示す) ※実際はクラス ・メソッド との関係記 載するが表示しきれないため割愛 ※クラス図との関係はP.3に アイコン RUN### で表示 ※ロボコンでの「要求」はUSDMの上位要求に対応し, 「機能」は下位要求に対応する 要求 要求 要求2 要求ID RUN 理由 説明 機能ID 内容 走行体は最小の走行セットを持ち,PCがそれらの組合せを走行戦略として送信.走行体はその走行戦略 通りに走行する PC 走行体 セ 制 B ン T 御 T サ 戦 U 通 デ 走 デ 通 デ ロ デ 略 I 信 バ 行 バ 信 バ グ バ イ イ イ イ ス ス ス ス B ○ ○ ○ ○ ○ ○ ○ ○ ○ 今年から競技中のBluetooth通信が可能になったから.QFDで要求重要度が最も高かったから. 競技中に随時,Bluetooth通信でPCから走行体に走行戦略を送信する <<走行体>> RUN001 機能 走行のための挙動をコマンド化することで,チューニングを容易にする 説明 最小の「挙動」とは,倒立制御/ライントレース走行 など PCからのコマンドをある程度の塊(コマンドセット(走行戦略))で受信し,キューに保持する RUN002 機能 理由 細かな挙動をその都度PCから指示すると次の挙動に間に合わない可能性があるから 説明 このコマンドセットが「走行戦略」になる RUN003 機能 走行体は最小の「挙動」を持ち,挙動を指令する「コマンド(PCから送信)」通りに走行する 理由 ○ ○ ○ 走行中,随時,走行体情報(ログ)をPCに送信する 要 求 10 理由 PCでコマンドセット(走行戦略)を組み立てるために走行体情報が必要だから. PCからコマンドセットを送信するタイミングを算出するためにも必要だから. 説明 走行体情報(ログ)は,システム時刻/速度指示値/各種センサー値(光、ジャイロ)など ○ ○ ○ ○ ○ ○ <<PC>> RUN011 機能 コマンドセットの送信タイミングを把握するため.コースアウトを検知するため. 説明 走行体は自己位置推定の機能を持たない RUN012 機能 コマンドセットを走行体の状況に応じて変更できるようにしたいから 説明 走行体位置以外でコマンドセットを変更する可能性が低いため,位置のみを見る 走行体が規定の位置に着たとき,対応するコマンドセット(走行戦略)を走行体に送信する 理由 走行体は自己位置推定を行わないため 説明 各難所のコマンドセット(走行戦略)を難所に到達する前にあらかじめ送信しておく RUN014 機能 走行体の位置推定に基づいて、コマンドセット(走行戦略)を作成する 理由 RUN013 機能 走行体からの走行体情報からマップを用いて走行体位置を推定する 要 求 14 理由 ○ ○ ○ 走行体位置推定からコースアウトを検知したら,緊急ライン復帰コマンドを送信する 理由 走行体は自己位置推定を行わないので,コースアウトを検知できないから 説明 緊急コマンドは,現状のコマンドセットを強制的に入れ替える→P.5 要求 TN TN 制御パラメータチューニングと走行戦略の組み替えをダイナミックに実施する 要 求 6-8 理由 タグチメソッドを適用しやすくしたい ○ ○ ○ ○ 機能 TN001 PCから容易に「挙動」のパラメータを変更できる 要 求 6 ○ ○ 機能 TN002 PCから容易に走行戦略(コマンドセット)を変更できる 要 求 7 ○ ○ 要求 BSC BSC ベーシック・ステージをコマンドセットを要所要所で切り替えて高速に走行する 要 求 15 理由 優勝するために高速に走行する必要があるから 要求 BNS BNS ボーナス・ステージですべての難所を攻略する 要 求 17 理由 ○ ○ ○ ○ ○ ○ 優勝するには,多くのボーナスポイントを獲得する必要があるから 要求 FS FS 要 求 19-22 理由 フェールセーフ機能をPCと走行体のどちらでも発動できる ダブルチェックをした方が信頼性が高いから.競技規約に推奨されているから 要求 NA NA ネガティブアクターの影響 要 求 22-24 理由 センサーや通信への悪影響を軽減しなければ,安定した走行ができないから ○ ○ ○ ○ ○ ○ ○ ○ ○ <<センサーへの影響>> <<通信部>> 機能 NA001 通信が切断された場合、再接続する 要 求 23 ○ ○ ○ ○ 機能 NA002 パケットがロスしたら、再送する(PC→走行体、走行体→PCとも) 要 求 24 ○ ○ ○ ○ 図 7 モ デ ル 図 に 記 載 し た USDM 5. PFD と USDM の 適 用 効 果 の 分 析 5.1. ロボコンの戦 績 とプロジェクトのデータ ロ ボ コ ン の 戦 績 を 表 2 に 示 す .ま た ,今 回 の ロ ボ コ ン 開 発 に 関 わ っ た メ ン バ ー は 11 名 で あ り , 全 体 の 工 数 は 表 3 に 示 す と お り と な っ た .開 発 に は C++で 使 用 し ,開 発 規 模 は 約 9KLOC で あ っ た . 表 2 ET ロ ボ コ ン 2011 参 戦 成 績 競技部門 モデル部 門 地区大会 13 位 (44.7 秒 ) 2 位 (ランク A) CS 大 会 6 位 (-24.8 秒 ) 37 位 (ランク B) ※CS 大 会 :チャンピオンシップ大 会 (全 国 大 会 ) 総合 6位 27 位 表 3 ET ロ ボ コ ン 開 発 各 フ ェ ー ズ の 工 数 (人 ・ 月 ) 地 区 大 会 CS 大 会 合 計 調 査 ・要 件 定 義 1.1 0.1 1.2 設計 5.0 0.1 5.1 実装 4.7 0.6 5.3 モデル図 作 成 1.5 0.1 1.6 チューニング 0.9 0.9 1.8 合計 13.2 1.8 15.0 5.2. PFD の適 用 効 果 今 回 ,我 々 の チ ー ム に と っ て ,ロ ボ コ ン 開 発 は 未 知 の プ ロ ジ ェ ク ト で は あ っ た も の の ,開 発 早 期 の 段 階 で PFD を 用 い て 開 発 プ ロ セ ス を 明 確 に で き た た め ,後 工 程 に お け る 想 定 外 の 作 業 は 発 生 し なかった. 表 3 に 示 す と お り ,設 計・実 装 工 程 に 多 く の 工 数 が か か っ て い る が ,チ ュ ー ニ ン グ 工 程 に 入 っ て か ら は ,設 計・実 装 に は 手 戻 り を し て お ら ず ,チ ュ ー ニ ン グ の 工 数 も 1.8 人・月 と 少 な い .よ っ て , PFD に よ る 開 発 プ ロ セ ス 設 計 の 狙 い 通 り ,チ ュ ー ニ ン グ で 走 行 戦 略 を 追 い 込 む 短 TAT 開 発 が 実 現 で き た と 考 え て い る . ま た , 表 2 よ り , 短 TAT 開 発 を 実 現 で き た た め ,地 区 大 会 か ら CS 大 会 (全 国 大 会 )で , 大 幅 に 走 行 性 能 が 向 上 (69.5 秒 短 縮 ) できたと考えられる. 5.3. USDM の適 用 効 果 ET ロ ボ コ ン に お け る モ デ ル 図 の 「 ト レ ー サ ビ リ テ ィ (追 跡 可 能 性 )の 評 価 項 目 」 は 減 点 法 で 評 価 さ れ る が , USDM と TM を 用 い る こ と で ,機 能 構 造 の ト レ ー サ ビ リ テ ィ (追 跡 可 能 性 )に つ い て は , 減 点 は な か っ た .た だ し ,モ デ ル 審 査 は ,詳 細 な 所 ま で フ ィ ー ド バ ッ ク な さ れ な い た め ,USDM の 有 効 性 に つ い て ,そ れ 以 上 の 評 価 は で き て い な い . また,今回の開発プロセスが実現できたのは, 3.3 節 に 示 し た ア ー キ テ ク チ ャ を 採 用 し た た め で あ る . こ の ア ー キ テ ク チ ャ の 検 討 は USDM で 行 な っ た が , 設 計 ・ 実 装 以 降 に USDM に 対 す る 手 戻りは発生しなかった. 6. 今 後 に つ い て 今 回 の ロ ボ コ ン 開 発 で は ,プ ロ ジ ェ ク ト マ ネ ジ メ ン ト 手 法 と し て ,CCPM を 用 い た .CCPM は , 個 々 の タ ス ク に 含 ま れ る 余 力 (バ ッ フ ァ )を プ ロ ジ ェ ク ト 全 体 に 集 め て 管 理 し ,そ の バ ッ フ ァ を 各 タ スクで融通し合うことでプロジェクトを回す手 法 で あ る [9]. こ の CCPM は , 通 常 PERT 図 な ど を 用 い て , ク リ テ ィ カ ル パ ス (ク リ テ ィ カ ル チ ェ ー ン )を 構 成 し て い く が ,未 知 の プ ロ ジ ェ ク ト で 成 果 物・タ ス クが明確でない場合,その実施が困難であった. し か し ,PFD に よ り 成 果 物・タ ス ク が は っ き り し た こ と で ,CCPM が う ま く 機 能 し た と 考 え て い る . ま た ,CCPM の 線 表 の 作 成 方 法 は ,最 終 の タ ス ク からクリティカルチェーンを作成する逆線表で あるため,最終成果物からプロセスを設計する PFD と の 相 性 が 良 い と 感 じ た . よ っ て , CCPM を 実 行 す る 上 で も ,PFD を 用 い る こ と は 非 常 に 有 効であると考えられる. ま た ,CCPM は ,プ ロ ジ ェ ク ト バ ッ フ ァ を 監 視 し て ,早 期 に リ ス ク を 抽 出 し て 対 処 す る と い う 特 徴 が あ り ,通 常 は ,発 生 リ ス ク に 対 し て ,人 員 の 追 加 ,ス コ ー プ の 絞 り 込 み ,開 発 期 間 の 延 長 等 で 対 処 す る .今 回 の 開 発 に お い て も 発 生 リ ス ク に 対 し て 人 員 の 配 置 を 変 更 す る こ と で 対 処 し た .し か し , PFD を 用 い て い る 場 合 , PFD で プ ロ セ ス を 再設計することでリスクに対処可能であると考 え て い る .今 後 ,こ の 点 に つ い て ,研 究 し て い き たい. 7. ま と め 本 論 文 で は ,ET ロ ボ コ ン の 開 発 に 対 し て ,PFD と USDM の 適 用 を 提 案 し た . 一 般 的 な ET ロ ボ コ ン に お け る ソ フ ト 開 発 を PFD を 用 い て 分 析 し た 結 果 ,多 く の 反 復 が プ ロ ジ ェ ク ト を コ ン ト ロ ー ル し づ ら く し て い る こ と が わ か っ た .本 論 文 で は , こ の 課 題 に 対 し , ET ロ ボ コ ン に 求 め ら れ る 成 果 物 を 精 査 し て PFD を 用 い る こ と で ET ロ ボ コ ン に 適 し た 開 発 プ ロ セ ス を 設 計 し た . ま た , ET ロ ボコン特有の成果物であるモデル図に求められ るトレーサビリティ (追跡可能性)について USDM を 用 い る こ と が 有 効 で あ る こ と を 示 し た . 文 献 [1] 2010 年 度 版 組 込 み ソ フ ト ウ ェ ア 産 業 実 態 調 査 ,経 産省, http://www.meti.go.jp/policy/mono_info_service/jo h o/downloadfiles/2010software_research/10project_h oukokusyo.pdf. [2] ET ロ ボ コ ン 2011 ホ ー ム ペ ー ジ , http://www.etrobo.jp/2011/index.php [3] 清 水 吉 男 , [改 訂 第 2 版 ] [入 門 + 実 践 ] 要 求 を 仕 様 化 す る 技 術・表 現 す る 技 術 ,技 術 評 論 社 ,(2010). [4] Tony Buzan,Barry Buzan,ザ・マ イ ン ド マ ッ プ , ダ イ ア モ ン ド 社 , 2005. [5] 赤 尾 洋 二 ,品 質 展 開 入 門 ,日 科 技 連 出 版 社 ,1990. [6] LTSA - Labelled Transition System Analyser , http://www.doc.ic.ac.uk/ltsa/ [7] 矢 野 宏 ,お は な し 品 質 工 学 ,日 本 規 格 協 会 ,2001. [8] PFD (Process Flow Diagram) の 書 き 方 , http://homepage3.nifty.com/koha_hp/process/PFDfor m3.pdf [9] 西 原 隆 ,栗 山 潤 ,TOC/CCPM 標 準 ハ ン ド ブ ッ ク ― ク リ テ ィ カ ル チ ェ ー ン・プ ロ ジ ェ ク ト マ ネ ジ メ ン ト 入 門 , 秀 和 シ ス テ ム , 2010. [10] Eliyahu Goldratt, ザ ・ ゴ ー ル 2- 思 考 プ ロ セ ス , ダ イ ヤ モ ン ド 社 , 2002. [11] ET ロ ボ コ ン 2011「 競 技 規 約 」, http://www.etrobo.jp/2011/gaiyou/kiyaku.php [12] ET ロ ボ コ ン 2011「 モ デ ル 審 査 基 準 」 http://www.etrobo.jp/2011/gaiyou/model.php [13] Erich Gamma, et al., オ ブ ジ ェ ク ト 指 向 に お け る 再 利 用 の た め の デ ザ イ ン パ タ ー ン [改 訂 版 ], ソ フ ト バ ン ク ク リ エ イ テ ィ ブ , 1999.