netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2002-11-01 古い日記からの変換データ [長年日記] ▲
_ 指輪物語 ▲
Angband の位置の記述がどうしても見つからない(地図にも記されていない)のでweb で検索してみたら,あっさり発見してしまって,ちょっと拍子抜け.
http://members.tripod.com/john.ohara/BeleriandAndTheWestMiddleEarth.htm
Middle Earth Map をキーワードにするといっぱい見つかる.
_ AOP ▲
Cosmos というデザイン支援の Eclipse プラグインを AOSD 2003 に出しまっせ,というのが Hyper/J ML に流れてた.コードからの Cosmos Schema の生成,Cosmos Schema からの contract code の生成なんかができるらしい.
でも,UML or XMI と Cosmos Schema との相互変換は難しいんだそうな.やっぱり,という気はするけど.UML→Cosmos→Code とかいう変換ができたら,すごく格好いいなぁ.逆変換もできるわけだし,Action Semantics とかと組み合わさると何か色々できそうな気がしてくる.
2002-11-02 古い日記からの変換データ [長年日記] ▲
2002-11-04 古い日記からの変換データ [長年日記] ▲
2002-11-05 古い日記からの変換データ [長年日記] ▲
_ LAN ▲
ここ最近,ノートパソコンからデスクトップにデータを転送する必要がなかったので気にしてなかったが,LAN カードが1枚壊れたおかげで,わざわざ外部から一時的に切断して(ケーブルを差し替えて)内部に繋がないといけない.
たまたま外のサーバで作業中に,内側のリソースにアクセスしたくなって,とても困った.少し値段はするが,また X-JACK のカードを買うか…….
デスクトップ側をルータにしてもよいのだが,ファイアウォールをセットアップする手間に加えて,作業するときには常にデスクトップを起動してないといけないというのが,デスクトップのシャットダウン時に謎の致命的例外が発生する現状では,ちょっと悩ましい.
2002-11-06 古い日記からの変換データ [長年日記] ▲
_ UML ▲
最後のセッションであった UML に関する QA をまとめてみた.SJIS テキストファイルだが.uml_qa.txt
_ Rational XDE ▲
おまけ(?)としてあった製品紹介で取り扱われた,Rational XDE(eXtended Development Environment).
UMLをいじるツールを,Visual Studio .NET やEclipse の基になった IBM の開発環境(名前忘れた)に統合して,コード編集と UML 操作を同期できる,またデザインパターンを適用先クラスを選ぶだけでコード生成してくれる,といった面白い機能を搭載しているみたい.
値段は高いから,買ってまで使いたくないけど,既に商用としてこれだけ機能の高いソース解析ツールが実装されているんだ,というのには感心した.
_ UML ▲
Rational Educational Seminar 2002 OSAKA に,UML を考案した3人のうちのひとり James Rumbaugh が来るというので,とりあえず見に行ってきた.
話の内容として面白いと思ったのは,だいたい次のようなこと.・設計は,様々な「決定」の結果である・設計プロセスを,モデル→モデル の変換のチェインとして捉える・UML はあくまでモデルを記述するための言語である・アスペクト指向は言語としてはまだ low level, いいツールや言語が出てくれば魅力的となる. 5年くらいは研究段階だろう.・エージェントやパターンマッチングは人工知能から派生した技術で システム全体の挙動が予想しにくいという点が危険で使えないが パワフルなシステムの構築に役立つだろう.・これからは,モデルをただの絵としてではなく それを使うことによる実際の効果が重んじられていくだろう.
アスペクト指向にはみんなやっぱり注目してるんだ,というのが分かってちょっと嬉しかった.
2002-11-07 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
B. Darderes, A. Grassano and M. Prieto:``Subjective Behaviour of Objects -- An alternative to improve the behaviour of the objects according to the context''
同一のメソッド呼び出しに対しても,コンテキスト(オブジェクト自身や外部の状態)に応じて動作を変えてもよいだろう,という話.これは PerspectiveS と同様の主張.うーん,Subject-Oriented Programming の話かと思って期待してたので,ちょっと残念だった.言いたいことは分かるけど,そこまで強力な機構が必要なのかな?
これも先ほどの論文も, OOPSLA 2002 での Workshop on Engineering Context-Aware Object-Oriented Systems and Environments (ECOOSE 2002) のもの.
2002-11-09 古い日記からの変換データ [長年日記] ▲
_ 読書 ▲
市役所まで出かけたついでに古本屋に立ち寄り.菊地秀行「マリオネットの譚詩(バラード)」(ソノラマ文庫),ひかわ玲子「少女の王国」(実業之日本社),の二冊を購入.
これで,さらに読書キューが長くなった :-)
2002-11-12 古い日記からの変換データ [長年日記] ▲
2002-11-14 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
OOPSLA 2002 投稿論文のJan Hannemann, Gregor Kiczales:``Design Pattern Implementation in Java and AspectJ''に目を通す.GoF のデザインパターンを AspectJ で実装したらどうなったか,という報告論文.
いくつかのパターンは Aspect で記述したことでモジュール性が向上しているのだが,特に効果が出なかったパターンもいくつか.デザインパターンを使う際の参考になりそう.
_ Grammar Expert Plus ▲
英文を添削するために導入した文法チェッカ Grammar Expert Plus の試用期限が来てしまう.Word などのスペルチェッカに比べると使ってる情報が多いので単数・複数形や動詞の変化形などをちゃんと見てくれるところが嬉しいのだが,買ってまで使うか?と聞かれると微妙.
_ 紅茶 ▲
ウヴァ・ハイランズを飲みきる.寒くなってお茶を頻繁に飲むようになったので,50g があっという間になくなった気がする.約1ヶ月前に一緒に仕入れてきたアッサムも同程度減っているということは,1日平均で 3~4g 程度は消費してる計算になる.
_ プログラム解析 ▲
プログラム解析の作業速度には個人差があるようだけど,いったいどこから来るんだろうかと,ふと思う.
自分のやり方では,オブジェクト指向プログラムでは・役立ちそうな情報を持っているクラスを識別する -- ほとんど勘.クラス名とメソッド名だけが頼り.・そのインスタンスを手に入れるための方法を探す -- あるクラスのメソッドの戻り値,など・その方法を利用するための方法を探す -- そのクラスのインスタンスや,必要な引数をそろえるには?という形式で芋づる式で辿っていくので,ソースとパッケージ関係,検索ツールさえあればクラス階層図や呼び出し関係図などが手元になくても,やりたいことを実装する方法は把握できてしまう.
まだ使ってないクラス呼び出し関係などの情報を使えば,もっと効率よい情報把握方法が使えるのかなぁ.個人的には,初期情報が多すぎるとコントロール不可能になる恐れがあると思うのだけれど.
2002-11-16 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
OOPSLA 2002 投稿論文のうち,タイトルが目を引いたMira Mezini, Klaus Ostermann:``Integrating Independent Componentswith On-Demand Remodularization'' を読んでみた.
interface として expect, provide の二通りを定義し,expect を使って provide を実装する implements class とprovide を使って expect を実装する bind class とを作成し,collaboration = implements + bind という形式でペアにしてそれらを結合して利用する,というもの.expect/provide interface の発想は今までにもあったが,fluid (流動的?) AOP,実行時のペアの差し替えなども視野に入れている様子.
これは class -> aspect 方向の依存辺を引くという点がaspectual collaboration などと異なっていて,自分でやろうとしている仕事と近い立場.
ただ,bind する側はすべての expected を実装する必要があって,3者以上が参加する collaboration を定義するのは難しそう.また,アクセス制限なども考慮されてないので,そのあたり微妙な問題を含んでいる気がする.もう少し,自分のネタとの比較は真剣に検討したほうがよさそうだが,同じような立場を取る人が他にもいる,というのは心強い.
_ delphi PCL ▲
Persistent Component Library に含まれているHashTables.pas にバグ発見.
function THashTable.Current: Pointer; の中身誤: if (FPosition >= 0) and (FPosition < FCapacity) and正: if (FPosition >= 0) and (FPosition < FCapacity * 2) and
これのせいで TStringTable.Current, TStringTable.CurrentKey が正しく動かない.なぜだろうと思っててひたすら内部をデバッグしていて気付いた.(他の条件節ではすべて FCapacity * 2 なのに,ここだけ * 2 がなかった)
_ 読書 ▲
ネビル・シュート「パイド・パイパー~自由への越境」読了.古い作品の復刊だが,構成として非常によくできている,と思う.たくさんの子供を連れて戦火の中を移動する,強い責任感を持って行動する老人の頑張りが印象強い.別に大事件が起こるわけではないけれど,追われる側の緊張感がある.
長い旅路っていうネタは TRPG でもやってみたいと思ってるので,そのときにはこの作品も参考になるかも,とか思う.
さて,パスポート申請に行ったついでに買ってきたアン・マキャフリィ「竜の貴婦人(上・下)」を読み始めることにする.テーマは「モレタの飛翔」で,最終的にどうなるかはバラードとして既に他の作品で語られているが,どうしてそうなったのか,というところが気になるので読んでみる.
_ Bookmark Manager ▲
非階層ブックマークを実装するべく,久しぶりに Delphi を起動.カテゴリを扱うために文字列の集合クラスを作りたいが,TSet なんて標準では定義されてない.Tommi Johtela の公開している Persistent Component Library を使わせてもらうことにした.
紹介記事:http://www.undu.com/Articles/991117a.htmlダウンロードはここから:http://www.cs.utu.fi/tjohtela/software.htm#PCL
いちおう集合クラスも定義されていたのだが,TSet はTItem とかいうクラスしかアイテムとして取れなかったので,いちいち String のラッパーを生成するのが面倒そう.そこで,StringTable (KeyがStringなHashtable)を利用して,関連付ける値としては TObject に Singletonなオブジェクト1個を食わせる形式で,自前の StringSet を定義することにした.
2002-11-18 古い日記からの変換データ [長年日記] ▲
_ AspectJ ▲
AspectJ に関するドキュメントを,XML 形式に書き換え始めた.大雑把な well-formed だが,当座は十分だろう.コンテンツの構造(階層,順序)情報をどうやってエンコードするかというのと.文字コードの問題が残っているが,
2002-11-19 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
International Conference on Software Process Improvementhttp://www.software-process-institute.com/
がちょうど今日から開催されるようなので,ざざっとプログラムを見てみる.
さすがにソフトウェアプロセス関係だけあって,タイトルから興味を惹かれるような論文は特になし.内容的には興味がないわけではないが,本筋に関係ない論文まで読んでるほど時間がないというのが現状なのでとりあえず何も読まないことにする.
_ 読書 ▲
アン・マキャフリィ「竜の貴婦人 (下)」読了.意外とあっさりした結末だったという気がする.予兆もなく,簡単に,だから悲劇なのかもしれないが.
さりげなくネリルカとかいう人が出てたので「ネリルカ物語」への伏線?とか思ってみたり.
モレタの「やってしまったことへの後悔よりもやらなかったことへの後悔のほうがずっと大きい」という言葉に昔,自分が「やらずに後悔するならやってから後悔しよう」と主張したことがあることを思い出して笑ってしまった :-)
_ コンサート ▲
ポール・マッカートニーのコンサート@大阪ドームに行ってきた.ツアー最終日な上,最初で最後の(?)関西公演との話もあって,実は貴重な経験だったのかもしれない.
2時間ちょっと,という予想を大幅オーバーする約3時間で帰りはやや慌ただしくなったが,14,000円の値段相応の価値はあった,と思う.古いビートルズの曲は全部わかるのに,ソロ活動してるときの新しい曲が分からないという年齢不相応な事態に陥っていたが,知らなくてもどこかで聞いたことがある曲も多いあたり,さすがという感じ.
"Hey Jude" を観客も含めたみんなで合唱したのは面白かった,かな.このあたりの動員力はすごいものがある.
2002-11-20 古い日記からの変換データ [長年日記] ▲
_ 読書 ▲
菊地秀行「マリオネットの譚詩(バラード)」読了.この人の作品の類にもれず,主人公は強くかつ美形.途中までは,わりとお決まりの展開だが,だんだんクトゥルフ神話に傾いていく展開には,いい意味で意表をつかれた.
オーガスト・ダーレスの,旧神と旧支配者の対立構造なのでストーリー的にも無理なく導入されてるのが上手い,と思う.
2002-11-21 古い日記からの変換データ [長年日記] ▲
2002-11-23 古い日記からの変換データ [長年日記] ▲
_ 紅茶 ▲
いただいたアッサム紅茶を飲んでみた.開封してみたらCTC.濃く出やすいので,嫌いではないが…….味はそこそこ.プレゼントでもらったことによる支援効果がついてもさすがにアッサム・ディコムほどには美味しいとは思わない.十分いい紅茶だとは思うのだけど.
_ JetFlash ▲
Transcend の JetFlash 1GB を使ってみた.なかなかデータの読み書きも高速で,いい感じ.ただ,一部のノートパソコンでは USB コネクタの上下などに突起があったり,コネクタがたて向きになってたりして,うまく挿せない場合があることが発覚.USB 延長ケーブルは手放せないらしい.
2002-11-24 古い日記からの変換データ [長年日記] ▲
_ 京都 ▲
後輩と二人で,京都は嵐山方面のお寺を回ってきた.天龍寺,常寂光寺,二尊院,祇王寺,滝口寺,清涼寺,宝筐院.天龍寺の庭園などは有名だが,個人的な好みでいうと常寂光寺,祇王寺,宝筐院が良かった.ちょうど紅葉が終わりに近づいて,紅い葉や黄色い葉が緑の苔の上に敷き詰められていて色鮮やかだったのが印象深い.宝筐院の庭が一番,私の好みだった.
清涼寺で,名物(?)あぶり餅を食べ,さらに帰る途中で「もみじソフトクリーム」なるものを食べてみた.色がもみじっぽく紅い.もみじおろしは辛いよなーとかかすかに期待したが,どうやら何かのお茶(紅茶か?)の味らしい.
さすがに紅葉の時季だけに,人手が多くて,写真撮ってる人たちのフラッシュがちょっとうるさかったが,きれいな紅葉が見られたので十分満足.
2002-11-26 古い日記からの変換データ [長年日記] ▲
_ bun45 ▲
スクウェア・エニックス合併~とかいう発表記事を横目で眺めながらHTML Help 生成ツールを修正.単に URL が変わっただけなのだが,データをダウンロードする処理があまりに重くてネットワークにもサーバにも負荷をかけてることが分かっていたので,それを tar.gz で圧縮するように修正.Content-type を "application;x-tgz" にして,tar の出力を system("tar zcf - files ") してるだけで厳密に正しいのかどうかはちょっと不安だが,wget した結果を無事展開できたので良しとする.
_ ZAQ ▲
回線速度が 10Mbps から 20Mbps に増強されたプレミアム・パックを受付開始らしい.値段自体はほとんど変わらない(+1000円くらい)ので移行してもいいのだが,所詮ベストエフォートな上に,最近は高い負荷をかけるようなことをしないのでいまいち乗り気がしない.
2002-11-27 古い日記からの変換データ [長年日記] ▲
2002-11-29 古い日記からの変換データ [長年日記] ▲
_ XSLT ▲
Xerces と Xalan を make しなおす.Xerces のほうは,インストラクションが web にあったのでそれをそのまま実行.で,生成された lib に LD_LIBRARY_PATH をセットして Xalan を runConfigure した後実行.で,新たに生成された xalan/lib にも LD_LIBRARY_PATH を通して,ようやく動作した.
_ XSLT ▲
XSLT を実験する環境を準備.xml.apache.org から Xerces と Xalan の C++ 版を落として,アーカイブを展開した後 configure + make.XALANCROOT と XERCESCROOT とかいうのをexport しろ,とか言われていきなりこけた.どこにもそんな記述なかったよなぁ,とか思って調べてみたらMakefile の最初のあたりに「XALAN-C のパスとXerces-C のパスをexportしておいてね」と書いてあった.普通 configure で設定するもんじゃないのだろうか….
_ bun45 ▲
HTML Help 生成ツールに,ファイルの更新日付を見て,XMLのparse処理を飛ばすような処理を追加してみた.結果としては,キャッシュがあるときは通常: 1m50sキャッシュ付き初回時: 2m~2m40キャッシュ付き2回目: 1m20s増加分を取り戻すには2,3回実行する必要があるのだが,実際には実行する頻度がそれほど高いとも思えないので微妙になってきた.また,キャッシュの中身を捨てるタイミングがきっちり指定できないので下手するとキャッシュがどんどん膨らんでいくし,ファイル更新日付がファイルコピー処理などで変更されるとキャッシュが無効になることも問題.
結局,キャッシュ処理の導入は見送りの方向とする.実行コストが高い原因は,ruby の Time.mtime では,Time オブジェクトがいちいち生成されることだと思われるが.stat とかを直接叩く C module で実行すれば速くなるのかな?