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

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

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

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

Коротиков Сергей Викторович

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

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

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

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

003170279

003170279

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

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

Воевода Александр Александрович Официальные оппоненты доктор технических наук, профессор,

Хабаров Валерий Иванович кандидат технических наук, доцент, Долозов Николай Лаврентьевич

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

Защита состоится « 19 » июня 2008 г в 14 часов на заседании диссертационного совета Д 212 173 06 при Новосибирском государственном техническом университете по адресу 630092, г Новосибирск, пр Карла Маркса, 20

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

Автореферат разослан 16 мая 2008 г

Ученый секретарь

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

Чубич В М

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

Актуальность темы исследований. Основная задача разработчика многопоточного (multithread) программного обеспечения (ПО) с ограниченными разделяемыми ресурсами - обеспечить надежность (стабильность, устойчивость к ошибкам и восстанавливаемость) функционирования ПО Примером данного класса ПО является центр дистанционного управления и контроля (ЦЦУК), предназначенный для непрерывного дистанционного контроля и управления интеллектуальным оборудованием При разработке ПО ЦЦУК (в современной индустрии ПО) используется объектно-ориентированный подход к анализу и проектированию (ООАП) с применением языка UML (Unified Modeling Language) Некорректное представление сложных алгоритмов и механизмов синхронизации на UML-диаграммах приводит к взаимным блокировкам потоков и другим проблемам при функционировании ПО Подобные ошибки могут обнаруживаться только при очень специфичных условиях эксплуатации ЦЦУК, например центра дистанционного управления и контроля таксофонов (ЦДУКТ) и диспетчерского центра блоков релейной защиты (ДЦ БРЗ) Их трудно, а иногда невозможно воспроизвести в условиях тестовой среды

В языке UML и CASE (Computer Aided Software Engineering) средствах на его основе, например «Rational Rose», нет собственных средств обоснования правильности и согласованности наборов диаграмм, поэтому наибольшее внимание уделяется методам и инструментам для преобразования UML-диаграмм в сети Петри и их анализа При этом различные расширения сетей Петри предлагаются для проверки отдельных видов диаграмм В решениях для совокупности диаграмм проекта не учитывается применение программных элементов синхронизации и другая специфика разработки объектно-ориентированного многопоточного приложения (в частности ЦДУК) Отсутствует описание технологий применения профессиональных, свободно распространяемых пакетов моделирования раскрашенных иерархических сетей Петри, например «CPN Tools» (Coloured Petri Net), предложений по автоматизации процесса и преодоления ограничений пространства состояний модели Все это делает весьма затруднительным применение указанных подходов в инженерии ПО В известных автору работах не предлагаются шаблоны (типичные образцы проектирования) моделей и кода для проектирования многопоточных системных служб управления и контроля Отсутствуют предложения по анализу требований к многопоточному ПО с помощью совокупности диаграммы процессов и диаграмм деятельности, детализирующих алгоритмы потоков с учетом используемых при реализации кода элементов синхронизации и аттестации (validation) данного набора диаграмм с использованием раскрашенных иерархических сетей Петри

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

Цель работы: разработка методик применения сетей Петри при аттестации наборов ЦМЬ-диаграмм в процессе разработки многопоточного ПО с ограниченными разделяемыми ресурсами и их применение в разработке программного обеспечения ЦЦУК для обеспечения надежности его функционирования

Основные задачи исследования:

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

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

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

- разработать набор шаблонов моделей и программных решений для повышения производительности моделирования и анализа при создании программ и преодоления ограничений компьютерного пакета моделирования,

- разработать ПО ЦДУКТ и ДЦ БРЗ с применением предложенных методик, шаблонов и программных решений

Методы исследования. Результаты исследования получены на базе аппарата сетей Петри и ООАП При разработке ПО ЦДУКТ применялись отраслевые и международные стандарты, «Концепция Единой Таксофонной Карты России» При проектировании и реализации ПО ЦДУКТ и ДЦ БРЗ использовались САБЕ-технологии, инструментальные среды и пакеты моделирования

Научной новизной обладают представленные на защиту результаты,

полученные для класса объектно-ориентированного многопоточного ПО с ограниченными разделяемыми ресурсами

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

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

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

- разработаны шаблоны и программные решения для повышения производительности моделирования в компьютерном пакете моделирования раскрашенных иерархических сетей Петри «CPN Tools», отличающиеся простотой использования и модификации под модель любой сложности Эти шаблоны и решения позволяют при помощи управления сложностью пространства состояний модели преодолевать ограничения на его размер,

- разработано и успешно внедрено в эксплуатацию ПО ЦЦУКТ и ДЦ БРЗ

Практическая ценность и внедрение результатов исследования.

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

Результаты диссертационной работы были использованы при проектировании и реализации ПО ЦЦУКТ, принятого в эксплуатацию СП «Сибирьтеле-ком» - НГТС в 2003 г, при проектировании и реализации ПО ДЦ БРЗ, которое поставляется с 2007 г в комплекте с БРЗ, выпускаемыми ФГУП ПО «Север», в процессе обучения студентов АВТФ НГТУ

Апробация работы. Основные результаты работы были представлены на Международном научно-техническом симпозиуме "KORUS" (Ульсан, 2000, Томск, 2001, Новосибирск, 2002), Международной научно-технической конференции "Информационные системы и технологии" (Новосибирск, 2000), Международной научно-технической конференции "Актуальные проблемы электронного приборостроения" (Новосибирск, 2000), Ежегодной международной сибирской школе-семинаре по электронным приборам и материалам EDM'2003 (Эрлагол, 2003), Международной научно-практической конференции «Электронные средства и системы управления» (Томск, 2004), IV Сибирском конгрессе по прикладной и индустриальной математике "ИНПРИМ-2000" (Новосибирск, 2000) Материалы диссертации обсуждались в 2003 г в университете г Айхштет (Германия) на «The 4th Advanced Course on Petri Nets», летней школе «IFAC Summer School on Control, Computing and Communication», проходившей в 2005 г в Чешском техническом университете (г Прага), объединенном научном семинаре отдела МОВВС ИВМ и МГ СО РАН, кафедры параллельных вычислительных технологий НГТУ и кафедры параллельных вычислений НГУ, объединенном научном семинаре АВТФ и ФПМИ НГТУ

Публикации. Основные положения и результаты диссертационной работы опубликованы в 29 работах, в том числе 5 - в изданиях, рекомендуемых ВАК РФ, 14 - в сборниках научных трудов, 7 - в материалах международных симпозиумов и конференций, 3 - в материалах российских конференций В конце автореферата приведен список основных публикаций

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

Структура и объем работы Диссертация состоит из введения, пяти разделов, заключения, списка использованной литературы, включающего 117 наименований и приложений Общий объем работы составляет 216 страниц, в том числе основное содержание изложено на 171 странице и включает 75 рисунков, 9 таблиц и приложения размещены на 44 страницах

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

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

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

Определены назначение, структура, состав и задачи разработки данного класса систем Проведен анализ процессов, подходов и моделей разработки систем, методов обеспечения их правильности и возможностей применения сетей Петри на технологическом цикле разработки ПО В разработке исследуемого класса ПО предлагается использовать ООАП с применением языка UML и CASE средства «Rational Rose», а для аттестации наборов UML-диаграмм на фазах анализа и проектирования использовать сети Петри Это необходимо для обеспечения надежности ПО, так как в UML и CASE средствах на его основе, нет собственных средств аттестации наборов диаграмм Актуальность проблемы аттестации UML-диаграмм подтверждается рядом публикаций

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

Определение Сетью Петри называется набор N = {Р, Т, F, W, М„), где (Р, Т, F) — конечная сеть, Р — непустое множество элементов сети, называемых местами, Т — непустое множество элементов сети, называемых переходами, F сРхТ^ТхР —отношение инцидентности, W F -> N \ {0} —функция кратности дуг, Мо Р -» N — функция начальной разметки сети Петри

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

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

Известны два подхода к преобразованию совокупности диаграммы классов, состояний для каждого класса и их взаимодействия в сеть Петри и ее анализу В первом подходе предлагается набор правил преобразования в высокоуровневую сеть Петри без учета событий, указания расширения сетей Петри и практических рекомендаций по преобразованию и анализу, что делает невозможным его применение в индустрии ПО В цикле статей по второму подходу предлагается использовать раскрашенную иерархическую сеть Петри Несмотря на подробное описание, в данном событийном подходе различных аспектов преобразования в сеть Петри диаграмм состояний любой сложности отсутствуют правила использования и преобразования в элементы сети Петри широко применяемых для синхронизации в многопоточном приложении реальных программных элементов, не учитываются параметры событий и другая специфика разработки многопоточного объектно-ориентированного ПО ЦДУК

В указанных подходах можно выделить ряд недостатков, которые затрудняют применение этих подходов в инженерии ПО 1) в них нет описания технологий применения профессиональных, свободно распространяемых пакетов моделирования раскрашенных иерархических сетей Петри, 2) нет рекомендаций по анализу функционирования ПО сетью Петри на основе его связи со свойствами и структурой сети, 3) нет предложений по автоматизации процесса моделирования и анализа, 4) нет практических рекомендаций для преодоления ограничений пакета моделирования на размер пространства состояний модели

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

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

В результате анализа определен набор свойств классических сетей Петри, обязательных для проверки ПО на соответствие требованиям и надежности Очень важным свойством сети Петри является отсутствие тупиковых («мертвых») маркировок Для устранения этого свойства разработчик анализирует проблему возникновения «мертвой» маркировки и изменяет структуру сети Петри и соответствующий ей алгоритм работы моделируемой системы, пред-

ставленный на UML-днаграммах При моделировании многопоточного ПО с ограниченными ресурсами должны быть обязательно проверены границы мест, моделирующих семафоры, критические секции и стеки Свойство живости характеризует достижимость и функциональность всех переходов в сети Если моделирование выявит, что существуют «мертвые» переходы, то необходимо перестроение модели и исключение нефункционирующих переходов, так как их присутствие означает невыполнение какой-то части алгоритма

В результате рассмотрения было выявлено стремительное увеличение сложности классической сети Петри при масштабировании и невозможность моделирования многих аспектов объектно-ориентированных моделей, служащих основой для реализации реальной системы Для решения данных проблем предложено использовать раскрашенные иерархические сети Петри Приведенные ниже утверждения об эквивалентности, а также описанные в работе Йен-сена правила эквивалентности и преобразования позволяют взаимно переносить на раскрашенные иерархические сети Петри все свойства, основные концепции и методы анализа классических сетей Петри

Утверждение 1 Пусть имеется неиерархическая раскрашенная сеть Петри CPN = (Е, Р, Т, A, N, С, G, Е, /) Определим эквивалентную простую сеть Петри N=<P',T',F',M'0> по следующим правилам 1 )Р' = ТЕ, 2) Т'=ВЕ, 3) F' Т' ххТ' -> Л'0+,где n; - множество неотрицательных целых чисел, F'((p,c),(C,b)) = (E(p,t)<b>)(c) и F\(t,b),(p,c)) = (E(t,p)<b>)(c), 4) Щр,с)еР' М'0(р,с) = (1(р))(с) Здесь Z,P,Т,А - конечные множества непустых типов (цветов), мест, переходов, дуг, a N, С, G, Е, I - функции вершин, цвета, охраны переходов, выражения дуг и начальной разметки

Утверждение 2 Пусть имеется иерархическая раскрашенная сеть Петри HCPN = (S, SH, SA, PN, РТ, PA, FS, FT, РР) Определим эквивалентную неиерархическую раскрашенную сеть Петри как набор CPN'=(Z',P',T',A\N',C',G',E',l'), который удовлетворяет следующим условиям 1) = 2, 2) Р' = PIG ,3) Т' = Т1, 4) А' = AI, 5) Vo' = (a, id) е A' V(p, <) б Р х Т [N(a) = (р, t)=>N'(a') = ([(р, id)}, (t, id)) л N(a) = (t,p)=>N\a ) = ((!,id),[(p,id)])], 6) Vp' = [(p, id)]z P' C\p') = C(p), 7) Vf' = (t,id) 6 T' G\t') = G(t), 8) Va' = [(a,id)]e A' E'(a') = E(a), 9) Vp' = [(r,jrf)] e P' I'(p') = I{p) Здесь S, SN - множества страниц и подстановочных вершин (составных переходов), SA, РТ, PA, FT функции связывания страниц, типов портов, связывания портов и типа слияния, PN - множество портов, FS - конечное множество множеств мест слияния, РР - мультимножество первичных страниц Рекомендуется при проверке свойства ограниченности раскрашенной сети Петри кроме целых границ определять верхние и нижние границы мультимножеств Это позволяет разработчику контролировать не только максимальное и минимальное количество меток в местах, но и значение меток

Анализ пространства состояний модели, отражающего все возможные маркировки, позволяет получить все указанные свойства сети Петри Его построение и анализ для реальных систем выполняется с помощью компьютерного инструмента Набор инструментов «CPN Tools» позволяет быстро и легко

создавать и редактировать сети Петри, проводить их моделирование и анализ В данном разделе работы приведен полный стандартный отчет для модели взаимодействия таксофона и ЦДУКТ и описаны его составляющие Фрагмент отчета с выводами о правильности модели и соответствии требованиям приведен в таблице 1 Отчет содержит разделы статистика пространства состояний - число узлов, дуг и статус (полное), свойства обратимости - список возвратных маркировок (Ноше Markings) и «мертвых» маркировок (Dead Markings), свойства ограниченности - верхние и нижние числовые границы (Integer Bounds) и мультимножеств (Multi-set Bounds), свойства живучести - список «живых» переходов (Live Transition Instances) и «мертвых» переходов (Dead Transition Instances), свойства справедливости срабатывания переходов - Just - обосновано, Fair - доказано, Impartial - объективно и No Fairness - не определено

Таблица 1 Анализ отчета о пространстве состояний сети Петри

Результаты отчета Выводы

State Space (Статистика) Status Full Nodes 33093 Arcs 149580 Пространство состояний модели вычислено полностью и содержит 33093 узла и 149580 дуг

Свойства обратимости Home Markings All Dead Markings None Все маркировки являются «домашними» - модель обратима «Мертвые» маркировки отсутствуют - в модели нет тупиков

Свойства живучести Dead Transition Instances None Live Transition Instances All «Мертвых» переходов нет Все переходы «живые» Во время сеанса связи возникают все события

Свойства ограниченности - верхние и нижние границы чисювые и мупьтштожеств Best Integer Bounds (Upper,Lower), Best (Upper,Lower) Multiset Bounds

IDackRec 1 0 End 3 0 Ringing 2 0 IDackRec 1 (1, (1,1))++1 (2, (1,1)) LineBusy 1 1++1 2 Сеть ограниченная, с границами равными 3 -для места End, 1 — для места Ringing, 1 - для места IDackRec и т д, что соответствует исходным данным На основании данных верхних границ мультимножеств мест делаем вывод о наличии в местах меток в соответствии с правилами функционирования модели

Fairness Properties (справедливость срабатывания переходов)

Busy Just DialN Impartial MeetMeTone Fair End No Fairness Справедливость срабатываемости перехода Busy обоснована, перехода Impartial - объективна, MeetMeTone - доказана, а перехода End - и остальных переходов не доказана

Несмотря на широкие возможности пакета «CPN Tools», ввод исходных данных и вывод результатов значительно замедляет процесс Кроме того, пакет имеет ограничение на размер пространства состояний Для преодоления этого ограничения, повышения эффективности моделирования и, как следствие, анализа, предлагается набор программных решений Он позволяет легко манипулировать исходными данными для создания их различных комбинаций при помощи таблицы Microsoft Excel и получать автоматически набор текстовых файлов, которые загружаются в модель при помощи кодовых сегментов (рис 1) Помимо автоматизации это позволяет решить проблему «взрыва» пространства состояний, легко управляя его сложностью при масштабировании модели

Исходные данные для моделирования

Серийный номер БРЗ Системный номер БРЗ Число сообщений Число команд Новый Удаляемый Запрос системног о номера

1 11 3 1

г 12 2 0 +

3 О 3 +

4 14 1 4

5 15 0 0 + +

Подготовить данные для CPN Tools

Получить данные моделирования mi CPN Tools

rrue

(ReadyForStart)

и——Bool

true

îT

BOOL

Input ();

action

let

vai infile=TextIO openIn("InitBRZIIst txt"), val ser_s=SNum input_ms(infile) In

serialNums = ser_s, AIIBRZ = size ser_s, IBL =getiBL(), TextIO closeln(lnfile), () end handle _ => (),

"ImtBrzList txt"

1 (1,11)++ 1 (2,12)++ 1 (3,0)++ 1 (4,14)++ 1 (5,15)++ 1 (6,16)++ 1 (7,0)++ 1 (8,18)++ 1 (9,19)++ 1 (0,20)

Рис 1 Компоненты технологии инициализации модели

Результаты представленного во втором разделе исследования и предложенные технологические и программные решения обеспечивают разработчика эффективным автоматизированным инструментом создания надежного ПО

В третьем разделе предлагается итерационная методика для этапа анализа многопоточного ПО с ограниченными разделяемыми ресурсами, основанная на создании и аттестации (validation) набора UML-диаграмм данного этапа с помощью раскрашенных иерархических сетей Петри

Шаг 1. На диаграмме вариантов использования отразить функциональное назначение системы (в процессе сбора требований)

Шаг 2. На диаграммах последовательности детализировать критичные варианты использования

Шаг 3. На диаграмме процессов отразить процесс и все необходимые потоки для проектируемого многопоточного программного модуля

Шаг 4. На диаграммах деятельности отразить последовательность выполнения действий процессом и потоками, а также их взаимодействие при использовании критических ресурсов с учетом элементов синхронизации

Шаг 5. Диаграммы деятельности преобразовать в раскрашенную иерархическую сеть Петри с помощью определенного набора правил

Шаг 6. Исследовать правильность функционирования модели путем выполнения прогона (simulation) с использованием различных комбинаций исходных данных по различным последовательностям выполнения При обнаружении ошибки выполнить переход на шаг 4,3,2,1 в зависимости от типа ошибки

Шаг 7. Анализ корректности набора отчетов о полном пространстве состояний с различными комбинациями исходных данных При обнаружении ошибки выполнить переход на шаг 4,3,2,1 в зависимости от типа ошибки

Шаг 8. Выполнить этап проектирования с помощью полученного набора UML-диаграмм

Шаги 1 и 2 широко используются в разработке ПО, и их применение в работе не рассматривается На третьем шаге методики предлагается шаблон диаграммы процессов (рис 2) Как и все последующие диаграммы, она ориентирована на ЦДУК Количество потоков ожидания зависит от количества каналов (устройств) связи Количество потоков опроса зависит от количества управляемых устройств, но при большом интервале между сеансами связи (опросами), достаточном для опроса всех устройств, может использоваться один поток

Этот процесс - стандартная системная служба Windows Создается на основе шаблона кода системной службы из MSDN

Выполняет опрос устройств управления и Ь передачу командуправления через заданный в настройках интервал времени

Выполняет передачуданных в Ц устройство управления Создаетсч и уничтожается потоком опроса

Рис 2 Шаблон диаграммы процессов службы управления и контроля

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

с БД и флага работы службы (рис 3) Ресурс с множеством экземпляров помечается как Multiple instances для отличия объектов с единичными и множественными экземплярами, учета этой особенности при преобразовании в сеть Петри и выборе элемента синхронизации доступа к ресурсу

Предложенные шаблоны UML-диаграмм для ЦДУК и правила их построения являются новым результатом, готовым к практическому применению

На пятом шаге диаграммы деятельности преобразуются в раскрашенную иерархическую сеть Петри, реализуемую в пакете CPN Tools Элементы диаграмм деятельности преобразуются в соответствующие эквиваленты сети Петри Известные правила преобразования диаграмм деятельности в ординарную сеть Петри были систематизированы, и на их основе предложены четыре правила преобразования основных элементов диаграммы деятельности и созданы еще три правила для преобразования элементов синхронизации многопоточного приложения и выделения процессов и потоков в страницы сети Петри

_t[ue

[IrutService

CSe™ce_IslnitializeJ) З^ГВбб!.

I Start_threadl |-rue

Threadl_started

true

-♦<[Threadl_initialized5 —---BÖOL

Cfhri

(true

ted} -BDOL

Start_thread2

true

it rue

Cjiiread2_started> — -______

true

initialized"?

■OOL

Iwork 1

false

Thread2

lThread2 i

true

Thread 1

true

(ThieaJl I

true

SetStop

C?emceIsStopping>^

^^ZElZ: L

OOL 'w V

true —'1

true

(Thread2_stoppei) ([Thread l_stoppej£5

"I-BOOL----SOOL

true true

(Sto^ornmancO

rstopCoT^incrr°OOL

.-ll - StooService

¡StopSemce , . l

C^5eviceStopped^>

true Restart true у

?OL

Рис 4 Страница службы управления и контроля Пример применения предложенных правил проиллюстрирован на рис 4 для главной страницы модели службы контроля и управления Флаг работы службы 1^огкт§ реализован как место слияния, так как он используется для синхронизации потоков Такое решение предлагается применять для всех элементов синхронизации и ссылок на общие данные объекта класса «родителя» и классов «потомков» Работа потоков, инициализации и останова отражена в виде составных переходов с соответствующими полстраницами

На шестом и седьмом шаге работа с сетью Петри выполняется с различными комбинациями исходных данных «Прогон» модели позволяет разработ-

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

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

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

Шаг 1. Создать диаграмму классов с учетом процессов и потоков, отображенных на диаграмме процессов, реализуемых как активные классы Задача запуска потока работы с управляемыми объектами при создании экземпляра класса и его останова при завершении работы программного модуля (удалении экземпляра класса) возлагается на активный класс

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

Шаг 3. Отобразить на диаграмме последовательности взаимодействие классов с указанием вызовов конструкторов, деструкторов, методов классов

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

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

Шаг 6 Исследовать правильность функционирования модели в процессе выполнения прогона (БшЫайоп) модели по различным последовательностям выполнения При обнаружении ошибки выполнить переход на шаг 4,3,2,1 в зависимости от типа ошибки

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

Шаг 8. Выполнить автоматическую генерацию проекта и реализацию кода на основании созданного и аттестованного набора ЦМЬ-диаграмм проекта Применение методики проиллюстрировано на примере разработки ПО ЦДУК На первом шаге в качестве шаблона диаграммы классов службы управления и контроля предлагается диаграмма, представленная на рис 5 Класс ССоп1го1Бепасе создает и удаляет набор экземпляров класса СОеУ1се, предоставляющего интерфейс доступа к управлению устройством связи, приемом и передачей данных в виде функций 8епсГОа1а( ) - отправить данные, Се1Ба1а( ) - получить данные и тд На класс СОеУюе ложится задача син-

хронизации доступа к разделяемым ресурсам каналам приема/передачи устройства связи и соединению с базой данных для чтения и записи данных Класс СБеуюе является контейнером для активных классов СТЬгеасИ и СТЬгеас12, реализующих логику работы с объектами управления Применение данной архитектуры предоставляет разработчику системы удобный механизм синхронизации и управления процессом создания и уничтожения объектов

Рис 5 Диаграмма классов службы управления и контроля ЦДУК

На втором шаге каждая функция класса создается как составное состояние с детализацией ключевых моментов в выполнении функций, связанных с синхронизацией потоков, созданием и удалением объектов классов Предлагаемая диаграмма состояний класса ССопЛЯБетсе (рис 6) построена с учетом максимальной приближенности к исходному коду функций класса

О

Рис 6 Исходная диаграмма состояний класса ССоп1го18еплсе

CControlServiceO

entiyf Working = TRUE Sevricels Started

-o

/ Device =

пеуу СОетее(ШЛогктд),

V

Device object has been created

Working

SetStopi Working = ,

false, ''

~CGontrolSeivice(

ServiselsStopping

/delete Device,

\!

Device has been deleted

Разработанный набор UML-диаграмм является новым результатом, готовым к практическому применению, и может быть использован в качестве шаблона при разработке ПО ЦДУК Его состав является базовым и достаточным для автоматической генерации проекта и реализации кода функций, выполняющего синхронизацию потоков, создание и удаление классов

Четвертый шаг методики выполняется в два этапа с помощью предлагаемого в работе набора правил, которые, в отличие от метода формализации UML-диаграмм сетью Петри, предложенного в работах S М Shatz и Z Ни (2003-2006), учитывают особенности проектирования и реализации многопоточных приложений, особенности пакета CPN Tools Дополнительно предлагается выполнять следующие действия 1) список событий для классов представить в виде таблицы (событие, связанные с событием классы и описание события), 2) для уменьшения пространства состояний модели исключить состояния, не участвующие в синхронизации потоков, передаче управления, создании и удалении классов, разделении критических ресурсов, 3) при создании двух (и более) экземпляров класса показывать создание одного экземпляра, а наличие других при необходимости моделировать в сети Петри с помощью дополнительных цветов меток, 4) каждый переход ассоциировать с событием, при этом вызовы методов классов, представленные в виде вызова функций, заменить генерируемыми для соответствующих классов событиями, а если метод класса используется несколькими функциями, то в событие добавляется параметр, который указывает на вызвавшую данное событие функцию

(DeviceDeleted,n,E)

<f2rjtern a ILlnkinJ)

iv Е\.

—i a\i

| inside I-

[(#l(ev)=Start andalso #2(ev)=n) orelse #i(ev)=DaviceCreated

fS^eeDMsn'ttSSfc or?]ser1jev'=SetStop orelse ------—-—-ST #l(ev)=DeviceDeleted]

#l(ev)=DevlceDeleted] Рис 7 СРЫ страница класса ССогиго^стсе Представленные технологии описания событий, их параметров и построения промежуточных диаграмм состояний позволяют значительно упростить и ускорить моделирование

Созданные правила для преобразования элементов синхронизации многопоточного приложения и организации структуры сети Петри позволяют, в отличие от упомянутого в шаге 4 подхода, отразить особенности функционирования многопоточного объектно-ориентированного ПО, работающего с ограниченными разделяемыми ресурсами Полученная путем их применения CPN страница класса CControlService приведена на рис 7 Место bWorking является местом слияния страницы класса CControlService и активных классов

Указанный вариант реализации (на пятом шаге) места-накопителя InternalLinking как места слияния и использование условий ограничений на переходах inside позволяет значительно упростить страницу связки или вовсе отказаться от ее использования в отличие от упомянутого подхода

На шестом и седьмом шаге выполняется работа с сетью Петри Производится «прогон» модели и генерация отчета по пространству состояний В случае отсутствия расхождений свойств модели с требованиями к ПО выполняется автоматическая генерация проекта и реализация кода на основе созданного и проверенного набора UML-диаграмм проекта

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

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

В пятом разделе продемонстрировано применение результатов, полученных в разделах 2,3, 4 при разработке ПО ЦДУКТ и ДЦ БРЗ

Применение в процессе разработки ПО предложенной в разделе 3 методики позволило представить алгоритмы управления и контроля в виде набора UML-диаграмм, провести их исследование и анализ различных аспектов На основании предоставленных разработчиками управляемого оборудования требований, в виде словесного описания и блок-схем алгоритмов обмена данными, были сформулированы требования к ПО и проверены с помощью сетей Петри Предложен и проверен набор UML-диаграмм этапа анализа Приведена полная модель от диаграммы вариантов использования и диаграмм последовательности важных прецедентов до реализованных в CPN Tools страниц сети Петри модели службы управления и контроля На основании ее анализа сделано заключение об отсутствии проблем в функционировании алгоритмов работы, построенных в соответствии с требованиями к ПО и согласованных с заказчиком, позволяющее использовать эти алгоритмы для проектирования и реализации ПО В частности, в основу ПО ЦДУКТ была заложена многоуровневая архитектура «клиент-сервер», позволяющая быстро и легко реализовывать любую конфигурацию - от локального варианта для небольшой таксофонной сети до корпоративной информационной системы Непосредственное моделирование и анализ протокола связи и логики функционирования с помощью сети Петри по-

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

Модели, полученные на этапе сбора требования и анализа, послужили основой для фазы проектирования В данном разделе представлены и описаны UML-диаграммы проекта службы управления и контроля и модель сети Петри, разработанные автором в соответствии с методикой раздела 4 Описан процесс разработки ПО на этапе проектирования Приведена диаграмма классов, список событий классов службы управления и контроля, диаграммы состояний классов и страницы реализованной в CPN Tools модели сети Петри с описанием особенностей реализации диаграмм и модели, и результаты анализа сети Петри Применение предложенной в разделе 4 методики позволило проверить важные для безотказной работы службы управления и контроля свойства модели, отражающей функционирование многопоточного программного модуля, представленного в виде набора UML-диаграмм проекта, и обеспечить правильность и стабильность его функционирования

На основе диаграмм проекта с помощью CASE средства «Rational Rose 2003» была выполнена генерация каркаса кода проекта службы управления и контроля для инструментальной среды Visual С++ 6 0 и реализация кода

В Приложениях даны основные определения и свойства раскрашенных сетей Петри, приведены рекомендации по повышению эффективности моделирования и анализа в пакете CPN Tools и модели ПО ДЦ БРЗ, представлены акты о внедрении результатов диссертационной работы

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ

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

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

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

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

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

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

- разработано ПО ЦЦУКТ и ПО ДЦ БРЗ с применением предложенных методик, шаблонов и программных решений

Полученные результаты апробированы в условиях разработки ПО ЦДУК Правильность предложенных методик, шаблонов и программных решений подтверждается результатами успешной эксплуатации разработанного автором ПО, а также актами внедрения, приведенными в приложении Сертифицированное на соответствие концепции «Единая Таксофонная Карта России» ПО ЦЦУКТ успешно эксплуатируется в ОАО «Сибирьтелеком» (г Новосибирск) ПО ДЦ БРЗ поставляется в комплекте с БРЗ клиентам ФГУП ПО «Север» (г Новосибирск) Результаты, полученные в диссертационной работе, используются в учебном процессе факультета АВТ НГТУ

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ:

1 Коротиков С В Применение сетей Петри в разработке программного обеспечения центров дистанционного управления и контроля / С В Коротиков, А А Воевода // Науч вестн НГТУ - Новосибирск Изд-во НГТУ, 2007 - № 4 (29) - С 15-30

2 Коротиков С В Применение цветной иерархической сети Петри для проверки согласованности UML-диаграмм на фазе проектирования ПО ЦДУК / С В Коротиков // Науч вестн НГТУ - Новосибирск Изд-во НГТУ, 2007 - № 2 (27) -С 203-206

3 Воевода А А Применение сетей Петри при разработке протоколов / А А Воевода, С В Коротиков, Д О Саркенов // Науч вестн НГТУ - Новосибирск Изд-во НГТУ, 2004 -№2(17) -С 183-188

4 Воевода А А О моделировании системы дистанционного контроля и управления цветной временной сетью Петри в пакете CPN Tools инициализация модели / А А Воевода, С В Коротиков, В Хассоунех II Науч вестн НГТУ.-Новосибирск Изд-во НГТУ, 2004 -№3 (18) -С 185-188

5 Астапчук BAO проблемах оптимального построения распределенных информационных систем / В А Астапчук, А А Воевода, С В Коротиков // Науч вестн НГТУ -Новосибирск Изд-во НГТУ, 1999 -№2(7) -С 177-178

6 Воевода А А О модификации полного покрывающего дерева и графа разметок сети Петри / А А Воевода, С В Коротиков // Науч вестн НГТУ -Новосибирск Изд-во НГТУ, 2005 -№ 1 (19) -С 171-172

7 Korotikov S V Automation works flow of payphones communication operator's / S V Korotikov // Proceedings of the 5 Korea-Russia international symposium on science and technology, KORUS 2001, Tomsk, Russia, 26 June -3 July 2001 -Tomsk, 2001 - Vol 1 - P 131-134 [Автоматизация потока работ оператора таксофонной связи]

8 Korotikov S V Modeling of payphones management and control system using the unified modeling language / S V Korotikov // Materials of the 6 Korea-Russia international symposium on science and technology, KORUS 2002, Novosibirsk, Russia, 24-30 June 2002 - Novosibirsk, 2002 - Vol 3 - P 85 [Моделирование системы контроля и управления таксофонов с помощью унифицированного языка моделирования]

9 Korotikov S V Optimal building of distributed information system for pay-phones control / S V Korotikov // Proceedings of the 4 Korea-Russia international symposium on science and technology, KORUS 2000, Ulsan, Rep of Korea 2000 -Ulsan, 2000 - Pt 2 - P 150-155 [Оптимальное построение распределенной информационной системы управления таксофонами]

10 Korotikov S V Using of Petri nets techniques in information systems design / S V Korotikov // International Siberian workshop and tutorials on electron devices and materials EDM 2003 proc , 4 annu, Erlagol, Altai, 1-4 july 2003 - Novosibirsk,

2003 - P 171-175 [Применение технологий сетей Петри в проектировании информационных систем]

11 Коротиков С В Моделирование сеанса связи таксофона и ЦЦУКТ с использованием сетей Петри / С В Коротиков, А А Воевода // Электронные средства и системы управления материалы межд науч -практ конф , Томск, 6-8 окт 2004 г в 3 ч - Томск Изд-во Ин-та оптики атмосферы СО РАН,

2004 -Ч 2 - С 135-139

12 Коротиков С В Применение спецификации эквивалентности в моделировании сеанса связи таксофона и центра дистанционного контроля и управления таксофонами раскрашенной сетью Петри / С В Коротиков, Д О Саркенов // Сб науч тр НГТУ - Новосибирск Изд-воНГТУ,2007 -№3(49) -С 97-104

13 Коротиков С В Представление логики взаимодействия таксофона и СКУТ в виде цветной иерархической сети Петри / С В Коротиков, А А Воевода // Сб науч тр НГТУ -Новосибирск Изд-во НГТУ, 2004 -№2(36) -С 147-148

14 Воевода А А О компактном представлении языков сетей Петри / А А Воевода, С В Коротиков // Сб науч тр НГТУ - Новосибирск Изд-во НГТУ,

2005 -№ 1 (39) - С 141-144

15 Коротиков С В Современные подходы к созданию и поддержке программного обеспечения информационных систем / С В Коротиков, А В Желтов // Сб науч тр НГТУ - Новосибирск Изд-во НГТУ, 2001 -№ 1 (23) - С 64-69

16 Коротиков С В Применение цветных иерархических сетей Петри для верификации UML-диаграмм на этапе анализа требований к системе дистанционного контроля и управления / С В Коротиков // Сб науч тр НГТУ - Новосибирск Изд-во НГТУ, 2007 -№ 1 (47) - С 81-92

17 Коротиков С В Применение шаблонов UML и сетей Петри при разработке системной службы центра дистанционного управления и контроля / С В Коротиков//Сб науч тр НГТУ - Новосибирск Изд-во НГТУ, 2007 -№2(48) - С 135-144

18 Коротиков С В Проверка согласованности UML-диаграмм проекта службы контроля и управления ДЦ БРЗ с помощью сетей Петри / С В Коротиков // Сб науч тр НГТУ -Новосибирск Изд-во НГТУ, 2007 -№2(48) -С 51-62

Отпечатано в типографии Новосибирского государственного технического университета 630092, г Новосибирск, пр К Маркса, 20, тел/факс (383)346-08-57 формат 60 X 84/16, объем 1 25 п л , тираж 110 экз заказ №723 подписано в печать 13 05 08г

Оглавление автор диссертации — кандидата технических наук Коротиков, Сергей Викторович

ВВЕДЕНИЕ

1. МЕТОДОЛОГИЧЕСКИЕ И ТЕХНОЛОГИЧЕСКИЕ ОСОБЕННОСТИ РАЗРАБОТКИ МНОГОПОТОЧНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ: ЦЕНТРЫ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ И КОНТРОЛЯ.

1.1 Архитектура и особенности функционирования многопоточного программного обеспечения: центры дистанционного управления и контроля. 1В

1.2. Анализ подходов к разработке программного обеспечения

1.3. Методы обеспечения правильности моделей

1.4. Анализ возможностей применения сетей Петри на технологическом цикле разработки программного обеспечения

1.5. Постановка задачи диссертационного исследования

2. ПРИМЕНЕНИЕ КЛАССИЧЕСКИХ И РАСКРАШЕННЫХ СЕТЕЙ ПЕТРИ В МОДЕЛИРОВАНИИ И АНАЛИЗЕ МНОГОПОТОЧНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ПРИМЕРЕ ЦЕНТРОВ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ И КОНТРОЛЯ

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

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

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

2.4. Применение компьютерных инструментов для моделирования и анализа раскрашенных иерархических сетей Петри

2.5. Выводы

3. ПРИМЕНЕНИЕ РАСКРАШЕННЫХ ИЕРАРХИЧЕСКИХ СЕТЕЙ ПЕТРИ НА ЭТАПЕ АНАЛИЗА.

3.1. Методика создания и аттестации UML-диафамм этапа анализа .:.

3.2. Шаблон UML-диаграмм на этапе анализа

3.3. Преобразование набора UML-диаграмм этапа анализа в раскрашенную иерархическую сеть Петри

3.4. Исследование модели и анализ результатов.

3.5. Выводы

4. ПРИМЕНЕНИЕ РАСКРАШЕННЫХ ИЕРАРХИЧЕСКИХ СЕТЕЙ ПЕТРИ НА ЭТАПЕ ПРОЕКТИРОВАНИЯ.

4.1. Методика разработки и проверки моделей.

4.2. Шаблон UML-диаграмм проекта службы управления и контроля.

4.3. Преобразование набора UML-диаграмм проекта в раскрашенную иерархическую сеть Петри

4.4. Моделирование и анализ

4.5. Выводы

5. ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ СЕТЕЙ ПЕТРИ В РАЗРАБОТКЕ ЦЕНТРОВ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ И КОНТРОЛЯ.

5.1. Центр дистанционного управления и контроля таксофонов . 123 5.2. Диспетчерский центр блоков релейной защиты.

5.2.1. Применение методики создания и аттестации модели центра дистанционного управления и контроля на этапе анализа.

5.2.2. Применение методики создания и аттестации модели проекта центра дистанционного управления и контроля

5.3. Выводы.

Введение 2008 год, диссертация по информатике, вычислительной технике и управлению, Коротиков, Сергей Викторович

Актуальность темы. Основная задача разработчика многопоточного (mul-tithread) программного обеспечения (ПО) с ограниченными разделяемыми ресурсами — обеспечить надежность (стабильность, устойчивость к ошибке и восстанавливаемость) функционирования ПО. Примером данного класса ПО является центр дистанционного управления и контроля (ЦДУК), предназначенный для непрерывного дистанционного контроля и управления интеллектуальным оборудованием. Процесс разработки многопоточного ПО с разделяемыми ресурсами, такого как ПО ЦДУК - нетривиальная задача. Надежность его функционирования должна быть обеспечена еще до реализации кода, в процессе создания и проверки правильности моделей — важных артефактов разработки ПО [18], от сбора требований до реализации кода. В современной индустрии ПО, при разработке ПО ЦДУК, используется объектно-ориентированный подход к анализу и проектированию (ООАП) [59] с применением языка UML (Unified Modeling Language) [60]. Некорректное представление сложных алгоритмов и механизмов синхронизации на UML-диаграммах приводит к взаимным блокировкам потоков и другим проблемам при функционировании ПО. Подобные ошибки могут обнаруживаться только при очень специфичных условиях эксплуатации ЦДУК, например центра дистанционного управления и контроля таксофонов (ЦЦУКТ) и диспетчерского центра блоков релейной защиты (ДЦ БРЗ). Их трудно, а иногда невозможно воспроизвести в условиях тестовой среды.

В языке UML и CASE (Computer Aided Software Engineering) средствах на его основе, например Rational Rose [78], нет собственных средств обоснования правильности и согласованности наборов диаграмм, поэтому наибольшее внимание уделяется методам и инструментам для преобразования UML-диаграмм в сети Петри и их анализа [1, 10, 14, 20-23, 26, 28, 33-35, 52, 67]. При этом предлагаются различные расширения сетей Петри для проверки отдельных видов диаграмм [14, 23, 26, 28, 52, 67]. В решениях для совокупности диаграмм проекта [10, 33, 34] не учитываются применение программных элементов синхронизации и другая специфика разработки объектно-ориентированного многопоточного приложения (в частности ЦЦУК). Отсутствует описание технологий применения профессиональных, свободно распространяемых пакетов моделирования раскрашенных иерархических сетей Петри [24, 39], например CPN Tools (Coloured Petri Net), предложений по автоматизации процесса и преодоления ограничений пространства состояний модели. Всё это делает весьма затруднительным применение указанных подходов в инженерии ПО. В известных автору работах не предлагаются шаблоны (типичные образцы проектирования) моделей и кода для проектирования многопоточных системных служб управления и контроля. Отсутствуют предложения по анализу требований к многопоточному ПО с помощью совокупности диаграммы процессов и диаграмм деятельности, детализирующих алгоритмы потоков с учётом используемых при реализации кода элементов синхронизации и аттестации (validation) данного набора диаграмм с использованием раскрашенных иерархических сетей Петри.

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

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

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

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

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

- разработать набор шаблонов моделей и программных решений для повышения производительности моделирования и анализа при создании программ и преодоления ограничений компьютерного пакета моделирования;

- разработать ПО ЦДУКТ и ДЦ БРЗ с применением предложенных методик, шаблонов и программных решений.

Методы исследования. Результаты исследования получены на базе аппарата сетей Петри и ООАП. При разработке ПО ЦДУКТ применялись отраслевые и международные стандарты, «Концепция Единой Таксофонной Карты России». При проектировании и реализации ПО ЦДУКТ и ДЦ БРЗ использовались CASE-технологии, инструментальные среды и пакеты моделирования.

Достоверность теоретических положений, лежащих в основе предложенных в диссертации методик, шаблонов (типичных образцов проектирования) и программных решений подтверждена сертификатами соответствия и результатами успешной эксплуатацией разработанных на их основе ПО ЦДУКТ и ДЦ БРЗ.

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

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

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

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

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

- разработано и успешно внедрено в эксплуатацию ПО ЦДУКТ и ДЦ БРЗ, отличающееся высокой эксплуатационной надежностью.

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

Результаты диссертационной работы были использованы:

- при проектировании и реализации ПО ЦЦУКТ, прошедшего успешную сертификацию на соответствие концепции «Единая Таксофонная Карта России» и эксплуатационные испытания в ЗАО «Санкт-Петербургские Таксофоны», и принятого в эксплуатацию СП «Сибирьтелеком» - НГТС в 2003 г.;

- при проектировании и реализации ПО ДЦ БРЗ, которое поставляется с 2007 г. в комплекте с БРЗ, выпускаемыми ФГУП ПО «Север»;

- в процессе обучения студентов АВТФ НГТУ.

На защиту выносятся следующие положения:

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

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

- набор шаблонов моделей и программных решений для повышения производительности моделирования и анализа при создании программ и преодоления ограничений компьютерного пакета моделирования;

- ПО Центра Дистанционного Управления и Контроля Таксофонов;

- ПО Диспетчерского Центра Блоков Релейной Защиты.

Апробация работы. Основные результаты работы были представлены на Международном научно-техническом симпозиуме KORUS (Ульсан, 2000; Томск, 2001; Новосибирск, 2002), Международной научно-технической конференции "Информационные системы и технологии" (Новосибирск, 2000), Международной научно-технической конференции "Актуальные проблемы электронного приборостроения" (Новосибирск, 2000), Ежегодной международной сибирской школе-семинаре по электронным приборам и материалам EDM'2003 (Эрлагол, 2003), Международной научно-практической конференции «Электронные средства и системы управления» (Томск, 2004), IV Сибирском конгрессе по прикладной и индустриальной математике "ИНПРИМ-2000" (Новосибирск, 2000). Материалы диссертации обсуждались в 2003 г. в университете г. Айхштет (Германия) на «The 4th Advanced Course on Petri Nets», летней школе «IFAC Summer School on Control, Computing and Communication», проходившей в 2005 г. в Чешском техническом университете (г. Прага), объединенном научном семинаре отдела МОВВС ИВМ и МГ СО РАН, кафедры параллельных вычислительных технологий НГТУ и кафедры параллельных вычислений НГУ, объединенном научном семинаре АВТФ и ФПМИ НГТУ.

Публикации. Основные положения и результаты диссертационной работы опубликованы в 29 работах [44-48, 55, 56, 63-66, 81-98], в том числе: 5 - в изданиях, рекомендуемых ВАК РФ; 14 — в сборниках научных трудов; 7 — в материалах международных симпозиумов и конференций; 3 — в материалах российских конференций.

Структура и объём диссертации. Диссертация состоит из введения, пяти разделов, заключения, списка использованной литературы, включающего 117 наименований и приложений. Общий объем работы составляет 216 страниц, в том числе основное содержание изложено на 171 странице и включает 75 рисунков, 9 таблиц и приложения размещены на 44 страницах.

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

5.3. Выводы

Успешное применение предложенных в данной работе методик, технологических и программных решений продемонстрировано на примерах разработки ПО ЦДУКТ и ДЦ БРЗ. Применение методики создания и аттестации моделей на этапе анализа ЦДУКТ и ДЦ БРЗ позволило в процессе разработки провести исследование и анализ различных аспектов алгоритмов работы процессов и потоков сервера сбора данных. Анализ требований к системе с помощью UML-диаграмм и раскрашенных иерархических сетей Петри позволяет выявить ошибки в требованиях к системе и получить готовые к реализации в функциях классов алгоритмы работы, правильность функционирования которых формально доказана.

Применение методики создания и аттестации модели проекта службы управления и контроля ДЦ БРЗ позволило проверить важные для безотказной работы системы свойства модели, отражающей функционирование программного модуля, представленные в виде набора UML-диаграмм проекта, и доказать правильность их функционирования. На основе диаграмм проекта с помощью саэе-средства «Rational Rose 2003» автором была выполнена генерация проекта службы управления и контроля в Visual С++ 6.0 и реализация кода. Раскрашенные иерархические сети Петри позволяют проверить различные свойства модели, отражающей функционирование представленных в виде UML-диаграмм спроектированных классов и доказать правильность их функционирования. Правильность предложенных в данной работе методологических и технологических решений подтверждается результатами успешной эксплуатации разработанных автором систем и актами внедрения, приведенными в приложении 4.

ЦДУКТ после проведения сертификации и тестирования на соответствие концепции «Единая Таксофонная Карта России» в ОАО «Национальная Таксофонная Сеть» (г. Санкт-Петербург) успешно эксплуатируется в ОАО «Сибирь-телеком» (г. Новосибирск) с февраля 2003 года. ДЦ БРЗ прошел успешную тестовую эксплуатацию и поставляется с ноября 2007 года в комплекте с блоками релейной защиты клиентам ФГУП ПО «Север» (г. Новосибирск).

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

-разработано программное обеспечение Центра Дистанционного Управления и Контроля Таксофонов и Диспетчерского Центра Блоков Релейной Защиты с применением предложенных методик, шаблонов и программных решений.

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

- ЦДУКТ после проведения сертификации и тестирования на соответствие концепции «Единая Таксофонная Карта России» в ОАО «Национальная Таксофонная Сеть» (г. Санкт-Петербург) успешно эксплуатируется в ОАО «Сибирь-телеком» (г. Новосибирск) с февраля 2003 года;

- ДЦ БРЗ прошел успешную тестовую эксплуатацию и поставляется с ноября 2007 года в виде коробочного программного продукта в комплекте с блоками релейной защиты клиентам ФГУП ПО «Север» (г. Новосибирск).

Библиография Коротиков, Сергей Викторович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Agha G. A. Concurrent object-oriented programming and Petri nets : advances in Petri nets / G. A. Agha, F. De Cindio, G. Rozenberg (Eds.). Berlin ; Heidelberg : Springer, 2003. - 556 p. - (LNCS, Vol. 2001).

2. Allen R. J. A formal basis for architectural connection / R. J. Allen, D. A. Garlan // ACM Transactions on Software Engineering and Methodology. 1997. -Vol. 6, №3.-P. 213-249.

3. Ambler S. W. Agile modeling: effective practices for eXtreme programming and the unified process (paperback) / S. W. Ambler, R. Jeffries. N. Y. : Wiley & Sons, 2002.-384 p.

4. Aura Т. Time processes for time Petri nets / T. Aura, J. Lilius // Proceeding international conference on applications and theory of Petri nets, Toulouse, France, June 1997. Springer Verlag, 1997. - P. 136-155. - (LNCS, № 1248).

5. Baresi L. Introducing formal methods in industrial practice / L. Baresi, A. Orso, M. Pezze // Proceeding of the 20 international conference on software engineering, Boston MA, USA, 1997. ACM Press, 1997. - P. 55-66.

6. Barjis J. A language based combined requirements engineering approach / J. Barjis // Information systems: the E-business challenge : IFIP 17 World computer congress, Montreal, Quebec, Canada, 25-30 Aug. 2002. Kluwer Academic Pub., 2002.-P. 1-16.

7. Battiston E. OBJSA nets: a class of high level nets having objects as domains / E. Battiston, F. De Cindio, G. Mauri // Advances in Petri Nets 88. Berlin ; Heidelberg : Springer, 1988. - P. 20-43. - (LNCS, Vol. 340).

8. Berthomieu В. Modelling and verification of time dependent systems using time Petri nets / B. Berthomieu, M. Diaz // IEEE Transactions on Software Engineering. 1991. - Vol. 17, № 3. - P. 259-273.

9. Borger E. Abstract state machines: a method for high-level system design and analysis abstract state machines / E. Borger, R. F. Stark. — N. Y. : Springer Verlag Inc., 2003.-420 p.

10. Brown A. An introduction to Model Driven Architecture. Pt I. MDA and today's systems Electronic resource. / A. Brown. 2005. - Mode of access: http://www-106.ibm.com/developerworks/rational/library/3100.html. - Title from screen.

11. Budkowski S. An introduction to Estelle: a specification language for distributed systems / S. Budkowski, P. Dembinski // Computer Networks and ISDN Systems. 1987.-Vol. 14, № 1. - P. 3-23.

12. Campos J. On the integration of UML and Petri nets in software development / J. Campos, J. Merseguer // Lecture Notes in Computer Science. Berlin ; Heidelberg : Springer, 2006. - Vol. 4024. - P. 19-36.

13. Denaro G. Petri nets and software engineering / G. Denaro, M. Pezze // Lectures on concurrency and Petri nets: advances in Petri nets. — Springer Verlag, 2004. -P. 439-466. (LNCS, Vol. 3098).

14. Dependability analysis in the early phases of UML based system design / A.Bondavalli, M. Dal Cin, D. Latella, I. Majzik, A. Pataricza, G. Savoia // J. of Computer Systems Science and Engineering. -2001. Vol. 16, № 5. - P. 265-275.

15. Desel J. Lectures on Concurrency and Petri Nets. Advances in Petri Nets / J. Desel, W. Reisig, G. Rozenberg (Eds.). Berlin ; Heidelberg ; N. Y. : Springer Verlag, 2004. - P. 849. - (LNCS ; Vol. 3098).

16. Design/CPN Tutorial for X-Windows. Version 2.0 Electronic resource. / Meta Software Corporation, Cambridge, MA, USA. 1993. - Mode of access: http://www.daimi.au.dk/designCPN/man/Tutorial/Tutorial.All.pdf. - Title from screen.

17. Drusinsky D. BetterState Pro. Tutorial: an introduction to design with State-Charts Electronic resource. / D. Drusinsky ; Integrated Systems, Inc. -1997 — Mode of access: http://www.egr.msu.edu/classes/ece809/rover/docs/bestbook.pdf. Title from screen.

18. Esparza J. Model-checking LTL with regular valuations for pushdown systems / J. Esparza, A. Kucera, S. Schwoon // Information and Computation. 2003. — Vol. 186, №2.-P. 355-376.

19. Girault C. Petri nets for systems engineering: a guide to modeling, verification, and applications / C. Girault, R. Valk. Springer Verlag, 2003. - 607 p.

20. Gurevich Y. Abstract state machines: an overview of the project Electronic resource. / Y. Gurevich. — 2003. — 12 p. — Mode of access: http://research.microsoft.com/~gurevich/Opera/165.pdf. Title from screen.

21. Harel D. On visual formalism / D. Harel // Communications of the ACM. -1988. -Vol. 31, № 5. P. 514-530.

22. Hu Z. Explicit modeling of semantics associated with composite states in UML statecharts / Z. Hu, S. M. Shatz // J. of Automated Software Engineering. -2006. Vol. 13, № 4. - P. 423-467.

23. Hu Z. Mapping UML diagrams to a Petri net notation for system simulation / Z. Hu, S. M. Shatz // Proceedings of the international conference on software engineering and knowledge engineering (SEKE), Banff, Canada, June 2004. 2004. - P. 213-219.

24. Jensen K. Coloured Petri nets. Basic concepts, analysis methods and practical use / K. Jensen. 2-rd ed. - Springer Verlag, 1992. - Vol. 1. - 252 p.

25. Jensen K. Coloured Petri nets. Basic concepts, analysis methods and practical use / K. Jensen. 2-rd ed. - Springer Verlag, 1997. - Vol. 2.-184 p.

26. Jensen K. Coloured Petri nets. Basic concepts, analysis methods and practical use / K. Jensen. — Springer Verlag, 1997. Vol. 3. - 265 p.

27. Jensen K. Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems / K. Jensen, L. M. Kristensen, L. Wells // Intern. J. on Software Tools for Technology Transfer (STTT). 2007. - Vol. 9, № 3-4. - P. 213-254.

28. Juanole G. Quality of service in real-time distributed systems and process control applications / G. Juanole // IF AC Summer School on Control, Computing and Communication materials Electronic resource. : [progr.], Prague, Czech Rep., 27

29. June -1 July 2005. Prague, 2005. - Mode of access: http://dce.felk.cvut.cz/hanzalekyifacss05/program.php. - Title from screen.

30. Keh H, C. Direct-manipulation user interface modeling with high level Petri nets / H. C. Keh, T. G. Lewis // Proceedings of ACM 19 annual computer science conference, San Antonio, Texas, 5-9 March 1991. N. Y. : ACM, 1991. - P. 487495.

31. Kifer M. Logical foundations of object-oriented and frame based languages / M. Kifer, G. Lausen, J. Wu // J. of the ACM. -N. Y. : ACM, 1992. Vol. 42, iss. 4. -P. 741-843.

32. Новосибирск, 26-29 сент., 2000 г. : посвящ. 50-летию Новосиб. гос. техн. ун-та. -Novosibirsk, 2000. Vol. 1. - P. 258-261. Об одном подходе к представлению и выполнению запросов к распределенной базе данных.

33. Lakos С. LOOPN++: a new language for object-oriented Petri nets / A. La-kos, C. D. Keen // Proceedings of modelling and simulation conference (European simulation multiconference), ESM'94, Barcelona, Spain, 1994. Barcelona, 1994. — P. 369-374.

34. Lieberherr K. J. Adaptive object-oriented software: the Demeter method / K. J. Lieberherr. Boston : PWS Publishing Company, 1996. -616 p.

35. Lilius J. vUML: a tool for verifying UML models / J. Lilius, I. Paltor // The 14 IEEE international conference on automated software engineering, Cocoa Beach, FL, USA, 1999. 1999. - P. 255-258.

36. Modeling non-functional requirements Electronic resource. / P. Botella, X. Burgues, X. Franch, M. Huerta, G. Salazar. Mode of access: http://www.lsi.us.es/~amador/JTRA/Ponencias/JIRABotella.pdf. — Title from screen.

37. Specification and analysis of system architecture using rapide / D. С Luckham, J. J. Kenney, L. M. Augustin, J. Vera, D. Bryan, W. Mann // Transactions on Software Engineering. 1995. - Vol. 21, iss. 4. - P. 336-355.

38. Астапчук В. А. О проблемах оптимального построения распределенных информационных систем / В. А. Астапчук, А. А. Воевода, С. В. Коротиков // Науч. вестн. НГТУ. Новосибирск : Изд-во НГТУ, 1999. - № 2 (7). - С. 177-178.

39. Бек К. Экстремальное программирование / К. Бек. СПб. : Питер, 2002. - 224 с. - (Библиотека программиста).

40. Брауде Э. Технология разработки программного обеспечения / Э. Брауде. СПб. : Питер, 2004. - 655 с.

41. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++ : пер. с англ. / Г. Буч. 2-е изд. - М. : Бином ; СПб. : Невский диалект, 1998 г. - 560 с.

42. Буч Г. Язык UML. Руководство пользователя : пер. с англ. / Г. Буч, Д. Рамбо, А. Джекобсон. М. : Пресс, 2001. - 432 с.л

43. Вендров А. М. Проектирование программного обеспечения экономических информационных систем : учеб. / А. М. Вендров. М. : Финансы и статистика, 2000. -347 с.

44. Верификация Estelle-спецификаций распределенных систем посредством раскрашенных сетей Петри / В. А. Непомнящий и др. Новосибирск : ИСИ СО РАН. - 1998. - 140 с.

45. Воевода А. А. О компактном представлении языков сетей Петри / А. А. Воевода, С. В. Коротиков // Сб. науч. тр. НГТУ. Новосибирск : Изд-во НГТУ, 2005. -№ 1 (39). - С. 141-144.

46. Воевода А. А. Применение сетей Петри при разработке протоколов / А. А. Воевода, С. В. Коротиков, Д. О. Саркенов // Науч. вестн. НГТУ. -Новосибирск : Изд-во НГТУ, 2004. № 2 (17). - С. 183-188.

47. Воевода А. А. О модификации полного покрывающего дерева и графа разметок сети Петри / А. А. Воевода, С. В. Коротиков // Науч. вестн. НГТУ. -Новосибирск : Изд-во НГТУ, 2005. № 1 (19). - С. 171-172.

48. Волков А. А. Использование ролей в сценариях взаимодействия Электронный ресурс. / А. А. Волков ; Ин-т систем, программирования. -2006. Режим доступа: http://www.citforum.ru/SE/project/roleuse/. - Загл. с экрана.

49. Гома X. UML. Проектирование систем реального времени, параллельных и распределенных приложений : пер. с англ. / X. Гома М. : ДМК Пресс, 2002. - 704 с.

50. Гуров В. Исполняемый UML из России / В. Гуров, А. Нарвский, А. Шалыто // PC Week/RE. 2005 -№ 26. - С. 18-19.

51. Дал У. Структурное программирование / У. Дал, Э. Дейкстра, К. Хо-ор. М. : Мир, 1975. - 247 с.

52. Замулин А. В. Формальные методы спецификации программ / А. В. Замулин. Новосибирск : НГУ, 2002. - *с.

53. Ивлев В. А. Реорганизация деятельности предприятий: от структурной к процессной организации / В. А. Ивлев, Т. В. Попова. М. : Научтехлит-издат,2000.-282 с.

54. Интеграционные технологии развития инфраструктуры предоставления услуг. Продукты Электронный ресурс. / фирма «Светец». Режим доступа: http://www.svetets.ru/prod.html. - Загл. с экрана.

55. Использование сетей Петри при проектировании систем обработки данных / А. Г. Мамиконов и др. М. : Наука, 1988. - 103 с.

56. Калянов Г. Н. CASE-технологии. Консалтинг при автоматизации бизнес-процессов /Г. Н. Калянов. 2-е изд., перераб. и доп. - М. : Горячая линия : Телеком, 2000.-317 с.

57. Карабегов А. В. Введение в язык SDL / А. В. Карабегов, Т. М. Тер-Микаэлян. -М. : Радио и связь, 1993.- 184 с.

58. Карпова Т. С. Базы данных: модели, разработка, реализация / Т. С. Карпова. СПб. : Питер, 2001. - 304 с.

59. Кватрани Т. Визуальное моделирование с помощью Rational Rose 2002 и UML / Т. Кватрани. -М.: Вильяме, 2003. 182с.

60. Ковалев С. П. Формальный подход к разработке программных систем : учеб. пособие / С. П. Ковалев ; Новосиб. гос. ун-т. Новосибирск : НГУ, 2004.- 180 с.

61. Концепция единой таксофонной карты России Электронный ресурс. : утвержд. Минсвязи России 17 дек. 2001 г. № 9150. Режим доступа: http://www.consv.ru/adm/dat/bin/doc/ko9.doc. - Загл с экрана.

62. Коротиков С. В. Архитектура распределенной системы сбора и обработки данных для системы контроля и управления таксофонами / С. В. Коротиков, В. А. Легкунец // Сб. науч. тр. НГТУ. — Новосибирск : Изд-во НГТУ, 2002.-№1 (27).-С. 21-26.

63. Коротиков С. В. Доступ к базам данных в распределенных информационных системах / С. В. Коротиков, В. А. Пичурин // Сб. науч. тр. НГТУ. -Новосибирск : Изд-во НГТУ, 2000. № 1 (18). - С. 32-37.

64. Коротиков С. В. Использование аппарата высокоуровневых сетей Петри для моделирования процессов швейного производства / С. В. Коротиков, науч. рук. А. А. Воевода, Е. В. Профорук, науч. рук. Н. С. Мокеева //

65. Наука. Технологии. Инновации : материалы Всерос. науч. конф. молодых ученых, Новосибирск, 2-5 дек. 2004 г. : в 6 ч. — Новосибирск : Изд-во НГТУ, 2004.-Ч. 1.-С. 30-31.

66. Коротиков С. В. Комплексный подход к автоматизации деятельности предприятий / С. В. Коротиков // Сб. науч. тр. НГТУ. — Новосибирск : Изд-во НГТУ, 2001. № 2 (24). - С. 39-44.

67. Коротиков С. В. О разработке системы контроля и управления таксофонами / С. В. Коротиков // Сб. науч. тр. НГТУ. Новосибирск : Изд-во НГТУ, 1999.-№3(16).-С. 160-164.

68. Коротиков С. В. Обеспечение семантической целостности данных в корпоративных базах данных / С. В. Коротиков // Сб. науч. тр. НГТУ. -Новосибирск : Изд-во НГТУ, 2002. № 2 (28). - С. 21-28.

69. Коротиков С. В. Построение генератора произвольных отчетов / С. В. Коротиков, Д. Р. Нурмухаметов // Сб. науч. тр. НГТУ. Новосибирск : Изд-во НГТУ, 2002. - № 2 (28). - С. 29-34.

70. Коротиков С. В. Представление логики взаимодействия таксофона и СКУТ в виде цветной иерархической сети Петри / С. В. Коротиков, А. А. Воевода // Сб. науч. тр. НГТУ. Новосибирск : Изд-во НГТУ, 2004. - № 2 (36).-С. 147-148.

71. Коротиков С. В. Применение сетей Петри в разработке программного обеспечения центров дистанционного управления и контроля / С. В. Коротиков, А. А. Воевода // Науч. вестн. НГТУ. Новосибирск : Изд-во НГТУ, 2007. -№4(29).-С. 15-30.

72. Коротиков С. В. Применение цветной иерархической сети Петри для проверки согласованности UML-диаграмм на фазе проектирования ПО ЦДУК /С. В. Коротиков //Науч. вестн. НГТУ. Новосибирск : Изд-во НГТУ, 2007. -№2 (27).-С. 203-206.

73. Коротиков С. В. Применение шаблонов UML и сетей Петри при разработке системной службы центра дистанционного управления и контроля / С. В. Коротиков // Сб. науч. тр. НГТУ. Новосибирск : Изд-во НГТУ, 2007. -№2 (48).-С. 135-144.

74. Коротиков С. В. Проверка согласованности UML-диаграмм проекта службы контроля и управления ДЦ БРЗ с помощью сетей Петри / С. В. Коротиков // Сб. науч. тр. НГТУ. Новосибирск : Изд-во НГТУ, 2007. - № 2 (48). -С. 51-62.

75. Коротиков С. В. Современные подходы к созданию и поддержке программного обеспечения информационных систем / С. В. Коротиков, А. В. Желтов // Сб. науч. тр. НГТУ. Новосибирск : Изд-во НГТУ, 2001. - № 1 (23). - С. 64-69.

76. Котов В. Е. Сети Петри / В. Е. Котов. -М. : Наука, 1984. 157 с.

77. Лавров С. С. Программирование. Математические основы, средства, теория / С. С. Лавров. СПб. : БХВ-Петербург, 2001. - 320 с.

78. Либерти Дж. С++. Энциклопедия пользователя / Дж. Либерти. Б. м. : ДиаСофт, 2001. - 590 с.

79. Липаев В. В. Документирование и управление конфигурацией программных средств. Методы и стандарты / В. В. Липаев. М. : СИНТЕГ, 1998. - 220 с. — (Информатизация России на пороге XXI века).

80. Липаев В. В. Надежность программных средств / В. В. Липаев. — М. : СИНТЕГ, 1998. 232 е. - (Информатизация России на пороге XXI века).

81. Непомнящий В. A. REAL: Язык для спецификации и верификации систем реального времени / В. А. Непомнящий, Н. В. Шилов, Е. В. Бодин // Системная информатика. — Новосибирск : Наука, 2000. Вып. 7. - С. 174-224.

82. ОСТ 45.148-99. Системы защиты от несанкционированного доступа к услугам связи таксофонов. Общие технические требования Электронный ресурс. Утвержд. 16.05.2000. - Режим доступа: http.V/www.cntd.pirit.info/document/1200038285.html. — Загл. с экрана.

83. Пентус А. Е. Объектно-ориентированное представление иерархических сетей Петри / А. Е. Пентус, М. Р. Пентус // Фундаментальная и прикладная математика. 2000. - Т. 6. -№ 3. - С. 831-840.

84. Петерсон Дж. Теория сетей Петри и моделирование систем : пер. с англ. / Дж. Петерсон. М. : Мир, 1984.-264 с.

85. Покозий Е. А. Методы спецификации и верификации параллельных моделей с непрерывным временем : автореф. дис. . канд. физ.-мат. наук / Е.

86. A. Покозий. Новосибирск, 1999. - 17 с.

87. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. СПб. : Питер, 2001. —368 с. - (Библиотека программиста).

88. Система централизованного управления и контроля сети таксофонов Электронный ресурс. / украин.-итальян. ЗАО «Юэнпиком». Режим доступа: http://unpcom.km.ua/system.html. - Загл. с экрана.

89. Таль А. А. Иерархия и параллелизм в сетях Петри / А. А. Таль, С. А. Юдицкий // Автоматика и телемеханика. — 1982. — № 7. — С. 9.

90. Тарасюк И. В. Понятия эквивалентностей для разработки параллельных систем с использованием сетей Петри / И. В. Тарасюк // Программирование. 1998. -№ 4. -С. 40-48.

91. Тарасюк И. В. Эквивалентности для поведенческого анализа параллельных и распределенных вычислительных систем / И. В. Тарасюк ; РАН СО Ин-ут систем информатики им. А. П. Ершова. — Новосибирск, 2005. 344 с.

92. Теоретические основы проектирования оптимальных структур распределенных баз данных / В. В. Кульба, С. С. Ковалевский, С. А. Косяченко,

93. B. О. Сиротюк. М. : СИНТЕГ, 1999. - 660 с. — (Информатизация России на пороге XXI века).

94. Чурина Т. Г. Способ построения раскрашенных сетей Петри, моделирующих SDL-системы / Т. Г. Чурина. Новосибирск, 1998. - 48 с. - (Препринт/ ИСИ СО РАН ; №56).

95. Якобсон А. Унифицированный процесс разработки программного обеспечения / А. Якобсон, Г. Буч, Дж. Рамбо. — СПб. : Питер, 2002. -496 с.