[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[svp] Re: Adaptive Programming..



Karl Lieberherr's Demeter system is a code generator that assembles pieces
of code into (or more correctly, onto) a structure.  The key idea is that
the generator input for each piece describes the code's location in the
structure in terms of traversals on the structure or "propogation
patterns", using a simple notation that specifies something like, "follow
the has-a relations until you find an object that matches this pattern to
find where this new method should be placed."  The generator takes care of
putting in the forwarding methods along the path.  I think it makes more
sense if you understand the "Law of Demeter" that describes how methods
should propogate (who can call who).

Programming with Demeter definitely takes a different mind set.  Karl
would say something like, "I think of all programs in terms of propogation
paths."  However, his OOPSLA paper from last year, with Mira Mezini -
whose work I admire - takes a big step toward more conventional
object-oriented thinking.

Karl has been working with Gregor Kiczales on finding ways to implement
Aspect Oriented Programming.  Carine Lucas, at the Free University of
Brussels, gave a course last semester on the various approaches related to
AOP, including Karl's.  Also, Krzysztof Czarnezcki, at the University of
Ilmanau, is working on a book on "Generative Programming" that seeks to
put all these methods in perspective.  Krzystof is a good writer. I have
seen exerpts of his book.  Both Carine and Krzysztof have pages linked
from the Demeter site listed in Menon's message.

The idea of all these adaptive systems is to be able to change the program
without having to revisit a lot of code.  The code you write shouldn't
depend on a lot of detail about where things are or how they work.  With
current methods, you may not have to know about details, but the type
system or way things are put together makes your code dependent on the
details, just the same - which you discover when you try to make a simple
change.

	Mike



On Wed, 12 May 1999, menon wrote:

> Folks,
> Any ideas about what Adaptive Programming means? Have you guys in the past 
> discussed it at all? And if not, do you think it would be a good topic in the near
> future...I am talking about the stuff mentioned at the site
> http://www.ccs.neu.edu/research/demeter/
> 
> Best Regards,
> Menon:)
> _________________________________________________________
> Ramakrishna M. Menon (A Md. Rafi fan)
> Internet Messaging, ORACLE CORP. 
> Ph: (650) 506-2343., Fax: (650) 654-6204
> email:  rmenon@us.oracle.com
> _________________________________________________________
> 

Michael VanHilst	Hewlett Packard Laboratories
vanhilst@hpl.hp.com	1501 Page Mill Rd  -  MS: 1U-14
1(650)236-2696		Palo Alto, CA  94304


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/siliconvalleypatterns
http://www.eGroups.com - Simplifying group communications



All opinions expressed are solely those of the message author and do not reflect the views of any particular organization. The archive maintainer has no editorial control over messages.