Skip to content

patzu/CPNTools-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPN Tools Projects by Davoud Badamchi

Welcome to my repository of Coloured Petri Nets (CPN) projects, where I have implemented a diverse array of algorithms using CPN Tools. These projects were developed during the academic year 2012-2013 as part of the 'Advanced Software Engineering' course under the guidance of Professor Saeed Pashazadeh at Tabriz University. They demonstrate the versatility of CPN in modeling and simulating various computational and systems processes.

Academic Context

The 'Advanced Software Engineering' course at Tabriz University, specifically in the Electrical and Computer Science Department, taught by Professor Saeed Pashazadeh, played a pivotal role in the development of these projects. The course covered extensive topics in software engineering, with a particular focus on modeling and simulation techniques using Coloured Petri Nets. The academic setting of the Electrical and Computer Science Department provided a rich backdrop for exploring and implementing these advanced concepts.

Projects Overview

  1. ATM Simulation: A model of an Automated Teller Machine (ATM) process, focusing on the interactions between an ATM and its users.
  2. Depth-First Search (DFS): An implementation of the DFS algorithm, showcasing its utility in graph traversal and pathfinding.
  3. Fifo Consistency Models (Versions 1 and 2): These models simulate FIFO (First In, First Out) consistency protocols, essential in understanding queue-based systems and operations.
  4. Graph-Based Protocol: A representation of network protocols using graph theory, highlighting how different nodes interact within a network.
  5. Lamport's Deadlock Detection: An implementation of Lamport's algorithm for detecting deadlocks in distributed systems.
  6. Multiple Granularity Locking: Two versions demonstrating this concurrency control mechanism, essential in database systems for managing access to data at different granularity levels.
  7. Prime Numbers Generator: A model for generating prime numbers, illustrating the application of CPN in mathematical algorithms.
  8. Raymond's Algorithm Simulation: A simulation of Raymond's algorithm for mutual exclusion in distributed systems.
  9. Uniform Cost Search (UCS): An implementation of the UCS algorithm, a cornerstone in pathfinding and graph traversal techniques.
  10. View Serializability: A model to demonstrate view serializability in database systems, ensuring non-conflicting transaction schedules.
  11. Weak Consistency: A model exploring the concept of weak consistency in distributed systems.
  12. While Loop Structure: A basic representation of a while loop, showcasing the use of CPN in simulating control flow structures.
  13. Wound-Wait Algorithm: A model of the wound-wait scheme for deadlock avoidance in database systems.
  14. Earliest Deadline First (EDF) Algorithm: An implementation of the EDF scheduling algorithm, used in real-time systems.
  15. Job Scheduling Models: Two projects demonstrating different approaches to job scheduling in computing systems.
  16. Bluetooth Protocol Simulation: A CPN model simulating the operations of the Bluetooth communication protocol.
  17. Bubble Sort Algorithm: Visualization of the bubble sort technique, a fundamental sorting algorithm.
  18. Firewall Simulation: A model representing the functioning of a firewall in network security.
  19. Halat Process: A project focused on the Halat process, showcasing its application in system modeling.

Usage and Contribution

These projects are open for use, study, and modification. I welcome contributions, suggestions, and discussions regarding these implementations. Feel free to fork, star, or contribute to this repository!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages