|
|
| Line 1: |
Line 1: |
| {{DISPLAYTITLE:Key for structure diagrams}}
| | #REDIRECT [[The Principia Machina/Diagrams/Structure key]] |
| {{TPM map}}
| |
| ''Key for the structure diagrams. Part of [[The Principia Machina/Hub|the TPM hub]]. Hand-authored at TPS 0.1.0; every structure diagram links here.''
| |
| * KIND: key
| |
| * LANGUAGE: DOT
| |
| * USED BY: diagrams 01, 06, 12, C1, C2
| |
| * SOURCE SHA-256: <code>0db0d1dc4cc55aaa3c5977498c376a6a25b5d8982b12bb49a09cd510c2d3006d</code>
| |
| * TERMS: [[The Principia Machina/Diagrams/Terms|definition of terms]]; [[The Principia Machina/TPS 0.1.0/Contents|contents of the specification]]; [[The Principia Machina/Diagrams/Key for process diagrams|key for process diagrams]]
| |
| | |
| Rendered live from the source, shown under the drawing.
| |
| | |
| <div style="overflow-x:auto; max-width:100%; border:1px solid #c8ccd1; background:#ffffff; padding:0.5em;">
| |
| <graphviz>
| |
| // K2 Key for structure diagrams (DOT, Bachman form). Every shape used by the structure diagrams, with its meaning.
| |
| digraph K2_key_for_structure_diagrams {
| |
| graph [rankdir=TB, fontname="Helvetica", fontsize=10, labelloc=t, nodesep=0.5, ranksep=0.6,
| |
| label="K2 KEY FOR STRUCTURE DIAGRAMS"];
| |
| node [shape=plaintext, fontname="Helvetica", fontsize=9, fontcolor="#202122"]; edge [fontname="Helvetica", fontsize=8, arrowhead=vee, color="#54595d", fontcolor="#202122"];
| |
| OWNER [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
| |
| <TR><TD COLSPAN="3" BGCOLOR="#eaecf0"><B>RECORD TYPE OR PAGE CLASS</B> where it lives (page, row, staging)</TD></TR>
| |
| <TR><TD>identity: how one is named</TD><TD>who writes it</TD><TD>how it is allocated</TD></TR>
| |
| <TR><TD COLSPAN="3" ALIGN="LEFT">field | field | field (the fields TPS names, in TPS's words)</TD></TR>
| |
| <TR><TD COLSPAN="3">TPS addresses that state the rules for this type</TD></TR></TABLE>>];
| |
| MEMBER [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
| |
| <TR><TD COLSPAN="2" BGCOLOR="#f8f9fa"><B>RECORD CLASS</B> lighter header: a class of register record</TD></TR>
| |
| <TR><TD COLSPAN="2" ALIGN="LEFT">its fields</TD></TR>
| |
| <TR><TD COLSPAN="2">addresses</TD></TR></TABLE>>];
| |
| REF [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
| |
| <TR><TD BGCOLOR="#eaecf0"><B>ANOTHER TYPE</B></TD></TR><TR><TD>addresses</TD></TR></TABLE>>];
| |
| OWNER -> MEMBER [label="SET NAME
| |
| A solid arrow is a set: owner to member.
| |
| The label is the set's name, then the rule
| |
| (order, count, who allocates), then addresses"];
| |
| OWNER -> REF [label="CHECKED AGAINST
| |
| A dashed arrow is a check or
| |
| verification relationship, not ownership", style=dashed];
| |
| MEMBER -> REF [label="POINTER
| |
| A dotted arrow is a reference held in a
| |
| field: a back-pointer, a WORKLOAD pointer", style=dotted];
| |
| MEMBER -> MEMBER [label="CITES
| |
| A loop is a set among records
| |
| of the same type"];
| |
| REF -> L1 [style=invis];
| |
| subgraph cluster_simple { label="Shapes in the simpler structure diagrams (01, 06, 12)"; style=filled; fillcolor="#f8f9fa";
| |
| node [shape=box, style=""]; L1 [label="plain box: a layer, page or object"]; L2 [label="three-dimensional box:
| |
| the Public Recorder, the host", shape=box3d];
| |
| L3 [label="octagon: a digest", shape=octagon]; L4 [label="note: a certificate or
| |
| a chain line", shape=note]; L5 [label="diamond: a gate or check", shape=diamond];
| |
| L1 -> L2 [label="solid: the relation named on the label", arrowhead=vee]; L2 -> L3 [label="dashed: a parameter or an audit relation", style=dashed]; L3 -> L4 [label="dotted, no head: hosts or holds", style=dotted, arrowhead=none];
| |
| }
| |
| }
| |
| </graphviz>
| |
| </div>
| |
| <!-- Fallback image, if H-OP uploads the rendering: [[File:TPM diagram K2 Key for structure diagrams.png|thumb|900px|Key for structure diagrams, rendered from the source above]] -->
| |
| <div class="mw-collapsible mw-collapsed" style="border:1px solid #c8ccd1; padding:0.3em;">'''Source''' (the text equivalent; DOT)
| |
| <div class="mw-collapsible-content">
| |
| <pre>
| |
| // K2 Key for structure diagrams (DOT, Bachman form). Every shape used by the structure diagrams, with its meaning.
| |
| digraph K2_key_for_structure_diagrams {
| |
| graph [rankdir=TB, fontname="Helvetica", fontsize=10, labelloc=t, nodesep=0.5, ranksep=0.6,
| |
| label="K2 KEY FOR STRUCTURE DIAGRAMS"];
| |
| node [shape=plaintext, fontname="Helvetica", fontsize=9, fontcolor="#202122"]; edge [fontname="Helvetica", fontsize=8, arrowhead=vee, color="#54595d", fontcolor="#202122"];
| |
| OWNER [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
| |
| <TR><TD COLSPAN="3" BGCOLOR="#eaecf0"><B>RECORD TYPE OR PAGE CLASS</B> where it lives (page, row, staging)</TD></TR>
| |
| <TR><TD>identity: how one is named</TD><TD>who writes it</TD><TD>how it is allocated</TD></TR>
| |
| <TR><TD COLSPAN="3" ALIGN="LEFT">field | field | field (the fields TPS names, in TPS's words)</TD></TR>
| |
| <TR><TD COLSPAN="3">TPS addresses that state the rules for this type</TD></TR></TABLE>>];
| |
| MEMBER [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
| |
| <TR><TD COLSPAN="2" BGCOLOR="#f8f9fa"><B>RECORD CLASS</B> lighter header: a class of register record</TD></TR>
| |
| <TR><TD COLSPAN="2" ALIGN="LEFT">its fields</TD></TR>
| |
| <TR><TD COLSPAN="2">addresses</TD></TR></TABLE>>];
| |
| REF [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
| |
| <TR><TD BGCOLOR="#eaecf0"><B>ANOTHER TYPE</B></TD></TR><TR><TD>addresses</TD></TR></TABLE>>];
| |
| OWNER -> MEMBER [label="SET NAME
| |
| A solid arrow is a set: owner to member.
| |
| The label is the set's name, then the rule
| |
| (order, count, who allocates), then addresses"];
| |
| OWNER -> REF [label="CHECKED AGAINST
| |
| A dashed arrow is a check or
| |
| verification relationship, not ownership", style=dashed];
| |
| MEMBER -> REF [label="POINTER
| |
| A dotted arrow is a reference held in a
| |
| field: a back-pointer, a WORKLOAD pointer", style=dotted];
| |
| MEMBER -> MEMBER [label="CITES
| |
| A loop is a set among records
| |
| of the same type"];
| |
| REF -> L1 [style=invis];
| |
| subgraph cluster_simple { label="Shapes in the simpler structure diagrams (01, 06, 12)"; style=filled; fillcolor="#f8f9fa";
| |
| node [shape=box, style=""]; L1 [label="plain box: a layer, page or object"]; L2 [label="three-dimensional box:
| |
| the Public Recorder, the host", shape=box3d];
| |
| L3 [label="octagon: a digest", shape=octagon]; L4 [label="note: a certificate or
| |
| a chain line", shape=note]; L5 [label="diamond: a gate or check", shape=diamond];
| |
| L1 -> L2 [label="solid: the relation named on the label", arrowhead=vee]; L2 -> L3 [label="dashed: a parameter or an audit relation", style=dashed]; L3 -> L4 [label="dotted, no head: hosts or holds", style=dotted, arrowhead=none];
| |
| }
| |
| }
| |
| </pre>
| |
| </div></div>
| |
| | |
| ; record box : a record type or page class, in Bachman form. Header: the name and where it lives (page, row, staging). Second row: identity, writer, allocation. Field rows: the fields TPS names. Last row: the TPS addresses.
| |
| ; lighter header : a class of register record (withdrawal, corroboration, named-gap, verification, entry-status).
| |
| ; solid arrow : a set, owner to member; the label is the set's name, then the rule (order, count, who allocates), then addresses.
| |
| ; dashed arrow : a check or verification relationship, not ownership.
| |
| ; dotted arrow : a reference held in a field, such as a back-pointer or the WORKLOAD pointer.
| |
| ; loop : a set among records of the same type (CITES).
| |
| ; in the simpler diagrams 01, 06 and 12 : plain box a layer, page or object; three-dimensional box the Public Recorder; octagon a digest; note a certificate or chain line; diamond a gate.
| |
| | |
| [[Category:The Principia Machina]]
| |
|
| |
|