Subject: meeting memo [DCL on C] From: momoko@ees.hokudai.ac.jp To: dennou_davis@gfd-dennou.org Date: Wed, 28 Jul 1999 18:58:43 +0900 X-Mailer: Mew version 1.93 on Emacs 20.2 / Mule 3.0 (MOMIJINOGA) Delivery-Date: Wed, 28 Jul 1999 18:59:27 +0900 Mailing-List: contact dennou_davis-help@gfd-dennou.org; run by ezmlm 石渡です. 本日の, 主に dcl C 化問題に関するミーティングのメモです. 出席された方, 適宜修正・補足をして頂けるとありがたいです. # 表題 davis 問題に関するミーティング # # 1999/07/28 石渡正樹 # ========================================================================= 項目 ・dcl C 化問題 ・ライセンス問題 ・データ構造問題 ・ドキュメント ・出席者リスト ========================================================================= ■dcl C 化問題 ・作戦は以下の通りでいこう! ・f2c による安直な C 化 ・f2c が作成したソースを呼ぶためのインターフェース(いわゆる皮)の作成 この作戦の骨子は, 「必要最低限の C 化だけすれば良いじゃん」. この作戦のキャッチフレーズは, 「マイクロソフト戦略」である. 宣伝文句は「既存資源の特徴を継承し, さらに新しい機能を付けくわえた DCL の開発を行うだ.」である. なぜ, この作戦で行くかというと, 本当にやりたいのは, C インターフェースの上でなんやかんや, である. なので C のインターフェースさえ作れば良い. (f2c をかけただけで良いではないか) ・f2c をかけて C 化したライブラリに関する問題点 f2c をかけて C 化してしまう. ルーチン名は _ がついてしまう. _ はシステム寄りの関数のような気がして気持が悪いぞ. これに対して, 作戦は, (A) 本当にルーチン名から _ を取っちゃた 形でパッケージングして恰好をつける. (B) かぶせ物を作る: FORTRAN90 用のかぶせ物と同様のやり方でいく. とあるが, (B) でいこう. (B) で突き進む場合, 以下のようにしよう. 大雑把な構造は 最上部 IF : F90 インターフェース C インターフェース --------------------------------------------------------------- F90 用の皮 C 用の皮 ( _ つきルーチンを呼ぶルーチン集) -------------------------------------------------------------------- f2c による C 化されたルーチン (_ がついたやつ) F90 用のかぶせ物と C 用のかぶせ物の両方を作る. ただし, なるべく同じにしておきたい. 「インターフェースの上側」では作業変数は全て用意して 下にポンと渡すようにする. 「インターフェースルーチン」の名前は多少変わるかも 知れないけど, その「仕事内容」は固定する かぶせ物では, 名前 6 文字の制限も外す. これまでなクラッシックな関数も, C 的な関数も両方 用意しても良いかもしれない(例えば, getなんちゃら の 結果を, 引数として受け取る場合と戻り値として受け取る, の両方を用意する) 例えば, DclDrawLine(X,Y, INDEX=3, TYPE=3) てな感じ. それで INDEX=3, TYPE=3 は省略可にするとか ・libf2c 問題 f2c を使うなら機種ごとの libf2c.a が必要となる, という問題が発生する. libf2c が必要となるのは, I/O 回りだけみたいだ. だから, libf2c 中の必要部分の相当品を作るのはそんなに難しく ないのではなだろうか? とりあえず今は何か動きさえすれば良いんじゃない? 今集中すべきは, 最上部 IF の仕様で, この問題(下層のルーチンをいじる話)は, 将来頭にきて最下層を C なり F90 に書き換える時に解決すべき問題. ちなみに f2c のライセンスは BSD 系 ・とりあえず FIP にやってもらう仕事として, (1) プロトタイプ宣言を書いてもらう. F90 で言うと, インターフェース文の集まり. (引数仕様宣言を書いたモジュール) このルーチンはこういう風に呼ぶんだ fortran でいうと引数と引数の型宣言を並べたもの. (2) libf2c 中の必要物相当製品の作成 ぶっちゃけて言うと, f2c をかけたソースで -lf2c 抜きで 実行ファイルの作成を試みて, 文句を言われたルーチンと 同機能のルーチンを作る. をやって頂くとありがたい. 来週の札幌までにできますか? ただ, 実際の仕事量は (2) の分がどれくらいかかるか分からないので とりあえずやってみてもらうしかない. ・ C 用の皮は早く用意したいよね. どうしよう? 酒井さんに頑張ってもらう. ■ライセンス問題 成果物は, 北大と JST の共有物となる. 我々のポリシーは貫けるのか? 最近の特許問題の動向って誰か知ってる? 誰も知らないので, 結局分からんかな? 酒井さんの気にした点 : DCL C 化ライセンス問題 FIP との関係 C 化などをやってもらった時に, FIP としては商売にせなあかんでしょう. FIP との今回の契約では, 知的所有権は FIP 側には生じない. しかし, その後が問題(今年だけでは終らない). DCL を従来通り, パブリックなものであるとして, なおかつ, 来年以降のメンテナンスも協力してもらうとすると FIP 側の利益として何が求められるのか? 例えば, ハードウエアを売る時の刺身のつま(あるいは, おまけ)として DCL を付けるか? てな感じで FIP が会社として決断をしてくれるのであれば非常に good であるが, それは FIP の社内事情である. DCL だと, ソース公開なので嬉しい人も結構いるか? いや, ほとんどいないかも? 次の札幌の時にでも, 谷口さんに FIP の会社説明をやってもらって good なビジネスプランを考えられるんだったら考える. ■ドキュメント製品 ドキュメントのオリジナルは html にするの? その場合「改定の時は, 飯沢テクノロジーを使用する」という ビュロクラシーを強制する必要があるだろう. 川口さん作成のJava スクリプトは Unix で動くんか???? (左側にルーチンリストを出してクリックするとその説明が出てきて さらにクリックすると更に説明が出てきて…ということがしたい) Netscape 4.06 on debian 2.1 だと動くようではある. 皆さん試してみてね. URL は後程川口さんからメールがあるはず. ■データ構造 今のデータ構造に関しては, 問題はデータ同士の関係を どう記述するか, である. この問題を考えるために, 豊田さんが試行錯誤をやってみる. ■出席者リスト 林祥介 北大理 shosuke@gfd-dennou.org 豊田英司 北大理 toyoda@gfd-dennou.org 小高正嗣 北大理 odakker@gfd-dennou.org 石渡正樹 北大地球環境 momoko@ees.hokudai.ac.jp 石岡圭一 東大数理 ishioka@ms.u-tokyo.ac.jp 高橋千賀子 FIP takahashi.c@fip.co.jp 高橋憲義 京大気象 takahasi@kugi.kyoto-u.ac.jp 水田亮 京大気象 mizuta@kugi.kyoto-u.ac.jp 川口明彦 京大人環 akihiko@gaia.h.kyoto-u.ac.jp 酒井敏 京大人環 sakai@gaia.h.kyoto-u.ac.jp 中島健介 九大理 ken-suke@geo.kyushu-u.ac.jp