«前7日分 最新 次7日分» 追記

netail.net

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

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


2003-08-23 古い日記からの変換データ [長年日記]

_ aosd-jp

なんと,現時点で120人.この5時間くらいで30人が加わったことになる.みんなどこから情報集めてるんだろう.

_ 論文

Exception Handling in Object Oriented SystemsECOOP2003 の Workshop の文献を消化,その2.

Johannes Siedersleben:Errors and Exceptions -- Rights and Responsibilities

概要は次の通り.

みんな例外を正しく使っていない.一番よいもので,ある種のロギングという程度で,何もしないものも多い.

コンポーネントが何をしてよいか分からない(Emergency)ときに例外を使うべきである.また,これらの例外はできるだけ早く検出するべきである.

アプリケーションエラーは,場合の数が限定されるので,動作の失敗を返すだけなら,戻り値でよい.戻り値で返せないときだけ例外を使う.また,アプリケーション関連の例外だけは直接の呼び出し主が捕まえ,外へ出してはいけない.(戻り値の一種という以上の意味を持たせてはいけない)

Emergency 例外のチェックを行わないコンポーネント群をRisk Community というかたまりで考える.ある Risk Community へは,Safety Facade という例外を吸収する Facade オブジェクトを介してアクセスする.(Facade は Emergency 例外 -- RuntimeException -- を吸収する)

事前・事後条件について,事前条件は,呼び出し側と呼び出される側とどちらが働くかの取り決めで,失敗した場合は ViolatedPreconditionException を生成すると良い.事後条件は誤った実装による戻り値から呼び出し側を守るためにあり,事前条件と役割が異なる.

例外を扱う10個のルール:

1. Emergency とアプリケーションエラーは区別する.

2. Emergency はできるだけ早く捕まえる.

3. 事前条件が違反された場合は呼び出しを失敗させる.

4. 入力パラメータは,通常は null でないと仮定する.

5. Risk Community は Safety Facade を介してアクセスされる.

6. Emergency を捕らえるのは Safety Facade に任せる.

7. Safety Facade は,事前条件違反以外のすべての例外を捕まえる.

8. アプリケーションエラーは,できるだけ戻り値で表現する.そうでない場合,Checked Exception を使う.

9. アプリケーションエラーはすぐに捕まえる.

10. 制御フローを扱うために必要でない限り,例外クラスを勝手に作らない.

_ 論文

Exception Handling in Object Oriented SystemsECOOP2003 の Workshop での論文を消化.

Ricardo Mendonca da Silva, Paulo Asterio de C. Guerra and Cecilia M. F. Rubira:"Component Integration using Composition Contracts with Exception Handling"

Computational Layer, Coordination Layer, Application Layer と三階層に分けて,Computational Layer にコンポーネントを置いて,そのサービスを Coordination Layer にあるComposition Connector が連結し,処理を行う.で,クライアントコンポーネントはApplication Layer に置かれる.

ここで,Composition Connector はComposition Contract Component を使って構成されるらしい.Contract をコンポーネントで表現してるとこが新しいのかな?と,ちょっと良く分からないが.

_ aosd-jp

何人くらい登録してるんだろう?と思ったら,既に登録者数が93人.どこかの ML で見たことがあるアドレスがいくつかあった.実は潜在的需要は大きかったのかなぁ.


2003-08-21 古い日記からの変換データ [長年日記]

_ IE

セキュリティホールに伴う WindowsUpdate が2つばかり出てるのだが,bMobile ではダウンロードするのが大変なので出張が終わるまで見送る.研究室のマシンも,いつもならリモートデスクトップ~とか使うところだが,こっちも bMobile では手が出ない(たぶん).

_ OO2003

発表が無事終了.IBMの方に興味を持っていただけたので,名刺だけいただいて,後でメールでツールのURLを投げることに.

懇親会で,名前だけは知っていたhttp://dolphin.c.u-tokyo.ac.jp/~kazu0/ の作者の人に会う.実は同い年でびっくり.一杉さんらと AOSD-JP (?) メーリングリストを発足させよう,ということで合意を取った.実はこれが最大の成果かもしれない :-)とりあえず,用語(Crosscutting Concerns など)の和訳を統一できたらいいなぁ,などと思う.こういうのは一人ではできないし.

東工大の千葉先生の Join Point = 結節点,というのは初めて聴いたけど,何となく正しいような気がする.


2003-08-20 古い日記からの変換データ [長年日記]

_ OO2003

OO2003本会議1日目.基調講演は Bertland Meyer で,Trusted Component という話.よいコンポーネントとは何か,とか色々.

午後から,Web アプリケーションのセッションに参加.・フレームワークを作ってやると再利用性が上がる.・デバイスごとのページを,設計時に生成しておくのではなく, 実行時に生成することで管理が楽になる.・デバイスごとのページを,デバイス非依存モデルから デバイス依存モデルへ,と落としていく.・みんな Struts を使っている.というような感じだった.

さらに,パターン系の人々のパネルディスカッションに参加.建築でのデザインパターンとの対比が面白かった.家のユースケースとして雨風をしのぐ,というのは書けるけど明るさがどうこう,というのは実は書けないとか,パターンランゲージはGUIデザイナのためだけのものではないとか,ソフトウェアのほうが,建築よりも分析と設計の間のギャップが大きいとか,システムに対する要望を一貫して保持するコーディネータが必要だとか,建築の世界では実はデザインパターンというのは意外と少数派だったりとか,ソフトウェアで使ってる人のほうが知識の整理に使えるとか色々な考えを持っているとか,色々な話がぽんぽんと飛び出してた.話に乗ってる人々,みんなすごいなぁと感心.

_ OO2003

初日は Meyer による Eiffel チュートリアル.ツールのインタフェースがちょっと格好よかった."Multiple inheritance is easy" とかあっさり言うあたりがすごいかも.AOP については,「アーキテクチャをいじらずに,外側から(ソフトウェアを良く知ってる人が)ソフトウェアを改変するもの」という感じの認識らしい.アスペクトがいっぱいあると保守しにくそうと思っている様子.純粋にオブジェクトだけで頑張るタイプの人なんだろうか.

アスペクト指向といえば,福岡工大の趙先生に,研究室の名前とAOPやってます,というだけで名前を当てられてしまった.実は密かに有名だったりするんだろうか?

_ ホテルまでの道が分からなくて微妙に苦戦.途中,休憩のため,初めてスターバックスに入った.普通の喫茶店(紅茶)を利用する人間なので今までまったく縁がなかったのだが,人に驚かれた.


2003-08-19 古い日記からの変換データ [長年日記]

_ CD

飯塚雅弓「SMILE×SMILE」購入.ポスターはいらないので後輩にあげることにする.

_ AspectJ

AspectJ-users MLで,AspectJ の advice にはなぜ名前がないの?という質問があって,adviceexecution や advice のオーバーライドで使うかもしれないが,adviceexecution は登場が遅かったから考えに入ってなかった,という返事をしてた.構文的にはサポートしてもいいが,特に意味のない情報(コンパイルエラーとかでは意味があるが)になるかもしれない,とのこと.


2003-08-18 古い日記からの変換データ [長年日記]

_ bun45

まったく最近進展(状況の変化)がないので,bun45 サーバ管理関連の残りの課題を整理する. ・次期管理者探し・文学部統合サーバへの移行はどうなった? という二点.前回,ディレクトリ構造の改変をして
/usr/local/cgi 以下     => /home/httpd/cgi-bin/seiyousi/util
/home/httpd/html 以下   => /home/httpd/html/seiyousi
/home/httpd/cgi-bin 以下 => /home/httpd/cgi-bin/seiyousi
と変えたので,統合サーバへはファイルコピーだけでいける……はずなのだが.サーバ移行の話はどうなったのだろう. ディレクトリの置換作業は,次のように実現.手抜きだなー.
sed s/\/usr\/local\/cgi/\/home\/httpd\/cgi-bin\/seiyousi\/util/g

_ bMobile

現物支給ということでもらった bMobile,出張に向けてセットアップしてみた.約100kbpsで,やはり遅いが,これで場所を(そんなに)選ばずメールが読める.

_ アルゴリズム

偶々見つけた,遺伝的アルゴリズムの解説.いわゆる N-Queen パズルを解いてるのだが,Pc=60, Pm=30 で 100 世代ちょっとで解に到達して感動.

http://kaz.cyteen.nagoya-bunri.ac.jp/knowledge/nqueen/GAqueen.html

_ 読書

秋田禎信,魔術師オーフェンはぐれ旅「我が聖域に開け扉(上)」読了.発売から半年近く経っているはずなので,いまさらという感じではあるが.

伏線消化モードに入ってるせいか,ストーリーの展開が速く見える.まあ,シリーズ開始(10年くらい前?)から付き合ってる作品なので,完結が見えてくると,感慨深いものがある.


2003-08-17 古い日記からの変換データ [長年日記]

_ Eclipse

Eclipse プラグインからダイアログを表示しようとして,SWTから「スレッドが正しくないよ」と怒られた.

GUI用スレッド以外からはダイアログ表示などをさせてくれないらしい.ある意味当然かもしれないが.

結局,Display.asyncExec でGUIを扱う Runnableのインスタンスを渡せばいけるらしいということが分かって解決.

_ 紅茶

レピシエのダージリン・ビクトリアフォールで水出し紅茶を作ってみた.1時間半くらい漬けた時点で,かなり渋みが出てたので,わりと失敗かも.

ダージリン全般が,そんなに水出しに向いてないのかな?カンチェンジュンガのときはうまくいったのに…….


2003-08-15 古い日記からの変換データ [長年日記]

_

実家の本を整理.いらない単行本を中心に,100冊程度(所有の約50%)を処分することを決定.判定の基準は「過去1年に読まなかったものは次の1年にも読まない確率が高い」.