Jump to content

The Principia Machina/Diagrams/Key for structure diagrams: Difference between revisions

From The Invariance Itself
Diagram page Key for structure diagrams, TPS 0.1.0
 
m 1 revision imported
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
''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.''
#REDIRECT [[The Principia Machina/Diagrams/Structure key]]
* KIND: key
* LANGUAGE: DOT
* USED BY: diagrams 01, 06, 12, C1, C2
* SOURCE SHA-256: <code>9d3d79a45e749ba7ca1df6068b3010c6f5034003b87c5351ef480d73711c2c1d</code>
 
Rendered live from the source below; if rendering is unavailable the source still stands.
 
<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]; edge [fontname="Helvetica", fontsize=8, arrowhead=vee];
  OWNER [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
    <TR><TD COLSPAN="3" BGCOLOR="#e8e8e8"><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 &nbsp;&nbsp;(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="#f4f4f4"><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="#e8e8e8"><B>ANOTHER TYPE</B></TD></TR><TR><TD>addresses</TD></TR></TABLE>>];
  OWNER -> MEMBER [label="SET NAME\nA solid arrow is a set: owner to member.\nThe label is the set's name, then the rule\n(order, count, who allocates), then addresses"];
  OWNER -> REF [label="CHECKED AGAINST\nA dashed arrow is a check or\nverification relationship, not ownership", style=dashed];
  MEMBER -> REF [label="POINTER\nA dotted arrow is a reference held in a\nfield: a back-pointer, a WORKLOAD pointer", style=dotted];
  MEMBER -> MEMBER [label="CITES\nA loop is a set among records\nof the same type"];
  subgraph cluster_simple { label="Shapes in the simpler structure diagrams (01, 06, 12)"; style=filled; fillcolor="#f2f2f2";
    node [shape=box, style=""]; L1 [label="plain box: a layer, page or object"]; L2 [label="three-dimensional box:\nthe Public Recorder, the host", shape=box3d];
    L3 [label="octagon: a digest", shape=octagon]; L4 [label="note: a certificate or\na 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>
 
Source, verbatim, while the graphviz tag is being repaired (see TPS docket G-08):
<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]; edge [fontname="Helvetica", fontsize=8, arrowhead=vee];
  OWNER [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
    <TR><TD COLSPAN="3" BGCOLOR="#e8e8e8"><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 &nbsp;&nbsp;(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="#f4f4f4"><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="#e8e8e8"><B>ANOTHER TYPE</B></TD></TR><TR><TD>addresses</TD></TR></TABLE>>];
  OWNER -> MEMBER [label="SET NAME\nA solid arrow is a set: owner to member.\nThe label is the set's name, then the rule\n(order, count, who allocates), then addresses"];
  OWNER -> REF [label="CHECKED AGAINST\nA dashed arrow is a check or\nverification relationship, not ownership", style=dashed];
  MEMBER -> REF [label="POINTER\nA dotted arrow is a reference held in a\nfield: a back-pointer, a WORKLOAD pointer", style=dotted];
  MEMBER -> MEMBER [label="CITES\nA loop is a set among records\nof the same type"];
  subgraph cluster_simple { label="Shapes in the simpler structure diagrams (01, 06, 12)"; style=filled; fillcolor="#f2f2f2";
    node [shape=box, style=""]; L1 [label="plain box: a layer, page or object"]; L2 [label="three-dimensional box:\nthe Public Recorder, the host", shape=box3d];
    L3 [label="octagon: a digest", shape=octagon]; L4 [label="note: a certificate or\na 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>
<!-- Fallback image, if H-OP uploads the rendering: [[File:TPM diagram K2 Key for structure diagrams.png|thumb|900px|Key for structure diagrams]] -->
 
; 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]]



Latest revision as of 06:09, 22 September 2026