pm4py-pn-unfoldings

Library for Petri net unfoldings based on pm4py


Keywords
petri-nets, unfoldings, pm4py
License
MIT
Install
pip install pm4py-pn-unfoldings==1.0.2

Documentation

ИССЛЕДОВАНИЕ И ЭКСПЕРИМЕНТАЛЬНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА ПОСТРОЕНИЯ РАЗВЕРТОК ДЛЯ МОДЕЛЕЙ ПРОЦЕССОВ В ВИДЕ СЕТЕЙ ПЕТРИ

Данный репозиторий содержит исходный код, написанный в рамках курсовой работы на данную тему.

Установка

pip install pm4py-pn-unfoldings

Структура проекта

│   LICENSE
│   README.md
|   example.py
├───nets_generators
│   │   dining_philosophers.py
│   │   dining_philosophers_with_dict.py
│   │   generate_slotted_ring.py
│   │   milners_cyclic_scheduler.py
│   │   mutual_exclusion.py
│   │   __init__.py
└───unfoldings
    │   __init__.py
    ├───alg
    │   │   concurrency_relation.py
    │   │   possible_extensions.py
    │   │   priority_queue.py
    │   │   __init__.py
    ├───cutoff_settings
    │   │   abstract.py
    │   │   idle.py
    │   │   mark.py
    │   │   __init__.py
    ├───decorations
    │   │   abstract.py
    │   │   colors.py
    │   │   idle.py
    │   │   labels.py
    │   │   __init__.py
    ├───obj
    │   │   condition.py
    │   │   event.py
    │   │   prefix.py
    │   │   __init__.py
    ├───order_settings
    │   │   abstract.py
    │   │   basic.py
    │   │   config_length_utils.py
    │   │   foata.py
    │   │   idle.py
    │   │   __init__.py
    ├───unfolding_algorithms
    │   │   standard.py
    │   │   __init__.py
    │   ├───n_safe
    │   │   │   build_prefix.py
    │   │   │   condition.py
    │   │   │   event.py
    │   │   │   possible_extensions.py
    │   │   │   __init__.py

Папка nets_generator содержит скрипты для генерации сетей Петри, использовавшихся при экспериментальной оценке программ.

Исходный код проекта лежит в папке unfoldings и содержит следующие разделы:

  1. alg содержит в себе исходный код различных вспомогательных алгоритмов;
  2. cutoff_settings содержит в себе определение интерфейса настроек отсечения и его реализаций;
  3. decorations содержит в себе определение интерфейс декораций - настроек вывода префикса;
  4. obj содержит в себе классы, расширяющие объектную модель pm4py;
  5. order_settings содержит определение интерфейса настроек порядка и его реализаций;
  6. unfolding_algorithms содержит в себе реализацию 2-х версий алгоритма Макмиллана - стандартный обобщенный (standard.py) и обобщенный алгоритм построения развертки сопряженной сети (папка n_safe)

В example.py содержится пример использования библиотеки