Code Monkey home page Code Monkey logo

cpntools-projects's Introduction

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!

cpntools-projects's People

Contributors

patzu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.