An open API service indexing awesome lists of open source software.

https://github.com/coderatul/conflict-serializable-validator

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
https://github.com/coderatul/conflict-serializable-validator

List: conflict-serializable-validator

awesome awesome-list concurency conflict-serializability database dbms-project hacktoberfest python

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# Conflict Serializable Validator [![Awesome](https://awesome.re/badge.svg)](https://github.com/sindresorhus/awesome)

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 [--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](https://github.com/user-attachments/assets/a56f6223-1667-47fb-a6b0-d69d63be46f6)

## output
```
No cycles detected. The given schedule is conflict serializable.
Order of serializability: ['T2', 'T3', 'T1']
```
> dependency graph

![example](https://github.com/user-attachments/assets/0a3cc712-2741-45b7-91c8-02aa7b2d8b65)