A program which shall read a concurrent schedule involving n transactions with read and write instructions on data items
from an input file and find whether the schedule is Conflict Serializable or not (using the graph-based
method).
In case of conflict serializable schedule, the program also gives the serializability order
and for non-serializable schedule, give the cycle(s) present in the graph.
The program should be able to handle any finite number of transactions and data items.
Author : Gaurav Kabra
Input file name is asked. Here three sample files have already been provided.
Input1 is about cycle.
Input2 is CS.
Input3 is again about cycle but only a part is cyclic unlike case#1 where whole graph was cyclic.
Input4 is of only one transaction.
Input5 is when input format is violated.
Type python driver.py
and that's it!
I am using Python 3.7. However, any version of Python 3 should work fine.
However tested on many random schedules, bugs may be there. Kindly report that to [email protected] or create a Pull request.