Skip to content

A Python tool to check if a given transaction schedule is conflict serializable. It analyzes the schedule, builds a dependency graph, detects cycles, and determines whether the schedule can be serialized. Supports input from Excel files and provides a graphical representation of the dependency graph

License

Notifications You must be signed in to change notification settings

coderatul/conflict-serializable-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conflict Serializability Checker

This Python script checks if a given schedule of transactions is conflict serializable by constructing a dependency graph and detecting cycles. If the graph has no cycles, the schedule is conflict serializable, and the script provides a topological order of transactions. The script also visualizes the dependency graph using networkx and matplotlib.

usage

python css.py <schedule.xlsx> [--verbose]

example

  • operations corresponding to transactions of schedule are entered in a excle file for ease of use
  • more transaction can be added as columns

image

output

No cycles detected. The given schedule is conflict serializable.
Order of serializability: ['T2', 'T3', 'T1']

dependency graph

example

About

A Python tool to check if a given transaction schedule is conflict serializable. It analyzes the schedule, builds a dependency graph, detects cycles, and determines whether the schedule can be serialized. Supports input from Excel files and provides a graphical representation of the dependency graph

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages