blob: e1801ec87ce4edb681e9f5c1319aab3c53a83850 [file] [log] [blame]
/* 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";
};
}