blob: 0f4a14f8fc97ad5d529620a88b6eeba83c8b9683 [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 GroupModels {
/* 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 = Organization;
rankdir = "BT";
/* Organization -> User */
User
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD>User</TD>
</TR>
<TR>
<TD PORT="orgs"><FONT POINT-SIZE="10.0">(orgs)</FONT></TD>
</TR>
</TABLE>
>];
Organization
[label=<
<TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white">
<TR>
<TD COLSPAN="6" PORT="founder"><FONT POINT-SIZE="10.0">founder</FONT></TD>
</TR>
<TR>
<TD COLSPAN="6">Organization</TD>
</TR>
<TR>
<TD PORT="school"><FONT POINT-SIZE="10.0">(school)</FONT></TD>
<TD PORT="club"><FONT POINT-SIZE="10.0">(club)</FONT></TD>
<TD PORT="sponsor"><FONT POINT-SIZE="10.0">(sponsor)</FONT></TD>
<TD PORT="admins"><FONT POINT-SIZE="10.0">(admins)</FONT></TD>
<TD PORT="authors"><FONT POINT-SIZE="10.0">(authors)</FONT></TD>
<TD PORT="reviewers"><FONT POINT-SIZE="10.0">(reviewers)</FONT></TD>
</TR>
</TABLE>
>];
OrgsFounder
[shape=diamond label="founder-(orgs)" fontsize=10.0 style=dotted];
Organization:founder -> OrgsFounder
[taillabel="1" style=dotted];
OrgsFounder -> User:orgs
[headlabel="1" style=dotted];
/* School -> Organization */
School
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD>
</TR>
<TR>
<TD>School</TD>
</TR>
<TR>
<TD PORT="students"><FONT POINT-SIZE="10.0">(students)</FONT></TD>
</TR>
</TABLE>
>];
OrgSchool
[shape=diamond label="org-(school)" fontsize=10.0 style=filled];
School:org -> OrgSchool
[taillabel="1"];
OrgSchool -> Organization:school
[headlabel="0/1" style=dashed];
/* Student -> School */
Student
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="school"><FONT POINT-SIZE="10.0">school</FONT></TD>
</TR>
<TR>
<TD>Student</TD>
</TR>
<TR>
<TD PORT="person"><FONT POINT-SIZE="10.0">person</FONT></TD>
</TR>
</TABLE>
>];
SchoolStudents
[shape=diamond label="school-(students)" fontsize=10.0 style=filled];
Student:school -> SchoolStudents
[taillabel="1"];
SchoolStudents -> School:students
[headlabel="N" style=dashed];
/* Student -> Person */
Person
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="student"><FONT POINT-SIZE="10.0">(student)</FONT></TD>
<TD PORT="member"><FONT POINT-SIZE="10.0">(member)</FONT></TD>
</TR>
<TR>
<TD COLSPAN="2">Person</TD>
</TR>
</TABLE>
>];
PersonStudent
[shape=diamond label="person-(student)" fontsize=10.0 style=dotted];
Person:student -> PersonStudent
[taillabel="1" style=dotted];
PersonStudent -> Student:person
[headlabel="1" style=dotted];
/* Club -> Organization */
Club
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD>
</TR>
<TR>
<TD>Club</TD>
</TR>
<TR>
<TD PORT="members"><FONT POINT-SIZE="10.0">(members)</FONT></TD>
</TR>
</TABLE>
>];
OrgClub
[shape=diamond label="org-(club)" fontsize=10.0 style=filled];
Club:org -> OrgClub
[taillabel="1"];
OrgClub -> Organization:club
[headlabel="0/1" style=dashed];
/* Member -> Club */
Member
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="club"><FONT POINT-SIZE="10.0">club</FONT></TD>
</TR>
<TR>
<TD>Member</TD>
</TR>
<TR>
<TD PORT="person"><FONT POINT-SIZE="10.0">person</FONT></TD>
</TR>
</TABLE>
>];
ClubMembers
[shape=diamond label="club-(members)" fontsize=10.0 style=filled];
Member:club -> ClubMembers
[taillabel="1"];
ClubMembers -> Club:members
[headlabel="N" style=dashed];
/* Member -> Person */
PersonMember
[shape=diamond label="person-(member)" fontsize=10.0 style=dotted];
Person:member -> PersonMember
[taillabel="1" style=dotted];
PersonMember -> Member:person
[headlabel="1" style=dotted];
/* Sponsor -> Organization */
Sponsor
[label=<
<TABLE BORDER="2" CELLBORDER="0">
<TR>
<TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD>
</TR>
<TR>
<TD>Sponsor</TD>
</TR>
<TR>
<TD PORT="hosts"><FONT POINT-SIZE="10.0">(hosts)</FONT></TD>
</TR>
</TABLE>
>];
OrgSponsor
[shape=diamond label="org-(sponsor)" fontsize=10.0 style=filled];
Sponsor:org -> OrgSponsor
[taillabel="1"];
OrgSponsor -> Organization:sponsor
[headlabel="0/1" style=dashed];
/* Administrator -> Organization */
Administrator
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD>
</TR>
<TR>
<TD>Administrator</TD>
</TR>
<TR>
<TD PORT="host"><FONT POINT-SIZE="10.0">(host)</FONT></TD>
</TR>
</TABLE>
>];
OrgAdministrators
[shape=diamond label="org-(admins)" fontsize=10.0 style=filled];
Administrator:org -> OrgAdministrators
[taillabel="1"];
OrgAdministrators -> Organization:admins
[headlabel="N" style=dashed];
/* Host -> Organization */
Host
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="sponsor"><FONT POINT-SIZE="10.0">sponsor</FONT></TD>
<TD PORT="admin"><FONT POINT-SIZE="10.0">admin</FONT></TD>
</TR>
<TR>
<TD COLSPAN="2">Host</TD>
</TR>
</TABLE>
>];
SponsorHosts
[label="sponsor-(hosts)" shape=diamond fontsize=10.0 style=filled];
Host:sponsor -> SponsorHosts
[taillabel="1" labelangle=60.0];
SponsorHosts -> Sponsor:hosts
[headlabel="N" style=dashed];
/* Host -> Administrator */
HostAdministrator
[shape=diamond label="admin-(host)" fontsize=10.0 style=dotted];
Host:admin -> HostAdministrator
[taillabel="1" style=dotted];
HostAdministrator -> Administrator:host
[headlabel="1" style=dotted];
/* Author -> Organization */
Author
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD>
</TR>
<TR>
<TD>Author</TD>
</TR>
<TR>
<TD PORT="works"><FONT POINT-SIZE="10.0">(works)</FONT></TD>
</TR>
</TABLE>
>];
OrgAuthors
[shape=diamond label="org-(authors)" fontsize=10.0 style=filled];
Author:org -> OrgAuthors
[taillabel="1"];
OrgAuthors -> Organization:authors
[headlabel="N" style=dashed labelangle=75.0];
/* 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>
</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];
/* Reviewer -> Organization */
Reviewer
[label=<
<TABLE BORDER="1" CELLBORDER="0">
<TR>
<TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD>
</TR>
<TR>
<TD>Reviewer</TD>
</TR>
<TR>
<TD PORT="reviews"><FONT POINT-SIZE="10.0">(reviews)</FONT></TD>
</TR>
</TABLE>
>];
OrgReviewers
[shape=diamond label="org-(reviewers)" fontsize=10.0 style=filled];
Reviewer:org -> OrgReviewers
[taillabel="1"];
OrgReviewers -> Organization:reviewers
[headlabel="N" 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];
}