«前月 最新 翌月» 追記

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2005-10-01 [長年日記]

_ [work]今年の授業でも

Eclipseの話と,JUnitを使った単体テストの話と,AOPの話をすることになりました.喋ること自体はそんなに問題ではないのだけれど,使う環境(Eclipseのバージョンとか)をまた選定してテストしておかないといけない.ちょうど一昨日に出たばかりの Eclipse 3.1.1 にする予定.

_ b-mobile + りなざう SL-C3000

いつもノートPCを使っていて,りなざうからは使ってないなぁ,と思って,とりあえず試してみた.設定どうするんだろう,と思ったらスロットに挿してダイヤルアップモデムとして使えば(ダイヤルアップ先の電話番号・ユーザ名・パスワードを添付の説明書に書いてあるとおり設定すれば)いけるみたい.

30時間ライセンスなるものも発売されているようで,旅行のときなどにちょっとだけ使うという場合には役立ちそう.


2005-10-02 [長年日記]

_ [お出かけ] 沖縄料理を食べてきた

梅田にある沖縄居酒屋 轟屋というお店でご飯を食べてきた.沖縄音楽のライブ演奏が19時過ぎたあたりにあって(21時頃にもう1回やるようなことを言っていた),かなり雰囲気の良い店だった.

帰りに阪急梅田駅の成城石井に久しぶりに寄ってみたら,シャトー ディケムのワインを冷蔵棚に発見.90年代なのでまだ安価なものとはいえ,それでも手が出せるような値段ではないわけですが…….

_ [論文]振舞いモデル記述に基づいたデバッグ

Donglin Liang, Kai Xu: Debugging Object-Oriented Programs with Behavior Views.

Proceedings of AADEBUG 2005.

読んだのはAADEBUGに submit されたものに対応する technical report.

デバッグをするとき,普通はプログラムのどの機能がうまく動かないということがわかっているので,「この機能はこう動くはずだ」というモデルをあらかじめ記述しておき,その通りに動いているかどうかを検査しよう,というアプローチ(Scenario-Based Debugging というらしい)の論文.

記述されるモデルは,いわゆるオートマトンで,プログラム実行時のイベント(メソッドのenter/exit)で状態遷移を起こし,そのときに合わせて変数の値の記録や assert 文による検査を実行する.

モデル記述用の言語では,AspectJでのメソッド名のワイルドカードのように,いくつかのメソッドを取りまとめて同じイベントとして扱ったり,状態遷移の条件そのものと,それに対応した処理の実行とを区分したりもできるようになっている.このあたりは,アスペクト指向プログラミング言語に似ている(Event-Based でプログラムをとらえているから当然かもしれない).ただし,デバッグという用途の都合上,特定のプログラム文に到達する,というコード行番号の指定や,プログラム実行の停止命令なども使えたりする.

モデルを記述しておきさえすれば「ユーザのログインが終了したところでブレークポイントで停止」といった意味のあるブレークポイント設置が容易になる(しかも他の開発者と共有できる)ので,個人的にはけっこう面白いと思う.

_ [論文]アスペクトが影響を与えるクラスのパラメータ化

Jordi Alvarez: Parametric Aspects: A Proposal.

Proceedings of Workshop on Reflection, AOP and Meta-data for Software Evolution, 2004.

アスペクトが貼りつく対象のクラス集合をパラメータ化しておき,そのアスペクトを継承した具象アスペクト側でクラス集合を設定できるようにしてはどうか,という提案.

AbstractFactory パターンで,指定したクラス群に対するファクトリメソッドを生成する方法を例として取り上げている.アスペクトの中のメソッド名の一部に,貼り付く対象クラスの名前などを入れたい場合に有効に働く様子が示されている.XVCLなどのテキスト処理だけで実現するものとは,クラスの親子関係の制約などを書けるようになっている点が異なる.

_ [論文] 頻繁に更新されるファイルほど複雑である(?)

Amdrea Capiluppi, Juan F. Ramil: Change Rate and Complexity in Software Evolution.

Proceedings of Workshop on Empirical Studies of Software Maintenance, 2004.

各リリースごとにファイルが変更されたかどうかで変更回数をカウントし大きい順に並べると,大きいほうにサイズの大きいファイルが固まり,またサイクロマチック数が大きい関数が固まる,ということを計測した論文.「複雑な関数ほど変更もよく起こる」と主張したいみたい.

まだ予備実験段階のようで,単一プロジェクトが相手で,またファイルごとにサイクロマチック数を合計して比較したりとちょっと怪しい評価の部分もある.複雑な関数(最新のリリースにおけるサイクロマチック数で上位24個)がどんどん複雑になる様子がグラフで示されていたりする.


2005-10-04 [長年日記]

_ [work] AO-ASIA 用の position paper とか

作れるかな?と思って過去の資料を漁ると,AOSD2004にポスターで喋るはずだった(が風邪でダウンしてた)ネタが残っているのは発見.APSEC 本会議で発表があるのに position paper の発表まであるとえらいことになりそうなので,まだ確定せずに置いておくことにする(締め切りは20日).

そういえば,APSEC で発表する人は registration を12日までにしてね,という通知が来たが,まだ APSEC の registration がオープンする気配はない.


2005-10-05 [長年日記]

_ [ツール] Tortoise SVN のセットアップ

前のPCで使っていて,しばらくツール開発から離れていたので,いまさらながらインストール.前のPCでローカルに作ってたリポジトリを持ってきたら,subversion と bdb のバージョンが合わない(?)といったエラーが出てきた.

cygwin の subversion などもかなり古かった(今はもう1.2.3が出ているのに1.1系だった)ので,一回リポジトリを再構築してみた.

svnadmin dump Subversion/ > dumpfile.txt # 情報のエクスポート
Subversion/ ディレクトリを移動
cygwin の subversion をアップグレード
TortoiseSVN から新しいリポジトリ作成
  (このとき,ついでに bdb をやめて fsfs にした)
svnadmin load Subversion/ < dumpfile.txt

_ [論文] アスペクトが与える影響をどう表示するか問題

Wesley Coelho, Gail C. Murphy: ActiveAspect: Presenting Crosscutting Structure.

Proceedings of Workshop on Modeling and Analysis of Concerns in Software (MACS 2005).

AJDTのツリービューとかでは横断的関心事の構造は見づらいし,Composition patterns (下の論文)の記法ではアスペクトが実際にどこに接続されているかが分からないので困る.ということで新しくビューアを作りたい,というショートペーパー.

基本的にはアスペクトが貼りついている先(callポイントカットならメソッドの呼び出し側と呼び出し先のクラス)と,その継承階層,アスペクトが直接参照しているクラス,ぐらいを関係図として示す.また,対象の数が多いときはパッケージ単位などでクラス表示をまとめる,といったアイディアも示している.

グラフ表現だといかに要素数が増えるのを防ぐか,という問題がメインなのかも.

_ [論文] UML的表現でアスペクトを書く

S. Clarke and R. J. Walker: Composition patterns: An approach to designing reusable aspects.

Proceedings of International Conference on Software Engineering 2001 (ICSE 2001), pp.5-14, 2001.

昔読んだはずなのにメモに入ってなかったので読み直し.

横断的関心事について図で記述するために,クラス図とシーケンス図を使って,横断的関心事のテンプレートを書こうというもの.ステレオタイプ「subject」としてアスペクトの名前を書き,包含する要素としてそのアスペクトに参加するクラス(そのクラスが持つメンバーのリスト)と,そのクラス群が起こす動作のシーケンス図を記述する.

クラス図側が,クラスがどのようなメンバーを持っているべきかという制約の記述とインタータイプ宣言を担当し,シーケンス図側が,そのメンバーの振舞い(pointcutとアドバイスの動き方)を指定する.

この状態で,アスペクトの中の各クラスやメンバー名に,実際にどのクラスやメソッドが該当するかを bind する.

アスペクトを,結合対象のクラスから分離して記述するのは,接続対象が多いロギングなどのアスペクトについては有効だと思われる.ただ,bind 結果の具体例くらいは一緒に書き添えないと理解が難しいかもしれない.


2005-10-06 [長年日記]

_ [work] ESS 2005の参加チケット到着

交通手段の確保を忘れていたので,とりあえず行きの飛行機だけ押さえた.初日はMDDロボットチャレンジを昼から見る予定.帰りは新幹線なのでまた後日確保することにする.

_ [work] リフレクションでの private メンバへのアクセス

一昨年,去年の課題は回答まで全部公開してしまっているので,今年も新しい材料を作る.

テスト駆動型開発をちょっと試してみているが,abstract クラスをテストするにはモックオブジェクトを適当に作るとか,テストのためにちょっと無理してるような気がしなくもない.

テスト対象の private メンバーの状態を調べるためにprivate フィールドの状態を調べる方法を試してみたが, "private なメソッドは accessible にできないよ" とエラーが出た.おかしいなーと思ったら,SecurityManager で private への reflection アクセスを禁止できるという記述があったので,どうも SecurityManager が標準で ON になっている,と思われる.

個人的には,setAccessible(true) するのと,AspectJで getter/setter をインタータイプ宣言するのと,どちらがマシなのか気になる.


2005-10-07 [長年日記]

_ [論文]lexical chain を使ったアスペクトマイニング

David Shepherd, Tom Tourwe, Lori Pollock: Using Language Clues to Discover Crosscutting Concerns.

Proceedings of Workshop on Modeling and Analysis of Concerns in Software (MACS 2005), St. Louis, MO, USA, May 2005.

lexical chain というのは,意味的に関連した言葉の集合(closeとendとlastとか,confirmとcheckとか)らしい.計算方法自体は既出のものを使って,ソースコードのコメントやフィールド名,メソッド名を取ってきて単語単位に切り分け,関連を持つ言葉同士をグルーピングして,その言葉が複数のクラスに含まれているようなら横断的関心事に関連する可能性があるのではないか,といっている.

実験では,57000の単語から700個の chains を得ているが,とりあえずそれらを手で調べた結果,出力された chain のうち,depth と shallowest のようにクラスとしては直接表現されていないような言葉のグループであったり,様々な形式(複数形とか過去形とか)で多数の場所に言葉が出現している,といった特徴を持っているものについては,有用な情報を含んでいることが多いようだと筆者らは判断している.

他の(関数のfan-inなどで当たりを付ける)手法と組み合わせれば役立つかもしれない.欠点は,単語間の意味的な距離を算出する方法にコストがえらくかかるらしいこと(重複を排除した単語数に比例).

_ [ツール] tex2text を少しだけ改良

APSEC 原稿をスペルチェッカ(Microsoft Word だけど)にかけるときに残っていた \item を除去する処理を追加しておいた.


2005-10-09 [長年日記]

_ [hyCalendar] プリンタでの印刷ミスへの対策

期間予定の直線の描画だけが消えるという報告があったので,調査した結果,Printer.Canvas.Font.PixelsPerInch の値によって線の太さを調節している処理で,もし,その値が正しく返されていなかったら,実は直線の描画がまったく起きない可能性があるということが判明.で,いちおう対策はしてみた.もし,それ以外が原因だったら,もう打つ手なし.

_ [お出かけ]オフ会@なんば

オフ会といっても,前日の晩に連絡があって大阪近郊で4人集まって遊んできただけではあるが :-)

たまたま御堂筋パレードが開催されてるところを通過したので,ちょっとだけ見物もしてきた.


2005-10-11 [長年日記]

_ [work] APSEC 2005 registration

APSEC 2005 Registrationがようやくオープンした様子.Author Registration 締め切りまであと1日.普通の参加者の人のEarly Registrationは,11月15日まで.

_ [ツール] MySCPでスクリプトを書こうとしたら

MySCP コンポーネントを使って,某サーバ上で crond で生成しているファイルをダウンロードしてこようと考えていたら,実はリモートホスト上のファイル名の一覧は MySCP では取って来れないので,ファイル名を適切に生成するロジックをクライアント側で用意しないといけないことが判明.日付で生成しているから簡単ではあるけど,MySSHのほうが良かったかなぁ,と少し思ってしまう.

複数ファイルをダウンロードするには,ファイル群をワイルドカードで指定する以外には,ReceiveFile メソッドを何回も呼んでそのたびに再接続&ユーザ認証となってしまう様子.けっこう微妙.


2005-10-12 [長年日記]

_ [work] APSEC 2005 の registration 完了

とりあえずささっとオンラインで手続き.Author? 項目に yes を選んだら student rate は選べなくなる.論文通した著者の最低1人は full registration でないといけないらしい.2本通してたら extra registration しないとダメとかいうのもあるみたいで,論文採録された人は金を払うというシステムになっているらしい.


2005-10-14 [長年日記]

_ [work]原稿書きは続く

日本語スライド+英語スライドだけから原稿を書き起こすのはけっこう大変.20日までに間に合うかちょっと微妙な気がする.ESS もあるし…….やっぱり AOSD のワークショップに回そうかな,という誘惑にかられる.

_ [ツール] scp でのファイルダウンロードツールを作ってみた

起動したら単に既定のファイル群をダウンロードしてくるだけのツールを MySCP を使って作ってみた.結局,コネクションは1ファイル転送ごとに張りなおすのは,ファイル数がたかが知れてるのでOKとしておく.

ライセンスキー情報だけ除去してコード公開するぐらいはしてもいいかな?とも思ったものの,日本で MySCP コンポーネント使ってる人どのくらいいるんだろう…….


2005-10-17 [長年日記]

_ [work] ESS 2005 MDDロボットチャレンジ

羽田空港で着陸用設備がトラブル起こしてたとかで,一時間以上遅れて会場に着いてみれば,一番無難に飛行船を飛ばしたグループだけ見られなかった.けれど,昨年に比べると,みんなちゃんと飛ぶようになってたので,わりと面白かった.


2005-10-18 [長年日記]

_ ESS 2005 2日目(?)

企業の人の参加が多いせいか,ロボットチャレンジや付随企画などのおかげか,ちょっと学会よりも催しの密度が高い印象.

今日の収穫は,NIIの佐藤一郎先生のご講演で,携帯端末があちこちのネットワークを物理的に移動するのと同じ状況を,モバイルエージェントを使って再現することでテストを行なう,というお話.

モバイルエージェント関連の研究自体は卒論発表とかでちょっと聴くことはあっても,モバイルエージェントが本当に役立ちそうだと納得したのは,たぶん初めて.

_ 海外渡航の準備

Gail Murphy からそろそろ Invitation Letter を書こうと思うから滞在期間など確認したい,とメールが来ていた.学位取得タイミングがいつかに依存して学振の手続きやらビザ発行やらが決まるので,ちょっとの間だけ保留.

滞在先としては,なんか留学生なんかが多く滞在している寮が学内にあるようで,食事も出るらしいと紹介してもらったので,そこにすることになりそう.


2005-10-19 [長年日記]

_ 学振の採用証明書

DC2からPDに切り替える手続きにどのくらい時間がかかるのかを電話して聞いてみたら,けっこう時間はかかってしまうらしい.ただ,採用証明書自体にはDC2とPDの区別はなくて,収入の証明として入る給与の金額が違うだけらしい.で,DC2からPDに切り替えるときは,採用証明書をPDの金額入りで早いうちに発行することはできるらしい,ということは教えてもらった.

学位取得(3月24日予定)→採用証明書の交付を申請(一週間orもう少し?)→ビザ申請(1ヶ月)となるので,5月頭,というのでも微妙に苦しい予感.ゴールデンウィーク明けくらいからの渡航になりそう.

_ TOEICの結果

もうwebで閲覧できるようになってたので見てみたら,755点(375+380)で前回よりリーディングだけ40点ぐらい悪化,リスニングは変わらず.


2005-10-20 [長年日記]

_ ESS 2005 での賞とか色々

優秀賞(研究論文)が青木先生と青山先生のご発表の2件,奨励賞(研究論文)がNECの丸山陽太郎さんとJAISTの方々のグループ,優秀賞(経験論文)が九州日立マクセルの島田和明さんのご発表.今回,賞に該当した発表を全部器用に避けてしまってたので何とも.

ロボットチャレンジのほうは,ちょっと記憶があやふや.(以下,間違ってた部分を修正済み 10/24)

1位: ムンムン考房(金沢工業大学,NECソフトウェア北陸)

2位: FSEL(立命館大学)

3位: ねこねこ専FU(専修大学,キャッツ,富士通デバイス,富士通)

奨励賞: Tigermoth(宇宙航空研究開発機構),MONTBLANC(東海大学)

ベストフライト賞: ムンムン考房

エクセレントモデル賞: ねこねこ専FU


2005-10-23 [長年日記]

_ wiki(非公開のもの)の整備とか

ちょっとグループで作業する都合で,wikiを設置したりページのテンプレートを整えたりした.

pukiwiki のコメント欄が1行だと長い文が入力しにくい,ということでcomment.inc.php のinputタグ生成をtextarea生成にして,コメント欄を無理やり3行の表示に改造してみた.単にタグ生成部分だけ変更すれば,入力された文字列の中の改行は無視して処理してくれるようなので,意外と変更は簡単だった.

_ 自販機のポイントカード

大学近くの自動車の中古買取のお店(たぶん)のそばにあったダイドーの自販機で,カード発行とかいう見慣れないインタフェースが付いてたので,とりあえず受け取ってみた.

ダイドーのニュースリリースによれば,実は4月からやっていたキャンペーンらしくて,1本1ポイントで50ポイントから景品がもらえるらしい.缶にシール貼るキャンペーンと違って,どの賞品でも良いという違いはあるけど,そのかわり自販機での購入に限定され,店頭でのケース買いとかは対象にならない.どのくらいの人がポイントためられるのかな?


2005-10-25 [長年日記]

_ [AspectJ][ツール] AJDTの多言語対応

AJDTのインタフェースを各言語に翻訳してくれる人を募集しているのに今更気づいた.日本語版は ajdt-dev ML の過去ログによると, kentaro matsumae さんという方が既に宣言を出している様子.

日本語版があると,きっと授業とかでの説明がすごく楽になって嬉しいので,手伝ってもいいだろうなと思ったのだけど,連絡先とかが見つからない(aosd-jpのメンバーリストにもそれっぽい人が見つからなかった)ので如何ともしがたい.翻訳版がリリースされるまでにこのページをご本人に見てもらえるかな,どうかな?


2005-10-27 [長年日記]

_ [work]業績リストの編集

英語文献のリストと日本語文献のリストをまとめて整理しておきたくて,がんばって XML ファイルにしてみた.学会の略称名→正式名称+開催地+開催年月のデータがちょっとほしくなったので,簡単なデータ構造も作成.


2005-10-28 [長年日記]

_ [work][AspectJ] 教材用プログラム作り

授業の説明用の材料を作るためにごそごそとAspectJでコードを書く.

AspectJの場合,複数のジョインポイントでの値の関連を調べたいとき(あるメソッドAからメソッドBを呼び出したときの,Bの戻り値とAの戻り値の比較とか)には,それぞれ after アドバイスで捕まえるくらいしかできない.一時変数を作らざるを得ないし,AがBを呼び出さない場合なども考慮する必要があって,けっこう面倒な気がする.

まあ,「AがBを呼ぶ」という実装に依存している時点でダメなのかもしれないが.


2005-10-31 [長年日記]

_ [授業]開発環境

アンケートをとってみたら,Eclipse, Microsoft/Borland 系ツールを含めても統合開発環境を使ってる人は12人中4人くらいと少なかった.

ツール別でも,make,grepあたりは使っていても,デバッガをちゃんと使ってる人はほとんどいない様子.Segmentation Fault の原因調査にgdbを使うくらいはやっててほしいような気がしないでもない.学部の演習とかでデバッガが登場してこない影響か.

_ [work]AOSD2006のスケジュールが

3月の20〜24日開催(ワークショップが20〜21)なので,24日に学位証明書を学振に送付しようとすると,ワークショップだけ出て日本に戻るとかいう展開になりそうな予感.

25・26は土日なので,卒業式を無視して,証明書送付が27日でも1営業日しか違わないと割り切ると24までいちおういられるけど,ちょっと微妙な気がする.