1 / 36

JASMINE シミュレーターの開発

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

baakir
Télécharger la présentation

JASMINE シミュレーターの開発

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. JASMINEシミュレーターの開発 JASMINEシミュレーターWG山田良透(京大理)

  2. メンバー 構築コアメンバー 協力メンバー

  3. その他アストロメトリ勉強会メンバー

  4. Simulatorの概要と目的 • 装置・環境を含めた模擬観測からカタログ生成・利用までの統一的シミュレーション • 目的 • 装置仕様サイエンスとして何がどこまで • 新観測モードの精度評価部分(非全天)サーベイは世界初 • 解析手法(数億星)の検討

  5. Simulator開発のキーワード • オブジェクト指向⇒ • UML⇒ • ツール • CVS⇒ • テスティングフレームワーク • XML/Webサービス • 次へ

  6. Object指向技術の歴史と現状 • 歴史 • Simula(1967) • Smalltalk(1972-1980, Xerox PARC) • C++(1984) • Java(1995) • ソフトウエア開発手法の一つのパラダイム • 新たなパラダイムも考案されている

  7. Object指向とは • 3つの要素 • 自然な発想によるプログラミング • 仕様に対する柔軟性 • 再利用性の高いソフトウエア • Objectとは • 状態(属性) • 振る舞い(メソッド) • 識別性

  8. Object指向言語の特徴 • 抽象化 • 問題に必要な性質だけを抽出 • カプセル化 • データと操作の組と、適切なアクセス制御 • 継承 • 性質を受け継ぐ • 多相性 • 受け継がれた性質に対して操作を上書き

  9. Object指向言語

  10. Powerfull Standard libraries 戻る

  11. UMLUnified Modeling Language • モデルを記述するための図式 • 設計に利用 • 9種類の図 • クラス図、オブジェクト図、ユースケース図、状態図、アクティビティー図、シーケンス図、コラボレーション図、コンポーネント図、配置図 • CASEツール • 外注では必須

  12. ユースケース図 • 利用の仕方を表す • 要素 • アクター • ユースケース

  13. クラス図 • クラス(オブジェクトの型)定義 • クラス同士の関係

  14. デザインパターン • プログラム設計で共通の単語を提供 • プログラム要素をクラスより大きな単位で管理 • 再利用性・拡張性の高いプログラムを作るための経験則 • GoFが23のパターンに整理 • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

  15. パターンの例--Composite • 部分全体階層を実現したい • オブジェクト構造 • クラス階層ではどうするか? 戻る

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

  17. Cvsサーバーについて • Ssh2のDSA公開鍵を山田宛送付 • 非公開の内容がアクセスできるので、アクセス可能なユーザーは秘密厳守が義務 • Webdav導入の検討

  18. 現在のcvsレポジトリー構造

  19. 宇宙モデルの設計 • 全体 • 宇宙全体 • 観測スナップショット • 太陽・地球、月 • 部分 • Single Star • Multiple Star • 太陽系天体 • 銀河系外天体

  20. 観測装置の設計 • 全体 • Jasmine • 部分 • 光学系 • 検出器 • 光学系はさらに部分を持つ

  21. 解析アルゴリズム • 検討課題 • 複数の方法を検討 • 容易に入れ替え可能 • Strategyパターン • アルゴリズムカプセル化の一般的手法

  22. 開発における留意点1 • Coding style • Sun Java Coding Conventions • Gnu Coding Standards(C++) • 単位系 • SI単位系

  23. 開発における留意点2 • Buildにはantを使用する • ディレクトリー構造 • src ソースツリー • lib 外部ライブラリを置く(現在未使用) • XML関連ライブラリ、描画、物理用 • build コンパイル作業用(antが生成) • report テストレポート作業用(junitが生成) • dist 配布ファイル保存用(antが生成)

  24. 開発における留意点3 • 名前空間 • jslibパッケージはJsで始まるクラス名 • Jasmineの側は特に指定しない • テストの実装(XP) • 他のパッケージの仕様を仮定している場合 • 仕様を定めている場合 • ドキュメントの整備 • 仕様書 • Javadoc • ChangeLog

  25. 開発における留意点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 • パッケージごとに責任者を割り当てる

  26. 必要な開発環境

  27. 全体設計について • 中間報告時点でのモデル化 • 対象、装置、操作、環境、成果物、利用 • さらに抽象度の高いモデル化の提案 • 上のモデル同士のつながりは予め定まるか? • モデルと入出力・接続の分離 • モデル/コンテナ/コネクタ/データ • シミュレーション • コンテナとコネクタでシミュレーションを実装 • コマンド

  28. モデル • モデル • モデル化の最小単位 • コンテナ • モデルに対する入出力の抽象化 • コネクター • コンテナを接続する部品 • データ • コネクターを流れるデータの抽象化 • シミュレーション • シミュレーションを、コンテナ・コネクタから組みあげる

  29. ライブラリ • 起動・主フレーム • 終了 • 印刷 • 実行モードの選択 • ファイル入出力 • シミュレーションの選択 • GUI部品

  30. JsMainと関連クラス

  31. 数種類のフレーム

  32. Commandパターンの適用

  33. Model/container/connector

  34. 今後の進め方 • ライセンスモデルを決める • オープンソース • 保守はcygnus形式 • Jasmineグループが保持(有償提供) • 暫定的な公開方法 • Jarファイルをメンバー限定Webページ • ソースはcvsサーバー • 議論はMLで

  35. 参考文献 • 「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円

  36. 今後の課題 • 機能の追加

More Related