電脳Rubyプロジェクト概要 堀之内 武(京大生存圏研究所),

Slides:



Advertisements
Similar presentations
シミュレーション演習 G. 総合演習 ( Mathematica 演 習) システム創成情報工学科 テキスト作成: 藤尾 光彦 講義担当: 尾下 真樹.
Advertisements

多次元データ 解析・可視化ソフトウェア GAVE A Grid Data Analyzer and Viewer, GAVE 竹本 和彰 北海道大学理学部地球科学科 地球流体力学研究室 4年 2004 年 2 月 3 日.
Ruby on Rail の紹介 石渡正樹 Ruby on Rails とは? スクリプト言語 Ruby で書かれた web アプリケー ションフレームワーク 作者 –Devid Heinemeier Hansson という人だそうです ( 詳 しいことは知りません.
ITPASS Informational Training program with a spirit of self-help オプション課題の概要 高橋芳幸.
AdventNet SwisSQL データベース自動移行ツール.
シーケンス図の生成のための実行履歴圧縮手法
IIS 4.0で開発をするコツ Webアプリケーション構築.
Doxygen ~ IGModel を一例にした, 数値モデルのドキュメンテーションにおける Doxygen の利用
資料3-7 NIEM等 海外調査報告 経済産業省 CIO補佐官 平本健二.
理学院 宇宙理学専攻 惑星物理学研究室 修士 2 年 徳永 義哉
C言語システムプログラミング クラス分け 1の人:紫合クラス(302教室) 学籍番号を3で割った余りが、 0の人:冬爪クラス(208教室)
コンピュータプラクティス I 再現性 水野嘉明
大気再解析データを用いた 帯状平均場の解析
物理実験 I 情報実験第9回 Modified 2005/12/2 徳永 義哉Original 2003/12/12 中神 雄一
数式処理ソフトウェア のご紹介 株式会社ライトストーン 高橋 直生.
数値モデルの出力データをどのように取り扱っているか?
リアルタイムシステムに 上流設計ツールは有効か?
水工学夏期研修会 2012年8月27日 CommonMPによる流出計算 菊森 佳幹(よしと) 1.
解析サーバの現状と未来 2006/07/18 衛星データ処理勉強会 村上 弘志 現状のシステム構成など 統合解析環境としての整備
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
Debian GNU/Linux ー Linuxインストールに必要な基礎知識 ー 三上 彩 鈴木 倫太郎
(original Takagi & Saito, 2007)
共同ローカリゼーション フレームワーク 井上 謙次.
MATLAB測位プログラミングの 基礎とGT (1)
北海道大学大学院理学研究科地球惑星科学専攻 地球流体力学研究室 M1 山田 由貴子
「C++言語」習得のための実践的研究 -「テンプレート」,「例外処理」,「実行時型情報」-
インターネットを利用した 数学自習用教材の開発
davis / gtool4 プロジェクト その背景と野望
JavaBeans とJSP データベース論 第5回.
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
東京大学空間情報科学研究センターを 中心とした空間情報データベースの整備
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
SPMODEL - ISPACK と gt4f90io による数値モデル開発 -
シミュレーション論 Ⅱ 第15回 まとめ.
All IP Computer Architecture
独習Java ・ 8.1  例外処理 ・ 8.2  catch ブロックの検索  12月 5日    小笠原 一恵.
2011年4月14日 電子制御設計製図Ⅰ 第一回 担当教員: 北川輝彦.
2014年4月4日 電子制御設計製図Ⅰ 第一回 担当教員: 北川輝彦.
ソフトウェア情報学総論 基盤ソフトウェア学講座
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
プログラミング言語入門.
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
平成30年度高知工科大学教職科目 微分方程式特論I 11 高知大学教育学部技術教育コース 北川 晃.
コードクローン検出ツールを用いた ソースコード分析システムの試作と プログラミング演習への適用
ゲーム開発モデルの基礎.
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
COM コンポーネント・オブジェクト・モデル.
Fortranについて 高エネルギー加速器研究機構 平山 英夫.
物理的側面を表現する図 Chapter6 物理的側面を表現する図について徐研究室の大楠が発表します。 FM13005 大楠拓也 徐研究室.
アプリケーション依存の先読みが可能なO/Rマッピングツール
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
Java における 先進的リフレクション技術
項目間の対応関係を用いた XBRL財務報告書自動変換ツールの試作
統計ソフトウエアRの基礎.
統合開発環境によって表現された 言語機構によるコードのモジュール化
設計情報の再利用を目的とした UML図の自動推薦ツール
ガイダンス 電子計算機 電気工学科 山本昌志 1E
Javaによる Webアプリケーション入門 第4回
「マイグレーションを支援する分散集合オブジェクト」
プログラム分散化のための アスペクト指向言語
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
オブジェクト指向言語論 第一回 知能情報学部 新田直也.
C#プログラミング実習 第1回.
Ⅲ 地球地図アプリケーション戦略の施策案(2)
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

電脳Rubyプロジェクト概要 堀之内 武(京大生存圏研究所), 西澤 誠也, 高橋 憲義, 水田 亮, 豊田 英司, 塚原 大輔, 竹本 和彰, 小高 正嗣, 林 祥介, 石渡 正樹, 塩谷 雅人, 乙部直人、中野 満寿男, 中島 健介, 神代 剛, 谷口 弘智, 電脳Rubyプロジェクト

目的 Rubyを地球・惑星流体データの解析、可視化、シミュレーション、データベースに用いるための基礎的なライブラリー群を開発する。

なぜ Ruby? 型なし、スクリプト言語(インタープリター) ⇒ 素早くプログラムが開発できる   ⇒ 素早くプログラムが開発できる 洗練され使いやすいオブジェクト指向言語 ⇒ 開発・保守効率がよく、汎用なソフトを作り易い ⇒ コミュニティーでツールの共有 対話的に利用可能 ⇒ 試行錯誤に良い 拡張性が高い ⇒ CやFortranのライブラリーの有効利用 増え続けるライブラリー(ネットワーク関連 / GUI / データベース等々) ⇒ 高度なサービスを実現しやすい。 文字処理が容易(データ解析中に文字処理が必要になることは多い) ゴミ集め、例外処理等の近代的支援機能あり

既存のツール・言語があるじゃん? IDL, Matlab GrADS C,C++,Java,Fortran 手続き型 ⇒ 汎用なプログラムを作りにくい IDL: 拡張性・発展性に乏しい。Matlab:いろんなツールボックスがあるけど揃えるのは高価。 GrADS 気象分野ではよく使われているが出来ることが限られすぎ C,C++,Java,Fortran データを前に試行錯誤する現場において直接使うのは非効率。むしろインフラ整備向き。

Rubyの利用:実行速度の問題 流体の場合、計算量を増やすのは主にデータサイズ(グリッド数) ⇒ 流体の場合、計算量を増やすのは主にデータサイズ(グリッド数) ⇒ Cのべた並びポインターを構造体にくるんだ多次元数値配列クラスNArrayを利用 C等で書かれた既存数値計算ライブラリーをラッピング

地球流体電脳倶楽部 電脳Rubyプロジェクト 基本的にボランティアベース 現在は、格子点データの解析・可視化関連の開発と情報交換が中心

電脳Rubyホームページ(日本語版) http://ruby.gfd-dennou.org 地球流体電脳倶楽部トップはhttp://www.gfd-dennou.org

電脳Rubyホームページ(英語版) http://ruby.gfd-dennou.org

主な電脳Ruby製品の一覧 (2004年5月現在) 基礎 中間 応用 多次元配列 その他 数値計算・統計ライブラリ NArray Misc 数値配列 プログラミング補助 Misc SSL2ラッパー RubySSL2 NArrayMiss 欠損値付 FFTW3ラッパー 多ビット整数(1D) Units 単位 RubyFFTW3 Multibitnums ファイルIO グラフィックス RubyNetCDF GrADS_Gridded GPV RubyDCL NetCDFラッパ GrADS形式 気象庁データ DCLラッパー 中間 データハンドリング基礎 格子点上の多次元物理量を 包括的に扱うライブラリ GPhys 応用 グラフィックス GUI・グラフィックス 遠隔データアクセス GPhys可視化 (GPhys付属) GPhysデータの解析・可視化 サーバー・クライアント GGraph gave gphys_remote 枠の色: 地の色: (ほぼ)安定 結構開発が進行 初期段階 Pure Ruby Cによる拡張ライブラリ 斜線:プロジェクト外

「中間層」:格子点データ取り扱い基礎ライブラリー GPhys 名前は Gridded Physical quantity より 格子点状に離散化された多次元の物理量を抽象化したクラス 配列データ、格子etc関する付加情報を持つ。単位有。 データの実態は様々あり得る(統一的に扱われる): メモリ上の配列プラス付加情報 ファイル中に存在(現在はNetCDFとGrADSの2形式) 他のGPhysのサブセット/複数GPhysの合成 数学・統計演算などサポート(但しまだ限られている) メモリー上に乗り切らない巨大データも扱えるよう配慮

応用ライブラリー GPhysを利用する形で構築 GPhysを利用する利点 グラフィカルユーザーインターフェースgave (by 西澤) 分散オブジェクトによる格子点データの遠隔サービス gphys-remote(プロトタイプ版)分散オブジェクトライブラリーdRuby利用 GPhys可視化ライブラリーGGraph GPhysを利用する利点 応用プログラムをデータの物理的な構造による制約から解放: GPhysがサポートするファイル形式が増えれば、応用ライブラリーが扱えるファイル形式が自動的に増える。 ファイル中のデータと、それを読み込んで加工したデータが全く同列に扱える。

gaveのスクリーンショット

パッケージ化 Linux用:Debianパッケージ、RPM Windows用:VC++版用(整備中)、Cygwinパッケージ UNIX系汎用一括インストーラー(ダウンロード込み)

今後期待される発展 インフラの一層の充実! gave等のGUI, グラフィックライブラリーの充実 分散オブジェクトの活用 Webサービス 数学・統計処理や気象学等個別分野用ライブラリーなど (汎用なライブラリーが作りやすい ⇒ コミュニティーのソフトウェア資産形成) サポートするファイル形式の増加、などなど gave等のGUI, グラフィックライブラリーの充実 分散オブジェクトの活用 データベースとの連携による、遠隔データの解析・可視化の充実 データ公開サーバー構築 Webサービス 数値シミュレーションへの応用 シミュレーションコードが短く、見通し良く書ける。但し遅い。 別言語のコード生成(中野らの発表)

fin

なぜオブジェクト指向? データの抽象化が必要 コンポーネント間の依存性を減らす必要 似たような、しかし異なるデータが沢山(ファイル形式、次元性、ジオメトリ、単位…)。 抽象化しないと、微妙に異なるプログラムが沢山必要。(プログラムの再利用性が悪い。∴コミュニティーでツールの共有が難しい。)  [抽象化:物理構造ベース⇒論理ベース] コンポーネント間の依存性を減らす必要 組み合わせて使うソフトが、それぞれ互いの変更に出来るだけ影響されないようにしないと維持が大変。