[PRL] Function Template developed further
Karl Lieberherr
lieber at ccs.neu.edu
Wed Sep 14 09:06:37 EDT 2005
After Matthias' first lecture, I would like to explain what my research
group (the Demeter
research group) does. This gives you pointers towards projects that you
might want to do in the second
part of the course.
Our starting point was the Function Template for functions that process a
composite structure.
Matthias has shown several applications of the Function Template, including
an interpreter for
propositions. We extensively used this Function Template some 20 years ago,
and we
developed it further. We tried to find ways to express the enhancements that
are needed
for a given Function Template when we take the output requirements into
account.
So we defined extension points in the templates where we could insert
additional behavior.
We modularized the description of those enhancements into separate modules.
This lead to a new subfield of programming languages, called Aspect-Oriented
Programming (AOP)
and we are currently working on interfaces for aspects.
We did another important step. One day I was in Mitch Wand's office and we
talked about
the Function Template. Mitch said: "Karl, you should generate the
templates". So we did.
We designed a Function Template generator that takes as input a class graph
and a specification
which substructure we need for implementing the current function requirement
and as output
we got a Function Template.
This lead to the idea of the Law of Demeter (LoD) and Adaptive Programming
(AP).
The PhD student who did the LoD, Ian Holland, will get a distinguished
alumnus award this
year from Northeastern. This is a very prestiguous award given every year to
a small number
of individuals out of about 168000 alumni.
Last year, Crista Lopes, the Mother of AOP and also my former PhD student,
also got
a distinguished alumnus award from Northeastern.
Following Matthias' advice of retracing some old research in your project, I
recommend that
you study the papers of the two Alumni Award recipients to get ideas for
your project.
I will actively help you with that but more on this later.
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the PRL
mailing list