題名:SETI@Support

五郎の入り口に戻る

日付:1999/7/16

 最初に注意事項 | 主な機能 | Down Load | インストール方法/使い方 | 

 プログラムが作るファイルについて | Known Bugs.. | 開発環境 | 謝辞   to English page


SETI@Support-ver0.75の使い方-(2001/12/24改訂)-Mac OS X版追加

本プログラムはSETI@homeのクライアントソフトの助けになればな、と思ってつくりました。

解析中のデータが天空のどちらからきたものかを表示してくれますし、データの自動更新機能もついてます。(プログラムがうまく動くとしての話ですが)新しいデータを受け取ったときは、それまで解析していたデータの結果サマリーを追加して登録していきます。

またText-Onlyのクライアントを使われている方は、解析状況表示プログラムとしても使えます。 

本プログラムの名前については作成者本人ももうちょっとましな名前は無いかと思っているのですが、名前に凝るほどのプログラムでもないと思ってこのままにしてあります。バージョン番号の小ささは私の自信のなさをあらわすものです。

画面表示例+私の解析結果はここをご覧ください。

Macintosh専用ですが、「Work Unitをまとめてダウンロードして、とっかえひっかえ解析したい」とか「もっと軽いプログラムでログがとりたい」という方は、拙作GSISをご利用ください。

2001/4/1[Ver0.75での変更点]

 [機能追加の類]

  • 記録するデータに"Angle Range"を追加。(Team DSL Reportsのご要望によります)

Ver0.74以前からの移行方法

単にSETISupport.runもしくはSETISupport.jarを入れ替えてください。。。設定ファイル等はそのまま使えます。(少なくともそのはずです)

 

最初に注意事項

本プログラムはJavaで作成されたApplicationです。従ってJDK1.1以降(たぶん)のJava Application実行環境が必要です。Macintosh OS9.Xであれば、MRJ 2.0以降をインストールしてください。

WIndows-95,98 and NT userの方であれば、Internet Explorer 4 もしくは5をインストールしていれば使用が可能です。やり方は後述します。

Internet Explorerを使っていらっしゃらない方はJDK1.1以降のJavaの実行環境(JRE)をインストールしてからお使いくださいな。

Javaですから、しかるべく環境が整っていればUNIX上でも動くのかもしれませんが、動作を確認できる環境もないし、、、、ということで説明からは省かせていただきます。あるWeb SiteでSolaris + JDK1.2.1で動く事が表示されています。またLinux + JDK1.2でも動くと教えていただきました(Thans! Wadaさん)

 

このプログラムに関する意見、バグレポートその他何でも私に言いたいことがある方はまでお願いいたします。バグ及び改善意見に関しては余技でやっていることでもありすべて対応するとは約束できませんが、できる限りのことはしたいと思っています。

 

本プログラムはSETI@homeに関してこれまでに作成されたあれこれのツール(後ろにまとめて謝辞があります)を参考に作った物です。しかしながら肝心要のSETI@homeの解析プログラムのソースコード及び動作仕様詳細については公開されていません。

従って大きくあげて次の二つの「心に曇りを感じる点」があります。このプログラムのご使用は下記の2点をよく読んでご自分の責任でおこなってください。このプログラムを使用したことによりどんな事象が発生しようが私は責任を持てません。

 

 

主な機能

 

Down Load

Java実行環境。。

 

・Mac版はダブルクリックで解凍してできるフォルダの中のSETISupport.runがApplicationです。ZIP圧縮版をダウンロードされた方は適当な解凍ツールで展開してください。できるファイルは SETISupport.jar(Ohter Windows/Platfrom)だけです。これだけで動きますが、起動後設定フィアルをまわりにばらばらと作りますので、適当なフォルダだかディレクトリだかを作ってその中にいれたほうがいいと思います。

 

・使い方の前にくどいようですが前記したJava Applicationが実行できる環境であることを確認してください。また一旦SETI@homeの解析プログラムを使い初めて、データをダウンロードした状態でなければSkyMap以外何も表示されません。。。

 

・立ち上げ方は、プラットフォーム及びJava実行環境によって異なります。

 

・ 最初に起動したとき、"Please locate state.txt or state.sah"というダイアログが現れるはずです。これはSETI@homeが使うstate.txtまたはstate.sahというファイルを選んでOKを押してくれ、と言っているのです。

Macintoshの場合は、システムフォルダ→初期設定フォルダ→SETI@homeDataフォルダの中にあるはずです。Windowsの場合はよくわかりません。。少なくともコンソールバージョンの場合は最初に自分がプログラムを展開したフォルダに作られているはずですが。

ここでどうしてもstate.txtもしくはstate.sahが見つからないときはキャンセルを押してください。それでも一応プログラムは立ち上がります。

 

・するとなにやら画面が表示されます。

デフォルトでは、上半分が本家本元のサイトからダウンロードした空の絵—私はBerkeleyからダウンロードしたファイルの名前から勝手にSkyMapと名付けていますが-です。。よく見るとそこになにやら大きくなったり小さくなったりしている印が見えるはずです。これが現在解析しているユニットの位置です。この印の色は解析が進むに従って色が青→緑→黄→赤と変化します。おまけに解析が96%を超えた状態ではなにやら妙なものが表示されます。

解析済みのデータの位置は、黄色く点滅する小さな点で表示されています。見づらいですがデータリストの中から選択すればその位置を確認できます。またSKy Map上で点をクリックすることで、データを選択することができます。

 

左下のエリアには(このプログラムを立ち上げている間に)解析したデータの一覧が表示されます。最初に立ち上げたときはまだ一つしか表示されません。

現在解析が進行中のデータ名には、頭に”*”印がついています。

複数データ項目が表示されている場合、それぞれをクリックして選択すると、黄色の線が移動していって、その場所を示します。また解析が終わって新しいユニットの解析をはじめた場合は、自動的にデータ項目が追加されるはずです。(この機能に関してはテスト回数が少ないので自信がない。。。)

 

右下には左下のリストで選択したユニットの情報が表示されます。表示内容は本家本元の解析プログラムにだいたい合わせてあるつもりです。。(従ってwork_unit.txtとかstate.txtにはあるのだけど、表示を省いてある内容も多々あります)

解析中のデータには、Nameの後ろに(@XXX)とデータがあるディレクトリにつけたShort Nameを表示します。

またその時点までの解析進捗度、及び使用したCPU時間から、解析終了までに必要なCPU時間の予測値を表示するようにしました。上の画面の例で言うと、8行目の

""Estimated remaining CPU Time: 5hr 27 min"とあるのがそれです。この値は

(その時点でのCPU時間/その時点での進捗度) - その時点でのCPU時間

で出してます。従ってあくまでも推算値です。実際に解析終了までにどれくらいのCPU時間が必要とされるかは数々の条件によって容易に変わり得ます。まあご参考までに。

 

・このままほおっておいても画面に特段変化は現れません。解析データの位置にある印が大きくなった小さくなったりするだけです。次にメニューの説明をします。

 

・Fileメニュー

・Update:この項目を選択すると、解析中の情報をアップデートします。

・Start Auto Cruise:この項目を選択すると数秒ごとに次々とデータが選択されていきます。終わりまでいくと頭に戻ります。なんのためにこんな機能があるかといえば、単に「ぼーっと」流れる星空を見たいがためなのですが。止めるためにはもう一度このメニューを選択します。

・Export File..:タブ区切り(Tab Separator)またはコンマ区切り(CSV)のフォーマットでデーターを出力できます。

・Quit:プログラムを終了します。

・Setting メニュー

・Auto Update:このメニューから、Never以外を選択すると、指定された時間間隔で自動的にデータを更新します。間隔を短くしたほうが情報更新は早くなりますが、本家本元解析プログラムとかち合って何か妙な事が起こる可能性も高くなります。Neverを選択した場合は自動更新を行いません。デフォルトではNeverになっています。

・Display..:"Sky Map + Data", "Sky Map", "Current Data"の3っつの選択肢があります。Sky Map + Dataでは空の絵と解析データが表示されます。Sky Mapでは空の絵だけ。Current Dataでは、解析中のデータの詳細だけが表示されます。Sky Mapを表示しているとアニメーションの処理のたの他のプログラムの動作が遅くなったりするかもしれませんから、「鬱陶しい」と思われたときは"Current Data"をえらんでみてください。デフォルトでは"Sky Map + Data"になっています。

・Time Zone:このプログラムを実行している場所のタイムゾーンが指定できます。OSのほうで時間帯を設定しているのに、何故こんな機能があるか?これはMac OS上でどうやってもJST(日本標準時間)で時間を表示することが出来ずに、頭に来た末に作ったメニューです。(実際JDKについてくる時計のサンプルプログラムもMacintosh上ではGMTを示してしまいます)デフォルトでJSTになっていますから、あなたがどっか別のタイムゾーンのエリアに旅行しようとか考えない限りいじる必要はありません。

・Add Work Unit..:

プログラムの立ち上げ時にデータのはいっているディレクトリを(何らかの理由によって)指定しなかった場合、もしくは、複数解析を平行して行っている場合、それらのディレクトリをこの項目を選択することで指定できます。この項目を選択するとダイアログが表示されます。

 

ダイアログ中のリストに表示されているのは、現在指定されているデータのあるディレクトリです。上の例ではSeti0というのがディレクトリにつけられたShort Nameです。「:」で区切られた後にずらずら書いてあるのがディレクトリです。さて、次には各ボタンの説明です。

・Add..:このボタンを押すと、ディレクトリ選択のダイアログが表示されます。例によってstate.txtを選択すると上のリストにShort Nameが自動的につけられて追加されます。

・Delete:選択されたディレクトリを削除します。

・Change Name..:このボタンを押すと、選択されたディレクトリにつけられたShort Nameが変更できます。画面がちょっとかわります。

 

表示されているのが、現在つけられているShort Nameです。ここを適当に変えてAcceptを押すとShort nameが変更されます。この名前にはいくつか制限があって、まずスペースのたぐいの文字は使えません。また重複もできません。これらを入力したときは、黙って無視します。。(本来ダイアログでも出すべきなのですが手を抜いております。。。)

・OK:この画面で実施した変更を実際に反映させます。

・Cancel:この画面で実施した変更をチャラにします。

 

・Add Analyzed data..:このメニューを使うと解析済みのデータ(ss_past_data.txtですが)を複数指定できます。おまけにファイルごとにシンボルの色を指定できます。なんでこんな機能があるか?と言えば、LANで接続されていない環境で解析された結果を一つにまとめて表示したり、表にしたい、という私の個人的な願望によるものです。
またSETI@Supportで作成された解析データだけでなく、SETILogで記録されたファイルを指定することもできます。ただしこの場合記録方法の違いから、"Analysis Started"で表示される値は、実は「解析終了時間」ですのでご注意ください。

 

[New in Ver0.74]Log Data:データのロギングをON/Offできます。On→Offのときには確認のダイアログがでます。

何故この機能を付け加えたかというと、データのロギングを他のアプリケーション(SETILogであるとかGSISであるとか)で行い、結果の確認だけをSETI@Supportで行う場合に必要だからです。

 

・SkyMapメニュー

・Progress Data in Sky Map:この項目を選択すると、Sky Map中に現在解析しているデータの進捗情報(何%終わったか、CPU時間及び推定残りCPU時間)が表示されます。デフォルトではOnになっています。

・Auto Scroll:この項目を選択すると、Sky Map中で選択されたデータの位置ができる限り真ん中になるように(少なくとも表示領域にはいるように)自動的にスクロールします。またSkyMapのスクロールバーが消えます。デフォルトではOffになっています。

・Cross Line:この項目を使ってSkyMap上の十字線の表示・非表示を切り替えられます。デフォルトはOnです。

・Blink of Analyzed data:この項目を使って、解析済みのシンボルの点滅方法を選択します。点滅なし、及び3種類の点滅方法が選べます。

・Type:SkyMapの表示の種類を選択できます。従来のSkyMapはBitMapです。他にVector-3D,Vector-2D,それにVector-Sphereが選択できます。(左側が2D,右が3D)

それぞれ左端にスライダーがあり、これを動かすと視野角が変わります。また画面をドラッグすることで視点を変えることができます。

・Analyzing Node..:現在解析中のワークユニットの位置を示すシンボルが変更できます。

  Standard:大きくなったり小さくなったりする円です。

  Strings:なんとも奇妙な丸っこい円です。

  Hole:回転するなにやら変な形です。。

  [New in Ver0.72] Area:Ver0.72以降記録されたデータに限りますが、Start(ra,de)とEnd(ra,de)の間を結んだエリアで表示します。幅はSETI@homeのWeb Siteの情報により0.1度としています。ただDistant Sun Ver0.52を使って表示させた範囲に比べると幅が狭いようです。。どなたか正しい幅を知っている方がいらっしゃったら教えてくださいな。

・Analyzed Node..:解析が終わったワークユニットの位置を示すシンボルが変更できます。

  Circle:点滅する円です。

  Square:ちょっと3Dの四角です。

  Star:ちょっと星形

  [New in Ver0.72] Area:Analyzing Nodeの"Area"と同じ表示方法です。

・Animation Speed:グラフィックスの表示スピードをHigh/Low/Autoで切り替えられます。デフォルトはHighになっていて、このほうがきれいに見えますが、CPUパワーをかなりくいます。LowにするとCPUは使いませんが、結構のたのたします。Autoにすると、普段はHighのスピードで動作し、操作がない状態が2分続くか、他のアプリケーションがフロントにくると自動的にスピードを落とします。
もとのスピードにするためには、SETI@Supportのウィンドウを前にもってくるか、あるいはSkymapのどこかをクリックしてください。

・Mark Size:SkyMap中のシンボルの大きさをStandardとSmall及びVery Smallで切り替えられます。

・Star:(Vector-2D, Vector-3Dのみ)表示する星の明るさの下限を切り替えられます。

・Constellation:(Vector-2D, Vector-3Dのみ)表示する星座の数を切り替えられます。デフォルトのMinでは、BerkeleyのSkyMapに近い数が表示されます。

・Constellation Name:(Vector-2D, Vector-3Dのみ)表示する星座名の表示、省略名表示、及び表示なしを切り替えられます。

・Grid :(Vector-2D, Vector-3Dのみ)SkyMap中の座標軸の表示をOn/Offできます。

・Gaussian Pattern :(SETI@home client Ver2.0を使っている場合のみ有効)Gaussian PatternをSkyMap中に表示します。

[New in Ver0.73]Highlight Top Gaussian:SkyMap中でInteresting RegionにあるGaussianをもつデータを強調表示します。

 

・Infoメニュー

・User Infoメニュー:クライアントに表示されるもの+αのユーザー情報を表示します。指定されたディレクトリごとに表示できます。ここに表示された情報の元ネタはuser_info.txtですが、例によってすべての情報を表示しているわけではありません。。

・Data Table:現在解析中及び解析が終わったデータを一覧表形式で表示します。選ぶと下のような画面がでてきます。

白と灰色の行が解析が終わったデータ。色がついている行が解析中のデータです。

各データの行をクリックすることで、データを選択することができます。SkyMap上では選択されたデータに十字線が移動します。

さて、この状態で一番上のタイトルをクリックすると、メニューがポップアップします。以下はその説明。

 

・Hide (Title Name):選択された列を非表示に切り替えます。

・Move Title Right/ Move Title Left:選択された列を右または左に移動します。

・Sort Asc:項目を昇順(上から下へ、小さい値から大きな値)に並べ替えます。この操作をすると選択されたタイトルの横に矢印がつきます。

・Sort Des:項目を降順(上から下へ、大きな値から小さな値)に並べ替えます。矢印は上の操作とは反対につきます。

 

・Add condition..:各列の値に対して条件を設定できます。(とはいっても数値との比較だけですが)この機能を選択すると下のようなダイアログが表示されます。

一番左のチェックボックスをチェックすると、その条件は有効になります。ここで条件を設定するとメニューの中にも条件が表示され、選択することで有効・無効を切り替えることができます。有効の場合メニュー項目の頭に”*”がつきます。

またFileメニューの内容が変わります。Export Fileメニューを選択した場合、現在表示されている内容のみが出力されます。また出力形式としてHTMLが選べるようになります。この機能を使って作った表はこちらをご覧ください。

Setting Menuから以下の項目が選択できます。

・Show..:現在非表示になっている列を表示に切り替えます。

・Turn All condition Off:すべての条件をOFFにします。

[New in Ver0.7]Gaussian Distributionメニュー:データ中のGaussianの分布を示します。青い範囲が、"Interesting Gaussian"の範囲で、ここでは以下の条件を満たす領域です。

Gaussian Fit < (Guassian Power)*1.5 + 2

Gaussian Fit <= 10

(参考 SETI@home Graphs and Maps-Gaussian Page)

Settingメニューからあれやこれやの設定を行うことができます。上記の数式は私が勝手に推測したものですから、「そうじゃない」というご意見を歓迎します。

 

・Helpメニュー

・About SETI@Support..:単にプログラム名、私の名前、メールアドレスそれにホームページのURLが表示されるだけです。

 

 

プログラムが作るファイルについて

プログラムを動作させると、フォルダの中になにやらファイルがあれこれ作られます。たぶんもうちょっとSophisticateされた方法があると思うのですが、「とりあえず動けばいいわい」と開き直ってやたらと設定などのファイルを作ってしまいます。名前は一応頭が"ss_"で始まり、末尾が".txt"にしてあります。

 

* ss_dir_data.txt:解析プログラムが使用するstate.txt,work_unit.txtのあるディレクトリを示すデータ

* ss_current_data.txt:現在解析中のデータ(SETISupportが使用する項目のみ)

* ss_pref.txt:Settingメニューで設定した内容

* ss_mx_pref.txt:Data tableで設定した内容

* ss_past_data.txt:過去に解析したデータの記録です。この項目についてはテキストエディタを使って編集していただいても結構です。たとえば今まで律儀にどのようなデータを解析したか記録が残っているけど、これも表示させてみたい、ってなときに便利です。あけてみるとなんやかんやと項目がならんでいますが、別にすべてを設定する必要はありません。最低限必要なのは位置のデータです。フォーマットとしては、、

 

! (区切り記号。新しいデータの始まりを示す)

pos = 14 40 37 8 57 36 (画面上に表示されるFrom : 14hr 40min 37sec RA,+8deg 57min 36sec DEの数値だけをとりだした内容。)

 

もしくは

 

start_ra=14.678

start_dec=8.925

 

のフォーマットで指定できます。

ss_past_data.txtのサンプルはこちらをご覧ください。ちなみにこのファイルの中で日付、時間が記録されているときにはそれはGMTでの時間を示しています。従って日本の時間よりも9時間遅れています。

 

Known Bugs..

・症状:Macintosh版をたち上げようとすると、エラー(SETISupportがみつからない、とかなんとか)がでてたちあがらない。エラーメッセージの一例は以下の通り

>OSErr -35 processing classpath item

>Can't find class `SETISupport'

対処:この問題については、正確な原因がわかっていません。Ver0.61でこの問題が発生するようなので、最新版にアップデートして試してみてください。

もしそれでも問題が起こるようでしたら、メールでお知らせください。

 

・症状:(上と似てますが、違う症状です)Macintosh版のダウンロード時に、「未知のZIPヘッダー形式です。処理を続行できません」というメッセージが表示される。しかしSETISupport.runは作成されているので、立ち上げようとすると、エラー(SETISupportがみつからない、とかなんとか)がでてたちあがらない。

対処:これはMacintoshの圧縮なしバージョンをNetScapeでダウンロードしたときに発生するようです。細かい原因は後述しますが、とりあえずの対処として、

(1) Internet ExplorerかiCabでダウンロードする。

(2)Macintosh圧縮ありバージョンをダウンロードする。この場合フォルダがつくられ、おまけに余分なdummyfileというものができますが、SETISupport.runだけが必要なので、後は捨てても結構です。

原因:これはNetScapeが呼び出しているStuff-it Expanderに関係する問題です。SETISupport.runは一見普通のアプリケーションのように見えますが、実体はJavaのjarファイル。もっと言うとZIPで圧縮されたファイルなわけです。

さて、サーバー上に置いてあるSETISupport.runのファイルは実はMac-BinaryとかBin-Hexとかいうものでエンコードされています。それをダウンロードするとき、自動的に必要なプログラムを読んでデコードしてくれます。Internet Explorerは独自の処理を行っているようですが、Netscapeの場合はこれをStuff-It Expanderを呼び出すことで実現しています。

さて、ここが問題です。優秀なStuff-it ExpanderはMac-Binary or Bin-Hexをデコードしただけではとまらず、できあがったばかりのファイルをじっと見つめます。ファイル名の末尾は".run"になっているけど、ちょとtかじってみると実はこれは自分があつかえるZIPファイルのようだ、、と思うと彼は律儀にそれも分解しようとします。

しかしちょっと進むと「なんだこれ」と思って彼はエラーメッセージを表示し、解凍処理を中止します。この状態でSETISupport.runはできているのですが、実は頭がすでに解凍された状態にあるので、立ち上がらない、といったところのようです。

さて、この対処方法ですが、もうちょっとエレガントなやり方はないか、とだいぶ考えたのですが、結局ダミーのテキストファイルを一緒に圧縮する、という方法で逃げています。もしもうちょっとまともなやり方をご存じの方がいたら是非教えてください。

 

症状:解析が終わって、All Data Sentの表示がされるのだが、その後新しいデータをダウンロードせずにいきなり同じデータの解析を始める。

推定原因:解析プログラムは、データの解析が終了した時点でwork_unit.txtを削除します。そして解析データを送信し、All Data Sentが表示された後にwork_unit.txtが存在しているかどうかを確認、もしなければ新たなデータをダウンロードするようです(あくまでも私の推測)

ところがwork_unit.txtを削除しようとしたときに、SETI@Supportがwork_unit.txtを読んでいるとたぶん削除処理が失敗に終わります。すると解析プログラムがデータを送信し終わった後に「あら。まだwork_unit.txtが残ってるじゃない」と考え、新しいデータをダウンロードせずに同じデータの解析を再開してしまいます。

対処方法:現在解析プログラムがファイルを操作するタイミングを外部から知る方法がないため(あるいは知られていないため)この問題は完全には回避できないと思います。データの自動更新をおこなっている場合には更新間隔を長くしたほうがこの問題が生じる可能性は少なくなります(と思います)

私は一旦解析プログラムを終了し、work_unit.txtを削除、その後再び解析プログラムを立ち上げる、という方法で、なんとか新しいデータのダウンロードを実行しましたが、これが正しい対処方法だ、という保証はありません。

 

症状:Sky Map中に表示される進捗データが右に表示されたり、左に表示されたりする。

原因:基本的には文字を右側に表示しようとしますが、スペースの関係でそれができない場合には左側に表示します。表示する文字列の長さが変わる(5minと15minみたいに)際に、スペースの関係によっては表示が右にでたり左にでたりあれこれかわることになります。

対処方法:まあこれくらいは大目に見てください。

 

その他バグは山ほどあると思われます。気づいた方はどうぞお知らせください。。

 

開発環境

* Macintosh Version: PB2400 + G3@240MHz(Ver0.21まで) + G3@320MHz(Ver0.3から)Mac OS8.6 + MRJ 2.1,Visual Cafe Ver2.0:SETI@Home Client for Mac Ver1.06,Ver2.0と組み合わせて使用

Ver0.5以降はMetrowerks Code Warrier IDE Version 4.0で開発

* Windows Version: DELL OptiPlex GX1 , Windows-NT 4.0 Java 2 SDK, Standard Edition Version 1.2.1:SETI@Home console version 1.3と組み合わせて使用

*試験のみ:Widonws NT + Javan Runtime Environment 1.1.8 and Internet Explorer Ver5.0 jview.

なおこのプログラム開発に関する長々とした記述は「Java Diary - SETI@Support」をごらんください。

 

謝辞:このプログラムの制作には以下のかたがたのプログラムを参考にさせていただきました。ただし参考は参考であって、真似て遠く及ばないのはひとえに私のせいです。


注釈