Сетевая модель Петри расписания задач при управлении программными проектами
Моделирование расписания выполнения программного проекта с помощью сетей Петри. Определение правил перехода от сетевого графика или диаграммы Ганта к сетевой модели Петри. Оценка структуры расписания работ проекта с использованием стохастических сетей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 28.01.2020 |
Размер файла | 189,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.Allbest.Ru/
Размещено на http://www.Allbest.Ru/
Размещено на http://www.Allbest.Ru/
Самарский государственный технический университет
Сетевая модель Петри расписания задач при управлении программными проектами
С.П. Орлов, д.т.н., профессор
М.М. Ефремов, аспирант
Е.Б. Бабамуратова, аспирант
г. Самара
Аннотация
В статье предлагается методика моделирования с помощью сетей Петри расписания выполнения программного проекта. Определены правила перехода от сетевого графика или диаграммы Ганта к сетевой модели Петри. Рассмотрены некоторые свойства О-плотных сетей Петри, позволяющие оценить структуру расписания работ проекта. Предложено использовать стохастические сети Петри для имитационного моделирования выполнения программного проекта.
Ключевые слова: сети Петри, управление программными проектами, имитационное моделирование, диаграмма Ганта.
S.P. Orlov, M.M. Efremov, E.B. Babamuratova. Petri net model of task scheduling for software project management
In article a method of software project schedule performance modeling with Petri nets is offered. Rules of passage from the network diagram or the Gantt Chart to Petri network model are defined. Certain properties of O-dense Petri nets to estimate the structure of the task schedule of the project are considered. It is offered to use stochastic Petri nets for program project performance simulation modeling.
Keywords: Petri net, software project management, simulation, Gantt Chart.
Постановка задачи
В современных системах управления проектами, таких как Microsoft Project [1] и Primavera [2], логическая взаимосвязь задач (работ) и календарного расписания работ задается диаграммой Ганта или PERT-диаграммой. Однако эти представления имеют ряд недостатков, главный из которых - невозможность проведения непосредственно на их базе имитационного моделирования динамики выполнения проекта. В то же время актуальной является задача прогноза выполнения работ проекта при различных сочетаниях внешних и внутренних факторов, имеющих вероятностный характер.
Особенно важно такое моделирование при выполнении сложных проектов по разработке программного обеспечения [3]. В этом случае конструирование, программирование и тестирование большого числа программных модулей без учета возможных факторов риска на достаточно дальнем горизонте планирования может привести к критическим состояниям проекта.
Особенность программного проекта, в отличие от большинства проектов в других отраслях, заключается в следующем: при структурной декомпозиции работ (WBS) в обычном проекте на нижних уровнях работ, как правило, требуются исполнители с достаточным уровнем квалификации. Это характерно для проектов в строительстве, машиностроении и др. При выполнении WBS программного проекта снижение требований к квалификации программиста для нижних уровней работ незначительно, что связано с высокой степенью интеллектуализации труда программистов. Даже небольшие по объему задачи программирования и тестирования модулей могут оказаться весьма сложными по своему содержанию. В связи с этим актуальна задача имитационного моделирования выполнения программного проекта, учитывающая квалификационные характеристики исполнителей работ.
Известен ряд методологий и инструментов для дискретно-событийного моделирования процессов, в частности система GPSS [4]. Процесс проектирования программного обеспечения относится к параллельно-последовательным процессам, а для этого класса эффективно применение моделей на основе сетей Петри [5]. В то же время при управлении проектированием на уровне несложных программных модулей и подзадач возникают итерационные процессы, для которых применима методология SCRUM [6]. Длительность итерации Sprint принимается 30 дней, в этом случае ациклические сети Петри могут использоваться при планировании работ внутри Sprint. Для управления итерациями можно использовать временные сети Петри с циклами [7].
Построение сети Петри для моделирования расписания проекта
Будем считать, что в результате работы системы управления проектом построена диаграмма Ганта G задач проекта, найдены критические пути и для каждой задачи рассчитаны - длительность выполнения задачи и моменты ее раннего и позднего начала и окончания.
Для анализа динамики процессов в сетевой модели G следует привести ее к двудольному представлению в виде сети Петри.
Определим правила перехода G > NПР, где - сетевая модель Петри проекта, P - конечное множество позиций, T - конечное множество переходов, ф - времена срабатывания переходов, - отношение инцидентности, R0 - начальная разметка в начальный момент времени. Срабатывание перехода в зависимости от состояния позиций изменяет разметку в сети. Особый интерес представляет обеспечение достижения из начальной разметки заданных терминальных разметок.
На диаграмме Ганта задача zi характеризуется длительностью выполнения , заданными моментами начала и окончания выполнения задачи, а также связями с предшествующими и последующими задачами. Кроме того, важно привязать расписание задач к календарному времени для учета выходных дней и сверхурочных работ.
Будем однозначно сопоставлять элементы задачи и элементарные фрагменты сети Петри (рис. 1).
а б
Рис. 1. Элементы модели: а - элемент сетевого графика с его параметрами; б - элементарный фрагмент сети Петри
Элементарный фрагмент сети Петри содержит:
- переход, моделирующий процесс выполнения задачи с длительностью срабатывания ;
- начальный и конечный переходы, у которых длительности срабатывания либо равны нулю, либо зависят от одного из значений ;
- входные позиции, определяющие условия начала выполнения задачи;
- выходные позиции, которые являются входными для других фрагментов модели и разрешают начало их выполнения;
- внешняя входная позиция конечного перехода ;
- внешняя выходная позиция начального перехода .
В позициях могут находиться метки, задающие разметку сети и разрешающие срабатывания переходов (на рис. 1 - черные точки в позициях ).
Одно из преимуществ такой сети Петри заключается в четком определении вариантов взаимодействия задач. На рис. 2 представлены базовые фрагменты сети для всех четырех случаев связи между задачами. Используя базовые фрагменты и заменяя ими элементы диаграммы Ганта или PERT-диаграммы, нетрудно построить полную сетевую модель Петри NПР для программного проекта.
Рис. 2. Базовые фрагменты сетевой модели Петри: а - «финиш - старт»; б - «старт - старт»; в - «финиш - финиш»; г - «старт - финиш»
Свойства сетевой модели Петри
Будем рассматривать процесс проектирования без циклов, как обычно принимается в [1, 2]. Тогда сетевая модель Петри, построенная по выше определенным правилам, - ациклическая и является параллельной сетью, или О-сетью [8]. Некоторые свойства таких сетей Петри исследованы в работе [9]. К их основным свойствам относятся: безопасность сети, живость О-сети, достижимость заданных и терминальных разметок в сети.
Для корректного моделирования структуры параллельно-последовательных процессов О-сеть должна быть К-плотной. В работе [9] доказана теорема о том, что в К-плотной О-сети множество RO достижимых разметок является дистрибутивной решеткой. Следовательно, анализируя структуру графа RO на дистрибутивность, можно сделать вывод о корректности сетевой модели Петри. Перебор всех подрешеток, изоморфных графу RO, является сложной задачей. Воспользуемся известным утверждением [10]: решетка дистрибутивна тогда и только тогда, когда она не содержит подрешетку, изоморфную пентагону N5 или диаманту M3 (рис. 3).
Рис. 3. Подрешетки «пентагон» и «диамант»
Наличие хотя бы одной такой подрешетки свидетельствует о недистрибутивности RO и, соответственно, о некорректности сетевой модели Петри. Используем быстрый алгоритм поиска в графе разметок О-сети подрешеток, изоморфных пентагону N5 и диаманту M3 [11]. Этот алгоритм имеет сложность порядка . Поиск подрешеток можно выполнять как до имитационного моделирования процесса, так и во время моделирования. Второй вариант удобен тем, что одновременно с прогоном имитации процесса в сетевой модели Петри можно строить граф достижимых разметок и сразу анализировать его по вышеуказанному алгоритму.
Таким образом, анализ структуры сетевой модели расписания задач в проекте можно выполнять следующим образом:
- по сетевому графику проекта строится сетевая модель Петри, которая относится к классу О-сетей;
- проверяются условия К-плотности О-сети: если сеть не К-плотная, то выявляются причины и корректируется исходное расписание задач;
- проводится анализ графа достижимых разметок в сетевой модели Петри: если граф не является дистрибутивной решеткой, то выявляются причины и корректируется исходное расписание задач;
- проводится имитационное моделирование стохастической сетевой модели Петри и принимаются решения по корректировке расписания задач.
Имитационное моделирование процесса выполнения проекта
программный проект стохастический сетевой петри
Учет вероятностного характера динамики выполнения проекта реализуется в стохастической сетевой модели Петри [12] приписыванием соответствующим переходам или позициям законов распределения вероятностей определенных событий. В частности, задается распределение длительностей задач, особенно на критическом пути.
Длительность проектирования задачи может определяться по результатам мониторинга разработки аналогичных программных проектов. При достаточно представительной выборке выполняется аппроксимация закона распределения длительности, и полученная функция реализуется в генераторе случайных величин для инициирования срабатывания соответствующего перехода в сетевой модели Петри.
С другой стороны, при отсутствии необходимой статистики можно использовать гипотезу о том, что длительность выполнения задачи распределена по закону бета-распределения [1, 3].
Бета-распределение [13] задается плотностью вероятности
,
где - бета-функция Эйлера.
При >1 и >1 распределение унимодальное, оно используется для описания вероятностного характера длительностей выполняемых в проекте работ [1]. Например, по методу PERT система Microsoft Project 2007 поддерживает вычисление математического ожидания длительности работы в виде
,
где - соответственно оптимистическая, ожидаемая и пессимистическая оценки длительности работы.
Бета-распределение табулировано и может быть использовано для имитационного моделирования путем приписывания переходам сети Петри соответствующих параметров функции распределения.
Прогон имитационной модели заключается в процедуре последовательно-параллельного срабатывания переходов при заданных начальных разметках и временных параметрах переходов сети. В результате статистических испытаний можно анализировать выполнение критических путей, определить критические задачи и наличие конфликтов в расписании, а также условия их возникновения.
Моделирование событий «Ошибка» и «Изменение» в расписании работ
При проектировании программных модулей обязательно возникают ситуации, когда либо выявляются ошибки программирования (событие «Ошибка»), либо вносятся изменения в программируемый модуль для получения новых свойств или возможностей (событие «Изменение»). В первом случае события связаны с квалификацией программиста, его психофизическим состоянием, уровнем сложности алгоритма и спецификаций. Во втором случае изменения возникают при текущем анализе функциональных свойств модуля и должны улучшить программный продукт. Следовательно, вероятностные характеристики этих типов событий различны и должны моделироваться разными фрагментами сети Петри. На рис. 4 показана сеть Петри для одной работы проекта , моделирующая ошибки (переход tj) и изменения в программе (переход tk).
При имитационном моделировании задаются экспоненциальные законы распределения для соответствующих потоков событий с интенсивностью лО для ошибок или интенсивностью лИ для изменений. Эти законы реализуются генераторами случайного срабатывания переходов tj и tk, которые задают случайные времена отработки ошибок и изменений. В результате общее время выполнения задачи моделируется случайной величиной .
Такая модель соответствует простейшему случаю параллельной отработки ошибки и изменения. Для моделирования ситуации параллельно-последовательной отработки нескольких ошибок и изменений следует провести декомпозицию задачи на более простые работы и использовать для каждой из них модель, приведенную на рис. 4.
Рис. 4. Модель обработки ошибок и изменений
Заключение
В настоящее время существует достаточно большое число программных средств моделирования, поддерживающих высокоуровневые и стохастические сети Петри: DaNAMiCS, HPSim, INCOME Process Designer и др. [14]. Применение этих средств моделирования в комплексе с распространенными системами управления проектами [1, 2] позволит сократить время предварительного этапа программного проекта, а также корректировать процесс создания программных продуктов. Предлагаемая методика моделирования используется при управлении проектом разработки сложного программного обеспечения карточной системы банка «Солидарность», г. Самара.
Библиографический список
1. Куперштейн В.И. Microsoft Project 2007 в управлении проектами. - СПб.: БХВ-Петербург, 2008. - 560 с.
2. Трофимов В.В., Иванов В.Н., Казаков М.К., Евсеев Д.А., Карпова В.С. Управление проектами с Primavera / СПб.: Изд-во СПБГУЭФ, 2005. - 180 с.
3. Шафер Д., Фатрелл Р., Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат. - М: Вильямс, 2003. - 1136 с.
4. Томашевский В., Жданов Е. Имитационное моделирование в среде GPSS. - М.: Бестселлер, 2003. - 416 с.
5. Питерсон Дж. Теория сетей Петри и моделирование систем. - М.: Мир, 1984. - 264 с.
6. Nonaka I., Takeuchi H. The New New Product Development Game. Harvard Business Review, Jan-Feb 1986.
7. Orlov S.P. Application of Petri net model for computational process synchronization / Advances in Modelling & Analysis. Vol. 14. №3. - AMSE PRESS, 1993. - Р. 1-6.
8. Котов В.Е. Сети Петри. - М.: Наука, 1984. - 161 с.
9. Орлов С.П. Синтез структур и оптимизация параметров систем обработки информации. - Саратов: Изд-во Саратовского гос. ун-та, 1989. - 152 с.
10. Биркгоф Г. Теория решеток. - М.: Наука, 1984. - 568 с.
11. Орлов С.П., Михеева Е.А. Анализ решеточных моделей сложных систем // Компьютерные технологии в науке, практике и образовании: Тр. IX Всеросс. межвуз. науч.-практ. конф. - Самара: СамГТУ, 2010. - С. 57-59.
12. Лескин А.А., Мальцев П.А., Спиридонов А.М. Сети Петри в моделировании и управлении. - Л.: Наука, 1989. - 133 с.
13. Математическая энциклопедия. Т. 1 (А-Г) / Под ред. И.М. Виноградова. - М.: Советская энциклопедия, 1977. - 1152 с.
Размещено на allbest.ru
...Подобные документы
Понятие сетей Петри, их применение и возможности. Сетевое планирование, математические модели с использованием сетей Петри. Применение сетевых моделей для описания параллельных процессов. Моделирование процесса обучения с помощью вложенных сетей Петри.
курсовая работа [1,0 M], добавлен 17.11.2009Методы разработки вычислительной структуры. Изучение методов использования иерархических сетей Петри, пути их практического применения при проектировании и анализе систем. Анализ полученной модели на активность, обратимость, конечность функционирования.
лабораторная работа [36,8 K], добавлен 03.12.2009Исследование методов моделирования, отличных от сетей Петри. Моделирование при помощи инструментария IDEF. Пример простейшей байесовской сети доверия. Анализ младшего разряда множителя. Сложение на сумматорах. Заполнение и анализ редактора сетей Петри.
курсовая работа [2,6 M], добавлен 28.10.2013Методы моделирования, отличные от инструментария "сети Петри". Пример моделирования стандартом IDEF0 процесса получения запроса браузером. Раскрашенные (цветные) сети Петри. Моделирование процессов игры стандартными средствами сетей Петри, ее программа.
курсовая работа [1,6 M], добавлен 11.12.2012Разработка и реализация графического редактора сетей Петри. Описание программы, которая позволяет создавать новые сети путем добавления позиций и переходов, соединяя их определенным образом. Основы построения систем автоматизационного проектирования.
курсовая работа [2,6 M], добавлен 21.06.2011Анализ инцидентов информационной безопасности. Структура и классификация систем обнаружения вторжений. Разработка и описание сетей Петри, моделирующих СОВ. Расчет времени реакции на атакующее воздействие. Верификация динамической модели обнаружения атак.
дипломная работа [885,3 K], добавлен 17.07.2016Использование офисного пакета Microsoft Project для управления проектами. Связь задач с помощью зависимостей, определяющих порядок выполнения задач относительно друг друга. Разбиение проекта на фазы. Представление плана работ с помощью диаграммы Ганта.
контрольная работа [40,4 K], добавлен 22.03.2012Анализ процессов и ситуаций для плоттеров, их виды (печатающие, режущие). Построение метамодели "асинхронный процесс". Операции над процессами, их композиция. Предметная интерпретация асинхронного процесса. Сеть Петри для процесса подготовки к вырезанию.
контрольная работа [268,5 K], добавлен 06.09.2011Стандартные схемы программ в линейной и графовой формах. Инварианты и ограничения циклов. Анализ сетей Петри на основе дерева достижимости. Доказательство полной правильности программы. Суммы элементов диагоналей, параллельных главной диагонали матрицы.
курсовая работа [280,4 K], добавлен 30.05.2012Понятие сетевого графика как динамической модели производственного процесса. Базовые правила составления сетевого графика, расчет его параметров. Разработка алгоритма программного проекта. Использование объектно-ориентированных сред программирования.
курсовая работа [847,7 K], добавлен 21.01.2016Анализ существующих решений системы поддержки принятия решений для корпоративной сети. Многоагентная система. Разработка концептуальной модели. Структура базы знаний. Разработка модели многоагентной системы на базе сетей Петри. Методика тестирования.
дипломная работа [5,1 M], добавлен 19.01.2017Составление программы решения задачи по подсчету количества пересечений прямых, заданных двумя точками. Стандартные схемы программ в линейной и графовой формах, их интерпретация и протокол выполнения программы. Схема программы в виде сети Петри.
курсовая работа [85,4 K], добавлен 02.03.2012Построение математической модели программы, одноленточного автомата над алфавитом, допускающего различные множества слов. Алфавит терминальных символов, множество состояний и переходов. Определение начального и конечного состояний. Понятие сети Петри.
контрольная работа [294,8 K], добавлен 17.09.2013Практический опыт и проблемы внедрения систем автоматизированного составления расписания. Описание исходных данных для разработки функционала программы. Описание структуры разделов пользовательского интерфейса. Модуль проверок корректности расписания.
курсовая работа [3,6 M], добавлен 26.09.2014Особенности написания базы данных на языках программирования C++, применимой для расписания занятий в университете. Этапы работы: ввод новой записи, изменение, просмотр базы данных, поиск данных. Алгоритмы, используемые в процессе выполнения проекта.
практическая работа [16,6 K], добавлен 12.06.2010Построение схемы модели процесса и разработка анимации; определение характеристики модели с использованием AnyLogic. Сеть Петри для процесса работы порта. Описание программного продукта. Объекты библиотеки Enterprise Library. Результаты работы модели.
курсовая работа [334,1 K], добавлен 25.04.2015Составление математической модели расписания в школе. Назначение и область применения программного продукта. Обоснование выбора инструментальных средств. Описание разработки, алгоритмов и методов решения, форматов данных и пользовательского интерфейса.
курсовая работа [1,6 M], добавлен 18.01.2012Принцип создания кадра с помощью цифровой камеры. Построение метамодели "асинхронный процесс". Описание траекторий выбранного процесса. Операции репозиции, редукции и композиции. Предметная интерпретация асинхронного процесса. Построение сети Петри.
контрольная работа [32,4 K], добавлен 12.04.2011Основные принципы организации сетей абонентского доступа на базе PLC-технологии. Угрозы локальным сетям, политика безопасности при использовании технологии PLC. Анализ функционирования PLC здания инженерно-внедренческого центра ООО "НПП "Интепс Ком".
дипломная работа [3,0 M], добавлен 25.11.2012Группа критических и некритических работ в проекте. Установление связей и длительности работ. Оформление графика задач. Отображение на диаграмме критического пути. Отображение диаграммы Ганта с применением форматирования. Создание структуры проекта.
лабораторная работа [326,5 K], добавлен 07.12.2013