To use propagation patterns, the user must not only have a class dictionary defined, but must also have at least one propagation pattern. The setup is very similar to that for creating just the class dictionary interface.
Fist class dictionary file cd.cd is needed. Second, any number of propagation pattern *.pp files may be created. Next the following sequence of commands must be entered at the command prompt. The only difference in this sequence from the class dictionary only case is the inclusion of isthmus-pp in the list of commands which must be entered.
sem-check demeter isthmus-cd cp Imakefile.sample Imakefile cp main_tcl.C.sample main.C cp main.tcl.sample main.tcl isthmus-pp *.pp gen-make demeter run
The command isthmus-pp can be called on a particular propagation pattern, by calling isthmus-pp filename.pp or on all the propagation patterns, as shown in the example,
The user may then call the propagation patern either in the main.tcl file or interactively, by entering the operation at the wish command prompt
Whenever you make significant changes to a propagation patttern, you must rerun isthmus-pp on the filename.pp which contains the updated or new propagation pattern. A significant change is when any one of the arguments, return value, or source classes of a propagation pattern is changed. Creating a new propagation pattern also qualifies as a significant change.
Isthmus supports both forms of propagation patterns, those which contain traversal directives and patterns which do not. Propagation patterns which have traversal directives can be called in TclTk from the source class of the propagation pattern. Pointers to Demeter classes, ie derived from Universal, and basic classes, including char*, int, float, and double, are supported as return values or arguments.
All return values are automatically activated by the tools, there is no need for the user to activate them manually. This means that when a propagation pattern returns an object for which no Tcl command has been generated, the object would ordinarily not be known to Tcl. If the object isn't known, then then the activate command must be entered by hand to make the object known. Isthmus automatically activates these objects, so the programmer does not need to manually activate every object returned by her propagation patterns.