Anleitungen
Evidenzgraph
Der Evidenzgraph ist alles, worauf eine Release-Entscheidung ruht, geschrieben als typisierte Knoten und typisierte Kanten in einer JSON-Datei. Er enthält die Versionen von System, Suite und Evaluator, die ein Lauf bewertet hat, die daraus berechneten Schätzungen, die Entscheidungen, die sie unter einer Policy lesen, die Abzeichnungen, die sie freigegeben haben, die Gefährdungen, die sie messen, die Behauptungen des Assurance Case, die sie stützen, und die formalen Ergebnisse daneben. Er nennt auch, wo die Evidenz unvollständig, veraltet oder widersprüchlich ist, damit eine prüfende Person die Lücken sieht, bevor sie irgendetwas anderes liest.
Ihn zeichnen
oloproof evidence graph --out graph.json
oloproof evidence graph run_01J9 --out run.json
oloproof evidence graph --record decision-record.json --out record-graph.jsonOhne Lauf deckt der Graph den letzten Lauf jedes Systems auf jeder Suite ab, dieselben Läufe, gegen die das Gefährdungsregister und der Assurance Case gelesen werden. Mit einer Lauf-ID deckt er diesen Lauf und jede Behauptung ab, die ihn liest. Mit --record wird er allein aus einer Datei mit einem Entscheidungsdatensatz gezeichnet, sodass eine zweite Partei ohne Ihren Store sehen kann, was der Datensatz enthält; was der Datensatz nur nennt (sein Gefährdungsregister und seinen Assurance Case, per Digest), steht in den Hinweisen. Ohne --out wird der Graph ausgegeben.
Was er enthält
Die Datei sagt "graph": "oloproof.evidence_graph/v1". Jeder Knoten hat eine id (typisiert, etwa run:run_01J9 oder decision:run_01J9/label-floor), einen type, ein label, attributes (einen Zustand, ein Intervall, einen Digest) und eine basis, also das, worauf er ruht:
- computed von der Engine aus aufgezeichneter Evidenz: eine Schätzung mit ihrem Intervall, eine Entscheidung;
- signed von einem registrierten Runner, dessen Signatur oloproof record verify prüft;
- attested von namentlich genannten Menschen: die Release-Policy, eine Abzeichnung, eine Gefährdung, eine Behauptung;
- imported aus einem anderen Werkzeug: Scores, gelesen von oloproof scores import, das Ergebnis eines Solvers.
Die Knotentypen sind system_version, suite_version, evaluator_version, run, estimate, decision, policy, signoff, hazard, claim und proof. Auch die Kanten sind typisiert: Ein Lauf evaluates eine Systemversion und läuft on_suite auf einer Suite-Version; eine Schätzung ist computed_from einem Lauf und judged_by einer Evaluator-Version; eine Entscheidung reads eine Schätzung under_policy einer Policy; eine Abzeichnung approves eine Entscheidung; eine Gefährdung ist measured_by einer Entscheidung; und eine Behauptung ist supported_by Entscheidungen, Gefährdungen, formalen Ergebnissen und ihren Unterzielen.
Was er meldet
- dangling: eine Kante, deren Ziel der Graph nicht enthält, mit dem Grund. Eine Gefährdung, die eine Regel nennt, die kein Lauf entschieden hat, oder eine Entscheidung, deren Metrik kein gespeichertes Ergebnis hat, erscheint hier, statt zu verschwinden.
- stale: ein Lauf, dessen Evidenz nicht mehr zu dem passt, womit er verglichen wird, mit jedem Grund und jedem Knoten, der auf ihm ruht. Lokal wird ein Lauf mit dem Projekt in seinem jetzigen Zustand verglichen; im Workspace, und ohne Projektdatei, mit dem neuesten Lauf desselben Systems und derselben Suite im Store. Ein aus einem Datensatz gezeichneter Graph meldet nichts als veraltet, da es nichts gibt, womit er verglichen werden könnte.
- contradictions: zwei formale Ergebnisse für eine Eigenschaft und ein Modell, die einander widersprechen, und eine Behauptung, die mit fehlschlagender Evidenz begründet wird.
Nichts im Graphen entscheidet etwas: Die Zustände sind die Entscheidungen der Engine, und der Status einer Behauptung ist der, den oloproof assurance check meldet.
Im Workspace
Die Evidenzseite eines Laufs bietet den Graphen zum Herunterladen an, von der Engine aus der Evidenz gezeichnet, die Sie gepusht haben, neben dem Entscheidungsdatensatz eines Laufs unter Governance.
Wie es weitergeht
- Assurance Cases behandelt die Behauptungen, die der Graph zeichnet.
- Gefährdungsregister behandelt die Gefährdungen, die eine Entscheidung misst.