автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Автоматизация проектирования и анализа программного обеспечения с использованием языка UML и сетей Петри

кандидата технических наук
Марков, Александр Владимирович
город
Новосибирск
год
2015
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Автоматизация проектирования и анализа программного обеспечения с использованием языка UML и сетей Петри»

Автореферат диссертации по теме "Автоматизация проектирования и анализа программного обеспечения с использованием языка UML и сетей Петри"

На правах рукописи

Марков Александр Владимирович

АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ И АНАЛИЗА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА иМЬ И СЕТЕЙ ПЕТРИ

Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Автореферат диссертации на соискание ученой степени кандидата технических наук

Новосибирск - 2015

Работа выполнена в Федеральном государственном бюджетном

образовательном учреждении высшего образования «Новосибирский государственный технический университет»

Научный руководитель доктор технических наук, профессор

Воевода Александр Александрович

Официальные оппоненты: Хусаинов Ахмет Аксанович, доктор физико-

математических на)'к, профессор. Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Комсомольскш'1-на-Амуре государственный техническихV университет», профессор кафедры «Математическое обеспечение и применение ЭВМ»

Непомнящий Валерий Александрович, кандидат физико-математических наук, доцент, Федеральное государственное бюджетное учреждение науки Институт систем информатики пи. А.П. Ершова Сибирского отделения Российской академии наук, заведующий лабораторией! теоретического

программирования

Ведущая организация: Федеральное государственное бюджетное учреждение

науки «Санкт-Петербургский институт информатики и автоматизации Российской академии наук», Санкт-Петербург

Защита состоится «18» июня 2015 г. в 14 часов 00 минут на заседании диссертационного совета Д 212.173.06 при Федеральном государственном бюджетном образовательном учреждении высшего образования «Новосибирский государственный технический университет» по адресу: 630073 РФ, г. Новосибирск, пр. К. Маркса 20.

С диссертацией можно ознакомиться в библиотеке ФГБОУ ВО Новосибирского государственного технического университета и на сайте http://www.nstu.ru.

Автореферат разослан «¿/»¿»^£^¿2015 г.

Ученый секретарь Фаддеенков Андрей Владимирович

диссертационного совета

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

РОССИЙСКАЯ ГОСУДАРСТВЕННАЯ I БИБЛИОТЕКА ! у 015_,

Актуальность темы. В настоящее время быстрая, экономичная, успешная работа различных предприятий зависит от качественных программных приложений, которые используют в экономической, управленческой и технической деятельности. Для создания качественного продукта пользуются различными техниками разработки программного обеспечения (ПО) от водопадной и итерационной моделей до других различных вариантов и их модификаций. В настоящее время применяются различные способы разработки ПО, но сложность применения затрудняет их использование в реальной жизни. Зачастую при проектировании ПО прибегают к CASE-технологиям, которые описаны F.P. Broooks, A.JI. Фуксманом, А.Н. Тереховым, А.М. Вендеровым, В.В. Липаевым и др. Одним из самых популярных средств визуального моделирования является UML (Unified Modeling Language), предложенный группой разработчиков в OMG (Object Management Group) под руководством G. Booch, J. Rumbaugh, I.H. Jacobson и описанный в работах M. Fowler, К. Scott, И. Грэ-хэма, Д. Харела. Но, как известно, данная структура не предусматривает формальной проверки созданных систем и отдельных диаграмм. Использование сетей Петри - математического аппарата, подробно описанного в трудах W. Reisig, М.Н.Т. Hack, James L. Peterson, S. Haddad, G.W. Brams, B.E. Котова и A.A. Лескина, И.А. Ломазо-вой, ОЛ. Бандман, И.Б. Вербицкайте, В.А. Непомнящего, помогает решил, проблему анализа многопоточных систем, параллельных вычислений (А.П. Ершов, Ч. Хоар, В.В. Корнеев, В.И. Воробьев, В.Э. Малышкин) и проектируемых диаграмм (M, Westergaard, L. Baresi, L.Z. Zhu).

При анализе сетей Петри, разработчик может столкнуться с трудностью, заключающейся в существенном количестве состояний проектируемой системы. Несмотря на простоту структуры некоторых сетей Петри, их пространство состояний может достигать значительных размеров, что приводит к одной из главных проблем при анализе автоматов и графов - "взрыву" пространства состояний (экспоненциальный рост количества исследуемых состояний, останавливающий процесс анализа по причине отсутствия требуемого количества памяти). Работы GJ. Holzmann, S. Cristensen и L.M. Kristensen посвящены решению данной проблемы. Даже несмотря на увеличивающиеся мощности машин, используемых при анализе, рост сложности структур и логики систем тоже возрастает, поэтому решение данной проблемы не может сводиться только к увеличению мощности анализаторов. Стоит отметил», что существуют трудности при совместном использование UML диаграмм и сетей Петри, заключающие в

з

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

На кафедре "Автоматика" на протяжении порядка десяти лег ведется работа по исследованию совместного использования UML диаграмм и сетей Петри, результатом которой стала методика совместного использования UML диаграмм, описывающих статические и динамические свойства, и сетей Петри, используемых для анализа полученных диаграмм. Разработанная методика применима к задачам проектирования программных приложений для персональных компьютеров, для автоматизированных систем, для системы управляемого светофора, взаимодействия пользователя с банкоматом и др. Разработаны алгоритмы и программные продукты, нацеленные на сокращение времени проектирования ПО, а также его анализа: выявление логических ошибок (C.B. Коротиков, Д.О. Романников). Например, алгоритм автоматической трансляции поведенческих UML диаграмм в сети Петри, приложение по преобразованию графического вида к матричной форме с последующим анализом.

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

Для достижения поставленной цели решаются следующие задачи:

- составление пошаговой процедуры проектирования ПО с использованием UML диаграмм и сетей Петри для анализа поведенческих UML диаграмм;

- разработка способа проверки достижимости заданного состояния сети, представление правил и алгоритма для его реализации;

- разработка алгоритма преобразования UML диаграмм в сети Петри и способа выполнения автоматической трансляции UML диаграмм в сети Петри с использованием форматов .xmi и .срп;

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

- разработка способа проектирования сетей Петри дня задачи создания ПО в сфере робототехники, а именно робота-манипулятора; реализация рекурсивных функций в сетях Петри;

- разработка способов анализа сетей Петри, заключающихся в проверке частей пространства состояний.

Объект исследования. Средства проектирования и анализа программного обеспечения с целью их автоматизации. Предметом исследования является совместное использование унифицированного языка моделирования UML и сетей Петри.

Методы исследования. При выполнении задач диссертационного исследования применялись следующие методы: объектно-ориентированный анализ; математический аппарат сетей Петри; метод "плавающей" линии (sweep-line method)-, хеширование (hit stale hashing). При реализации примеров применения предлагаемой модифицированной методики использовались отраслевые и международные стандарты, CASE-технологии, современные инструментальные среды и пакеты моделирования: Rational Rose (среда проектирования UML диаграмм, способная преобразовывать проектируемые диаграммы в программный код основных языков программирования), Magic Draw (среда проектирования UML диаграмм с возможностью сохранять полученные диаграммы с расширением .xmi), CPN Tools (среда проектирования цветных сетей Петри - Colour Petri Nets Tools).

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

Личный вклад. Все основные результаты получены автором. А именно, разработана методика совместного использования UML диаграмм и сетей Петри, предложены правила инверсии сетей Петри, разработано приложение по преобразованию и анализу сетей в матричной форме. В совместной работе с Зимаевым И.В. получена взаимосвязь между статическими и динамическими диаграммами. При участии Романникова Д.О. разработаны алгоритмы для моделирования систе-

5

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

Практическая ценность и внедрение. Проведенные исследования подтвердили эффективность применения предлагаемой методики на этапе проектирования программного обеспечения.

Результаты диссертационной работы были использованы в проектировании системы подготовки железорудных окатышей на горно-обогатительном комбинате Акционерного Общества Соколовско-Сарбайского Горно-обогатительного Объединения (АО ССГПО, Республика Казахстан, г. Рудный), в проектировании ПО локальных подсистем АСУ ТП водоснабжения (г. Тюмень), в разработке интернет сайтов в ООО «Дабаз» (г. Новосибирск), а также в конкурсе фундаментальных и прикладных исследований внутренних грантов НГТУ «Использование ЦМЬ-диаграмм и аппарата сетей Петри как формальных методик анализа архитектуры программного обеспечения». Результаты диссертационного исследования используются в учебном процессе НГТУ на кафедре "Автоматика".

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

Кроме того, исследования были поддержаны грантом на выполнение проекта, отобранного для финансирования в 2012 году в рамках реализуемой программы стратегического развития НГТУ по итогам конкурса НИОКР, определяющих формирование научно-технического задела по приоритетным направлениям развития науки. Направление 2.3.: "Информационные и цифровые технологии и системы". Работа выполнена при финансовой поддержке Минобрнауки России по государственному заданию №2014/138 тема проекта "Новые структуры, модели и алгоритмы для прорывных методов управления техническими системами на основе наукоемких результатов интеллектуальной деятельности".

На защиту выносятся следующие основные результаты и положения: - методика проектирования ПО, включающая построение структурных ЦМЬ диаграмм: классов и объектов, диаграмм поведения: прецедентов, активности и после-

е

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

- формализованные правила для автоматической трансляции UML диаграмм в цветные сети Петри;

- рекомендации по анализу систем с большим количеством состояний;

- способ инверсии сетей Петри для проверки их основных свойств, а также анализ отдельных состояний и частей пространства состояний;

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

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

Апробация работы. Основные результаты диссертационной работы были представлены на следующих конференциях и семинарах: международная русско-индийская конференция "The 2nd Russian-Indian Joint Workshop on Computational Intelligence and Modem Heurisics in Automation and Robotics" (Новосибирск, 10-13 сентября 2011 г.); одиннадцатая международная научно-техническая конференция "Актуальные проблемы электронного приборостроения" (Новосибирск, 2-4 октября

2012 г.); двенадцатая международная научно-техническая конференция "Актуальные проблемы электронного приборостроения" (Новосибирск, 2-4 октября 2014 г.); III международная конференция "Современные информационные технологии и ИТ-образование" (факультет вычислительной математики и кибернетики МГУ им. М.В. Ломоносова, 8-10 ноября 2013 г.); международная научная конференция "Математическое и компьютерное моделирование" (Омский государственный университет, 18-19 окгабря 2013 г.); 61-я международная молодёжная научно-техническая конференция "Молодежь. Наука. Инновации" (Владивосток, МГУ им. адм. Г.И. Невельского, 20-21 ноября 2013 г.); школа молодых учёных САИТ-2011. Секция №2 "Информационные технологии в системах автоматического и автоматизированного управления" (Новосибирск, 12-16 сентября 2011г.); ХП1 Международная конференция "Информатика: проблемы, методология, технологии" (Воронеж, 7-8 февраля

2013 г.); международная научно-практическая конференция "Тенденции формирования науки нового времени" (Уфа, 18 октября 2014 г.); XIII международная научно-практическая конференция "Наука и современность" (Новосибирск, 15 ноября 2011

7

г.), международная заочная научно-практическая конференция "Наука и техника XXI века" (Новосибирск, 14 ноября 2011 г.); результаты диссертационной работы регулярно представлялись на конференциях и семинарах НГТУ (2011-2014 гг.).

Соответствие работы научной специальности. Диссертация соответствует п. 1 «Модели, методы и алгоритмы проектирования и анализа программ и программных систем, их эквивалентных преобразований, верификации и тестирования», п. 8 «Модели и методы создания программ и программных систем для параллельной и распределенной обработки данных, языки и инструментальные средства параллельного программирования», п. 7 «Модели, метода, алгоритмы, языки и программные инструменты для организации взаимодействия программ и программных систем» паспорта специальности 05.13.11 - «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей».

Публикации. Основные положения и результаты диссертационной работы опубликованы в 36 работах (список основных 24 работ приведен ниже), в том числе: 3 программы, зарегистрированные в Роспатент, стати в изданиях, рекомендованных ВАК РФ - 6, в сборниках научных трудов - 17, в материалах международных симпозиумов и конференций - 10.

Структура и объём диссертации. Диссертация состоит из введения, четырех глав, заключения, библиографического списка использованной литературы и шести приложений. Работа изложена на 176 стр. машинописного текста: основное содержание на 138 стр. и включает 85 рисунков, 4 таблицы и список литературы из 150 наименований.

СОДЕРЖАНИЕ РАБОТЫ

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

В первой главе диссертационного исследования на основе анализа подходов к разработке ПО (RUP, Agile, RAD, CMMI, MSF и др.), различных парадигм написания приложений, а также методов моделирования (семейство стандартов IDEF, UML, switch-технология, SDL, MSC) и анализа проектируемого программного продукта (метод среза пучка (slice cluster), метод гибридного спектрального среза (hybrid spectrum slice), подход minimal-MlJMCUT, метод локализации ошибок). Остановимся на итеративной разработки ПО, объектно-ориентрованном подходе и проектировании систем при использовании UML диаграмм (программные сред-

ства: Rational Rose, MagicDraw, Sybase PowerDesigner, Oracle Developer Suite и др.), с последующим анализом на основе математического аппарата сетей Петри (программные средства: CPN-AM1, CPN Tools, GreatSPN, PEP, WoPeD и др.).

UML - это язык графического описания систем. Для моделирования UML диаграмм выберем Rational Rose от компании IBM, Magic Draw от компании NoMagic. Данные пакеты имеют большой арсенал для моделирования диаграмм, связи их в единые проекты и преобразования полученных наборов в коды. UML включает диаграммы, описывающие структуры проектируемого ПО: диаграмма классов, диаграмма объектов, а также динамические свойства: диаграмма активности, диаграмма последовательности, диаграмма состояний.

С"ешь Петри представляют четверкой N = (P,T,F,mI), где Р = { pj,..., р„} - множество мест, Г = {<\>*2< —>'т } ~~ множество переходов, таких что Рг\Т = 0, Fс.РхТи ГхР - отношение, a mt: Р-> N - начальная маркировка, которая отображает размещение меток по местам сети Петри, моделирование которых выполним в CPN Tools. Для лучшего понимания элементов сети Петри и её графического представления на рисунке 1 представлена часть сеть Петри протокола передачи, которая содержит три места Р, три перехода Т, с начальной маркировкой от/.- Р = {F, Е, SI}; Т = {Recive Packet2, transmit packet2, send packet2f; mr (0, 0, 1). Основными свойствами сетей Петри является ограниченность, достижимость, покрываемость и живость.

Приведём правила срабатывания переходов: выполнение t & Т в маркировке от: Р N возможно, если т > Ч. Если t разрешён в от, то происходит срабатывание перехода /, что приводит к маркировке от'. Записать это можно следующим образом: от[/)от', где от' определяется как от' = (от-*/) + /•

(маркировка от' получена из т, учитывая взаимосвязи до перехода t и после него). Взаимосвязи между вершинами сети (рисунок 2, а) на некоторых рисунках будем представлять, как показано на рисунке 2, б.

б)

Рисунок 1 - Часть сети Петри протокола пе- Рисунок 2 - Представление взаимо-редачи данных связей сети Петри: а) стандартное,

б) компактное

Создание программных продуктов на основе совместного использования UML диаграмм и сетей Петри разделяют на несколько этапов: выбор и разработка необходимых UML диаграмм, трансляция полученных диаграмм в сети Петри, анализ сетей Петри и внесение необходимых изменений в UML диаграммы в соответствии с результатами анализа.

Поскольку динамические модели UML не имеют достаточно формальной семантики, работы С. Eichner, H. Fleischback, S. Emadi, F. Shams, M. Kessentini, A. Bou-choucha посвящены анализу диаграмм последовательности с использованием сетей Петри по приведенным ими правилам преобразования. В работах J. Meiseguer, J. Campos, Т. Miyamoto, H. Kurahata, I. Rabova рассматривается преобразование диаграммы состояний и диаграммы активности в сети Петри для проверки проектируемых диаграмм по предложенным правилам. В работах M. Noguerra, M.V. Hurtado описывается моделирование системы при помощи языка OWL-DL с последующим преобразованием в UML диаграммы и сеть Петри, приводится описание элементов UML, О ML и CPN в виде сводной таблицы. Методика проектирования ПО с использованием UML диаграмм и сетей Петри, предложенная C.B. Коротиковым, состоит из двух этапов: проектирование статических и динамических свойств системы. В данном диссертационном исследовании предлагаются правила преобразования UML диаграмм в сети Петри и показана корректность данного преобразования, с использованием предложенной методики анализируются сети Петри со значением пространства состояний порядка 104, а при дальнейшем развитии удалось достигнуть анализа сетей Петри со значением пространства состояний порядка 105. Развитие методики, предложенной Д.О. Романниковым, заключалось в объединении двух этапов и детализации некоторых диаграмм. Тем не менее, использовались диаграммы, наличие которых необязательно. По этой причине модифицируем методику: используем диаграмму прецедентов (USD), диаграмму классов (CID) и диаграмму объектов (ObD), которые при необходимости могут быть модифицированы после моделирования диаграммы активности (AcD), диаграммы последовательности (SeqD) и анализа их в сетях Петри. В одной из первых работ на основе предлагаемой методики выполняется проектирование ПО на примере современной станции управления лифтом, для которой разрабатывается расширение для пакета MATHCAD при решении задачи полиномиального синтеза. Ключевым моментом методики является отказ от моделирования диаграммы состояний (StD), которую заменяет исследование пространства состояний сети Петри, полученной из диаграммы активности. Поскольку в перечисленных работах упоминалось о необходимости автоматической трансляции UML диаграмм в сети Петри, предлагается способ выполнения данной

ю

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

Сети Петри разрабатывались с целью проектирования многопоточных систем и их последующего аначиза, для чего используют, например, программный пакет CPN Tools. Основной способ анализа сетей Петри - построение и исследование графа состояний, который является четверкой (V, Е, src, trg), где V - множество вершин, Е - множество рёбер между вершинами, а src, trg.E —> F отображает в каждом ребре вершину, из которого оно получено, и вершину, к которому приводит выполнение срабатывания перехода, соответственно. Пусть т, т' е V два состояния, a t е Т - переход. Если

, I

(m, I, т') е Е, тогда срабатывание t в т приведёт к т или кратко т—> т'. Последовательность состояний /и, и переходов f, может быть записана, как по-

'1 '2 'J 'л-1 'п

следовательность вида: ш, —> m2 —> т3 т„ —> т„+,. Стандартный способ

построения графа состояний представим в виде алгоритма 1.

Алгоритм 1 - Построение графа состояний, уточненного и дополненного комментариями

Require: (Р, Т, F, т,) // дана сеть Петри,

Ensure: (V, Е) // необходимо исследовать соответствующий граф состояний, 1: V: = {т,} // переменной V (множество посещённых состояний) присваивается множество с единственной переменной - начальное состояние mj,

2: W: = {mj} // переменной W (множество не посещённых состояний) присваивается множество с единственной переменной - начальное состояние т,, 3: Е: = 0 II переменной Е (множество рёбер) присваивается значение 0, 4: while IV Ф 0 do II пока множество W не станет пустым, выполняем следующие действия,

5: Select an т eW II выбираем состояния т из множества W,

6: lV: = W\{m) Нубираем из множества W состояние т,

I

1: for all t, т' such that т —t т' do II для всех I, т , удовлетворяющих

I

т —* т', выполняем следующие действия,

8: Е := Е u |( т, t, т' )| // добавляем новое ребро во множество, 9: if т' (V then II если найдено новое состояние, не входящее в множество V, тогда, 10: V := V и {т'} // добавляем его к этому множеству, 11: W := W u {т') II и к множеству W,

12: return (У, Е) Н возвращаем обновленные значения переменных V и Е.

Основной проблемой при анализе систем является возможность "взрыва" пространства состояний, которая заключается в экспоненциальном росте количества состояний ехр ([/-')) = |(/|, что приводит к досрочному завершению анализа из-за недостатка нужных объёмов оперативной памяти, а использование постоянной памяти приведёт к значительному росту времени. Таким образом, без оценки остаётся значительная часть пространства состояний, в которой могут присутствовать зацикливания т' —> *т' и тупиковые маркировки т' е V, т = тп, (mn,tn, mn+i), /„ £ Т, что свидетельствует о некорректном построении системы. Существуют нестандартные способы анализа пространства состояний: sweep-line method (метод "плавающей" линии или метод линии-диапазона) и hit-state hashing (побитовое хеширование состояний) и их возможные модификации. Анализ проектируемых сетей Петри осуществляется в программной среде CPN Tools при генерации и исследовании пространства состояний с последующим построением соответствующего отчета, в котором отображаются тупиковые маркировки, мертвые переходы, зацикливания.

Во второй главе приводится способ проектирования сетей Петри для задачи перемещения манипулятора в ограниченном пространстве с препятствиями. Для решения данной задачи предлагается использовать нагруженные метки (метка с дополнительной информацией об истории её передвижения или о структуре системы). Рассмотрим использование нагруженных меток на примере однозвенного манипулятора, перемещаемого в ограниченном пространстве. Для моделирования данной задачи используются метки с составным множеством цветов, т.е. составным множеством типов данных, для отображения ограниченного пространства (лабиринта) - 1 (1, 1, "О") ++ Г(2, 1, "О") ++ ... ++ 1'(7, 7, "О") и однозвенного манипулятора (рисунок 3) - место Robot J '(5, 4, 5, 3, "О ", "LI: иг: dr: R: dr: D:" "L2: R: ur: dr: R: dr: "J.

■ Первые две цифры у метки в месте

r(5,4,5,3,"0","Ll:ur:dr:R:dnD:","L2: I , J' „ ,

R:ur:dr:R:dr:") I Aktot) > Robot СООТВеТСТВуЮТ КООрДИНЭТе ПервО-

. го элемента конструкции робота О, ¡) -

Рисунок 3 - Нагруженная метка:

5,4,5,3 - координаты положения ма- переменные типа integer, третья и чет-нипулятора, LI, L2 - история переме- вёртая цифра иллюстрируют положение щения манипулятора второго звена в лабиринте. С помощью

последних двух типов данных L1 и L2 можно проследить историю передвижений первого и второго элемента, соответственно - переменные типа string.

tx-1]

Cl^ûmbèrJ I Complete | XI

Анализ пространства состояний полученной сети осуществлялся через автоматическую генерацию отчета о пространстве состояний, которое вычислено частично и содержит 21 687 состояний и 56 643 дуги, в сети отсутствуют мёртвые переходы. При усложнении конструкции ограниченного пространства количество состояний значительно возрастает и превышает количество порядка 106.

Отрабатывается возможность использования рекурсивных фуню/ий с использованием сетей Петри на примере переноса упорядоченного массива с ограничением выборки по одному элементу, нахождения выбранного числа из ряда Фибоначчи, а также вычисления факториала числа. На рисунке 4 представлена сеть Петри для рекурсивной задачи нахождения факториала числа. Место Number содержит метку 1 '(12, 0), в которой показано искомое число факториала и произведение предыдущих двух чисел, место List предназначено для хранения получаемых значений произведения, получаемых в процессе нахождения факториала числа. Места Complete, Number и List, выделенные свечением являются местами сети с найденным решением задачи.

Предлагается способ автоматического преобразования UML диаграммы активности в сеть Петри, который основан на формализации правил, ранее представленных в графическом виде и выполнении требований при проектировании диаграммы активности. Инструментом для автоматического преобразования диаграммы активности в сети выберем преобразование двух форматов с подобной структурой .xmi (содержится полная информация, как о создаваемых проектах, так и об отдельных диаграммах, использует синтаксис языка xmt) и .срп (использует синтаксис языка xmî), что позволит сократить время на ручное преобразование диаграмм. Рассмотрим одно из наиболее часто встречающихся правил преобразования UML диаграмм активности в сети Петри и предложим алгоритмическую форму представления данного правила: состояние ожидания трансформируется в место ( SS := SI' ) V ( ES := ЕР ) v ( AiS, := РР, ), а состояние действия преобразуется в переход

( UST := PST ) v ( VET := PET ) v ( LIT, := PI] ), который начинает действие (алгоритм 2).

__„ 1'[479001600,239500800,79833600 I

fpstjl ,19958400,3991680,665280,95040,1 1880,1320,133] _I

Рисунок 4 - Пример рекурсивной функции: вычисление факториала

Алгоритм 2 - Преобразование последовательности состояний из UML диаграммы в сеть Петри

1: SS := SP II SS - начальное состояние на диаграмме активности, SP -начальное место в сети Петри,

2: ES := ЕР // ES - конечное состояние на диаграмме активности, ЕР - конечное место в сети Петри,

3: UST := PST II UST - стартовый переход на диаграмме активности, PST - начальный переход в сети Петри,

4: UET := PET // UET - конечный переход на диаграмме активности, PET - конечный переход в сети Петри,

5: А := { ASt} // переменная А - множество всех состояний действия на диаграмме активности,

6: Т := {UTj} // переменная Т - множество всех переходов системы на диаграмме активности,

7: while А Ф 0 do II пока А не равна 0, выполняем ... 8: select an ASi е А II выборку всех состояний действия, 9 :ASj := РР, II трансформируем каждое состояние действия диаграммы активности в эквивалентное место сети Петри,

10: return PPj II возвращаем значение место сети Петри 11: while Т * jS do II пока Т не равна 0, выполняем ... 12: select an UTj еТ II выборку всех переходов диаграммы активности, 13: UTj := PTj II и приравниваем их к соответствующим переходам сети Петри, 14: return PTj II возвращаем значения перехода сети Петри.

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

analysis { II в функции анализа выполняются следующие процедуры translation diagram to Petri net, И транслируют диаграмму акпшносга в сел. Петри analysis Petri net II анализируют полученную сеть Петри if results = —Isatisfactory, then', II если результаты неудовлетворительны, то correct Activity Diagram', II выполняется корректировка диаграммы активности else II иначе

end if} //условие выполнено

1: do Use Case Diagram II проектируем диаграмму прецедентов, 2: do Class Diagram И проектируем диаграмму классов, 3: for needed class е Class Diagram do Activity Diagram II при необходимости для некоторых классов проектируем диаграмму активности,

4: analysis () of Activity Diagram II для полученной диаграммы активности выполняем функцию analysis,

5: do Object Diagram II проектируем диаграмму объектов, 6: for needed object e Object Diagram do Activity Diagram II при необходимости для некоторых объектов проектируем диаграмму активности,

7: analysis() of Object Diagram II для полученной диаграммы активности выполняем функцию analysis,

8: do Activity Diagram for system II проектируем диаграмму активности,

9: for needed scenario e Activity Diagram do Sequence diagram II при необходимости для некоторых сценариев, представленных на диаграмме активности, проектируем диаграмму последовательности,

10: analysis() of Sequence diagram // для полученной диаграммы последовательности выполняем функцию analysis,

11: analysis() of Activity Diagram for system I/ для полученной диаграммы активности системы выполняем функцию analysis,

12: generation code II происходит генерация кода.

На одиннадцатом шаге предлагаемой методики analysis () of Activity Diagram for system происходит анализ сетей Петри, одним из интересных способов видится анализ свободного языка сетей Петри (множество всех последовательностей срабатываний переходов сети от начальной маркировки до всех достижимых разметок сети). Свободный язык cemefi Петри предлагается в компактной форме с целью анализа проектируемых сетей, который рассматривается на примере управляемого светофора и двухсимочнош телефона (рисунок 5), сеть последнего состоит из двух мест Р, шести переходов Т и начальной маркировки :

Р = {Mobile phone 1, Session of phone _2, SMS archive _3, Action _ 4}; T = {Ringing or onternetX, Ringing to first SIM _2, Ringing to second SIM _ 3, Internet to first SIM A, Internet to second SI MS, SMS to first SIM _ 6, SMS to second SIM _ 7}; m,=( 6, 0,03).

1' (l,"ringing l'st S1M")++ l'(2,"SMS l'st SIM")++ 1' (3,"internet l'st SIM")++ 1' (4,"ringinQ 2'nd SIM")++ 1' (5,"SMS 2'nd SIM")++ 1' (6,"internet 2'nd SIM")

Net for phone with 2 radio module

(i,s) [i-i, y-ilAh

Рисунок 5 - Сеть Петри двухсимочного телефона Для компактного отображения свободного языка сетей Петри переименуем переходы сети в соответствии с их порядковым номером: ... Л7М_и = /п. Свободный язык сети, который имеет вид: 12, ¡3,14,15, 1б, 17,12П, 1216,12П, 1311, 13/6,

15

t3t7, t4tl, t4tó, (4t7, t5tl, I5t6, t5t7, t6t2, I6l3, l6t4, /6/5, /6/6, /6/7, /7/2, /7/i, (7t4, I7l5, í7l6, l7t7..., представим более компактно (рисунок 6).

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

В третьей главе предлагается способ, основанный на построении отдельных сценариев работы системы, который позволяет исследовать сценарии работы, наличие ошибок в которых является критическим для системы. Рассмотрим один из сценариев работы на примере взаимодействия пользователя с банкоматом, а именно проверки баланса счета (рисунок 7), при котором пользователь безошибочно с первого раза вводит PIN-код (Inject PIN, PIN correct), проверяет баланс (Checking balance), печатает чек (Print chq Г) и забирает пластиковую карту (Taking card). Проектируемую диаграмму последовательности транслируем в соответствующую сеть Петри (рисунок 8), а пространство состояний данного сценария содержит шесть узлов и шесть дуг и выглядит следующим образом:

V = {/и, а 0, 0, 0, 0, 0), да,(0,1, 0, 0, 0, 0), »1,(0, 0,1, 0, 0, 0), т4 (0, 0, 0,1, 0, 0), т5 (0, о", 0, 0, 0,1), т6(0, 0, 0, 0,1, 0)};

К = {(/и, [Insert card) т2), (т2 [Inject PIN) m,), (т, [PINcorrect) тх), (т4 [Taking card) пц ),[т4 [Checking balance) ть), (m6 [Print chq /) м4)}.

о 16

Рисунок 6 - Компактное представление свободного языка сети Петри двухсимочного телефона

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

: Р»|*ол £ I

5: Checking balance

6: Balance on aereen

Z3

Рисунок 7 - Диаграмма последовательности Рисунок 8 - Сеть Петри

сценария проверки баланса сценария проверки баланса

Альтернативным способом анализа пространства состояний является представление всей структуры системы, а именно сети Петри в иерархическом виде, с последующим разбиением некоторых частей на отдельные подсети. Если результаты, полученные при анализе свойств подсетей и основной сети, удовлетворяют по качеству желаемым, то можно утверждать, что при анализе свойств иерархической сета получают подобные результаты, но стоит отмеппъ, что анализ подсети нужно начинать со всех возможных входных состояний в эту подсеть. Продемонстрируем данный способ на примере интернет-магазина в виде иерархической сети Петри (рисунок 9). Результаты анализа иерархической сета, подсетей и главной сети по отдельности, совпадаю!: в системе имеется две мертвые маркировки (выход из системы), отсутствуют зацикливания, все переходы могут сработать.

Вариант анализа сетей Петри, который основан на предложенных выше способах, заключается в анализе некоторых часта! пространства состояний наиболее критичных к ошибкам, причем, данные части (их начальные состояния) могут

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

Предлагается инверсия сетей Петри для проверки достижимости выбранного состояния, которая заключается в изменении расположения, либо ориентации, элементов сети Петри в особом порядке, нарушающем обычный (прямой) порядок, тем самым, способствуя движению меток в обратном направлении, что приводит к начальному состоянию сети (алгоритм 3).

Алгоритм 3 - Инверсия простой ординарной сети Петри

1: while f сРхГи Т х Р' // пока существует цепочка данного вида, t

2: select р-*р' // выбираем последовательно цепочку данного вида,

I t

3: for all (/,/>')such that p—>p' do invert p'->p // реализуем инверсию,

4: return ( P, T ) // возвращаем преобразованные данные.

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

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

Предлагается приложение, преобразующее сети Петри, спроектированные в программной среде CPN Tools (version 3.4.0), из графической в матричную

форму | Р, Т, D~, D+ j, предложенную Дж. Питерсоном, и эквивалентную

стандартной форме, что позволяет дать определения для сети в терминах векто-

Exit store f*-. Enter private officce L

11 ,N\l 1 Р.-м.мгГ) -JH \

1 Open I Lshop

"" fj irr "iHSBfflll

У Registring || iKaaistrinar II Loginingl V'-niminql !l

Рисунок 9 - Главная страница иерархической сети интернет-магазина

ров и матриц. Отличие заключается лишь в появлении двух матриц D и D+, представляющих входную и выходную функции, которые анализируются посредством задаваемых векторов запусков.

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

В четвёртой главе на основе модифицированной методики совместного использования UML диаграмм и сетей Петри проектируется программное обеспечение для автоматизированной системы регулирования температуры обжига железорудных окатышей. В процессе обжига окатыши проходят пять технологических зон: сушка, подогрев, обжиг, рекуперация, охлаждение. В каждой зоне поддерживается определенный температурный и газовый режим. Температуру в зоне обжига необходимо поддерживать в диапазоне 1250-г1270°С, что является одним из самых сложных процессов при обжиге окатышей.

Диаграмма активности проектируется после получения диаграмм, описывающих статические свойства системы, и транслируется в соответствующую сеть Петри. После нескольких изменений в сети Петри, а именно корректировки регулятора, отрабатывается алгоритм поддержания температуры (рисунок И). На основе системы переходов в сети Петри проектируется регулятор, изменяющий подачу газа в зависимости от изменений подачи железорудных окатышей. Каждый из переходов Change corner п регулирует температуру при ев отклонении на определённое значение. После, в соответствии с сетью Петри, изменяется диаграмма активности.

Рисунок 10 - Граф состояний протокола передачи данных

Ф+4505

ф+159

Change comer_l

input (t2, g); output (gl); action

(g+ (t2 / 2.38));

[(t2 < 1249.9931 orelse (C2 > 1270.0)1

Xhecfcing:

Regulation 1

SomeReal

SomeReal

Interaction t2

> i SomeReal

SomeReal

input [g, p, tl); output (t); action

(245.0' (g/p));

\ 10 Vir

VTn.0 r^J-J-

.u^nhnT^Ä 1 l.OGO.Oj Regulation2

S -1 ПМ RO | -

T 102.9 feeding pellets)^ г 102.9®0,0 ГТ " SomeReal

[(pi > 94.9) andalso (pi < 115.1))

®+(50'2) ^Pl_

Change Fidding pellets

Change Fidding pellets

SomeReal

I(t2 > 15.0) andalso (t2 < 29.9991 orelse (t2 > -29.999) andalso (t2 < ~ 15.0)1

l(t2 > 30.0) andalso (t2 < 59.9991 orelse (t2 > —59.999) andalso (t2 < ~30.0)1

(t2 > 60.0) andalso

;t2 < 99.999) orelse ;t2 > -99.999) andalso

;t2 < ~6o.o)l

t(t2 > 100.0) andalso (t2 < 149.999) orelse (t2 > -149.999) andalso (t2 < -100.0)]

• ♦2650

№+1325

Chan-je

Change comer 4

:orner_5 input tt2, g);

-'output (gl);

P-H1GH ac0o„

--.gl (g+(t2/2.38))

:omer_4 input (t2, g);

if

-И),

V+669

[(t; > 10.0) andalso (t2 < 14,999) orelse (t2 > -14.999) andalso |t2 < -10.0»

Change corner_3

Change

:omer_3 input (t2, g)

;orner_6 input (t2, g) ———'output (gl); P-HIGH action

latí В Д.M»

»+424

1.. .

[(t2 > 5.01 andalso (t2 < 9.9991 orelse (t2 > -9.999) andalso (t2 < -5.0))

Change

comer_2 input (t2, g); P HIGH (0+(t2 / 2.38))

Change

:orner_7 input (t2, g);

(g+ <t2 / 2.3B))

[tt2 > 0.001) andalso (t2 < 4.999) orelse (t2 > -4.999) andalso (t2 < 0.0))

Regulatrorl SomeReal

I 1250 0®0.0;

[(t2 > 1249.999) andalso (t2 < 1270.0))

Рисунок 11 - Сеть Петри регулирования температуры в зоне обжига печи При проектировании ПО для АСУ ТП водоснабжения, а именно регулирования давления в трубопроводе, используется предложенная методика совместного использования UML диаграмм и сетей Петри. Регулирование давление предлагается реализовать через систему переходов, добавленных к сети Петри, изменяющих мощность двигателя насоса и имеющих несколько уровней дискретности. Данная сеть Петри состоит из девяти основных мест Р, 16 переходов Тс начальной маркировкой /и;:

Р = {FromPS, VNSPumpl VNSPumpl, VNSValvel, VNSValve2, VNSValve3, RtoUserl, RlloUserl, RltoUserX, User\, Distrubance}\ T = { PStoVNSPX, PS to VNSP2, PStoVNSV 3, VNSP\toVNSV\, VNSP2 to, VNS2, VNSltoU, VNSltoU, VNS3toU, Controller PI, Controller P2,

PIRloUserl, RtoUserl, P2RtoUser\, PowerbelowofVNSP\, Power above o/VNSPl, Power belowofVNSPl, Power above of VNSP2}; щ={ 1,1,1,1,1,1,1,1,1,1).

После проведения анализа получены результаты, которые помогли скорректировать сеть и тем самым избежать ложных состояний, которые могли навредить работе системы. Например, при открытии и закрытии задвижек оператором, данные элементы получали текущие состояния до выбранного действия. Анализ показал, что состояния задвижек должны меняться. После корректировки ошибок работа системы начала выполняться корректно. Анализ проектируемой сети Петри выполнен на вычислительной машине Intel Соте ¡5-3330 CPU 3.00GHz, ОЗУ - DDR3 8Gb с операционной системой Windows 8.1 х64 и показал, что для исследования 100 000 состояний одной локальной водонапорной станции потребовалось 6 310 с, двух -6 234с, трех - 28 965 с. Поскольку количество состояний для одной водонапорной станции превышает значение 105, то можно утверждать, что для десяти водонапорных станции и всей системы водоснабжения значение будет превышать порядок 106.

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

1 2 3 4 1 2 3 4 1 2 3 4

1 '0 1 0 1 '1 0 0 Г 1 ' 1 -1 0 1 4

2 1 0 0 1 2 0 1 0 0 2 -1 1 0 -1

3 1 0 0 1 3 0 1 0 0 3 -1 1 0 -]

=

4 1 0 0 1 4 0 1 0 0 ~4 -1 1 0 -1

5 1 0 0 1 5 0 1 0 0 5 -1 1 0 -1

6 0 0 0 1 6 0 0 1 1 6 0 0 1 0

7 ,0 0 0 7 ,0 0 1 к 7 ,0 0 1

где D - составная матрица изменений, а М - вектор начальной маркировки.

На основе модифицированной методики совместного использования UML диаграмм и сетей Петри спроектировано ПО для автоматизированной системы обжига железорудных окатышей и АСУ ТП водонапорной станции. Для каждой из систем построены диаграмма прецедентов, диаграмма классов, диаграмма объектов и диаграмма активности, последняя транслируется в сеть Петри по правилам, описанным алгоритмически во второй главе. Полученные сети анализируются через автоматическую генерацию и исследования пространства состояний. Приведено матричное представления сетей Петри на примере управляемого светофора, которое получено из графического посредством разработанного приложения по преобразованию сетей Петри, проектируемых в программной среде CPN Tools.

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

ЗАКЛЮЧЕНИЕ

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

1. Разработана методика проектирования ПО (архитектуры и исполняемого поведения), состоящая из семи этапов и включающая разработку ЦМЬ диаграмм (прецедентов, классов, объектов, последовательности и активности) и сетей Петри для анализа диаграммы активности и последовательности.

2. Разработан алгоритм и правила реализации инверсии в сетях Петри для проверки достижимости выбранного состояния сети.

3. Предложены алгоритмы для преобразования иМЬ диаграмм в сети Петри (действие, выполнение условия, разделение/слияние), а также способ выполнения автоматической трансляции иМЬ диаграммы активности в сети Петри посредством подобной структуры форматов.

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

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

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

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

Основные публикации по теме диссертации Статьи в журналах, рекомендованных ВАК для публикации результатов

диссертаций на соискание ученой степени доктора и кандидата наук:

1. Воевода, A.A. Методика автоматизированного проектирования программного обеспечения функционирования сложных систем на основе совместного использования UML диаграмм и сетей Петри [Текст] / АА. Воевода, A.B. Марков. - Современные технологии. Системный анализ. Моделирование. - 2014. - №2(42). - С. 110-115.

2. Воевода, A.A. Разработка программного обеспечения: проектирование с использованием UML диаграмм и сетей Петри на примере АСУ ТП водонапорной станции [Текст] / A.A. Воевода, A.B. Марков, Д.О. Романников. - Труды СПИИРАН. - 2014. - №3(34). - С. 218-231.

3. Марков, АА Алгсрпм автоматической трансляции диаграммы акгавнхли в сеть Петри [Гасг]/АА Марков, ДО. Нэманникоа-Доювды АН ВШРФ.-2014.-№1(22).-С. 104-112.

4. Марков, A.B. Инверсия простой ординарной сети Петри [Текст] / A.B. Марков, A.A. Воевода. - Науч. вест. НГТУ. - 2013. - №4(53). - С. 215-218.

5. Марков, A.B. Проверка достижимости маркировки сетей Петри при помощи инвертирования деревьев состояний для протокола передачи данных [Текст] / A.B. Марков, A.A. Воевода. - Доклады ТУСУР. - 2014. -№1(31). - С. 143-148.

6. Романников, Д.О. Пример применения методика разработки ПО с использованием UML-диаграмм и сетей Петри [Текст] / Д.О. Романников, A.B. Марков.-Науч. вест. НГТУ.-2012.-№1(46).-С. 175-181.

Свидетельства о государственной регистрации программ для ЭВМ:

7. Марков A.B. Приложение для преобразования графического представления сетей Петри в матричную форму / A.B. Марков, A.A. Воевода // Свидетельство о государственной регистрации программы для ЭВМ №201461133. - М.: Федеральная служба по интеллектуальной собственности (Роспатент). - 2014.

8. Романников Д.О. Алгоритм управления насосным агрегатом водонапорной станции / Д.О Романников, A.A. Воевода, A.B. Марков // Свидетельство о государственной регистрации программы для ЭВМ №2012618139. - М.: Федеральная служба по интеллектуальной собственности (Роспатент). - 2012.

9. Шоба Е.В. Расширение пакета MATHCAD для решения задачи полиноминального синтеза / Е.В. Шоба, A.A. Воевода, A.B. Марков, В.В. Вороной // Свидетельство о государственной регистрации программы для ЭВМ №2013614151. - М.: Федеральная служба по интеллектуальной собственности (Роспатент). - 2013.

Основные научные публикации в других изданиях:

10. Марков, A.B. Описание приложения, преобразующего графическое представление сетей Петри к матричной форме [Элеюронный ресурс] / АА Марков, АА Воевода. - VIII Международная конференция «Современные информационные технологии и ИТ-образование», 8-10 ноября 2013 г. - Москва: МГУ, 2013. - С. 264-269. - Режим доступа: http://conf.it-edu.ru/sites/default/files/elektronnyy_sbomik_tom_l.pdf, свободный.

' 5 — 5630

11. Марков, A.B. Описание структуры АСУ ТП водонапорной станции при помощи UML диаграмм [Текст] / A.B. Марков, A.A. Воевода, ДО. Романников. - Двенадцатая международная научно-техническая конференция "Актуальные проблемы электронного приборостроения", 2-4 октября 2014 г. -Новосибирск: Иэд-во Hl ГУ, 2014. - С. 65-67.

12. Марков, A.B. Обзор работ журнала Journal of Systems and Software за 20122014 годы, посвященных анализу программного обеспечения [Текст] / A.B. Марков, Д.О. Романников. - Сб. науч. тр. НГТУ. - 2014. - №3 (77). - С. 125 - 136.

13. Марков, A.B. Применение UML-диаграмм и сетей Петри для проектирования ПО технологического процесса обжига окатышей [Текст] / A.B. Марков. - Сб. науч. тр. НГТУ. - 2014. - №3 (77). - С. 99-118.

14. Марков, A.B. Поиск манипулятором кратчайшего пути в лабиринте [Текст] / A.B. Марков. - Сб. науч. тр. НГТУ. - 2011. - №4(66). - С. 75-90.

15. Воевода, A.A. Рекурсия в сетях Петри [Текст] / A.A. Воевода, A.B. Марков. - Сб. науч. тр. НГТУ. - 2012. -№3(69). - С. 115-122.

16. Марков, A.B. Понятие рекурсии в сетях Петри: факториал числа, числа Фибоначчи [Текст] / A.B. Марков, АЛ. Воевода. - Сб. науч. тр. НГТУ. - 2013. - № 1 (71 ). - С. 72-77.

17. Марков, A.B. Анализ сетей Петри при помощи деревьев достижимости [Текст] / A.B. Марков, A.A. Воевода. - Сб. науч. тр. НГТУ. - 2013. - №1(71). - С. 78-95.

18. Марков, A.B. Анализ отдельных частей дерева достижимости сетей Петри [Текст] / A.B. Марков. - Сб. науч. тр. НГТУ. - 2013. - № 3(73). - С. 58-74.

19. Марков, A.B. Инверсия сетей Петри [Текст] / A.B. Марков. - Сб. науч. тр. НГТУ. - 2013. - № 4(74). - С. 97-121.

20. Шоба, Е.В. Методология проектирования современного программного обеспечения применительно к станции управления лифтом [Текст] / Е.В. Шоба, A.B. Марков // Сб. науч. тр. НГТУ. - 2012. -№1(67). - С. 121-132.

21. Марков, A.B. Развитие системы "Перемещение манипулятора в пространстве с препятствиями" при помощи рекурсивных функций [Текст] / A.B. Марков, A.A. Воевода. - Автоматика и программная инженерия. - 2013. - №2(4). - С. 35-41.

22. Марков, A.B. Описание работы двухсимочных мобильных телефонов с помощью сетей Петри. Камбиев метод [Текст] / A.B. Марков, Д.В. Прытков. -Сб. науч. тр. НГТУ.-2011.-№3(65).-С. 113-118.

23. Марков, A.B. Разработка программного обеспечения при совместном использовании UML-диаграмм и сетей Петри (обзор) [Текст] / A.B. Марков. - Сб. науч. тр. НГТУ.-2013.-№1(71).-С. 96-131.

24. Воевода A.A. Совместное использование UML-диаграмм и сетей Петри на этапе проектирования программного обеспечения: обзор. [Текст] /A.A. Воевода, C.B. Коротиков, A.B. Марков Сб. науч. тр. НГТУ. - 2012. - № 2(66) С. 75-98.

2012477758

Отпечатано в типографии Новосибирского рственного технического университета бирск, пр. К. Маркса, 20, тел./факс: (383) 346-08-57 60x84 1/16, объем 1,5 п.л., тираж 100 экз. 724 подписано в печать 17.04.2015 г.

h)