| /* Copyright 2008 Google Inc. | |
| This work is licensed under a Creative Commons Attribution 2.5 License. | |
| For information, see: | |
| http://creativecommons.org/licenses/by/2.5/ | |
| For the actual license text, see: | |
| http://creativecommons.org/licenses/by/2.5/legalcode | |
| */ | |
| digraph WorkModels { | |
| /* 11 inches x 96 DPI is 1056 pixels wide */ | |
| size="11,11"; | |
| edge [fontsize=10.0 len=1.5 arrowhead=none labeldistance=2.3] | |
| node [shape=plaintext]; | |
| root = Work; | |
| rankdir = "TB"; | |
| /* invisible "level" graph to enable assigned of levels to groups of nodes */ | |
| 8 [style=invis]; | |
| 7 [style=invis]; | |
| 6 [style=invis]; | |
| 5 [style=invis]; | |
| 4 [style=invis]; | |
| 3 [style=invis]; | |
| 2 [style=invis]; | |
| 8 -> 7 [style=invis]; | |
| 7 -> 6 [style=invis]; | |
| 6 -> 5 [style=invis]; | |
| 5 -> 4 [style=invis]; | |
| 4 -> 3 [style=invis]; | |
| 3 -> 2 [style=invis]; | |
| /* Survey -> Work */ | |
| Work | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0"> | |
| <TR> | |
| <TD COLSPAN="5">Work</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="survey"><FONT POINT-SIZE="10.0">(survey)</FONT></TD> | |
| <TD PORT="reviews"><FONT POINT-SIZE="10.0">(reviews)</FONT></TD> | |
| <TD PORT="proposal"><FONT POINT-SIZE="10.0">(proposal)</FONT></TD> | |
| <TD PORT="documentation"><FONT POINT-SIZE="10.0">(documentation)</FONT></TD> | |
| <TD PORT="authors"><FONT POINT-SIZE="10.0">(authors)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| Survey | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white"> | |
| <TR> | |
| <TD COLSPAN="2" PORT="work"><FONT POINT-SIZE="10.0">work</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD COLSPAN="2">Survey</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="questions"><FONT POINT-SIZE="10.0">(questions)</FONT></TD> | |
| <TD PORT="reviews"><FONT POINT-SIZE="10.0">(reviews)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| WorkSurvey | |
| [label="work-(survey)" shape=diamond fontsize=10.0 style=filled]; | |
| Work:survey -> WorkSurvey | |
| [taillabel="0/1"]; | |
| WorkSurvey -> Survey:work | |
| [headlabel="1" style=dashed]; | |
| /* Survey <-> Question */ | |
| Question | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white"> | |
| <TR> | |
| <TD PORT="surveys"><FONT POINT-SIZE="10.0">(surveys)</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Question</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="answers"><FONT POINT-SIZE="10.0">(answers)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| SurveysQuestions | |
| [shape=diamond label="SurveysQuestions" fontsize=10.0 style=filled]; | |
| Survey:questions -> SurveysQuestions | |
| [taillabel="N" style=dashed labelangle=60.0 labeldistance=1.5]; | |
| SurveysQuestions -> Question:surveys | |
| [headlabel="N" style=dashed]; | |
| /* Review -> Survey */ | |
| Review | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white"> | |
| <TR> | |
| <TD PORT="survey"><FONT POINT-SIZE="10.0">survey</FONT></TD> | |
| <TD PORT="reviewed"><FONT POINT-SIZE="10.0">reviewed</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD COLSPAN="2">Review</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="answers"><FONT POINT-SIZE="10.0">(answers)</FONT></TD> | |
| <TD PORT="reviewer"><FONT POINT-SIZE="10.0">reviewer</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| SurveyReviews | |
| [shape=diamond label="survey-(reviews)" fontsize=10.0 style=filled]; | |
| Survey:reviews -> SurveyReviews | |
| [taillabel="N"]; | |
| SurveyReviews -> Review:survey | |
| [headlabel="1" style=dashed]; | |
| /* Review -> Work */ | |
| ReviewedReviews | |
| [shape=diamond label="reviewed-(reviews)" fontsize=10.0 style=filled]; | |
| Work:reviews -> ReviewedReviews | |
| [taillabel="N"]; | |
| ReviewedReviews -> Review:reviewed | |
| [headlabel="1" style=dashed]; | |
| /* Review -> Answer */ | |
| Answer | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white"> | |
| <TR> | |
| <TD PORT="question"><FONT POINT-SIZE="10.0">question</FONT></TD> | |
| <TD PORT="review"><FONT POINT-SIZE="10.0">review</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD COLSPAN="2">Answer</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| ReviewAnswers | |
| [shape=diamond label="review-(answers)" fontsize=10.0 style=filled]; | |
| Review:answers -> ReviewAnswers | |
| [taillabel="N" style=dashed]; | |
| ReviewAnswers -> Answer:review | |
| [headlabel="1"]; | |
| QuestionAnswers | |
| [shape=diamond label="question-(answers)" fontsize=10.0 style=filled]; | |
| Answer:question -> QuestionAnswers | |
| [taillabel="1" labeldistance=2.5]; | |
| QuestionAnswers -> Question:answers | |
| [headlabel="N" style=dashed]; | |
| /* Proposal -> Work */ | |
| Proposal | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white"> | |
| <TR> | |
| <TD PORT="work"><FONT POINT-SIZE="10.0">work</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Proposal</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="tasks"><FONT POINT-SIZE="10.0">(tasks)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| ProposalWork | |
| [shape=diamond label="work-(proposal)" fontsize=10.0 style=filled]; | |
| Proposal:work -> ProposalWork | |
| [taillabel="1"]; | |
| ProposalWork -> Work:proposal | |
| [headlabel="0/1" style=dashed]; | |
| /* Documentation -> Work */ | |
| Documentation | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="work"><FONT POINT-SIZE="10.0">work</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Documentation</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="person"><FONT POINT-SIZE="10.0">person</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| WorkDocumentation | |
| [label="work-(documentation)" shape=diamond fontsize=10.0 style=filled]; | |
| Work:documentation -> WorkDocumentation | |
| [taillabel="0/1"]; | |
| WorkDocumentation -> Documentation:work | |
| [headlabel="1" style=dashed]; | |
| /* Person -> Documentation */ | |
| Person | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="docs"><FONT POINT-SIZE="10.0">(docs)</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Person</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| PersonDocs | |
| [label="person-(docs)" shape=diamond fontsize=10.0 | |
| style=dotted]; | |
| Person:docs -> PersonDocs | |
| [taillabel="N" style=dotted]; | |
| PersonDocs -> Documentation:person | |
| [headlabel="1" style=dotted]; | |
| /* Task -> Proposal */ | |
| Task | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white"> | |
| <TR> | |
| <TD PORT="proposal"><FONT POINT-SIZE="10.0">proposal</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Task</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="contributors"><FONT POINT-SIZE="10.0">(contributors)</FONT> | |
| </TD> | |
| <TD></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| ProposalTasks | |
| [shape=diamond label="proposal-(tasks)" fontsize=10.0 style=filled]; | |
| Task:proposal -> ProposalTasks | |
| [taillabel="1"]; | |
| ProposalTasks -> Proposal:tasks | |
| [headlabel="N" style=dashed]; | |
| /* Work <-> Author */ | |
| Author | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0" BGCOLOR="white"> | |
| <TR> | |
| <TD PORT="authors"><FONT POINT-SIZE="10.0">(works)</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Author</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| WorksAuthors | |
| [label="WorksAuthors" shape=diamond fontsize=10.0 style=dotted]; | |
| Author:authors -> WorksAuthors | |
| [taillabel="N" style=dotted]; | |
| WorksAuthors -> Work:authors | |
| [headlabel="N" style=dotted]; | |
| /* Task <-> Contributor */ | |
| Contributor | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="tasks"><FONT POINT-SIZE="10.0">(tasks)</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Contributor</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| TasksContributors | |
| [label="TasksContributors" shape=diamond fontsize=10.0 | |
| style=dotted]; | |
| Contributor:tasks -> TasksContributors | |
| [taillabel="N" style=dotted]; | |
| TasksContributors -> Task:contributors | |
| [headlabel="N" style=dotted]; | |
| /* Review -> Reviewer */ | |
| Reviewer | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="reviews"><FONT POINT-SIZE="10.0">(reviews)</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Reviewer</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| ReviewerReviews | |
| [label="reviewer-(reviews)" shape=diamond fontsize=10.0 | |
| style=dotted]; | |
| Reviewer:reviews -> ReviewerReviews | |
| [taillabel="N" style=dotted]; | |
| ReviewerReviews -> Review:reviewer | |
| [headlabel="1" style=dotted]; | |
| /* manually assigned "level" ranks to produce an easier-to-read graph */ | |
| { rank=same; | |
| "8"; "Work"; | |
| }; | |
| { rank=same; | |
| "7"; "ProposalWork"; | |
| }; | |
| { rank=same; | |
| "6"; "Survey"; "Proposal"; "Documentation"; | |
| }; | |
| { rank=same; | |
| "5"; "SurveysQuestions"; "ProposalTasks"; "ReviewedReviews"; | |
| }; | |
| { rank=same; | |
| "4"; "Question"; "Task"; "Review"; | |
| }; | |
| { rank=same; | |
| "3"; "QuestionAnswers"; "TasksContributors"; "ReviewerReviews"; | |
| "WorksAuthors"; "PersonDocs"; "ReviewAnswers"; | |
| }; | |
| { rank=same; | |
| "2"; "Contributor"; "Reviewer"; "Author"; "Person"; "Answer"; | |
| }; | |
| } |