Subject: Aspectual Collaborations
From: Karl Lieberherr (lieber@ccs.neu.edu)
Date: Tue Nov 21 2000 - 12:35:50 EST
DEMETER SEMINAR
Adaptive and and Aspect-Oriented Programming
--------------------------------------------------------------------
The Demeter seminar meets this quarter on Wednesday in 149 Cullinane Hall,
Northeastern University, Boston
from 4.00-5.30 p.m. The topic this quarter will be
related to Adaptive Programming
http://www.ccs.neu.edu/home/lieber/demeter.html
Aspect-Oriented Programming
http://www.ccs.neu.edu/home/lieber/AOP.html
and topics related to the DARPA project AIRES
http://www.dist-systems.bbn.com/projects/AIRES/
in collaboration with the QuO group at BBN.
For students:
To get some background for
the seminar you should read the first four chapters of
http://www.ccs.neu.edu/research/demeter/biblio/dem-book.html
and a selection of the papers at:
http://www.ccs.neu.edu/research/demeter/AOP/eth-seminar/reading-list.html
=========================
Wednesday, November 22, 2000
4.00-5.30 p.m
149 Cullinane Hall
Title: Aspectual Collaborations and Modular Programming
Johan Ovlinger
Abstract:
We present a re-writing approach for combining aspect oriented programming and
role-based collaborations to create module-like programming constructs.
Aspectual Collaborations are separately compiled units of encapsulated
behavior that can be adapted to fit a variety of uses.
The approach works by combining sets of compiled java {\tt .class} files
according to an adaptation specification.
A lightweight (based on field and method modifier keywords only)
source-to-source transformation lets us use any java compiler as the back end,
and an equally lightweight bytecode-to-bytecode transformation removes the
need for any auxiliary interface files.
The java type system is leveraged to protect the programmer from inadvertent
type errors without additional constraints on how collaborations may be
programmed.
Simple but powerful programming constructs allow us to provide separate
compilation of aspects, composition, and flexible object code reuse with a
natural and intuitive operational semantics.
Additional [optional] annotation and static analysis allows us to tackle and
partially solve the consistency problems that arise from this approach.
===================
If time permits, we will continue the discussion of
recent developments related to:
Semantics of Traversals
Mitchell Wand
Traversals are ubiquitous and succinct traversal specifications
are popular both in the XML and Demeter communities.
Mitch will present a new and simpler semantics for
succinct traversal specifications. The semantics defines
an object graph slice (a subgraph) for an object graph and a
succinct traversal specification.
A preliminary discussion is at:
http://www.ccs.neu.edu/research/demeter/DJ/design-decisions/mitch/
After the presentation by Mitch Wand we continue our tour through DJ.
http://www.ccs.neu.edu/research/demeter/DJ/
An interesting aspect of DJ is that severely crosscutting concerns
(structured multi-object collaborations) are expressed in
plain Java without any extension. This is not too surprising
because the DJ Java library makes heavy use of reflection.
Seminar notes for this and previous seminars are in:
http://www.ccs.neu.edu/research/demeter/seminar/
This archive was generated by hypermail 2b28 : Tue Nov 21 2000 - 13:33:26 EST