Andrew
David
Eisenberg
Research

Home
Side Projects
Research
Pictures

My primary area of interest is in programming languages and programming language design. Specifically, my PhD research is focused on the expressiveness of programming languges.

I also have a strong interest in Aspect-Oriented Programming.

Embedded CAL Editor

I spent the summer of 2007 working at Business Objects working on the Quark team. They have produced the open source programming language CAL. I spent the summer working on tooling support with a focus on the connection between Java and CAL. I created the Embedded CAL Editor that allows programmers to edit CAL code in a Java editor. It is not yet ready for download, but here are some sneak preview videos (opens in new window):

Those who just want to cut to the chase may be able to skip right to Part 4, which offers a full worked scenario and discusses some more advanced features.

CAL is a lazy functional language that has syntax similar to Haskell. Although it is a general purpose programming language, its main strength is data modelling and data manipulation. CAL compiles to Java byte code making it easy to use the two languages together. If you are interested in CAL, you may want to see the CAL homepage.

Theses

Presentation Techniques for more Expressive Programs, Andrew David Eisenberg. PhD Dissertation, June 2008. Presentation.
Dynamic Feature Tracing: Finding Features in Unfamiliar Code, Andrew David Eisenberg. Master's Dissertation, August 2004.

 

Papers

Expressive Programs through Presentation Extension , Andrew David Eisenberg and Gregor Kiczales, Accepted for publication in AOSD.07. Download the presentation (ppt) Download the equation editing video (wmv)
A Simple Edit-Time Metaobject Protocol, Andrew David Eisenberg and Gregor Kiczales, Accepted for publication in ODAL 2006 (Open and Dynamic Aspect Languages Workshop, co-located with AOSD.06).
Dynamic Feature Traces: Finding Features in Unfamiliar code, Andrew David Eisenberg and Kris De Volder, Accepted for publication in ICSM 2005
Use Case Level Pointcuts, Jonathan Sillito, Christopher Dutchyn, Andrew David Eisenberg and Kris De Volder, Accepted for publication in ECOOP 2004

Demonstrations

A Simple Edit-Time Metaobject protocol , Andrew David Eisenberg and Gregor Kiczales, in OOPSLA 2006:
PPT Presentation
JQuery: Finding your way through tangled code, Andrew David Eisenberg and Kris De Volder, in AOSD 2004:
PPT Presentation

Posters

A Prototype for Metadata Display Control, Andrew David Eisenberg and Gregor Kiczales, in AOSD 2005