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



жүктеу 296.87 Kb.
Дата16.06.2016
өлшемі296.87 Kb.
На правах рукописи

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




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

Специальность 05.13.11 – Математическое и программное обеспечение

вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ


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

кандидата технических наук

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


Научный руководитель:

доктор технических наук, профессор,

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



Официальные оппоненты:

доктор технических наук, профессор,

Хабаров Валерий Иванович

кандидат технических наук, доцент,

Долозов Николай Лаврентьевич



Ведущая организация:

Томский политехнический университет

Защита состоится « 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-диаграмм в процессе разработки многопоточного ПО с огра­ниченными разделяемыми ресурсами и их применение в разработке программ­ного обеспечения ЦДУК для обеспечения надежности его функционирования.
Основные задачи исследования:

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

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

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

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

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


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

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

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

- впервые разработаны наборы шаблонов 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, Mo), где: (Р, Т, F) — конечная сеть; P непустое множество элементов сети, называемых местами; T непустое множество элементов сети, называемых переходами; отношение инцидентности; функция кратности дуг; функция начальной разметки сети Петри.

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

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

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

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



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

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



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

Утверждение 1: Пусть имеется неиерархическая раскрашенная сеть Петри . Определим эквивалентную простую сеть Петри по следующим правилам: 1); 2) ; 3) где – множество неотрицательных целых чисел, и ; 4) . Здесь: ,,, – конечные множества непустых типов (цве­тов), мест, переходов, дуг, а N, C, G, E, I – функции вершин, цвета, охраны пе­реходов, выражения дуг и начальной разметки.

Утверждение 2: Пусть имеется иерархическая раскрашенная сеть Петри . Определим эквивалентную неиерархиче­скую раскрашенную сеть Петри как набор , ко­торый удовлетворяет следующим условиям: 1) ; 2) ; 3) ; 4) ; 5) ; 6); 7) ; 8) ; 9) . Здесь S, SN – множества страниц и подстановочных вершин (состав­ных переходов); SA, PT, PA, FT функции связывания страниц, типов портов, связывания портов и типа слияния; PN – множество портов; FS – конечное множество множеств мест слияния; PP – мультимножество первичных страниц.

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

Анализ пространства состояний модели, отражающего все возможные маркировки, позволяет получить все указанные свойства сети Петри. Его построение и анализ для реальных систем выполняется с помощью компьютерного инструмента. Набор инструментов «CPN Tools» позволяет бы­стро и легко создавать и редактировать сети Петри, проводить их моделирование и анализ. В данном разделе работы приведен полный стандарт­ный отчёт для модели взаимодействия таксофона и ЦДУКТ и описаны его со­ставляющие. Фрагмент отчета с выводами о правильности модели и соответст­вии требованиям приведен в таблице 1. Отчет содержит разделы: статистика пространства состояний – число узлов, дуг и статус (полное); свойства обрати­мости – список возвратных маркировок (Home 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, 2 для места Ringing, 1 для места IDackRec и т.д., что соответствует исход­ным данным. На основании данных верхних границ мультимножеств мест делаем вывод о наличии в местах меток в соответствии с пра­вилами функционирования модели.

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

Busy Just

DialN Impartial

MeetMeTone Fair

End No Fairness

Справедливость срабатываемости перехода Busy обоснована, перехода Impartial объек­тивна, MeetMeTone доказана, а перехода End и остальных переходов не доказана.

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

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

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

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



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

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

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

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

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

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

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

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

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

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



Рис.3. Детализация деятельности потока слежения и передачи команд

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

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

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

Рис.4. Страница службы управления и контроля

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

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

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

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



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

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

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

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

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

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

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

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

Применение методики проиллюстрировано на примере разработки ПО ЦДУК. На первом шаге в качестве шаблона диаграммы классов службы управ­ления и контроля предлагается диаграмма, представленная на рис.5. Класс CControlService создает и удаляет набор экземпляров класса CDevice, пре­доставляющего интерфейс доступа к управлению устройством связи, приемом и передачей данных в виде функций: SendData(…) – отправить данные, GetData(…) – получить данные и т.д. На класс CDevice ложится задача син­хронизации доступа к разделяемым ресурсам: каналам приема/передачи уст­ройства связи и соединению с базой данных для чтения и записи данных. Класс CDevice является контейнером для активных классов CThread1 и CThread2, реализующих логику работы с объектами управления. Применение данной архитектуры предоставляет разработчику системы удобный механизм синхронизации и управления процессом создания и уничтожения объектов.



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

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

Рис.6. Исходная диаграмма состояний класса CControlService

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

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

Рис.7. CPN страница класса CControlService

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

Созданные правила для преобразования элементов синхронизации мно­гопоточного приложения и организации структуры сети Петри позволяют, в от­личие от упомянутого в шаге 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 C++ 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: инициализация модели / А. А. Воевода, С. В. Коротиков, В. Хассоунех // Науч. вестн. НГТУ. – Новосибирск : Изд-во НГТУ, 2004. – № 3 (18). – С. 185–188.

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

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

  7. Korotikov S.V. Automation works flow of payphones communication opera­tor’s / S.V. Korotikov // Proceedings of the 5 Korea-Russia international sym­posium 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 us­ing the unified modeling language / S.V. Korotikov // Materials of the 6 Korea-Rus­sia 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 de­sign / S.V. Korotikov // International Siberian workshop and tutorials on electron de­vices and materials. EDM 2003: proc., 4 annu., Erlagol, Altai, 1–4 july 2003.– No­vosibirsk, 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.

Подписано в печать 13.05.08 г. Формат 60 X 84/16

Бумага офсетная. Тираж 110 экз. Печ. л. 1,25.

Заказ № 723


Отпечатано в типографии

Новосибирского государственного технического университета

630092, г. Новосибирск, пр. К. Маркса, 20

тел./факс (383) 346-08-57





©dereksiz.org 2016
әкімшілігінің қараңыз

    Басты бет