Сетевое издание
Современные проблемы науки и образования
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

СПЕЦИФИКАЦИЯ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ СЕРВИС-ОРИЕНТИРОВАННОЙ СРЕДЫ ДЛЯ ОРГАНИЗАЦИИ ПРОИЗВОДСТВА ПРОГРАММНЫХ ПРОДУКТОВ

Бухтияров И.В. 1
1 Институт вычислительной математики и математической геофизики СО РАН
Рассматриваются вопросы создания специализированной сервис-ориентированной информационной среды в Интернете/Интранете, обеспечивающей информационно-технологическую и организационную поддержку совместной работы виртуальным командам специалистов. Предложен проектный подход к производству программных продуктов в создаваемой среде, в соответствии с которым главным объектом проектной деятельности является операционная задача, и завершение проекта происходит только после итерационного выполнения набора жизненных циклов всех задач. В рамках подхода представлена спецификация функциональной модели разрабатываемой среды в виде диаграммы нотации BPMN, отображающей обобщенный сценарий разработки и выпуска релизов программных продуктов. С целью формирования комплекса программно-технологических решений для реализации среды полученная диаграмма преобразована в соответствующую спецификацию в виде модели высокоуровневой сети Петри. С помощью проверки различных характеристик аппарата сетей Петри был проведен качественный анализ корректности предлагаемых сценариев функционирования среды. Реализация имитационного моделирования на основе сетей Петри обеспечивается за счет наличия программного инструментария CPN Tools, применение которого дает возможность не только для описания статической топологии используемых в среде бизнес-процессов, но и для получения различных количественных оценок параметров и свойств разрабатываемых аппаратных и программно-технологических решений.
виртуальная команда
производство программного продукта
проектная деятельность
информационная среда
диаграммы BPMN
аппарат сетей Петри
1. Кратов С.В., Бухтияров И.В. Технологическая площадка разработки ПО в СО РАН // Материалы VIIАзиатской международной школы-семинара «Проблемы оптимизации сложных систем» Труды ИВМ и МГ СО РАН.Сер. Информатика. –2011. - Вып. 10.– С. 68-73.
2. BPMNSpecification – BusinessProcessModelandNotation [Электронныйресурс]. – Режимдоступа: http://www.bpmn.org/(датаобращения: 24.07.2014).
3. CPN Tools Homepage – CPN Tools is a tool for editing, simulating, and analyzing Colored Petri nets [Электронныйресурс]. – Режимдоступа: http://cpntools.org/ (датаобращения: 01.08.2014).
4. Jensen K. Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use. Volume 1, Basic Concepts. Monographs in Theoretical Computer Science, Springer-Verlag, 2nd corrected, printing 1997. – P. 236.
5. Maschke P. Execution and Re-evaluation of BPMN Processes // Bachelor's Thesis HPI Universitaet Potsdam, June 2008. – PP. 1-44 [Электронныйресурс] – Режимдоступа: http://bpt.hpi.unipotsdam.de/pub/Public/BptPublications/Bachelorarbeit_PhilippMaschke.pdf(датаобращения: 01.08.2014).
6. Peterson J.L. Petri Net Theory and the Modelling of Systems // Prentice-Hall, Englewood Cliffs, New Jersey, 1981. – P.264.

В связи с динамичным развитием индустрии создания программной продукции, в которой достаточно существенную роль играют малые и средние ИТ-компании, актуальной задачей является организационно-информационная и технологическая поддержка проектной деятельности коллективов-исполнителей. Технологии Интернета и программный инструментарий организации дистанционной деятельности специалиста создают, с одной стороны, предпосылки организации виртуальных коллективов (в т.ч. виртуальных предприятий)по производству ПО, а с другой – создания специализированной сервис-ориентированной информационной среды в Интернете/Интранете, ориентированной на информационно-технологическую и организационную поддержку проектной деятельности по производству программных продуктов. В данной статье рассматриваются вопросы спецификации функциональной модели, разработанной автором такой специализированной сервис-ориентированной информационной среды для обеспечения проектной деятельности виртуальных команд по производству ПО (в дальнейшем именуемой виртуальная технологическая площадка – ВТП) [1]. В качестве инструмента формальной спецификации и последующего имитационного моделирования для анализа согласованности функциональных компонент ВТП и оценки параметров масштабируемости его программно-информационного комплекса рассматривается аппарат сетей Петри [4;6].

Функциональная модель виртуальной технологической площадки

В рамках рассматриваемой разработанной версии ВТП предполагается, что инструментальная поддержка и сами процессы разработки (написания) программного кода, а также его тестирования реализуются на локальных рабочих станциях (и/или серверах) членов виртуальной проектной команды. Аналогично обстоит дело и с поддержкой процессов тиражирования (распространения) и технической поддержки созданного ПО.

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

1) подсистема «Поддержка управления организационно-информационной деятельностью в проекте» опирается на использование понятия «задача», которое определяет элементарный процесс (технологическая операция/работа над созданием объекта производства) в производстве ПО. Инструментарий подсистемы включает реализацию поддержки следующих основных функций:

  • формирование общего списка задач проекта, согласованных сроков их реализации и распределения ресурсов;
  • формирование списка задач для участников проектного коллектива (с учетом их роли в проекте) и информации о сроках их выполнения;
  • учет и предоставление информации о ходе выполнения всего проекта, отдельных показателях и их прогнозирование;

2) подсистема «Управление версионностью электронных документов/ Управление версионностью исходного кода» реализует функции создания и сопровождения БД объектов проектной деятельности и организации доступа к данным БД. Подсистема реализуется в виде двух блоков: БД «документы» и БД «программные коды». Каждый из блоков позволяет хранить несколько версий текстового файла, возвращаться к более ранним версиям, проводить их автоматическое слияние и построчное сравнение и т.д.;

3) подсистема «Отслеживание ошибок» – её назначение в составе ВТП заключается в обеспечении и реализации функций:

  • регистрация и контроль ошибок разработчиками ПО, найденных в файлах программного кода (программы, подпрограммы) и пожеланий пользователей;
  • отслеживание процесса устранения выявленных ошибок и выполнения пожеланий.

Для формальной спецификации функциональной модели и последующего имитационного моделирования архитектуры ВТП предлагается двухэтапный подход, который включает:

a) на первом этапе переход от содержательного функционального описания подсистем ВТП к их представлению в виде бизнес-процессов в нотации BPMN [2];

b) на втором этапе предлагается реализация комплекса бизнес-процессов в нотации BPMN в виде сетей Петри в среде CPNTools [3;5] с целью их дальнейшего качественного анализа.

Спецификация функциональной модели ВТП посредством диаграмм нотации BPMN

Рассмотрим спецификацию функциональной модели в терминах нотации BPMN, содержащей условные обозначения для отображения бизнес-процессов в виде диаграмм. Используемый в BPMN язык включает базовый набор интуитивно понятных графических элементов, которые позволяют определять сложные семантические конструкции (представление в виде блок-схем). Такое представление помогает пользователям нотации не только быстро понимать логику процесса, но также отображать взаимосвязи, события, действия, условия переходов и зоны ответственности пользователей[2].

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

В результате использования приложения BizagiProcessModeler была создана диаграмма обобщенного бизнес-процесса «Работа в ВТП» (рис. 1), которая является графической спецификацией функциональной модели ВТП.

Рис. 1. Диаграмма модели бизнес-процесса «Работа в ВТП».

Отображенный на диаграмме бизнес-процесс является декомпозицией подпроцессов, представляющей логически завершённый комплекс взаимосвязанных действий, которые реализуют политику виртуальных команд, направленную на создание законченных программных продуктов из макетных версий ПО. Детализация процессов, регламентирующих работу пользователей по выполнению жизненного цикла каждой отдельной задачи, осуществляется при помощи построения диаграмм для свернутых процессов«Разрешение задачи», «Уточнение задачи», «Завершение задачи» и других, которые в силу ограничений объема не приводятся в статье.

Отображение BPMN-диаграмм в терминах аппарата сетей Петри

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

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

  • Начальные и завершающие события бизнес-процессов преобразуются в переходы с одной входной и выходной позицией соответственно.
  • Потоки управления, изображаемые стрелками на BPMN-диаграммах, преобразуются в дуги сети Петри, которые определяют порядок исполнения операций процесса.
  • Задание, изображаемое синим прямоугольником на диаграмме BPMN, ассоциируется с переходом, позиция отображает очередь экземпляров заданий, ожидающих обработки.
  • Все логические операторы ветвления отображаются в сети Петри двумя (или более) выходными позициями и одним переходом, выражение на выходных дугах которого позволяет определить его тип. Т.е. для оператора «и» срабатывание перехода переместит фишки в обе входные позиции, а для оператора исключающего «или» в соответствии с логическими выражениями на исходящих дугах фишка переместится только в одну из двух исходящих позиций.
  • Логический оператор слияния «и» моделируется переходом, который имеет несколько входных позиций и одну выходную. Чтобы переход сработал, необходимо, чтобы во всех входных позициях находились фишки. В результате его срабатывания только одна фишка продолжит движение по сети. Логический оператор слияния «или» моделируется позицией, которая имеет несколько входных переходов.
  • Свернутые подпроцессы отображаются подсетями в иерархической сети Петри. Эти подсети позволяют детализировать соответствующие им подпроцессы на диаграмме BPMN, не усложняя при этом сам процесс. Уровень вложения подпроцессов в нотации BPMN может быть любым.

Построение сетей Петри в виде графов для диаграммы ВТП обеспечивается за счет наличия программного инструментария CPN Tools [3].При описании графического представления полученных сетей Петри будем использовать терминологию из монографии K. Jensen [4].Ниже приводится графическая спецификация функциональной модели ВТП в виде иерархической раскрашенной сети Петри, созданной в инструментальной среде CPNTools путем преобразования BPMN-диаграммы бизнес-процесса рис. 1. Аналогично описанной в работе спецификации был разработан полный набор спецификаций сервисов ВТП, однако в силу ограниченного объема статьи он здесь не представлен.

Обобщенная модель функционирования ВТП

Следуя перечисленным выше правилам конвертации, в результате преобразования BPMN-диаграммы обобщенного процесса «Работа в ВТП» получим иерархическую раскрашенную сеть Петри, изображенную на рис. 2.

Рис. 2. Сеть Петри диаграммы бизнес-процесса «Работа в ВТП».

Допустимые цвета фишек определены следующим образом:

QUERIES = (Pid, Tid, Ttype, Tlogic), где:

  • Pid – целое неотрицательное число (идентификационный номер проекта);
  • Тid – целое неотрицательное число (идентификационный номер задачи);
  • Ttype = 1 или 2 (тип задачи: 1 – документ, 2 – codefix);
  • Tlogic– логического типа с набором значений {true,false}.

PR_TASKS = (Pid, Tcount), где:

  • Pid – целое неотрицательное число (идентификационный номер проекта);
  • Тcount – целое неотрицательное число (количество завершенных задач для выпуска релиза проекта).

S_Error = (Tid, Error), где:

  • Тid – целое неотрицательное число (идентификационный номер задачи);
  • Error–строкового типа (для обозначения ошибки обработки запроса сервером).

Proc = pr1 | pr2 | pr3 … | prN, где

  • pr1, pr2, pr3,…, prN– строкового типа (идентификатор процессора сервера).

Генерация начального состояния сети для дальнейшего ее выполнения осуществляется составным переходом Gen_queries, результатом работы которого является создание множества фишек в позиции Projects. Каждая фишка из Projects соответствует пользовательскому запросу на создание задачи и представляется в виде QUERIES=(Pid, Tid, Ttype, Tlogic).

  1. Первые две компоненты цвета фишки идентифицируют номер проекта и задачи.
  2. Значением переменной Ttype, равным 1 или 2, характеризуется тип задачи – «документ» или codefix. Значение Ttype=1задает последовательность переходов, представляющую собой завершение жизненного цикла задачи типа «документ»,Ttype=2–последовательность переходов для задачи типа codefix.
  3. Tlogic равно 0 или 1 и используется в качестве значения на потоках управления в логических операторах, определяющих желания пользователей, на исходной BPMN-диаграмме общего процесса (значения для операторов ветвления определяются извне системы случайным образом).

Жизненный цикл каждой задачи выполняется в результате запуска последовательности переходов, исходной позицией для которой является позиция Projects, а конечной – Fin_result. Цвет фишки в Fin_result характеризуется цветом (Pid, Tcount). Значение Tcount соответствует количеству завершенных задач проекта с номером Pid для выпуска его релиза. Идентификаторы запросов для процессов в системе, соответствующих выпуску релиза и завершению проекта (переходы Tagging и Closing_project), также представляются в виде (Pid, Tcount). Фишки позиции Server, отвечающей за разделяемые аппаратные ресурсы в архитектуре ВТП при программной реализации, определяются цветом Proc = pr1 | pr2 | pr3 … | prN, где каждое из значений представляет идентификатор процессора сервера. Заметим, что на рис.2 достаточно явно определены множества позиций, переходов и дуг сети.

Свойства сети Петри

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

Проверка сети на свойство «живости»

Живость перехода Create_tasks обеспечивается:

  • наличием запросов на создание задач в системе, генерация которых осуществляется составным переходом Gen_queries изначальной маркировки этой подсети;
  • размещением фишек, играющих роль аппаратных ресурсов, в позиции Server в начальной маркировке сети.

Переходы Solving, Status_feedbackи следующий за ним Explain, являются живыми в зависимости от значения поля TLogic фишки в общей для них входной позиции Tasks:Tlogic=1 определяет живым переход Solving, 0 - переходы Status_feedback и Explain. Живость перехода Verification обусловлена появлением ответа от процесса разрешения задачи в позиции S_result. Далее живость переходов Refresh/Status_reopened и Finish определяется соответствующим значением поля Tlogic для фишки во входной позиции Ver_result, равным 0 и 1 соответственно. Переход FRT и, следовательно, Tagging становятся живыми в том случае, если Tcount>=tc_doc+tc_code-k для фишки (Pid, Tcount) в позиции Fin_result. Значение поля Tcount для фишки в позиции Tag_result, равное 0 или 1, задает соответственно условие живости для переходов Gen_queries или Tagging. Живость переходов-таймеров (Timer_create, Timer_tasks, Timer_Ver_res, Timer_Fin_res и Timer_Tag_res), реализующих отказы обработки запросов сервером посредством удаления фишек, определяется появлением последних во входных позициях и корректным выбором задержки wait для запуска перехода. При установке слишком больших задержек эти переходы могут никогда не сработать в процессе выполнения сети.

Проверка сети на свойство «ограниченности»

Позиция Tasks сети Петри для обобщенного процесса «Работа в ТП» является n-ограниченной, где n–число фишек, сгенерированных переходом Gen_queries из начальной маркировки, содержащей одну фишку с числом 1 в позиции Projectsи одну фишку со значением 0 в Tasks_Ids. По построению все позиции сети с цветом типа (Pid, Tid, Ttype, Tlogic) также являются n-ограниченными. Позиция Fin_result сети после генерации начального состояния модели переходом Gen_queries содержит prc фишек(prc определяет количество существующих в ТП проектов), т.е. является prc-ограниченной. Т.к. переход Finish имеет входную дугу из позиции Fin_result и выходную кратностью 1, количество фишек в этой позиции в процессе работы сети не может стать больше, чем prc. Таким образом, позиция Fin_result, а также FRP, Tag_result, OUTPUT являются prc-ограниченными. Отметим, что т.к. любой переход, связанный с позицией Server, имеет входную и выходную дугу, то его запуск не может увеличить количество фишек в этой позиции в ходе выполнения сети. Поэтому позиция Server является k-ограниченной, где k-число фишек в позиции в начальной маркировке.

Заключение

На первом этапе был построен полный набор спецификаций реализационно-независимой функциональной модели ВТП в виде диаграмм нотации BPMN, обеспечивающей механизм системного проектирования сервисов ВТП на уровне визуального представления структуры и сценария функционирования среды. На следующем этапе при помощи конвертации предложенных BPMN-диаграмм инструментарием CPNTools был разработан полный комплекс моделей сетей Петри, формализующих проектную деятельность по производству программных продуктов. На его основе в настоящее время проводится ряд имитационных экспериментов в CPNTools с целью анализа и оценки вариантов масштабируемости нагрузки, пропускной способности, состава серверов, структуры программно-технического комплекса и сценария функционирования ВТП в зависимости от количественных параметров сети (количество проектов, задач и пользователей в ВТП).Тем фактом, что при организации ВТП в виде сервис-ориентированной архитектуры сервисы ВТП являются слабосвязанными клиент-серверными приложениями, гарантируется их независимость, другими словами, возможность доступного перераспределения по разделяемым аппаратным ресурсам без риска потери целостности системы. Стоит отметить, что разработанная архитектура и предложенные бизнес-процессы были реализованы в качестве прототипа единой информационной Web-системы «виртуальная технологическая площадка», апробация которого в настоящее время проводится в составе портала ФАП СО РАН.

Рецензенты:

Попков В.К., д.ф.-м.н., профессор, главный научный сотрудник Института вычислительной математики и математической геофизики СО РАН, г.Новосибирск.

Лаврентьев М.М., д.ф.-м.н., профессор, проректор по информатизации Новосибирского государственного университета, г.Новосибирск.


Библиографическая ссылка

Бухтияров И.В. СПЕЦИФИКАЦИЯ ФУНКЦИОНАЛЬНОЙ МОДЕЛИ СЕРВИС-ОРИЕНТИРОВАННОЙ СРЕДЫ ДЛЯ ОРГАНИЗАЦИИ ПРОИЗВОДСТВА ПРОГРАММНЫХ ПРОДУКТОВ // Современные проблемы науки и образования. – 2014. – № 4. ;
URL: https://science-education.ru/ru/article/view?id=14413 (дата обращения: 29.03.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674