The CHOOSE executive board is pleased to invite you to a presentation by
Karl Lieberherr (CCIS, PRL, Northeastern University) on
'More Flexible Software By Favoring Implicit Calls and Communication'.
This event is free for all SI-CHOOSE members, even the drinks after
the talk! Non-CHOOSE members are also welcome, and are encouraged to
fill out the membership application form (
http://www.s-i.ch/) before
attending the meeting. If you want to know more about CHOOSE and
the events which CHOOSE organises, please visit
www.choose.s-i.ch
NOTE: registration for this event is required. Please fill out the
registration form at the end of this e-mail.
------------------------------------------------------------------------
More Flexible Software By Favoring Implicit Calls and Communication
===================================================================
When: 17h30, Dec. 19, 2007
Where: Institut fuer Informatik (IAM), Universitaet Bern,
Schuetzenmattstrasse 14, 3012 Bern, Hoersaal 107
Travel instructions:
http://www.iam.unibe.ch/~scg/Resources/Maps/
Speaker
-------
Karl Lieberherr (CCIS, PRL, Northeastern University)
Agenda
------
17h30 Talk and Q/A
Afterwards you are invited to a refreshment.
Abstract
========
Adaptive Programming (AP) has promoted the idea of calling methods
indirectly through traversals. Aspect-Oriented Programming (AOP)
took this to the next level by calling methods indirectly through
general programs, not just traversals. Both AP and AOP are
departures from the traditional functional and object-oriented
approaches that suffer from two major problems: they explicitly
mention by name the subterms or subobjects that need to be traversed
(explicit traversal problem) and they explicitly mention parameters
that are passed down to subterms or subobjects, whether or not they
are relevant to the current term or object (explicit argument
problem). The reason for the two problems is a low-level use of
"follow the structure" or "follow the grammar".
We propose two new approaches to implicit calls and communication.
The first approach, called AP-F, is a functional approach that
parameterizes the traversal with three kinds of function objects:
transformers, builders and augmentors. Our current implementation of
AP-F is called DemeterF and is provided as a Java library that heavily
relies on reflection. DemeterF includes a type checker that proves
useful in debugging the programs.
The second approach, called AP-P, is an interposition visitor approach
that relies on traversals and before/after methods. An interposition
visitor uses interposition variables that facilitate implicit
communication. Our current implementation of AP-P is called DemeterP
and relies on code generation using AspectJ.
We have successfully used DemeterF programs for refactoring
interpreters, compilers from the EoPL book by Friedman and Wand,
making the programs both simpler and more flexible.
Joint work with Bryan Chadwick, Ahmed Abdelmeged and Therapon
Skotiniotis.
Bio
===
In the mid 1980s, Karl Lieberherr founded the Demeter research team,
which studied the then-novel idea of Adaptive Programming, also known
as structure-shy programming and produced the Law of Demeter ("talk
only to your friends": an explicit form of coupling control) and
several systems for separating concerns in an object-oriented
programming context: Demeter/Flavors, Demeter/C++, DemeterJ, DJ and
XAspects.
In 2006 he added Systems Biology to his areas of interest. He spent
his 2006 sabbatical at Novartis Institute for Biomedical Research and
discovered that SAT and CSP solvers play an important role in
biological applications.
-----------------------------------------------------------------------
REGISTRATION
------------
Please DO NOT reply to this e-mail!
Fill in the form below and sent it to choose AT glue.ch. Thanks.
I want to register for the following event: ___
Name: ______________________________________
Email: ______________________________________
Company: ______________________________________
Address: ______________________________________
ZIP/City:______________________________________
Please check:
[ ] CHOOSE member
[ ] JUGS member
[ ] SI member
[ ] Non-Member