jasmine
Download
Skip this Video
Download Presentation
JASMINE シミュレーターの開発

Loading in 2 Seconds...

play fullscreen
1 / 36

JASMINE シミュレーターの開発 - PowerPoint PPT Presentation


  • 172 Views
  • Uploaded on

JASMINE シミュレーターの開発. JASMINE シミュレーター WG 山田良透(京大理). メンバー. 構築コアメンバー. 協力メンバー. その他アストロメトリ勉強会メンバー. Simulator の概要と目的. 装置・環境を含めた模擬観測からカタログ生成・利用までの統一的シミュレーション 目的 装置仕様 サイエンスとして何がどこまで 新観測モードの精度評価 部分(非全天)サーベイは世界初 解析手法(数億星)の検討. Simulator 開発のキーワード. オブジェクト指向 ⇒ UML ⇒ ツール CVS ⇒ テスティングフレームワーク

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' JASMINE シミュレーターの開発' - baakir


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
jasmine

JASMINEシミュレーターの開発

JASMINEシミュレーターWG山田良透(京大理)

slide2
メンバー

構築コアメンバー

協力メンバー

simulator
Simulatorの概要と目的
  • 装置・環境を含めた模擬観測からカタログ生成・利用までの統一的シミュレーション
  • 目的
    • 装置仕様サイエンスとして何がどこまで
    • 新観測モードの精度評価部分(非全天)サーベイは世界初
    • 解析手法(数億星)の検討
simulator1
Simulator開発のキーワード
  • オブジェクト指向⇒
  • UML⇒
  • ツール
    • CVS⇒
    • テスティングフレームワーク
    • XML/Webサービス
  • 次へ
object
Object指向技術の歴史と現状
  • 歴史
    • Simula(1967)
    • Smalltalk(1972-1980, Xerox PARC)
    • C++(1984)
    • Java(1995)
  • ソフトウエア開発手法の一つのパラダイム
    • 新たなパラダイムも考案されている
object1
Object指向とは
  • 3つの要素
    • 自然な発想によるプログラミング
    • 仕様に対する柔軟性
    • 再利用性の高いソフトウエア
  • Objectとは
    • 状態(属性)
    • 振る舞い(メソッド)
    • 識別性
object2
Object指向言語の特徴
  • 抽象化
    • 問題に必要な性質だけを抽出
  • カプセル化
    • データと操作の組と、適切なアクセス制御
  • 継承
    • 性質を受け継ぐ
  • 多相性
    • 受け継がれた性質に対して操作を上書き
uml unified modeling language
UMLUnified Modeling Language
  • モデルを記述するための図式
    • 設計に利用
  • 9種類の図
    • クラス図、オブジェクト図、ユースケース図、状態図、アクティビティー図、シーケンス図、コラボレーション図、コンポーネント図、配置図
  • CASEツール
  • 外注では必須
slide12
ユースケース図
  • 利用の仕方を表す
  • 要素
    • アクター
    • ユースケース
slide13
クラス図
  • クラス(オブジェクトの型)定義
  • クラス同士の関係
slide14
デザインパターン
  • プログラム設計で共通の単語を提供
  • プログラム要素をクラスより大きな単位で管理
  • 再利用性・拡張性の高いプログラムを作るための経験則
  • GoFが23のパターンに整理
    • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
composite
パターンの例--Composite
  • 部分全体階層を実現したい
  • オブジェクト構造
  • クラス階層ではどうするか?

戻る

concurrent version system
Concurrent Version System
  • バージョン管理ツール
  • Rcsの拡張
    • サーバークライアント形式
    • 枝の管理
  • フリーソフトウエアでは常識的
    • 企業では独自のものを使っている場合が多い

戻る

slide17
Cvsサーバーについて
  • Ssh2のDSA公開鍵を山田宛送付
  • 非公開の内容がアクセスできるので、アクセス可能なユーザーは秘密厳守が義務
  • Webdav導入の検討
slide19
宇宙モデルの設計
  • 全体
    • 宇宙全体
    • 観測スナップショット
    • 太陽・地球、月
  • 部分
    • Single Star
    • Multiple Star
    • 太陽系天体
    • 銀河系外天体
slide20
観測装置の設計
  • 全体
    • Jasmine
  • 部分
    • 光学系
    • 検出器
  • 光学系はさらに部分を持つ
slide21
解析アルゴリズム
  • 検討課題
  • 複数の方法を検討
  • 容易に入れ替え可能
  • Strategyパターン
    • アルゴリズムカプセル化の一般的手法
slide22
開発における留意点1
  • Coding style
    • Sun Java Coding Conventions
    • Gnu Coding Standards(C++)
  • 単位系
    • SI単位系
slide23
開発における留意点2
  • Buildにはantを使用する
  • ディレクトリー構造
    • src ソースツリー
    • lib 外部ライブラリを置く(現在未使用)
      • XML関連ライブラリ、描画、物理用
    • build コンパイル作業用(antが生成)
    • report テストレポート作業用(junitが生成)
    • dist 配布ファイル保存用(antが生成)
slide24
開発における留意点3
  • 名前空間
    • jslibパッケージはJsで始まるクラス名
    • Jasmineの側は特に指定しない
  • テストの実装(XP)
    • 他のパッケージの仕様を仮定している場合
    • 仕様を定めている場合
  • ドキュメントの整備
    • 仕様書
    • Javadoc
    • ChangeLog
slide25
開発における留意点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
    • パッケージごとに責任者を割り当てる
slide27
全体設計について
  • 中間報告時点でのモデル化
    • 対象、装置、操作、環境、成果物、利用
  • さらに抽象度の高いモデル化の提案
    • 上のモデル同士のつながりは予め定まるか?
    • モデルと入出力・接続の分離
      • モデル/コンテナ/コネクタ/データ
    • シミュレーション
      • コンテナとコネクタでシミュレーションを実装
    • コマンド
slide28
モデル
  • モデル
    • モデル化の最小単位
  • コンテナ
    • モデルに対する入出力の抽象化
  • コネクター
    • コンテナを接続する部品
  • データ
    • コネクターを流れるデータの抽象化
  • シミュレーション
    • シミュレーションを、コンテナ・コネクタから組みあげる
slide29
ライブラリ
  • 起動・主フレーム
  • 終了
  • 印刷
  • 実行モードの選択
  • ファイル入出力
  • シミュレーションの選択
  • GUI部品
slide34
今後の進め方
  • ライセンスモデルを決める
    • オープンソース
    • 保守はcygnus形式
    • Jasmineグループが保持(有償提供)
  • 暫定的な公開方法
    • Jarファイルをメンバー限定Webページ
    • ソースはcvsサーバー
  • 議論はMLで
slide35
参考文献
  • 「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円
slide36
今後の課題
  • 機能の追加
ad