Hi Geoff: Your description is useful to make adaptive programming more systematic. I tried such a description on pages 404 - 407 of my book. Please can you check that and compare with your process. Your description suggests: one traversal per use case? -- Karl ========================== Geoff Hulten's process: Process for turning a use case into an adaptive program Once you have a use case and a class graph, you need to decide which parts of the class graph will be needed to produce the required output. Then write a traversal that gets to all of these parts. The traversal should be written to be as structure shy as possible, but may want to be written with attention to possible evolutions, so as not to be too brittle with respect to them. Then, you need to write wrappers to do the work as early in the traversal as possible. It may be the case that pieces of the structure need to be gathered together in order to compute the desired output. These pieces should be transported as little as possible before the computation is done.