2004-05-01から1ヶ月間の記事一覧

Aspectual Overriding

AOP の特徴の一つは、メソッドの呼び出しなどのインターセプトができること。オーバーライドは、継承する側が継承される側のメソッドを同じシグネチャを元にして書き換えること(正確な定義は知らない)。 そう、この二つ(インターセプトとオーバーライド)…

Self-Activation/Deactivation

AOP

もしアスペクトの機能(アドバイス)をオンやオフにできるとしても、すべての 機能がオンやオフになって欲しいということにはならないかもしれない。 そのような、つねにアクティブ(オン)なイベント反応としては、特定のイベント(ジョインポイント)が発…

Aspects as Properties of Objects

英語怪しいけど・・・ インスタンス(オブジェクト)単位でアスペクトを適用できるとして、さらに、そのインスタンスに適用できるアスペクトが一つだけだと仮定すると、アスペクトは、オブジェクトのプロパティと見なせるかもしれない。 メソッドやフィール…

(Aspect Group == Aspectual Polymorphism) ?

前にも 書いた と思うけど、、、ある crosscutting concernを考えたときに、その concern に関して、同じ目的をもった複数のアスペクトが存在しているケースがあるように思える。 たとえば、ゲームのモード(レベル)なんかは、たぶん、crosscutting concern…

Dummy Join Points

AspectJ で気になることに一つに、アスペクトがインターセプトしやすいように(ポイントカットを指定しやすいように)、何もしないメソッドなんかを定義する、ということがある。 これが問題であると考えられることの理由は: ベースプログラムがアスペクトの…

Object or Relation or Aspect?

Ilia Bider Who is Agent: Object or Relation 2nd Workshop on Object-Oriented Language Engineering for the Post-Java Era : Back to Dynamicity. (2004) DL: http://prog.vub.ac.be/~wdmeuter/PostJava04/を読んでみて感じたこと。 この論文では AOP に…

ACO と淘汰

ACO (Ant Colony Optimization) に淘汰のメカニズムってあったっけか? ノード間のリンク(エッジ)をなくす、みたいなのはあるのかな・・・。

The Tyranny of XXX

AOSD (or AOP) で(そこそこ?)有名な用語に the tyranny of the Decompostion というのがある。意味的には、確か(正確なことは思い出せないけど、雰囲気的には)一つの分割単位じゃ色々と無理が出ますぜ or 特定の分割単位だけが優先させてるぜ、みたいな…

Change as Aspects : A Case Study

タイトルの意味は、変更をアスペクトで表そう、みたいな。 AspectJ の魅力的だけど、ちょっと使いどころが難しいそーな機能に、既存のライブラリ(or jar)に対するアスペクトの適用がある。そのような時にでのアスペクトが何をするかということの一つは、ラ…

Liskov Substitution Principle in Aspectual Polymorphism

タイトルの英語ウソくせえけど、、、Aspectual Polymorphism が何かは、ちょっと色々議論がありそうなテーマだと思うけど、雰囲気的には、オブジェクトの振る舞いが実際のオブジェクトの型(クラス)に によって変わるように、オブジェクトの振る舞いは、ど…

Reactive Aspects

's'いるのかどうか不明だけど・・・ アスペクトの持つ特徴として、一つ有益かもしれないものとして、アスペクトの機能(アドバイス)を 実行時に オンやオフにするものがあると思う。思う、っていうのは、実用的な状況が明確にイメージできないからだけど、…

Aspectual Reflection or Aspect-Oriented Reflection

ちょっとタイトルは大げさだけど、、、 もし、アドバイスにメソッドと同じように名前を付けられたら? public aspect MyAspect { before myBefore() { ... } } メソッドがリフレクションを通して、Method として取得できるのと同様に public class MyClass {…

ArchAJ

この前から書いていた、ArchJava っぽいことを @ (Attribute or Annottation) + AspectJ のソースを生成の話を、ちょっと具体的に。 ArchJava とは程遠いけど、雰囲気的には、以下のようなソースがあるとすると(あとで、ちゃんと実装上の問題とかをまとめて…

Generic Genetic Programming or Generative Generic Genetic Programming

いや、冗談だけど、、、(単に G を並べたかっただけ、、、でも、マジメに考えてみるのも面白いかも?)インスピレーション元: David J. Montana. Strongly Typed Genetic Programming. Evolutionary Computation Vol 3:2, 1995. (1995) DL: http://vishnu.b…

More AspectJ + @

Attribute or annotation or tag or @ の情報を利用して、AspectJ のソースコードを生成するヤツの続き。 以前に書いたもの(ArchJava と Traits)に加えて、次のようなものも実装できるかも、と思い中: Role Rule Virtual Class Delegation 具体的に、実装…

Simulating Modern Language Models with Generative and Aspect-Oriented Approach

ウソ臭いタイトルの英語はさておき、、、 前の日記でも書いたけど(今試し中だけど)ArchJava の特徴(Connector とか Port の抽象性)なんかを、Annotation (or Attribute or @) とソースコード(特に AspectJのコード)を生成するアプローチを用いることで…

Extensions as Aspects

基本的に、何かのソフトウェアやライブラリを拡張(or 変更)したい場合に取れるアプローチには: ソースコードを直接変更 継承(or サブクラス化) がある。 前者のアプローチの問題点は、変更される側(つまり、ライブラリ側)の変更に、変更する側が同期を…