DemeterF and DemFGen support multiple code organizations. In one extreme, the *.beh files contain all the behavior. In the other extreme, there is only one empty behavior file. This comes from the aspect-oriented nature that supports two ways of adding behavior from the outside to existing classes generated from the .cd files. (.cd files may include each other.) aspect-oriented features of DemeterF: static open classes: using Verbatim ({{ }}) in *.beh traversal introductions: using traverse(...) method of Traversal class dynamic function objects in *.java. They influence the behavior of the pure traversals. Please note that both the .cd files and the .beh files may use includes. Extreme Possibilities: 1. ood/grammar in *.cd behavior in *.java (*.cs) empty behavior file, no open classes ============================ use traversal introductions and function objects with static method that calls traversal The control may be hard wired or could be an argument of the static method. Examples: /home/lieber/.www/courses/csg113/f08/DemeterF/baskets-no-beh 2. ood/grammar in *.cd behavior in *.beh, use open classes ============================ use open classes to add additional methods to cd classes. Examples: /home/lieber/.www/courses/csg113/f08/DemeterF/baskets /home/lieber/.www/courses/csg113/f08/DemFGen-directory See: /home/lieber/.www/courses/csg113/f08/DemeterF/baskets-no-beh/README for how to transition from DemeterF/baskets to DemeterF/baskets-no-beh. In practice, you might use a combination of 1 and 2.