«前の日(03-23) 最新 次の日(03-25)» 追記

netail.net

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

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


2005-03-24 AOSDの論文読みはまだ続く…

_ 失敗知識データベース

「失敗学」で前から知られていた失敗知識データベースが,一般公開された.URLはhttp://shippai.jst.go.jp/.情報系の事例はあまり多くない.「動かないコンピュータ」は日経で特集されるくらいいっぱいあるらしいけど,こういうデータベースに載るようなものはさすがに少ないか.

_ [論文] データ構造の一貫性検査のための横断的性質記述

Patrick Lam, Viktor Kuncak, Martin Rinard: Crosscutting Techniques in Program Specifications and Analysis.

Proceedings of AOSD 2005, pp.169-180, Chicago, Illinois, March 2005.

データ構造の一貫性を検査しようとすると,一般的には手続き単位での事前条件・事後条件などを記述することになるが,そうした場合に,手続きの条件が,その中で使っている手続きの事前条件や事後条件を含まないといけなくなり,同種の条件があちこちに散らばっていき,スケーラビリティを失ってしまう,らしい.

問題解決のためのアプローチとしては,Listに参加するNode型はnextとprevを持つ,といったデータ構造用の変数をListモジュール自身が保持しておき,Node型の実体としてCellクラスを使うと宣言した時点でCellにNode用のデータ構造が自動追加される,というった感じに見える.

同じオブジェクトが複数のデータ構造に参加している場合に,データ構造単位で検証を行える(対象オブジェクト内に複数のデータ構造の情報が混ざらない)のが利点といえるか.

_ [論文] Adaptive Programming用のJAsCo拡張

Wim Vanderperren, Davy Suvee, Bart Verheecke, Maria Agustina Cibran, Viviane Jonckers: Adaptive Programming in JAsCo.

Proceedings of AOSD 2005, pp.75-86, Chicago, Illinois, March 2005.

動的AOPの実装であるJAsCoでは,Aspect Beansとして,フックをかける対象(pointcut)をパラメータとして受け取れるような機構を持っていて,実際にどのようなインスタンス・メソッドが処理対象となるかをconnectorとして定義するらしい.また,アスペクト内部からクラスへのアクセス用のメソッドを,"refinable" としておくことで,後で適用先のクラスにあわせて定義を差し替えることができるようにしている.

で,これに traversal connector という新しいタイプのconnectorを導入して,AspectJ Pointcut 系の定義ではなく Adaptive Programming の "visiting" 系の定義を受け取れるようにしました,という話らしい.どちらかというとAdaptiveなvisitorを便利に使うためにJAsCoの既存のconnector枠組みを使っている,というほうが正しいのかもしれないが.

記述を便利にするという話はいいけど,開発者はどこまでプログラムの複雑さを管理できるんだろう.可読性とかも謎.Generics+メタデータ+AOPの連携のおかげで,最近,急に使えるテクニックが増えているような気がする.

_ [論文] QoS管理のためのアスペクト

Aleksandra Tesanovic, Mehdi Amirijoo, Mikael Bjork, Jorgen Hansson: Empowering Configurable QoS Management in Real-Time Systems.

Proceedings of AOSD 2005, pp.39-50, Chicago, Illinois, March 2005.

システムのQoS管理をアスペクトとして分離したというケーススタディな論文.QoS管理パッケージをアスペクトで書いて,無事QoSの目標を達成できたらしい.が,アスペクトとして分離するほど構成管理や再利用は容易になるが保守はしにくい,といった話を引用することになる,かも?


2006-03-24

_ AOSD5日目(本会議3日目,最終日)

最終日は午前だけ.テストに関するセッションでは,単にAspectJコンパイラでクラスに変換された後のコードに対してテストコード生成ツールを適用してもうまくいかないので,生成ツールがうまく働けるようにラッパークラスを生成する,という話はけっこう面白かった.

また,アスペクトの相互作用に関するセッションでは,アトリビュートをインタータイプ宣言した場合に,宣言の有線順序によって結果が異なる可能性を検知するというわりと実用寄りな話や,音楽情報(メロディやテンポなど)の合成(weaving)によって音楽を合成するという話があった.


2008-03-24

_ [近況] 研究室のページを更新

新年度の4年生向けに,研究室の研究紹介ページをがんばって更新してみました(日本語版は,もう新しい版に差し替わっています).

今までは色々と研究テーマを列挙していただけでしたが,今回はカテゴリ分けを試みたので,だいぶ疲れました.