blob: d4c299a22312811fff68a1558d80acdd84a356f5 [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 RoleModels {
/* 11 inches x 96 DPI is 1056 pixels wide */
size="11,11";
edge [fontsize=10.0 len=1.5 arrowhead=none labeldistance=1.5]
node [shape=plaintext];
root = User;
rankdir = "BT";
/* Person -> User */
User
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD>User</TD>
</TR>
<TR>
<TD PORT="persons"><FONT POINT-SIZE="10.0">(persons)</FONT></TD>
</TR>
</TABLE>
>];
Person
[label=<
<TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white">
<TR>
<TD PORT="user" COLSPAN="2"><FONT POINT-SIZE="10.0">user</FONT></TD>
</TR>
<TR>
<TD COLSPAN="2">Person</TD>
</TR>
<TR>
<TD PORT="author"><FONT POINT-SIZE="10.0">(author)</FONT></TD>
<TD PORT="docs"><FONT POINT-SIZE="10.0">(docs)</FONT></TD>
</TR>
</TABLE>
>];
UserPersons
[shape=diamond label="user-(persons)" fontsize=10.0 style=filled];
Person:user -> UserPersons
[taillabel="1"];
UserPersons -> User:persons
[headlabel="N" style=dashed];
/* Author -> Person */
Author
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD PORT="person" COLSPAN="4"><FONT POINT-SIZE="10.0">person</FONT></TD>
</TR>
<TR>
<TD COLSPAN="4">Author</TD>
</TR>
<TR>
<TD PORT="works"><FONT POINT-SIZE="10.0">(works)</FONT></TD>
<TD PORT="contributor"><FONT POINT-SIZE="10.0">(contributor)</FONT></TD>
<TD PORT="reviewer"><FONT POINT-SIZE="10.0">(reviewer)</FONT></TD>
<TD PORT="admin"><FONT POINT-SIZE="10.0">(admin)</FONT></TD>
</TR>
</TABLE>
>];
PersonAuthor
[shape=diamond label="person-(author)" fontsize=10.0 style=filled];
Author:person -> PersonAuthor
[taillabel="1"];
PersonAuthor -> Person:author
[headlabel="1" style=dashed];
/* Person <-> Documentation */
Documentation
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="person"><FONT POINT-SIZE="10.0">person</FONT></TD>
</TR>
<TR>
<TD>Documentation</TD>
</TR>
</TABLE>
>];
PersonDocs
[label="person-(docs)" shape=diamond fontsize=10.0
style=dotted];
Documentation:person -> PersonDocs
[taillabel="1" style=dotted];
PersonDocs -> Person:docs
[headlabel="N" style=dotted];
/* Work <-> Author */
Work
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="authors"><FONT POINT-SIZE="10.0">(authors)</FONT></TD>
</TR>
<TR>
<TD>Work</TD>
</TR>
<TR>
<TD PORT="proposal"><FONT POINT-SIZE="10.0">(proposal)</FONT></TD>
</TR>
</TABLE>
>];
WorksAuthors
[label="WorksAuthors" shape=diamond fontsize=10.0 style=dotted];
Work:authors -> WorksAuthors
[taillabel="N" style=dotted];
WorksAuthors -> Author:works
[headlabel="N" style=dotted];
/* Contributor -> Author */
Contributor
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD PORT="author"><FONT POINT-SIZE="10.0">author</FONT></TD>
</TR>
<TR>
<TD>Contributor</TD>
</TR>
<TR>
<TD PORT="tasks"><FONT POINT-SIZE="10.0">(tasks)</FONT></TD>
</TR>
</TABLE>
>];
ContributorAuthor
[shape=diamond label="author-(contributor)" fontsize=10.0 style=filled];
Contributor:author -> ContributorAuthor
[taillabel="1"];
ContributorAuthor -> Author:contributor
[headlabel="1" style=dashed];
/* Proposal <-> Contributor */
Proposal
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="work"><FONT POINT-SIZE="10.0">work</FONT></TD>
</TR>
<TR>
<TD>Proposal</TD>
</TR>
</TABLE>
>];
WorkProposal
[label="work-(proposal)" shape=diamond fontsize=10.0
style=dotted];
Proposal:work -> WorkProposal
[taillabel="1" style=dotted];
WorkProposal -> Work:proposal
[headlabel="1" style=dotted];
/* Task <-> Contributor */
Task
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="contributors"><FONT POINT-SIZE="10.0">(contributors)</FONT></TD>
</TR>
<TR>
<TD>Task</TD>
</TR>
</TABLE>
>];
TasksContributors
[label="TasksContributors" shape=diamond fontsize=10.0
style=dotted];
Task:contributors -> TasksContributors
[taillabel="N" style=dotted];
TasksContributors -> Contributor:tasks
[headlabel="N" style=dotted];
/* Reviewer -> Author */
Reviewer
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD PORT="author"><FONT POINT-SIZE="10.0">author</FONT></TD>
</TR>
<TR>
<TD>Reviewer</TD>
</TR>
<TR>
<TD PORT="reviews"><FONT POINT-SIZE="10.0">(reviews)</FONT></TD>
</TR>
</TABLE>
>];
AuthorReviewer
[shape=diamond label="author-(reviewer)" fontsize=10.0 style=filled];
Reviewer:author -> AuthorReviewer
[taillabel="1"];
AuthorReviewer -> Author:reviewer
[headlabel="1" style=dashed labelangle=75.0];
/* Review -> Reviewer */
Review
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="reviewer"><FONT POINT-SIZE="10.0">reviewer</FONT></TD>
</TR>
<TR>
<TD>Review</TD>
</TR>
</TABLE>
>];
ReviewerReviews
[label="reviewer-(reviews)" shape=diamond fontsize=10.0
style=dotted];
Review:reviewer -> ReviewerReviews
[taillabel="1" style=dotted];
ReviewerReviews -> Reviewer:reviews
[headlabel="N" style=dotted];
/* Administrator -> Author */
Administrator
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD PORT="author"><FONT POINT-SIZE="10.0">author</FONT></TD>
</TR>
<TR>
<TD>Administrator</TD>
</TR>
<TR>
<TD PORT="host"><FONT POINT-SIZE="10.0">(host)</FONT></TD>
</TR>
</TABLE>
>];
AuthorAdministrator
[shape=diamond label="author-(admin)" fontsize=10.0 style=filled];
Administrator:author -> AuthorAdministrator
[taillabel="1"];
AuthorAdministrator -> Author:admin
[headlabel="1" style=dashed];
/* Host -> Administrator */
Host
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD PORT="admin"><FONT POINT-SIZE="10.0">admin</FONT></TD>
</TR>
<TR>
<TD>Host</TD>
</TR>
</TABLE>
>];
HostAdministrator
[shape=diamond label="admin-(host)" fontsize=10.0 style=filled];
Host:admin -> HostAdministrator
[taillabel="1"];
HostAdministrator -> Administrator:host
[headlabel="1" style=dashed];
}