1 / 11

チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室

チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室. モデル班:丸山 勝久 石塚 聖啓 平井 孝 実装班:山本 哲男 筏谷 浩樹 原田 彬直. MDD ロボットチャレンジ 2005 主催者の皆様に感謝いたします.. モデル概要. 要求モデル (2 枚 ). … ユースケース図(調査システム,飛行船システム). クラス図(概念モデル) アクティビティ図(ユースケースごとに) … 非正常系の検討(タイマによる目的の切り替えと 制御不能モードの導入). 分析モデル (10 枚 ). クラス図(クラスの抽出,属性と操作の追加)

opa
Download Presentation

チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. チーム FSEL立命館大学情報理工学部ソフトウェア基礎技術研究室 モデル班:丸山 勝久 石塚聖啓 平井孝 実装班:山本 哲男 筏谷浩樹 原田彬直

  2. MDDロボットチャレンジ2005主催者の皆様に感謝いたします.MDDロボットチャレンジ2005主催者の皆様に感謝いたします.

  3. モデル概要 要求モデル(2枚) …ユースケース図(調査システム,飛行船システム) クラス図(概念モデル) アクティビティ図(ユースケースごとに) …非正常系の検討(タイマによる目的の切り替えと 制御不能モードの導入) 分析モデル(10枚) クラス図(クラスの抽出,属性と操作の追加) …シーケンス図(操作ごとに) 状態図(飛行船システム,飛行モード,タイマ) 設計モデル(15枚) モデル変換図(5枚) 通信部分のスレッド化とデータのロック …クラスから属性への変換 シーケンス図(操作ごとに,ループ終了条件と 分岐条件の詳細化) 詳細設計モデル(15枚) + 最終版クラス図(1枚) JudeでJavaプログラムのテンプレートを生成 C++プログラム(*.h, *.cpp)形式に変換 操作(メソッド)の中身をシーケンス図から追加 …座標計算アルゴリズムや通信プロトコルの実装 ソースコード(C++)

  4. モデルの作成

  5. クラス図(設計モデル)

  6. 最終版シーケンス図(自動飛行を開始する)

  7. 最終版クラス図 航法ドメイン 通信ドメイン 推進制御ドメイン

  8. アピールポイント • Model-Centric Development • ○ モデル → ソースコード,× ソースコード → モデル • 追跡可能性を意識 • 各モデルで名前を統一 • コードは追加のみ,通信に関するユーティリティクラスの追加のみ • 教育用モデル,参照モデルになることを目標 • 飛行船システムをできるだけ単純に表現 • 平行性の考慮(スレッドやデータのロックの導入,タイマの導入) • パターンの適用(strategy & read-write lock) • テスト容易性を考慮した要求分析 • ユースケースに保守者を追加(H/W試験をシステムに取り込む) • スレッドの割り当てを外部から指定できる実装 • (テストドライバ,シミュレータの同時開発) • 拡張性を考慮した設計 • UIクラスによるコンポーネント化,継承を用いたフレームワーク化

  9. ありがとうございます 問い合わせ mdd@fse.cs.ritsumei.ac.jp モデル公開Webページ http://www.fse.is.ritsumei.ac.jp/mdd/

  10. void Blimp::startAutomaticFlight() { controller->startAutomaticFlight(); Goal goal = plan.getFirstGoal(); controller->setGoal(goal); bool isFinalGoal = false; while (!isFinalGoal) { bool hasArrived = false; bool passed = false; while (!hasArrived && !passed) { flight(); showStatus(); hasArrived = controller->hasArrived(); if (!hasArrived) { passed = controller->passedBy(); } } if (hasArrived || passed) { isFinalGoal = plan.isFinalGoal(); if (!isFinalGoal) { goal = plan.getNextGoal(); controller->setGoal(goal); } } } stop(); } クラス図(1枚) シーケンス図(15枚) 1.JudeでJavaプログラムのテンプレートを生成 2.C++プログラム(*.h, *.cpp)に形式に変換 3.操作(メソッド)の中身をシーケンス図から追加 4.座標取得アルゴリズムや通信プロトコルの実装 * 2-4は手動で実施 ソースコード(C++)

More Related