蝴蝶結風險圖(Bowtie Risk Diagram)

關於 bowtie 圖

bowtie(蝴蝶結)是屏障式風險管理中最具代表性的圖形:一個中央頂層事件(失去危害控制的時刻),左側是威脅透過預防屏障鏈向內匯聚,右側是後果透過緩解屏障鏈向外發散——整體形狀如同一個蝴蝶結。它針對單一危害回答監管機關或董事會真正關心的兩個問題:什麼可能導致事故,什麼阻止它?(左側),以及如果事故發生,會有什麼影響,什麼限制損害?(右側)。已在石油天然氣、化工、航空(ICAO Doc 9859 SMS)、鐵路、採礦和醫療保健領域被強制採用。由 CCPS / Energy Institute 2018Bow Ties in Risk Management)編纂,並由 IEC 31010:2019 §B.4.6 作為技術手段列名。

Schematex 的優勢不是計算(那是 faulttreepert 的強項)——基本的 bowtie 不帶機率。它有兩個特點:嚴格、構造即正確的對稱佈局(一般用途的框線連接工具無法產生),以及 CCPS/EI 屏障規則集的結構驗證——每個威脅必須透過至少 1 個屏障到達頂層事件,每個後果必須透過至少 1 個屏障掛在其下,每個升級因素必須附加到特定的具名屏障。沒有屏障的威脅會被拒絕,而不是靜默繪製。

bowtie·§
↘ preview
100%
LPG storage — loss of containment Bowtie: hazard "LPG stored under pressure", top event "Loss of containment"; 2 threats, 2 consequences, 8 barriers, 1 escalation factor. LPG storage — loss of containment Loss ofcontainment LPG stored under pressure Corrosion ofvessel wall Corrosion-resistantcoating UT thicknessinspection Inspectioninterval too long Risk-basedinspection scheme Overpressureduring filling High-pressuretrip (SIL 2) Pressure reliefvalve Jet fire Gas detection +ESD Deluge / waterspray Toxic exposure Personal gasmonitors Emergencyevacuation plan Threat Barrier (prevent / mitigate) Top event Consequence Escalation factor
UTF-8 · LF · 21 lines · 596 chars✓ parsed·3.7 ms·9.8 KB SVG

1. 你的第一個圖表

每個文件以 bowtie 關鍵字開頭,後接選用的標題,然後是危害、頂層事件和兩翼:

bowtie
topevent "Loss of containment"
threat "Corrosion"
  prevent "Inspection programme"
consequence "Release to atmosphere"
  mitigate "Gas detection + ESD"

topevent 宣告中央唯一的節點(必填,且只能有一個)。每個 threat 開始一條左翼線;每個 consequence 結束一條右翼線。在 threat 下的屏障是預防性的prevent);在 consequence 下的是緩解性的mitigate)。圖表以節點為中心對稱佈局——威脅從左側匯入,後果從右側發散。

DSL 採用縮排結構,與 CCPS 七步構建方法論相呼應:識別危害 → 頂層事件 → 威脅 → 後果 → 預防屏障 → 緩解屏障 → 升級因素。

標頭指令(任意順序):

  • layout: symmetric | compact — 帶狀模型(預設 symmetric)。
  • legend: on | off | bottom | top — 自動衍生的顏色圖例(預設開啟)。

2. 危害與頂層事件

hazard "Working at height"
topevent "Person falls from height"
  • hazard — 具有造成傷害潛力的操作或物料:bowtie 的背景(例如「高空作業」、「高壓碳氫化合物」)。選用;渲染為節點上方的標題框,並有連線向下指向它。最多一個。
  • topevent — 失去危害控制的時刻(例如「失去圍阻」、「人員從高處墜落」)。bowtie 的節點,繪製為綠色圓圈。必填,且只能有一個。

危害是一種事物/活動,而非失效;頂層事件是失去控制的精確時刻——不是原因,也還不是後果。


3. 威脅與後果

threat "Guardrail removed for access"
  prevent "Permit-to-work system"

consequence "Fatality"
  mitigate "Fall-arrest harness + lanyard"
  • 威脅是一種可信的原因,單獨就能觸發頂層事件。每個威脅是一條左翼線的起點,在左緣繪製為橙色方塊。
  • 後果頂層事件(非威脅)的可信結果,在右緣繪製為紅色方塊。

威脅和後果可以交錯順序宣告——解析器無論順序如何都會將左翼方塊和右翼方塊分組。一個 bowtie 需要至少各一個:單翼圖是故障樹(見 faulttree)或事件樹,而非 bowtie。


4. 屏障(中間的控制措施)

threat "Guardrail removed for access"
  prevent "Permit-to-work system"
  prevent "Temporary edge protection"
  prevent "Spotter / banksman"

屏障是中斷威脅 → 頂層事件路徑的控制措施(預防性),或在頂層事件發生後降低後果(緩解性)。每個都是線上的灰色方塊。鏈的長度自由(1..n)——翼只是延伸。

屏障順序為宣告順序:第一個宣告的是最外層(最靠近威脅/後果,第一道防線);最後宣告的是最內層(最靠近節點)。這與真實 bowtie 的左到右閱讀相符。每個屏障帶有 data-order(0 = 最外層)和 data-sideprevent / mitigate)供下游互動使用。

當鏈長度不同時,屏障採用置中對齊:最內層屏障整齊地排列在節點附近的一欄,威脅/後果方塊則按鏈深度參差排列——表現出縱深防禦的層次感。


5. 升級因素

threat "Corrosion"
  prevent "UT thickness inspection"
    escalation "Inspection interval too long"
      barrier "Risk-based inspection scheme"

升級因素(或退化因素)是削弱特定屏障效能的條件——例如「未定期檢查邊緣防護」、「操作員疲勞」。它附加到一個屏障(而非線路)上,垂直向下顯示為琥珀色方塊,並以淡化的「削弱」連接線相連。

升級因素屏障是放置在升級因素本身的控制措施——它保護屏障不被削弱(例如使用前檢查制度)。它再多嵌套一層,在升級因素之下,渲染為其下方的灰色方塊。

縮排綁定巢套關係:preventmitigate 縮排 2 格,escalation 縮排 4 格,barrier 縮排 6 格。


6. 構造即正確(屏障規則集)

在繪製任何形狀之前,引擎會驗證 CCPS/EI 屏障規則集的結構部分,並在失敗時拒絕渲染——就像 prisma 拒絕缺少計數一樣:

  • 頂層事件恰好一個 — 零個或多個都是錯誤。
  • 每個威脅有 ≥ 1 個預防屏障 — 沒有屏障的威脅是瑞士乳酪卡通,而非 bowtie。
  • 每個後果有 ≥ 1 個緩解屏障 — 鏡像規則。
  • 每個升級因素附加到一個屏障 — 它不能漂浮在線上或頂層事件上。
  • 至少一個威脅和一個後果 — 單翼圖是 FTA 或 ETA。

錯誤訊息會用白話英文指明違規元素和規則,例如 "Threat 'Corrosion' has no preventative barrier — every threat must reach the top event through at least one barrier (CCPS/EI barrier rule). Add a prevent line under it." 這正是真正的 bowtie 與草圖的區別。引擎判斷屏障是否真正有效獨立——那是分析師的定性判斷。


7. Bowtie 與故障樹

完整發展的 bowtie 就是在頂層事件處將故障樹與事件樹黏合在一起:左翼反向讀取是以 bowtie 節點為頂層事件的故障樹,右翼是將其傳播為後果的事件樹。Schematex 將它們保持為兩個引擎,因為它們的用途不同:

  • bowtie 是定性的和對稱的——屏障清單和一目了然的縱深防禦故事;無機率運算。
  • faulttree 是定量的和布林的——AND/OR 閘、基本事件機率、最小截斷集、機率匯總。

當你需要單一威脅背後的閘級細節時,請另外繪製一個 faulttree


8. 佈景主題

default 使用公認的 BowTieXP/bowtiemaster 調色盤——橙色威脅(左)、線上灰色屏障綠色頂層事件圓盤(中央節點)、紅色後果(右)、琥珀色升級因素下掛——映射到 Schematex 的語義槽位,以便與 prisma / pert / petri 保持一致。monochrome 再現監管機關列印的黑白外觀,元素區分依靠形狀/邊框 + 位置(升級因素使用虛線邊框,節點使用雙圓環)而非顏色。dark 遵循 Catppuccin Mocha。所有筆觸/填充來自 BowtieTokens;每個元素帶有 data-*data-roledata-sidedata-linedata-orderdata-barrier),使結構可供下游檢查。

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.