指南
證據圖
證據圖是發布決策所依據的一切,以帶類型的節點和帶類型的邊寫在一個 JSON 檔案中。它包含一次執行所評估的系統、套件和評估器版本,由該執行計算出的估計值,在某個政策下讀取這些估計值的決策,核准這些決策的簽核,它們所衡量的危害,它們所支持的保證案例主張,以及旁邊的形式化結果。它也會指出證據在哪裡不完整、過時或互相衝突,讓審查者在閱讀其他內容之前先看到缺口。
繪製
oloproof evidence graph --out graph.json
oloproof evidence graph run_01J9 --out run.json
oloproof evidence graph --record decision-record.json --out record-graph.json不指定執行時,圖涵蓋每個系統在每個套件上的最新一次執行,也就是危害登記冊和保證案例所對照讀取的那些執行。指定執行 id 時,它涵蓋該執行以及讀取它的每一項主張。使用 --record 時,它僅由一個決策紀錄檔案繪出,讓第二方不需要你的儲存區就能看到紀錄承載了什麼;紀錄只點名的內容(其危害登記冊和保證案例,依摘要)列在備註中。不使用 --out 時,圖會被印出來。
其中包含什麼
檔案寫有 "graph": "oloproof.evidence_graph/v1"。每個節點都有一個 id(帶類型,例如 run:run_01J9 或 decision:run_01J9/label-floor)、一個 type、一個 label、attributes(狀態、區間、摘要)和一個 basis,即它所依據的東西:
- computed:由引擎根據已記錄的證據計算得出,如帶區間的估計值、決策;
- signed:由已註冊的執行器簽署,其簽章由 oloproof record verify 檢查;
- attested:由具名的人證明,如發布政策、簽核、危害、主張;
- imported:從另一個工具匯入,如由 oloproof scores import 讀取的分數、求解器的結果。
節點類型為 system_version、suite_version、evaluator_version、run、estimate、decision、policy、signoff、hazard、claim 和 proof。邊同樣帶類型:執行透過 evaluates 指向一個系統版本,透過 on_suite 指向一個套件版本;估計值透過 computed_from 指向一次執行,透過 judged_by 指向一個評估器版本;決策透過 reads 指向一個估計值,透過 under_policy 指向一個政策;簽核透過 approves 指向一個決策;危害透過 measured_by 指向一個決策;主張透過 supported_by 指向決策、危害、形式化結果及其子目標。
回報內容
- dangling:目標不在圖中的邊,並說明原因。點名了某次執行未判定之規則的危害,或其指標沒有已儲存結果的決策,會出現在這裡,而不是悄悄消失。
- stale:證據與其比較對象不再相符的執行,附上每個原因以及依據它的每個節點。在本機,執行與專案的目前狀態比較;在工作區中以及沒有專案檔案時,則與儲存區中同一系統和套件的最新執行比較。從紀錄繪出的圖不回報任何過時內容,因為沒有可比較的對象。
- contradictions:同一性質、同一模型下兩個不一致的形式化結果,以及依據失敗證據論證的主張。
圖中沒有任何東西做出決定:狀態是引擎的決策,主張的狀態就是 oloproof assurance check 回報的狀態。
在工作區中
執行的證據頁面提供圖的下載,圖由引擎根據你推送的證據繪出,位於受治理執行的決策紀錄旁邊。