A Calculus of Untyped Aspect-Oriented Programs
アスペクト指向プログラミングを形式化したという話。AspectJ のようなアスペクトを記述する仕組みを持つ言語の意味論を定義し、さらに weaving を class-base な言語への変換として定義。その上で weaving が reduction によって壊されないことを示した。ただし、pointcut としてメソッドの call と execute のみを扱っている。
author="Radha Jagadeesan, Alan Jeffrey, and James Riely",
title="A Calculus of Untyped Aspect-Oriented Programs",
booktitle="Proceedings of the European Conference on Object-Oriented Programming",
volume="2743",
series="LNCS",
publisher="Springer",
pages="54--73",
year="2003"
追記(2006/11/02): 同じ著者による A Typed Calculus of Aspect-oriented Programs というのもある。こっちは型付き。
Component Adaptation through Flexible Subservicing
Component adaptation の話をプロセス代数の世界で展開している。インタフェースが異なるコンポーネントをどのようにして接続するかという話。コンポーネントのインタフェースと動作をπ計算ライクなプロセス代数と session type を使って記述して、インタフェースのマッピングをチャネル名のマッピングとして与えることで、2 つのコンポーネントの間をつなぐ bridge を自動生成する。Bridge が正しく生成されていれば deadlock-freeness が保証される。
author="Antonio Brogi and Carlos Canal and Ernesto Pimentel",
title="{Component Adaptation through Flexible Subservicing}",
journal="Science of Computer Programming",
volume="63",
number="1",
pages="39--56",
year="2006"