Provided/Expected vs. Abstract: Caesar, ArchJava and Traits.

最近の目に付くプログラミング言語の特徴として、 Provided メソッド や Expected メソッドなんかがある。具体的には、Caesar[1] とか ArchJava[2] とか Trais[3] とかだけど(他にもあるかも)、この、Provided/Expected メソッドと Abstract メソッドの違いはなんだろうか?


そのまえに、これら 3 つのモデルの、まとめ。
Caesar:

  • 実装を提供するメソッド : provided
  • 実装を提供しないメソッド: expected

ArhJava

  • 実装を提供するメソッド : provides (provided)
  • 実装を提供しないメソッド: requires (required)

Traits:

  • 実装を提供するメソッド : provided
  • 実装を提供しないメソッド: required


各モデルで、用語は違うけど、基本的には同じ意味を表していると思う。でも、全体像から見ると、微妙な違いもあると思う。


・・・とここまで書いてダウン。書けるようになったら続き書くかも。


リソース:

  • [1] M. Mezini and K.Ostermann. Integrating Independent Components with On-Demand Remodularisation. the 17th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications.(2002)

http://www.st.informatik.tu-darmstadt.de/public/Publications.jsp

  • [2] Jonathan Aldrich, Craig Chambers, and David Notkin. ArchJava: Connecting Software Architecture to Implementation. In proceedings of ICSE 2002. (2002)

http://www-2.cs.cmu.edu/~aldrich/archjava/

  • [3] Nathanael Scharli, Stephane Ducasse, Oscar Nierstrasz, Andrew Black. Traits: Composable Units of Behavior. ECOOP 2003.(2003)

http://www.iam.unibe.ch/~oscar/cgi-bin/omnbib.cgi