Metadata-Version: 2.1
Name: pm4py-pn-unfoldings
Version: 1.0.2
Summary: Library for Petri net unfoldings based on pm4py
Home-page: https://github.com/TimurTimergalin/Unfoldings
Author: TimurTimergalin
Author-email: tmtimergalin8080@gmail.com
Keywords: petri-nets unfoldings pm4py
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: colorama>=0.4.6
Requires-Dist: contourpy>=1.2.1
Requires-Dist: cvxopt>=1.3.2
Requires-Dist: cycler>=0.12.1
Requires-Dist: deprecation>=2.1.0
Requires-Dist: fonttools>=4.51.0
Requires-Dist: graphviz>=0.20.3
Requires-Dist: intervaltree>=3.1.0
Requires-Dist: kiwisolver>=1.4.5
Requires-Dist: lxml>=5.2.1
Requires-Dist: matplotlib>=3.8.4
Requires-Dist: networkx>=3.3
Requires-Dist: numpy>=1.26.4
Requires-Dist: packaging>=24.0
Requires-Dist: pandas>=2.2.2
Requires-Dist: pillow>=10.3.0
Requires-Dist: pm4py>=2.7.11.7
Requires-Dist: pydotplus>=2.0.2
Requires-Dist: pyparsing>=3.1.2
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: pytz>=2024.1
Requires-Dist: scipy>=1.13.0
Requires-Dist: setuptools>=69.5.1
Requires-Dist: six>=1.16.0
Requires-Dist: sortedcontainers>=2.4.0
Requires-Dist: tqdm>=4.66.2
Requires-Dist: tzdata>=2024.1
Requires-Dist: wheel>=0.43.0
Requires-Dist: beautifulsoup4~=4.12.3

# ИССЛЕДОВАНИЕ И ЭКСПЕРИМЕНТАЛЬНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА ПОСТРОЕНИЯ РАЗВЕРТОК ДЛЯ МОДЕЛЕЙ ПРОЦЕССОВ В ВИДЕ СЕТЕЙ ПЕТРИ
Данный репозиторий содержит исходный код, написанный в рамках курсовой работы на данную тему.

## Установка
`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` содержится пример использования библиотеки
