netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2002-09-03 古い日記からの変換データ [長年日記] ▲
2002-09-05 古い日記からの変換データ [長年日記] ▲
2002-09-08 古い日記からの変換データ [長年日記] ▲
2002-09-09 古い日記からの変換データ [長年日記] ▲
2002-09-10 古い日記からの変換データ [長年日記] ▲
_ AspectJ と Hyper/J ▲
Hyper/J は Hyper/J で色々問題がありそうなんだけど….Hyperslice ってそんなに役立つのかなぁ.MixJuice との違いがイマイチわかってないのも困ったところ.
_ AspectJ と Hyper/J ▲
aosd-discuss ML で,Juri Memmert が,アスペクトは,アスペクト間での会話ができないのが弱点になることがあることを指摘してた.あと,たくさんのアスペクトが別々の場所に貼りつくときなどはすごく面倒,ということも.また,アスペクトが意外と再利用に適してないかも?という印象.AspectJ が抱える問題はけっこうあるけど,Aspectual Collaboration だと解決できたりしないかなぁ….
_ 論文 ▲
AspectJ ML で「Hyper/J とAspectJの違いを教えて」という質問に対して紹介された論文
Johan Ovlinger, Karl Lieberherr, David H. Lorenz:"Aspects and Modules Combined"
を読んでみた.Aspectual Collaboration というアスペクト指向の実現のひとつを提案している論文で,AspectJ と違ってアスペクト(著者らはcollaborationと呼んでいるが)のアタッチを別モジュールに分離し,そこに名前のマッピングを記述する形態になっている.書かれているコードもわりとスマートで好印象.アスペクト→クラスの依存関係が崩れないのがアスペクトの限界なので,こっちの研究ネタとはかぶらなくて済みそうだが,参考文献には加えておきたいところ.
もうひとつ,Christina Chavez, Alessandro Garcia, and Carlos Lucena:Some Insights on the Use of AspectJ and Hyper/Jは,AspectJ と Hyper/J で同じプログラムを作ってみたというテクニカルレポート.Hyper/J のほうが,ベースモジュールと付加モジュールが同列で扱えるし,Composition Patterns (横断要素のデザインに関して研究されているもの)とのマッピングがやりやすいので便利だね,という立場らしい.問題によって AspectJ と Hyper/J のどっちが有利かは変わるはずだけど,Composition Patterns との連携についての主張ははじめて見たのでちょっとだけ新鮮だった.
2002-09-11 古い日記からの変換データ [長年日記] ▲
2002-09-13 古い日記からの変換データ [長年日記] ▲
_ XP つづき ▲
XP 関連で印象に残ったのは,だいたい以下の通り.
・大きいプロジェクトは金になるというけど,必ずしもいいとは限らない・上司の説得は,改善大好き人間な人を狙ってやらないと駄目・JUnit みたいなオープンソースも短期リリースという点ではXPに 近いけど,コミュニケーションが不足してる.・方法論は目的に合わせて選ぶべき(「水着」メタファ). 経済的観点からは,「ぎりぎり足りる」がベスト.・在庫を減らしてフィードバックを増やすのがポイント. ここでの「在庫」はソフトウェアの中間生産物(ドキュメント等). Theory of Constraints (The Goal のアレ)の影響を受けてるかも
_ XP ▲
Kent Beck,Alistair Cockburn が講演するというので,eXtreme Programming のセミナーに行ってきた.二人ともジョークを交えながら,面白い話をしてくれた.でも,一番参考になったのは Alistair が見せてくれたCRCカードやグラフの写真かも.「こんな感じに使うのね」っていう雰囲気がわかって,ちょっと嬉しかった.
2002-09-14 古い日記からの変換データ [長年日記] ▲
2002-09-16 古い日記からの変換データ [長年日記] ▲
2002-09-17 古い日記からの変換データ [長年日記] ▲
_ Java ▲
キーが弱参照になる WeakHashMap の存在を初めて知った.これを使えば,アスペクトが持つ Hash の中身が捨てられなくてどんどんメモリを消費していく問題が解決できそう.WeakReference の存在は知っていたのに,JDK 1.2 から存在したこのクラスの存在を知らなかったのは,ショックが大きい.
_ 論文 ▲
日本語論文のほうも消化.
一杉 裕志, 田中 哲, 渡部 卓雄:``安全に結合可能なアスペクトを提供するためのルール''アスペクト(あるいはmix-in)が,ある特定のルールに従っているときはアスペクトの安全な結合が可能である,という話.そのルールだけど,これだけ制限すれば行けそうだなというのが正直な感じで,わりと妥当な印象.ただ,任意のアスペクトを相手にしてる人にとっては意味がない議論かも.
鵜林 尚靖, 玉井 哲雄:``アスペクト指向プログラミングへのモデル検査手法の適用''タイトル通り.アスペクトを展開したコードに対してモデル検査するだけでなく,検査用アスペクトの作成と織り込み(weave)についても話をしている.
_ 論文 ▲
キューにたまってた論文を三つほど消化.
Gregor Snelting and Frank Tip:``Semantics-Based Composition of Class Hierarchies''複数のクラス定義の階層を合成するときの,クラス階層ツリーのマージ方法とかを形式的に記述した論文.意味レベルの扱いはやっぱり難しいらしい.
Cirtos Clifton and Gary T. Leavens:``Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning''JML という制約記述言語を関数の先頭にドキュメントコメントみたいな形式で記述し,それを用いてアスペクトの結合後の制約チェックを行う.そんな詳細な制約書けるなら苦労しないよーと思うのは私だけかな….むしろ制約からコードを生成するか,コードから適当でいいので制約のリストを算出できたらいいなぁ.プログラムの中から不変条件を見つけるのは誰かがやってた気がするけど….
Uwe Assmann:``AOP with design patterns as meta-programming operators''アスペクトの結合をメタプログラミングの演算で実現する.このとき,データフロー解析を用いて,アスペクトによって改変されたコードが本来の振る舞いを破壊しないことを確認する.コードが振る舞いを破壊しない条件がいまいちよく分からなかったけど,自分の研究の目的には合致しなさそうということだけは確認.
2002-09-20 古い日記からの変換データ [長年日記] ▲
2002-09-22 古い日記からの変換データ [長年日記] ▲
2002-09-24 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
読んだのは2本.Laurent Bussard et al.: ``Safe Aspect Composition'' ただのテクニカルレポートで,アスペクト間の干渉がどのように起こるかが説明されているもの.こういう問題を考えましょう,という提案みたいな形.
Angelo Furfaro, Libero Nigro, Francesco Pupo:``Aspect Orinted Programming Using Actors''アスペクト指向で「アクター(有限状態機械で表現されるエージェントみたいなもの)」を横断した要素をプログラムしてみよう,そのためのミドルウェアであるアクターサーバを作ってみた,という感じの論文.アスペクト指向は,ソフトウェア工学の人よりもむしろ分散系の人たちのほうが注目してるみたい.
2002-09-25 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
Manfred Broy et al.: ``Using Extended Event Traces to Describe Communication in Software Architectures''を読んだ.イベントトレース図は,シーケンス図によく似ているが,参加オブジェクトのパラメータ化,イベントの繰り返しの正規表現的な書き方,ある一連のイベント同士が並列で起こる可能性(インターリーブ)の記述などができる.元々は telecommunication 系のものを,ソフトウェアのコンポーネント間通信の記述に使ってもよいのでは,という論文.シーケンス図よりも色々書けるので,けっこう面白いかも.