DSDL 透過提供預先定義的模型來併入實作故障監視器的複雜性。當資源在節點上啟動時,Monitor_start 方法將在 PMF 的控制下啟動故障監視器。當資源在節點上執行時,故障監視器將在迴路中執行。DSDL 故障監視器的高層級邏輯如下所示︰
scds_fm_sleep() 函數使用 Thorough_probe_interval 特性決定探測期間的時間總數。在此期間,PMF 偵測到的任意應用程式程序失敗均會導致資源的重新啟動。
探測本身將傳回一個值,表示失敗的嚴重性,該值從 0 (沒有失敗) 到 100 (完全失敗)。
將探測傳回值傳送至 scds_action() 函數,該函數會在 Retry_interval 特性的間隔中保持累計失敗歷程記錄。
scds_action() 函數將決定在失敗時如何操作,如下所示︰
如果累計的故障低於 100,則不執行任何作業。
如果累計的失敗達到 100 (完全失敗),則重新啟動資料服務。如果超過 Retry_interval,則重設歷史。
如果重新啟動的次數超出 Retry_count 特性的值,則在 Retry_interval 指定的時間內容錯移轉資料服務。