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
.
python css.py <schedule.xlsx> [--verbose]
- operations corresponding to transactions of schedule are entered in a excle file for ease of use
- more transaction can be added as columns
No cycles detected. The given schedule is conflict serializable.
Order of serializability: ['T2', 'T3', 'T1']
dependency graph