Để xác định rằng một bộ xếp lịch nào đó là đúng, chúng ta phải chứng minh rằng mỗi lịch biểu S được nó cho phép đều có đặc tính khả tuần tự. Vì vậy chúng ta cần có một phép kiểm tra đơn giản
về tính khả tuần tự của một lịch biểu.
Thuật toán 3.3. Kiểm tra tính khả tuần tự một lịch biểu S
Vào: Một lịch biểu S của một tập các giao dịch T1, T2,…, Tk
Ra: Khẳng định S có khả tuần tự hay không. Nếu có thì đưa ra một lịch biểu tuần tự tương đương với S.
Phương pháp:
Xây dựng một đồ thị có hướng G (được gọi là đồ thị tuần tự hóa) có các nút là các giao dịch Ti.
Để xác định các cung của đồ thị G, gọi (a1, a2,…, aN) là tập các bước cơ bản trong S. Trong đó mỗi
ai là một thao tác có dạng
Tj: Lock A hoặc Tj: Unlock A
Nếu aj là thao tác kiểu Unlock A thì tìm thao tác ap kế tiếp sau aj có dạng Ts: Lock A. Nếu có
một cặp thao tác như thế và s j, chúng ta vẽ một cung từ Tj đến Ts (Tj Ts). Cung này có ý nghĩa
là trong một lịch biểu tuần tự tương đương với S, Tj phải thực hiện trước trước Ts.
Nếu G có một chu trình thì S là bất khả tuần tự, ngược lại nếu G không có chu trình thì S là khả
tuần tự và chúng ta tìm một thứ tự tuyến tính cho các giao dịch cho Ti bằng một quá trình gọi là sắp
xếp topo của đồ thị G như sau:
Sắp xếp Topo đồ thị có hướng G không có chu trình
Ta biết rằng trong G phải có một nút Tj nào đó không có cung đến, nếu không G có một chu
trình. Liệt kê Tj rồi loại Tj ra khỏi G. Sau đó lặp lại quá trình này trên đồ thị còn lại cho đến khi
không còn nút nào nữa. Thứ tự các nút được liệt kê trong danh sách là một thứ tự tuần tự của các
giao dịch. Thứ tự đó tạo nên lịch biểu tuần tự tương dương với S.