Demeter seminar today


Subject: Demeter seminar today
From: Karl Lieberherr (lieber@ccs.neu.edu)
Date: Wed Nov 01 2000 - 12:49:39 EST


Reminder:

The Demeter Seminar meets today in 149 at 4pm to continue
our discussion of DJ.

Today we get into the issues of dynamic class graph
construction when a class is defined dynamically from
a byte array (e.g., from the network).

-- Karl Lieberherr

==================
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, October 4, 2000

An Introduction to Adaptive and Aspect-Oriented Programming
Karl Lieberherr

Aspect-oriented programming (AOP) uses new programming constructs to
control tangling in software. AspectJ,
http://aspectj.org/
a toolkit supporting AOP in Java,
uses connectors, called pointcuts, to define events of interest, and uses
components, called advice, to specify what to execute at those events. DJ,
http://www.ccs.neu.edu/research/demeter/DJ/
http://www.ccs.neu.edu/research/demeter/DJ/docs/api/edu/neu/ccs/demeter/dj/package-summary.html
a library supporting adaptive programming (AP) in Java, uses
connectors, called traversals, to define events of interest, and uses
components, called visitors, to specify what to execute at those events.

The talk will focus on the re-design of the DJ library
designed and implemented by Doug Orleans based on an implementation
by Josh Marshall.
We use DJ to give a succinct introduction to adaptive
programming using the concepts of AP: ClassGraph, ObjectGraph,
Strategy, TraversalGraph, ObjectGraphSlice, and Visitor that also
happen to be classes in 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.

The discussion period will circle around ideas of integrating
the connectors and components of AspectJ and DJ into a unified language.

Note: The DJ refered to here is different than the DJ used in
Crista Lopes PhD thesis on AOP:
http://www.ccs.neu.edu/home/lieber/theses-index.html

Seminar notes for this and previous seminars are in:
http://www.ccs.neu.edu/research/demeter/seminar/



This archive was generated by hypermail 2b28 : Wed Nov 01 2000 - 13:04:29 EST