The Principia Machina/Diagrams/Key for structure diagrams: Difference between revisions
Appearance
m 1 revision imported |
Diagram layer page Key for structure diagrams, TPS 0.1.0 |
||
| Line 6: | Line 6: | ||
* 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]] | * 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 | 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> | <graphviz> | ||
// K2 Key for structure diagrams (DOT, Bachman form). Every shape used by the structure diagrams, with its meaning. | // K2 Key for structure diagrams (DOT, Bachman form). Every shape used by the structure diagrams, with its meaning. | ||
| Line 15: | Line 16: | ||
node [shape=plaintext, fontname="Helvetica", fontsize=9, fontcolor="#202122"]; edge [fontname="Helvetica", fontsize=8, arrowhead=vee, color="#54595d", fontcolor="#202122"]; | 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"> | 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 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>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" 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>>]; | <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"> | 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" 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" ALIGN="LEFT">its fields</TD></TR> | ||
<TR><TD COLSPAN="2">addresses</TD></TR></TABLE>>]; | <TR><TD COLSPAN="2">addresses</TD></TR></TABLE>>]; | ||
REF [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3"> | 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>>]; | <TR><TD BGCOLOR="#eaecf0"><B>ANOTHER TYPE</B></TD></TR><TR><TD>addresses</TD></TR></TABLE>>]; | ||
OWNER -> MEMBER [label="SET NAME | OWNER -> MEMBER [label="SET NAME | ||
OWNER -> REF [label="CHECKED AGAINST | A solid arrow is a set: owner to member. | ||
MEMBER -> REF [label="POINTER | The label is the set's name, then the rule | ||
MEMBER -> MEMBER [label="CITES | (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"; | 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: | node [shape=box, style=""]; L1 [label="plain box: a layer, page or object"]; L2 [label="three-dimensional box: | ||
L3 [label="octagon: a digest", shape=octagon]; L4 [label="note: a certificate or | 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]; | 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> | </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> | <pre> | ||
// K2 Key for structure diagrams (DOT, Bachman form). Every shape used by the structure diagrams, with its meaning. | // K2 Key for structure diagrams (DOT, Bachman form). Every shape used by the structure diagrams, with its meaning. | ||
| Line 45: | Line 60: | ||
node [shape=plaintext, fontname="Helvetica", fontsize=9, fontcolor="#202122"]; edge [fontname="Helvetica", fontsize=8, arrowhead=vee, color="#54595d", fontcolor="#202122"]; | 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"> | 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 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>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" 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>>]; | <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"> | 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" 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" ALIGN="LEFT">its fields</TD></TR> | ||
<TR><TD COLSPAN="2">addresses</TD></TR></TABLE>>]; | <TR><TD COLSPAN="2">addresses</TD></TR></TABLE>>]; | ||
REF [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3"> | 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>>]; | <TR><TD BGCOLOR="#eaecf0"><B>ANOTHER TYPE</B></TD></TR><TR><TD>addresses</TD></TR></TABLE>>]; | ||
OWNER -> MEMBER [label="SET NAME | OWNER -> MEMBER [label="SET NAME | ||
OWNER -> REF [label="CHECKED AGAINST | A solid arrow is a set: owner to member. | ||
MEMBER -> REF [label="POINTER | The label is the set's name, then the rule | ||
MEMBER -> MEMBER [label="CITES | (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"; | 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: | node [shape=box, style=""]; L1 [label="plain box: a layer, page or object"]; L2 [label="three-dimensional box: | ||
L3 [label="octagon: a digest", shape=octagon]; L4 [label="note: a certificate or | 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]; | 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> | </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. | ; 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. | ||
Revision as of 20:38, 17 September 2026
Key for the structure diagrams. Part of 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:
0db0d1dc4cc55aaa3c5977498c376a6a25b5d8982b12bb49a09cd510c2d3006d - TERMS: definition of terms; contents of the specification; key for process diagrams
Rendered live from the source, shown under the drawing.

Source (the text equivalent; DOT)
// 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];
}
}
- 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.