Научная статья на тему 'Сетевая модель Петри расписания задач при управлении программными проектами'

Сетевая модель Петри расписания задач при управлении программными проектами Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
143
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТИ ПЕТРИ / УПРАВЛЕНИЕ ПРОГРАММНЫМИ ПРОЕКТАМИ / ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ / ДИАГРАММА ГАНТА / PETRI NET / SOFTWARE PROJECT MANAGEMENT / SIMULATION / GANTT CHART

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Орлов Сергей Павлович, Ефремов Михаил Михайлович, Бабамуратова Евгения Бекмуратовна

В статье предлагается методика моделирования с помощью сетей Петри расписания выполнения программного проекта. Определены правила перехода от сетевого графика или диаграммы Ганта к сетевой модели Петри. Рассмотрены некоторые свойства О-плотных сетей Петри, позволяющие оценить структуру расписания работ проекта. Предложено использовать стохастические сети Петри для имитационного моделирования выполнения программного проекта.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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 Odense 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.

Текст научной работы на тему «Сетевая модель Петри расписания задач при управлении программными проектами»

УДК 681.3.06

СЕТЕВАЯ МОДЕЛЬ ПЕТРИ РАСПИСАНИЯ ЗАДАЧ ПРИ УПРАВЛЕНИИ ПРОГРАММНЫМИ ПРОЕКТАМИ

С.П. Орлов, М.М. Ефремов, Е.Б. Бабамуратова

Самарский государственный технический университет, 443100, г. Самара, ул. Молодогвардейская, 244 E-mail: vt@vt.samgtu.ru

В статье предлагается методика моделирования с помощью сетей Петри расписания выполнения программного проекта. Определены правила перехода от сетевого графика или диаграммы Ганта к сетевой модели Петри. Рассмотрены некоторые свойства О-плотных сетей Петри, позволяющие оценить структуру расписания работ проекта. Предложено использовать стохастические сети Петри для имитационного моделирования выполнения программного проекта.

Ключевые слова: сети Петри, управление программными проектами, имитационное моделирование, диаграмма Ганта.

В современных системах управления проектами, таких как Microsoft Project [1] и Primavera [2], логическая взаимосвязь задач (работ) и календарного расписания работ задается диаграммой Ганта или PERT-диаграммой. Однако эти представления имеют ряд недостатков, главный из которых - невозможность проведения непосредственно на их базе имитационного моделирования динамики выполнения проекта. В то же время актуальной является задача прогноза выполнения работ проекта при различных сочетаниях внешних и внутренних факторов, имеющих вероятностный характер.

Особенно важно такое моделирование при выполнении сложных проектов по разработке программного обеспечения [3]. В этом случае конструирование, программирование и тестирование большого числа программных модулей без учета возможных факторов риска на достаточно дальнем горизонте планирования может привести к критическим состояниям проекта.

Особенность программного проекта, в отличие от большинства проектов в других отраслях, заключается в следующем: при структурной декомпозиции работ (WBS) в обычном проекте на нижних уровнях работ, как правило, требуются исполнители с достаточным уровнем квалификации. Это характерно для проектов в строительстве, машиностроении и др. При выполнении WBS программного проекта снижение требований к квалификации программиста для нижних уровней работ незначительно, что связано с высокой степенью интеллектуализации труда программистов. Даже небольшие по объему задачи программирования и тестирования модулей могут оказаться весьма сложными по своему содержанию. В связи с этим актуальна задача имитационного моделирования выполнения программного проекта, учитывающая квалификационные характеристики исполнителей работ.

Известен ряд методологий и инструментов для дискретно-событийного моделирования процессов, в частности система GPSS [4]. Процесс проектирования программного обеспечения относится к параллельно-последовательным процессам, а

Сергей Павлович Орлов - д.т.н., профессор. Михаил Михайлович Ефремов - аспирант. Евгения Бекмуратовна Бабамуратова - аспирант.

для этого класса эффективно применение моделей на основе сетей Петри [5]. В то же время при управлении проектированием на уровне несложных программных модулей и подзадач возникают итерационные процессы, для которых применима методология SCRUM [6]. Длительность итерации Sprint принимается 30 дней, в этом случае ациклические сети Петри могут использоваться при планировании работ внутри Sprint. Для управления итерациями можно использовать временные сети Петри с циклами [7].

Построение сети Петри для моделирования расписания проекта. Будем считать, что в результате работы системы управления проектом построена диаграмма Ганта О задач проекта, найдены критические пути и для каждой задачи zi е О рас-

считаны X;

К

к

¡рога, Чип, тгрога- длительность выполнения задачи и моменты

ее раннего и позднего начала и окончания.

Для анализа динамики процессов в сетевой модели О следует привести ее к двудольному представлению в виде сети Петри.

Определим правила перехода О ^ Жпр, где ЖПР = (Р, Т, и, х, R0) - сетевая модель Петри проекта, Р - конечное множество позиций, Т - конечное множество переходов, т - времена срабатывания переходов, и с Р х Т и Т х Р - отношение инцидентности, Ro - начальная разметка в начальный момент времени. Срабатывание перехода в зависимости от состояния позиций изменяет разметку в сети. Особый интерес представляет обеспечение достижения из начальной разметки заданных терминальных разметок.

На диаграмме Ганта задача zi характеризуется длительностью выполнения х., заданными моментами начала и окончания выполнения задачи, а также связями с предшествующими и последующими задачами. Кроме того, важно привязать расписание задач к календарному времени для учета выходных дней и сверхурочных работ.

Будем однозначно сопоставлять элементы задачи zi и элементарные фрагменты сети Петри (рис. 1).

г И „

И

К

к

;,pozd

xi,l

<=Н

■Ю-+-Ю-*

о—*

■ю

Ун

—►о У;>

б

Р и с. 1. Элементы модели: а - элемент сетевого графика с его параметрами; б - элементарный фрагмент сети Петри

Элементарный фрагмент сети Петри содержит: ti - переход, моделирующий процесс выполнения задачи zi с длительностью срабатывания х.;

И к

t; , t; - начальный и конечный переходы, у которых длительности сраба-

тывания либо

И

И

к

равны

к

нулю, либо зависят от одного из значений

Xi,ran, Xi,pozd , Xi,ran, Xi,pozd ;

Н

к

t

t

T

x

;,m

И

к

x

а

хй,...,хт - входные позиции, определяющие условия начала выполнения

задачи;

Уц,...,уг - выходные позиции, которые являются входными для других

фрагментов модели и разрешают начало их выполнения;

К к

х^ - внешняя входная позиция конечного перехода ti ;

н н

Ун - внешняя выходная позиция начального перехода ti .

В позициях могут находиться метки, задающие разметку сети и разрешающие срабатывания переходов (на рис. 1 - черные точки в позициях хп, хт).

Одно из преимуществ такой сети Петри заключается в четком определении вариантов взаимодействия задач. На рис. 2 представлены базовые фрагменты сети для всех четырех случаев связи между задачами. Используя базовые фрагменты и заменяя ими элементы диаграммы Ганта или PERT-диаграммы, нетрудно построить полную сетевую модель Петри ЫПР для программного проекта.

Я1=хц

а)

г- гк

11 11 11

Н + Н и. и. К

у^ =х,1 \ г \

11 11 11 Н-оН-оН-*

Уil=Xj

б)

в)

Ч Ч Ч

н к

г? Ь

Н

к

Н

к

г

г

г

г

г

Н

г

г

к

г

Н

к

г)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Р и с. 2. Базовые фрагменты сетевой модели Петри: а - «финиш - старт»; б - «старт - старт»; в - «финиш - финиш»; г - «старт - финиш»

Свойства сетевой модели Петри. Будем рассматривать процесс проектирования без циклов, как обычно принимается в [1, 2]. Тогда сетевая модель Петри, построенная по выше определенным правилам, - ациклическая и является параллельной сетью, или О-сетью [8]. Некоторые свойства таких сетей Петри исследованы в работе [9]. К их основным свойствам относятся: безопасность сети, живость О-сети, достижимость заданных и терминальных разметок в сети.

Для корректного моделирования структуры параллельно-последовательных процессов О-сеть должна быть К-плотной. В работе [9] доказана теорема о том, что в К-плотной О-сети множество RO достижимых разметок является дистрибутивной решеткой. Следовательно, анализируя структуру графа RO на дистрибутивность, можно сделать вывод о корректности сетевой модели Петри. Перебор всех подреше-ток, изоморфных графу RO, является сложной задачей. Воспользуемся известным утверждением [10]: решетка дистрибутивна тогда и только тогда, когда она не содержит подрешетку, изоморфную пентагону N5 или диаманту M3 (рис. 3).

Наличие хотя бы одной такой под-решетки свидетельствует о недистрибутивности RO и, соответственно, о некорректности сетевой модели Петри. Используем быстрый алгоритм поиска в графе разметок О-сети подрешеток, изоморфных пентагону N5 и диаманту M3 [11]. Этот алгоритм имеет сложность порядка n log n . Поиск подреше-ток можно выполнять как до имитационного моделирования процесса, так и во время моделирования. Второй вариант удобен тем, что одновременно с

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

Таким образом, анализ структуры сетевой модели расписания задач в проекте можно выполнять следующим образом:

- по сетевому графику проекта строится сетевая модель Петри, которая относится к классу О-сетей;

- проверяются условия К-плотности О-сети: если сеть не К-плотная, то выявляются причины и корректируется исходное расписание задач;

- проводится анализ графа достижимых разметок в сетевой модели Петри: если граф не является дистрибутивной решеткой, то выявляются причины и корректируется исходное расписание задач;

- проводится имитационное моделирование стохастической сетевой модели Петри и принимаются решения по корректировке расписания задач.

Р и с. 3. Подрешетки «пентагон» и «диамант»

Имитационное моделирование процесса выполнения проекта. Учет вероятностного характера динамики выполнения проекта реализуется в стохастической сетевой модели Петри [12] приписыванием соответствующим переходам или позициям законов распределения вероятностей определенных событий. В частности, задается распределение длительностей задач, особенно на критическом пути.

Длительность проектирования задачи может определяться по результатам мониторинга разработки аналогичных программных проектов. При достаточно представительной выборке выполняется аппроксимация закона распределения длительности, и полученная функция реализуется в генераторе случайных величин для инициирования срабатывания соответствующего перехода в сетевой модели Петри.

С другой стороны, при отсутствии необходимой статистики можно использовать гипотезу о том, что длительность выполнения задачи распределена по закону бета-распределения [1, 3].

Бета-распределение [13] задается плотностью вероятности

где В(а,Р) = Jxа 1(1 - x)р 1 dx - бета-функция Эйлера. о

При а >1 и р >1 распределение унимодальное, оно используется для описания вероятностного характера длительностей выполняемых в проекте работ [1]. Например, по методу PERT система Microsoft Project 2007 поддерживает вычисление математического ожидания длительности работы в виде

где х т;п, хс, х тах- соответственно оптимистическая, ожидаемая и пессимистическая оценки длительности работы.

Бета-распределение табулировано и может быть использовано для имитационного моделирования путем приписывания переходам хг- сети Петри соответствующих параметров функции распределения.

Прогон имитационной модели заключается в процедуре последовательно-параллельного срабатывания переходов при заданных начальных разметках и временных параметрах переходов сети. В результате статистических испытаний можно анализировать выполнение критических путей, определить критические задачи и наличие конфликтов в расписании, а также условия их возникновения.

Моделирование событий «Ошибка» и «Изменение» в расписании работ. При

проектировании программных модулей обязательно возникают ситуации, когда либо выявляются ошибки программирования (событие «Ошибка»), либо вносятся изменения в программируемый модуль для получения новых свойств или возможностей (событие «Изменение»). В первом случае события связаны с квалификацией программиста, его психофизическим состоянием, уровнем сложности алгоритма и спецификаций. Во втором случае изменения возникают при текущем анализе функциональных свойств модуля и должны улучшить программный продукт. Следовательно, вероятностные характеристики этих типов событий различны и должны моделироваться разными фрагментами сети Петри. На рис. 4 показана сеть Петри для одной работы проекта zi, моделирующая ошибки (переход и изменения в программе (переход 4).

При имитационном моделировании задаются экспоненциальные законы распределения для соответствующих потоков событий с интенсивностью Ао для ошибок или интенсивностью АИ для изменений. Эти законы реализуются генераторами случайного срабатывания переходов г,- и 4 , которые задают случайные времена х, отработки ошибок и хк изменений. В результате общее время выполнения задачи моделируется случайной величиной х = хi + тах(х,-, хк ).

Такая модель соответствует простейшему случаю параллельной отработки ошибки и изменения. Для моделирования ситуации параллельно-последовательной отработки нескольких ошибок и изменений следует провести декомпозицию задачи на более простые работы и использовать для каждой из них модель, приведенную на рис. 4.

M (т)

a1Tmin + a2Tc + a3T 6

max

, «1 + «2 + «з = 6 ,

y¡1

Н

H h T

Xi.I O—►

-

H

yi,2

-4-ю-»

tk Tk

ti

tK

O—+

Р и с. 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 с.

14. http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/db/hpsim.html

Статья поступила в редакцию I марта 20II г.

x

i,m

T

UDC 681.3.06

PETRI NET MODEL OF TASK SCHEDULING FOR SOFTWARE PROJECT MANAGEMENT

S.P. Orlov, M.M. Efremov, E.B. Babamuratova

Samara State Technical University

244, Molodogvardeyskaya st., Samara, 443100

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.

S.P. Orlov - Doctor of Technical Sciences, Professor. M.M. Efremov - Postgraduate student. E.B. Babamuratova - Postgraduate student.

i Надоели баннеры? Вы всегда можете отключить рекламу.