The Cake linking language

Cake is a linking language I'm working on as part of my PhD. Simply put, Cake provides a high-level declarative notation for gluing together interfaces which are abstractly similar but concretely different. These concrete differences might be because of simple interface evolution (i.e. gluing together components respectively providing and requiring mismatched versions of the same interface) or unanticipated composition (i.e. gluing together components with no preexisting relationship or shared origins, but providing logically compatible functionality).

Cake has the following novel and/or interesting properties.

Please read the OOPSLA 2010 paper to find out more about the language. There is also an earlier short paper from ICSE  '09 detailing some earlier case studies which shaped the design of Cake. Feel free to contact me to find out more---my forthcoming PhD thesis contains yet more details....

Cake is still undergoing heavy development. It's not really ready for public consumption yet, but adventurous users can try out what currently exists. The best reference for that is my Cake repository on GitHub.

Please do send me e-mail if you run into problems, or have general questions or comments.

Content updated at Mon Dec 3 14:59:00 CET 2012.
validate this page