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. My PhD thesis is the most complete account, but is overkill for introductory purposes. Feel free to contact me to find out more.

Cake has not advanced to a state where it's ready for public consumption, 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 Tue 25 Sep 00:00:00 BST 2018.
validate this page