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

Slides:



Advertisements
Similar presentations
All Rights Reserved Copyright © 2004, Takashi Kobayashi 1 ロバストネス分析の演習問題 <問題1> 次の文をよんで問いに答えよ。 顧客は、 ATM により自分の口座から預金を払い出す。 顧客は、 ATM にキャッシュカードを挿入し、個人認証を行う。
Advertisements

メタモデル記述を用いた成果物間の依存関係追跡手法
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
東京工科大学 コンピュータサイエンス学部 亀田弘之
シーケンス図の生成のための実行履歴圧縮手法
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
アルゴリズムとプログラミング (Algorithms and Programming)
JPAを利用した RESTful Webサービスの開発
スレッドの同期と、スレッドの使用例 スレッドの同期 Lockオブジェクト: lockオブジェクトの生成
エンタープライズアプリケーション II 第10回 / 2006年7月23日
ソフトウェア工学 知能情報学部 新田直也.
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
ユースケース図 FM12012 比嘉久登.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
ユーリテクノスのFlashテクノロジーを 利用した様々なサービスのご提案
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
エージェントベース経済シミュレーション におけるフレームワークデザイン
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
高度情報演習1A “テーマC” 実践 画像処理プログラミング 〜画像認識とCGによる画像生成〜 第三回 演習課題 画像中からの物体抽出処理(色情報を手がかりとして) 芝浦工業大学 工学部 情報工学科 青木 義満 2006/05/08.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
プログラム静的解析手法の効率化と 解析フレームワークの構築に関する研究
データ構造と アルゴリズム 第四回 知能情報学部 新田直也.
UMLとは           032234 田邊祐司.
川口真司 松下誠 井上克郎 大阪大学大学院情報科学研究科
続・WebApplication研究 2001年度秋学期大岩研究会2 第一回 ~紹介~.
SVGを用いた地震データ検索・3D表示アプリケーションの開発
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
その他の図 Chapter 7.
暗黙的に型付けされる構造体の Java言語への導入
シーケンス図を用いて実行履歴を可視化するデバッグ環境の試作
Javaプログラムの変更を支援する 影響波及解析システム
アスペクト指向に基づく 拡張可能な MDAモデルコンパイラ
社会シミュレーションのための モデル作成環境
コードクローン検出ツールを用いた ソースコード分析システムの試作と プログラミング演習への適用
     年  月  日 名前 太郎 x 班.
ゲーム開発モデルの基礎.
ミドルウェア”TSUNAGI”を 用いたWEBアプリケーションの構築
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
動的データ依存関係解析を用いた Javaプログラムスライス手法
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
UMLモデルを対象とした リファクタリング候補検出の試み
コードクローン検出に基づくデザイン パターン適用支援手法の提案と実現
OpenCV について OpenCV とは OpenCV の Python プログラム例 配列 画像の B, G, R の 3成分
東京工科大学 コンピュータサイエンス学部 亀田弘之
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
UMLの概要とオブジェクト指向の基本概念
コーディングパターンの あいまい検索の提案と実装
JAVAバイトコードにおける データ依存解析手法の提案と実装
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
同期処理のモジュール化を 可能にする アスペクト指向言語
プログラムの差分記述を 容易に行うための レイヤー機構付きIDEの提案
オープンソースソフトウェアに対する コーディングパターン分析の適用
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
統合開発環境のための プログラミング言語拡張 フレームワーク
ソフトウェア工学 知能情報学部 新田直也.
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
コードクローン解析に基づく デザインパターン適用候補の検出手法
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
プログラミング 平成28年10月25日 森田 彦.
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
Presentation transcript:

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

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

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

モデルの作成

クラス図(設計モデル)

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

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

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

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

クラス図(1枚) シーケンス図(15枚) ソースコード(C++) 1.JudeでJavaプログラムのテンプレートを生成 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(); stop(); クラス図(1枚) シーケンス図(15枚) 1.JudeでJavaプログラムのテンプレートを生成 2.C++プログラム(*.h, *.cpp)に形式に変換 3.操作(メソッド)の中身をシーケンス図から追加 4.座標取得アルゴリズムや通信プロトコルの実装 * 2-4は手動で実施 ソースコード(C++)