This file contains useful pointers to existing projects which are available to NU students to do follow-on projects. Parties outside NU can get access to this source code by joining the Center for Software Sciences at NU. Send mail to demeter@acm.org if you are interested.
DemDraw: to manually draw class graphs.
The DemDraw tool (first version, done by one COM1205 class): Written in C++ and Tcl/TK using Demeter/C++ and Isthmus. The documentation of the DemDraw program is at URL: http://www.ccs.neu.edu/research/demeter/course/projects/demdraw/www Browse through the documentation first and then go to a new directory and execute the command: cp -rp /proj/lieber2/f95/com1205/tools/demdraw/demdraw-0.4/src/* . After copying, type run to run the application. A useful follow-on project is to rewrite the entire application using Demeter/Java. Advantage: Only one programming language instead of C++ and Tcl/Tk.
DemAnneal: to automatically draw class graphs.
Independent Study Project Project: Graph Placement Algorithm Student: Elan Riesman Director: Prof. Lieberherr Submitted: Fall 1995 demanneal converts Demeter class dictionaries into demdraw or xcddraw files. demanneal generates class dictionary graphs using a simulated annealing algorithm which minimizes edge length. By default, demanneal runs under X Windows and outputs files in cdx format, extended class dictionaries. Specifying the output file format on the command line disables the window interface. EXAMPLES: Type the following to create a demdraw file from cd.cd: demanneal -dd -o cd.dd cd.cd The tool can also read from and write to standard input and output: demanneal -dd > cd.dd < cd.cd OPTIONS: -spacing num set the minimum edge length to num pixels -bubbles num make the graph contain num percent null nodes -steps num anneal for num steps Some X Window options: -display dpy use dpy for X display -fn font set font -fg -bg -bfg -bbg set foreground and background colors for text and buttons The following options are for command line mode only, and implicitly disable the X Window interface: -n no action, don't anneal just show graph statistics -nw no windows -o filename output the graph to filename -p preserve initial position info, do not make grid, just swap -v verbose mode, print the status of each annealing step the USR1 signal toggles verbose mode the -v flag does not disable X windows -scramble permute graph, but do not anneal -da use demanneal format (default) -cd use demeter format, drop position info -dd use demdraw format -cdg use xcddraw format The source is at /proj/lieber2/f95/com1205/cd-drawing2/expanded A useful follow-on project would be to draw class diagrams for the Unified Modeling Language. Or to use genetic algorithms instead of using simulated annealing.