MPSim — это программный инструмент для дискретно-событийного имитационного моделирования (DES) многофазных вычислительных систем (конвейеров). Приложение разработано на C# (.NET 8) с использованием WPF и предназначено для анализа производительности конвейерных архитектур в условиях стохастической нагрузки.
Проект позволяет исследовать поведение систем, состоящих из
Ключевые возможности:
- DES-движок: Реализация дискретно-событийного алгоритма с FIFO-дисциплиной.
-
Гибкая конфигурация: Настройка количества фаз (
$k$ ), числа заданий ($N$ ), интенсивности потока ($\lambda$ ) и времени обработки ($\mu, \sigma$ ). - Стохастические модели: Поддержка экспоненциального, нормального и равномерного распределений для входного потока и времени обработки.
-
Статистическая достоверность: Автоматическое выполнение серии независимых прогонов (
NumRuns) с детерминированным управлениемSeedдля воспроизводимости результатов. - Визуализация: Построение графиков пропускной способности, загрузки фаз, времени ожидания и простоев в реальном времени (через ScottPlot.WPF).
- Экспорт: Выгрузка результатов в CSV и PNG.
- Язык: C# 12
- Платформа: .NET 8
- UI Framework: WPF (Windows Presentation Foundation)
- Стилизация: MaterialDesignThemes (NuGet)
- Графики: ScottPlot 5 (NuGet)
- IDE: Microsoft Visual Studio 2022 Community
Проект имеет модульную структуру с четким разделением ответственности:
MPSim.Core— Ядро симуляции (SimulationEngine), управление циклами и метриками.MPSim.Models— Доменная логика (Conveyor,FunctionalUnit,SimulationTask,SimulationConfig).MPSim.Services— Генераторы случайных величин (DistributionGenerators) и статистическая обработка (StatisticsHelper).MPSim.UI— Графический интерфейс на WPF (MainWindow,ConfigWindow,ChartsWindow).
Проект распространяется под лицензией MIT.