|
The following is the GDL source of the shell dependencies example graph. graph: {title: "Shells" splines: yes layoutalgorithm: minbackward layout_nearfactor: 0 layout_downfactor: 100 layout_upfactor : 100 // First the time scale node.height:26 node.width: 60 node.borderwidth: 0 edge.linestyle: dashed node: { title:"1972" level:1 horizontal_order:1 } node: { title:"1976" level:2 horizontal_order:1 } node: { title:"1978" level:3 } node: { title:"1980" level:4 } node: { title:"1982" level:5 horizontal_order:1 } node: { title:"1984" level:6 } node: { title:"1986" level:7 } node: { title:"1988" level:8 } node: { title:"1990" level:9 } node: { title:"future" level:10 horizontal_order:1 } edge: { source:"1972" target:"1976" } edge: { source:"1976" target:"1978" } edge: { source:"1978" target:"1980" } edge: { source:"1980" target:"1982" } edge: { source:"1982" target:"1984" } edge: { source:"1984" target:"1986" } edge: { source:"1986" target:"1988" } edge: { source:"1988" target:"1990" } edge: { source:"1990" target:"future"} // We need some invisible edge to make the graph fully connected. // Otherwise, the horizontal_order attribute would not work. edge.linestyle: invisible edge: { source:"ksh-i" target:"Perl" priority:0 } edge: { source:"tcsh" target:"tcl" priority:0 } nearedge: { source:"1988" target:"rc" } nearedge: { source:"rc" target:"Perl" } // Now the shells themselves node.height:-1 // i.e. unspecified node.width: -1 node.borderwidth: 2 edge.linestyle: solid node: { title:"Thompson" level:1 horizontal_order:2 } node: { title:"Mashey" level:2 horizontal_order:3 } node: { title:"Bourne" level:2 horizontal_order:2 } node: { title:"Formshell" level:3 } node: { title:"csh" level:3 shape:triangle } node: { title:"esh" level:4 horizontal_order:2 } node: { title:"vsh" level:4 } node: { title:"ksh" level:5 horizontal_order:3 shape:ellipse } node: { title:"System V" level:5 horizontal_order:5 } node: { title:"v9sh" level:6 } node: { title:"tcsh" level:6 shape:triangle } node: { title:"ksh-i" level:7 shape:ellipse } node: { title:"KornShell" level:8 shape:ellipse } node: { title:"Perl" level:8 } node: { title:"rc" level:8 } node: { title:"tcl" level:9 shape:rhomb } node: { title:"Bash" level:9 } node: { title:"POSIX" level:10 horizontal_order:3 } node: { title:"Rksh-POSIX" level:10 horizontal_order:2 shape:ellipse } edge: { source:"Thompson" target:"Mashey" } edge: { source:"Thompson" target:"Bourne" } edge: { source:"Thompson" target:"csh" horizontal_order:4 } edge: { source:"Bourne" target:"ksh" } edge: { source:"Bourne" target:"esh" } edge: { source:"Bourne" target:"vsh" } edge: { source:"Bourne" target:"System V"} edge: { source:"Bourne" target:"v9sh" } edge: { source:"Bourne" target:"Formshell"} edge: { source:"Bourne" target:"Bash" } edge: { source:"csh" target:"tcsh" } edge: { source:"csh" target:"ksh" } edge: { source:"Formshell" target:"ksh" horizontal_order:4 } edge: { source:"esh" target:"ksh" } edge: { source:"vsh" target:"ksh" } edge: { source:"ksh" target:"ksh-i" } edge: { source:"System V" target:"POSIX" } edge: { source:"v9sh" target:"rc" } edge: { source:"ksh-i" target:"KornShell"} edge: { source:"ksh-i" target:"Bash" } edge: { source:"KornShell" target:"Bash" } edge: { source:"KornShell" target:"POSIX" } edge: { source:"KornShell" target:"ksh-POSIX"} }
|