Jasmine
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

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


  • 109 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.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山田良透(京大理)


Jasmine

メンバー

構築コアメンバー

協力メンバー


Jasmine

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


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指向言語の特徴

  • 抽象化

    • 問題に必要な性質だけを抽出

  • カプセル化

    • データと操作の組と、適切なアクセス制御

  • 継承

    • 性質を受け継ぐ

  • 多相性

    • 受け継がれた性質に対して操作を上書き


Object3

Object指向言語


Jasmine

Powerfull Standard libraries

戻る


Uml unified modeling language

UMLUnified Modeling Language

  • モデルを記述するための図式

    • 設計に利用

  • 9種類の図

    • クラス図、オブジェクト図、ユースケース図、状態図、アクティビティー図、シーケンス図、コラボレーション図、コンポーネント図、配置図

  • CASEツール

  • 外注では必須


Jasmine

ユースケース図

  • 利用の仕方を表す

  • 要素

    • アクター

    • ユースケース


Jasmine

クラス図

  • クラス(オブジェクトの型)定義

  • クラス同士の関係


Jasmine

デザインパターン

  • プログラム設計で共通の単語を提供

  • プログラム要素をクラスより大きな単位で管理

  • 再利用性・拡張性の高いプログラムを作るための経験則

  • GoFが23のパターンに整理

    • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides


Composite

パターンの例--Composite

  • 部分全体階層を実現したい

  • オブジェクト構造

  • クラス階層ではどうするか?

戻る


Concurrent version system

Concurrent Version System

  • バージョン管理ツール

  • Rcsの拡張

    • サーバークライアント形式

    • 枝の管理

  • フリーソフトウエアでは常識的

    • 企業では独自のものを使っている場合が多い

戻る


Jasmine

Cvsサーバーについて

  • Ssh2のDSA公開鍵を山田宛送付

  • 非公開の内容がアクセスできるので、アクセス可能なユーザーは秘密厳守が義務

  • Webdav導入の検討


Jasmine

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


Jasmine

宇宙モデルの設計

  • 全体

    • 宇宙全体

    • 観測スナップショット

    • 太陽・地球、月

  • 部分

    • Single Star

    • Multiple Star

    • 太陽系天体

    • 銀河系外天体


Jasmine

観測装置の設計

  • 全体

    • Jasmine

  • 部分

    • 光学系

    • 検出器

  • 光学系はさらに部分を持つ


Jasmine

解析アルゴリズム

  • 検討課題

  • 複数の方法を検討

  • 容易に入れ替え可能

  • Strategyパターン

    • アルゴリズムカプセル化の一般的手法


Jasmine

開発における留意点1

  • Coding style

    • Sun Java Coding Conventions

    • Gnu Coding Standards(C++)

  • 単位系

    • SI単位系


Jasmine

開発における留意点2

  • Buildにはantを使用する

  • ディレクトリー構造

    • srcソースツリー

    • lib外部ライブラリを置く(現在未使用)

      • XML関連ライブラリ、描画、物理用

    • buildコンパイル作業用(antが生成)

    • reportテストレポート作業用(junitが生成)

    • dist配布ファイル保存用(antが生成)


Jasmine

開発における留意点3

  • 名前空間

    • jslibパッケージはJsで始まるクラス名

    • Jasmineの側は特に指定しない

  • テストの実装(XP)

    • 他のパッケージの仕様を仮定している場合

    • 仕様を定めている場合

  • ドキュメントの整備

    • 仕様書

    • Javadoc

    • ChangeLog


Jasmine

開発における留意点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

    • パッケージごとに責任者を割り当てる


Jasmine

必要な開発環境


Jasmine

全体設計について

  • 中間報告時点でのモデル化

    • 対象、装置、操作、環境、成果物、利用

  • さらに抽象度の高いモデル化の提案

    • 上のモデル同士のつながりは予め定まるか?

    • モデルと入出力・接続の分離

      • モデル/コンテナ/コネクタ/データ

    • シミュレーション

      • コンテナとコネクタでシミュレーションを実装

    • コマンド


Jasmine

モデル

  • モデル

    • モデル化の最小単位

  • コンテナ

    • モデルに対する入出力の抽象化

  • コネクター

    • コンテナを接続する部品

  • データ

    • コネクターを流れるデータの抽象化

  • シミュレーション

    • シミュレーションを、コンテナ・コネクタから組みあげる


Jasmine

ライブラリ

  • 起動・主フレーム

  • 終了

  • 印刷

  • 実行モードの選択

  • ファイル入出力

  • シミュレーションの選択

  • GUI部品


Jsmain

JsMainと関連クラス


Jasmine

数種類のフレーム


Command

Commandパターンの適用


Model container connector

Model/container/connector


Jasmine

今後の進め方

  • ライセンスモデルを決める

    • オープンソース

    • 保守はcygnus形式

    • Jasmineグループが保持(有償提供)

  • 暫定的な公開方法

    • Jarファイルをメンバー限定Webページ

    • ソースはcvsサーバー

  • 議論はMLで


Jasmine

参考文献

  • 「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円


Jasmine

今後の課題

  • 機能の追加


  • Login