USE OF A STRUCTURE-SHY APPROACH AT ROCKWELL Here is another indication that adaptiveness works to deal with object copying. Very interesting for Demeter/Java and DJava (The remote invocation aspect language RIDL uses a structure-shy approach to object copying). The Rockwell ideas were developed independently from the Demeter group. Geoff's implementation of the CopyVisitor is going to be very useful. -- Karl PS. Jason is also on the EDCS team; Kedar reuses his graph editing framework for AP/Studio. Jason does his thesis in software architecture. ================== To: jrobbins@ICS.UCI.EDU Hi Jason: thank you for your TOOLS '91 paper: @INPROCEEDINGS{robbins:reusable-objects, AUTHOR = "David Morley and Stephen Chiu and Jason Robbins", TITLE = "Reusable Objects", BOOKTITLE = "TOOLS Europe, Technology of Object-Oriented Languages and Systems", YEAR = 1991, PUBLISHER = "Prentice-Hall", PAGES = "", ADDRESS = "Paris, France"} Your paper is about handling groups of collaborating classes and how to express the boundaries of those groups in a robust way. You present your recursion arbiter approach to deal with object copying in a structure-shy way. I like your paper and we have implemented your general idea in Demeter/Java which you already have downloaded. Specifically, Demeter/Java implements your copying mechanism in the following way: To copy an object complex out of a bigger object, you define a traversal strategy in terms of your class graph. (traversal strategies are called traversal specifications or propagation directives in our earlier papers). To copy the selected object, you call the traversal defined by the strategy and you pass as argument the generated copy visitor. So we have the correspondence: RecursionArbiter <-> Traversal Strategy You write about the project at Rockwell: "Recursion Arbiters have been much easier to write than any of us imagined" and "Another striking aspect about this whole experience is the flexibility of decomposing the object graph by these mechanisms: as concepts or conditions have changed, the maintenance of the reusable objects has been very straightforward." Our experience with traversal strategies is equally positive. Your and our experience are all good signs for the future of structure-shy or adaptive programming. Have you done more work on this topic since 1991? Best regards, -- Karl