Upload
baakir
View
57
Download
0
Embed Size (px)
DESCRIPTION
JASMINE シミュレーターの開発. JASMINE シミュレーター WG 山田良透(京大理). メンバー. 構築コアメンバー. 協力メンバー. その他アストロメトリ勉強会メンバー. Simulator の概要と目的. 装置・環境を含めた模擬観測からカタログ生成・利用までの統一的シミュレーション 目的 装置仕様 サイエンスとして何がどこまで 新観測モードの精度評価 部分(非全天)サーベイは世界初 解析手法(数億星)の検討. Simulator 開発のキーワード. オブジェクト指向 ⇒ UML ⇒ ツール CVS ⇒ テスティングフレームワーク - PowerPoint PPT Presentation
Citation preview
JASMINEシミュレーターの開発
JASMINEシミュレーターWG山田良透 (京大理 )
メンバー
山田良透 京都大学理 [email protected]
上田誠司 総研大 [email protected]
桑原 新潟大理 [email protected]
矢野太平 国立天文台位置天文 [email protected]
辻本拓司 国立天文台位置天文 [email protected]
官谷幸利 国立天文台電波 [email protected]
西亮一 新潟大理 [email protected]
郷田直輝 国立天文台位置天文 [email protected]
構築コアメンバー
協力メンバー
安田直樹 国立天文台データ解析セ [email protected]
真鍋盛二 国立天文台地球回転 [email protected]
田澤 国立天文台地球回転 [email protected]
小林行泰 国立天文台機器開発セ [email protected]
越田進太郎 国立天文台機器開発セ [email protected]
中島紀 国立天文台光赤外 [email protected]
松原英雄 宇宙化学研 [email protected]
上野宗孝 東京大 [email protected]
その他アストロメトリ勉強会メンバー
Simulatorの概要と目的装置・環境を含めた模擬観測からカタログ生成・利用までの統一的シミュレーション
目的装置仕様サイエンスとして何がどこまで
新観測モードの精度評価部分 (非全天 )サーベイは世界初
解析手法 (数億星 )の検討
Simulator開発のキーワードオブジェクト指向⇒UML⇒ツール
CVS⇒テスティングフレームワーク XML/Webサービス
次へ
Object指向技術の歴史と現状歴史
Simula(1967) Smalltalk(1972-1980, Xerox PARC) C++(1984) Java(1995)
ソフトウエア開発手法の一つのパラダイム新たなパラダイムも考案されている
Object指向とは3つの要素
自然な発想によるプログラミング仕様に対する柔軟性再利用性の高いソフトウエア
Objectとは状態 (属性 )振る舞い (メソッド )識別性
Object指向言語の特徴抽象化
問題に必要な性質だけを抽出カプセル化
データと操作の組と、適切なアクセス制御継承
性質を受け継ぐ多相性
受け継がれた性質に対して操作を上書き
Object指向言語Fortran C Fortran90 C++/Java
抽象化 ×common
△structure
△type
○class
カプセル化
× × △アクセス制御
○
継承 × × × ○
多相性 × × × ○
戻る
Powerfull Standard libraries
UMLUnified Modeling Languageモデルを記述するための図式
設計に利用9種類の図
クラス図、オブジェクト図、ユースケース図、状態図、アクティビティー図、シーケンス図、コラボレーション図、コンポーネント図、配置図
CASEツール外注では必須
ユースケース図
利用の仕方を表す要素
アクター ユースケース
クラス図クラス (オブジェクトの型 )定義
クラス同士の関係
デザインパターンプログラム設計で共通の単語を提供プログラム要素をクラスより大きな単位で管理
再利用性・拡張性の高いプログラムを作るための経験則
GoFが 23のパターンに整理 Erich Gamma, Richard Helm,
Ralph Johnson, John Vlissides
パターンの例 --Composite部分全体階層を実現したい
オブジェクト構造クラス階層ではどうするか?
戻る
Concurrent Version Systemバージョン管理ツールRcsの拡張
サーバークライアント形式枝の管理
フリーソフトウエアでは常識的企業では独自のものを使っている場合が多い
戻る
Cvsサーバーについて
Ssh2の DSA公開鍵を山田宛送付非公開の内容がアクセスできるので、アクセス可能なユーザーは秘密厳守が義務
Webdav導入の検討
サーバー名 cvs.jasmine-galaxy.org
レポジトリ名 /Jasmine/cvsroot
アクセス方法 ext
認証 ssh
現在の cvsレポジトリー構造simulator Jasmine Simulator開発用
apply 科研費等の申請書類作成
optics Centroid実験用プログラム
paper Jasmine関連論文執筆用
report レポート、中間報告
viewgraph 発表用ビューグラフ
宇宙モデルの設計全体
宇宙全体 観測スナップショット 太陽・地球、月
部分 Single Star Multiple Star 太陽系天体 銀河系外天体
観測装置の設計全体
Jasmine
部分 光学系 検出器
光学系はさらに部分を持つ
解析アルゴリズム検討課題複数の方法を検討容易に入れ替え可能 Strategyパターン
アルゴリズムカプセル化の一般的手法
開発における留意点 1Coding style
Sun Java Coding Conventions Gnu Coding Standards(C++)
単位系 SI単位系
開発における留意点 2Buildには antを使用するディレクトリー構造
src ソースツリー lib 外部ライブラリを置く (現在未使用 )
XML関連ライブラリ、描画、物理用 build コンパイル作業用 (antが生成 ) report テストレポート作業用 (junitが生成 )
dist 配布ファイル保存用 (antが生成 )
開発における留意点 3名前空間
jslibパッケージは Jsで始まるクラス名 Jasmineの側は特に指定しない
テストの実装 (XP) 他のパッケージの仕様を仮定している場合 仕様を定めている場合
ドキュメントの整備 仕様書 Javadoc ChangeLog
開発における留意点 4 Javaバージョン
標準プラットフォーム Debian, Redhat, Windows, Solaris
java 1.4で動作可能なことパッケージ
org/jasemine_galaxy/jslib org/jasemine_galaxy/jasmine org/jasmine_galaxy/astro org/jasmine_galaxy/sample パッケージごとに責任者を割り当てる
必要な開発環境
開発者 早期利用 利用者
Java開発環境○ ○
(実行環境 )
Ant ○ ○
Junit ○
全体設計について中間報告時点でのモデル化
対象、装置、操作、環境、成果物、利用さらに抽象度の高いモデル化の提案
上のモデル同士のつながりは予め定まるか? モデルと入出力・接続の分離
モデル /コンテナ /コネクタ /データ シミュレーション
コンテナとコネクタでシミュレーションを実装 コマンド
モデルモデル
モデル化の最小単位コンテナ
モデルに対する入出力の抽象化コネクター
コンテナを接続する部品データ
コネクターを流れるデータの抽象化シミュレーション
シミュレーションを、コンテナ・コネクタから組みあげる
ライブラリ起動・主フレーム終了印刷実行モードの選択ファイル入出力シミュレーションの選択GUI部品
JsMainと関連クラス
数種類のフレーム
Commandパターンの適用
Model/container/connector
今後の進め方ライセンスモデルを決める
オープンソース保守は cygnus形式 Jasmineグループが保持 (有償提供 )
暫定的な公開方法 Jarファイルをメンバー限定Webページソースは cvsサーバー
議論はMLで
参考文献「 just Java2」、 Peter van der Linden
邦訳 ASCII、中田秀基 ISBN4-7561-3598-6、 5800円 オブジェクト指向における再利用のための「デザインパターン」、 Erich Gamma、 Richard Helm、 Ralph Johnson、 John Vlissides
邦訳 SoftBank、本位田真一 /吉田和樹監訳ISBN4-7973-1112-6、 4800円
「 eXtreme Programming テスト技法」 日本 XPユーザーグループ、長瀬嘉秀監修
ISBN4-7981-0128-1、 2400円
今後の課題機能の追加