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

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

CC BY
411
195
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
UML / СЕТИ ПЕТРИ / PETRI NETS / МЕТОДИКА ПРОЕКТИРОВАНИЯ ПО / METHODOLOGY OF SOFTWARE DESIGN / ДИАГРАММА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ / USE CASE DIAGRAM / ДИАГРАММА КЛАССОВ / CLASS DIAGRAM / ДИАГРАММА ДЕЯТЕЛЬНОСТИ / ACTIVITY DIAGRAM / ПРОСТРАНСТВО СОСТОЯНИЙ / STATE SPACE / АНАЛИЗ СПРОЕКТИРОВАННЫХ ДИАГРАММ / ANALYSIS DESIGNED DIAGRAMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Воевода Александр Александрович, Марков Александр Владимирович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Воевода Александр Александрович, Марков Александр Владимирович

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

METHODOLOGY OF COMPUTER-AIDED DESIGN SOFTWARE OF COMPLEX SYSTEMS BASED ON COMBINED USE OF UML DIAGRAMS AND PETRI NETS

Over recent years the development of software products has become a multibillion-dollar industry, and creation of quality software has become a top priority, which is implemented using a variety of methods, programming languages and tools. These tools include UML diagrams for modeling systems and mathematical formalism of Petri nets that can analyze this diagrams. The technique of sharing UML diagrams and Petri nets is obtained in the analysis of recommendations and rules for applying these two entities is proposed. Since recommendations proposed earlier had no clear logical sequence, or had redundancy which influenced design of temporary resources, a software design technique was developed. This technique consists of seven stages and involves use of use case diagrams, class diagrams and objects, as well as activity diagrams. Activity diagram is analyzed using state space obtained from corresponding Petri net. The efficiency of this technique is demonstrated on examples of different areas: the movement of manipulator in a confined space, «smart lights», user's interaction with the ATM, which proves the possibility of its use for a wide range of tasks.

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

участок с наименьшим временем хода, к модельному времени хода по этой ячейке, то есть 20 мс.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Бардушко В.Д. Формирование расчетных периодов имитационного моделирования работы системы тягового электроснабжения вероятностным методом // Известия Транссиба / Омский гос. ун-т путей сообщения. 2013. № 4 (16). С.58-62.

2. Ермаков С.М Метод Монте-Карло в вычислительной математике // СПб : Изд-во СПбГУ, 2008. С.58-62.

3. Бардушко В.Д. Параметричнии синтез системи паралельных емнюних компенсуючих при-стро1в в тягово1в мереж1 в сучасних умовах // Електр1ф1кащя транспорту. 2013. № 6. С. 8-13.

4. Бардушко В.Д. Новые подходы в формировании законов регулирования средств повышения энергетической эффективности систем электрической тяги // Современные технологии. Системный анализ. Моделирование. 2010. №3 (27)С. 134-138.

5. Бардушко В.Д., Петрякова Е.А. Анализ и параметрический синтез устройства продольной компенсации в тяговой сети с консольным питанием // Современные технологии. Системный анализ. Моделирование. 2010. № 1 (25) С. 13-19.

6. Бардушко В.Д. Закон регулирования мощности параллельной компенсирующей установки на посту секционирования контактной сети // Современные технологии. Системный анализ. Моделирование. 2009. № 3 (23). С. 154-160.

УДК 004.4 '22 Воевода Александр Александрович,

д. т. н., профессор, кафедра автоматики, ФГБОУ ВПО НГТУ, e-mail: voevoda@ucit.ru

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

аспирант, кафедра автоматики, ФГБОУ ВПО НГТУ, тел. + 7 (952) 926-14-04, e-mail: muviton3@gmail.com

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

A. A. Voevoda, A. V. Markov

methodology of computer-aided design software of complex systems based on combined use of uml diagrams and petri nets

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

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

Abstract. Over recent years the development of software products has become a multibillion-dollar industry, and creation of quality software has become a top priority, which is implemented using a variety of methods, programming languages and tools. These tools include UML diagrams for modeling systems and mathematical formalism of Petri nets that can analyze this diagrams. The technique of sharing UML diagrams and Petri nets is obtained in the analysis of recommendations and rules for applying these two entities is proposed. Since recommendations proposed earlier had no clear logical sequence, or had redundancy which influenced design of temporary resources, a software design technique was developed. This technique consists of seven stages and involves use of use case diagrams, class diagrams and objects, as well as activity diagrams. Activity diagram is analyzed using state space obtained from corresponding Petri net. The effi-

ш

ciency of this technique is demonstrated on examples of different areas: the movement of manipulator in a confined space, «smart lights», user's interaction with the ATM, which proves the possibility of its use for a wide range of tasks.

Keywords: UML, Petri nets, methodology of software design, use case diagram, class diagram, activity diagram, state space, analysis designed diagrams.

Введение

В наши дни различное программное обеспечение (ПО) используется во всех сферах человеческой деятельности, а требования к нему постоянно возрастают. Это приводит к необходимости поддержания необходимого уровня качества ПО за короткие сроки по его созданию. Существуют различные инструменты и методики, которые позволяют быстро разрабатывать качественные программные продукты. Среди них перспективным считается использование ИМЬ-диаграмм, не требующих высокого порога знаний для их использования, а также способных наладить понимание между разработчиком и заказчиком. Одним из этапов проектирования является анализ смоделированных систем, который заключается в выявления лишних, неиспользуемых сценариев и случаев, при которых происходит аварийное завершение работы. Для анализа можно воспользоваться набирающим популярность математическим аппаратом сетей Петри, формализуемого следующим образом: Я = {Р,Т,Р,т1), где Р = {р1,р2,...,р„} -

множество мест, а Т = {/1,/2,---} - множество переходов, таких что РглТ = 0, FсРхТ^ТхР -взаимосвязь вершин, и т1 :Р —[1].

Стоит отметить, что язык ИМЬ не содержит формальных правил для проверки спроектированных диаграмм, но совместно с сетями Петри образует мощный инструмент проектирования. В работах [2-13] были предложены правила, по которым можно преобразовывать различные диаграммы в сети Петри, а также приёмы проектирования,

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

Анализ проектирования ПО с использованием иМЬ-диаграмм и сетей Петри

Приведём и проанализируем основные рекомендации и правила проектирования систем при помощи ИМЬ-диаграмм и сетей Петри.

Основными этапами [7, 8] является построение структурных и поведенческих диаграмм с преобразованием последних в сети Петри для проверки динамики работы системы. Изначально происходит сбор требований к проектируемой системе и составление диаграммы прецедентов, которая необходима для лучшего понимания основной логики работы и более наглядного построения технического задания. По сути, проектирование любой системы начинается с построения диаграммы прецедентов в том или ином виде. Поэтому их использование можно считать оправданным. Например, для передвижения манипулятора в замкнутом пространстве основная логика системы была смоделирована при помощи диаграммы вариантов использования (рис. 1).

По завершении проектирования диаграмм вариантов использования приступают к моделированию диаграммы классов, отдельные элементы

Рис. 1. Манипулятор в пространстве состояний [12]

которой при необходимости проверяют. Следовательно, надобность в построении и в проверке диаграммы деятельности для вариантов использования, которые нуждаются в нетривиальных подходах, отпадает. Опираясь на диаграмму вариантов использования, можно выделить и спроектировать классы системы. На рис. 2 представлена диаграмма классов системы «Умный светофор» [9], которая была получена из соответствующей диаграммы прецедентов.

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

Следует отметить, что способ проектирования, предложенный в работе [7], можно реализовать в один этап для сокращения итераций моделирования диаграмм через изменение последовательности построения и проверки диаграмм.

Можно также отказаться от использования диаграммы состояния [7, 8] и заменить выявление прецедентов, которые необходимо проверить более детально, на выявление соответствующих классов системы. В способах проектирования [7, 8] можно выделить использование диаграммы прецедентов для сбора информации о системе, проектирование диаграммы классов и диаграммы объектов - для формирования сущностей, а также проверку динамики работы системы при помощи диаграммы деятельности и/или диаграммы состояний.

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

Методика проектирования ПО с использованием иМЬ-диаграммы и сети Петри

Опираясь на рассмотренные выше правила, приведём методику проектирования ПО, в которой для моделирования используют ИМЬ-диаграммы с их последующим анализом при помощи сетей Петри. Предлагаемая методика состоит из 7 этапов:

1. Составление диаграммы прецедентов с выявлением всех сущностей в виде актёров и вариантов использования.

2. Составление диаграммы классов и выделение методов класса.

3. Выделение на основании диаграммы

Conlrolpanel (System)

#017110 #offTH() <#оп"П2() #offT12() #оп"ПЗ() #оЯТЗ() #0Г|П4() i^offTMO ■"UOnAckSysO vonVc() ■°oflVcO ■°onHUB() vomHUB() 4/cOnAckSys() ^hubOnAckSysQ ^tlOffAckSjsO WcOfEAckSysO ^huboffAckSysO *ackAlarm() *getAlamriBuzzerO *getEmergencyLight{)

*disflbuflonhtristicTheNetworkAddressForVcO

*distibutionTheNetworkAddressForHub()

*recordOnHDD()

■"tlSetAlarmO

*vcSetAlarm{)

^hubSetAlarmO

■°tlSetNewSettings()

MISwitchingBehveenModesO

read Peri phery() "i^witePeripheryO *tlAckLostOnWork() *vcAckLostOnWork() ^hubAckLostOnWork() *s\mitchingBetweenCondition()

Рис. 2. Диаграмма классов системы «Умный светофор» [9]

ш

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

4. Построения диаграммы деятельности для описания динамических свойств системы.

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

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

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

Замечание. Шестой этап предлагаемой методики проектирования ПО предполагает выполнение следующих сценариев:

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

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

На рис. 1 диаграмма прецедентов для передвижения манипулятора в ограниченном пространстве и диаграмма классов на рис. 2 системы «Умный светофор» соответствуют первому и второму пункту предлагаемой методики. Четвёртый и пятый этап методики рассмотрим на примере взаимодействия пользователя с банкоматом (рис. 3).

Рис. 3. Диаграмма деятельности взамодействия пользователя с банкоматом [13]

Построенная диаграмма транслируется в соответствующую сеть Петри (рис. 4) через используемые правила преобразования [7, 8].

Полученная сеть состоит из 14 мест P, 22

Рис. 4. Сеть Петри взамодействия пользователя с банкоматом [13]

иркутским государственный университет путей сообщения

переходов T и начальной маркировки m1 (для сокращения записи формул, вершин обозначим начальными буквами каждого слова в имени):

P = {ЕС, СШ, CPIN, A (ЫИ), BonS, MW,

ЫЕЛ, AE, RCШ, MRMB, MIPN, MISforM, RCII, Ш};

т = {1С, апЛ, 1РШ, Р1М, св, РС1,

fromBtoMM, W, RЛ, fromMWtoMM, fromMEЛtoMM, ЕЛ, PofM, РСШ, RMB, CMO, 1РИ, РрШ, РС11,

fromMISforMtoMM, ТС, Ш} ;

т = (1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0).

Подтверждением того, что можно отказаться от использования диаграммы состояний, служит дерево достижимости (дерево достижимости -упорядоченное множество (V,Е,ятс,^), где V -

множество вершин, Е - множество рёбер, а згс,^г^ : Е ^ V отображает назначение для каждого ребра как источник или цель) (рис. 5) сети взаимодействия пользователя с банкоматом, полученное при исследовании соответствующего пространства состояний:

V = {тг П12. .... тп }:

Е = {(щ, 1С, ^ ), (щ, 1Р, m3 ), (щ, FW, m4 )} (рёбра для состояния № 2);

&ТС (щ, 1С, ) = щ; г ((щ, 1Р, щ

щ, FW, Щ)) = Щ ; trg (щ, 1С, щ ) = щ; ^ (щ, 1Р, щ ) = щ;

^ (щ, FW, щ ) = ^ . Заключение

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

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

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Westergaard M. Behavioral Verification and Visualization of Formal Models of Concurrent Systems: PhD dissertation. Aarhus: University of Aarhus, 2007.

2. Bouabana-Tebibel T., H. Rubin S.H. An Interleaving Semantics for UML 2 Interactions Using Petri Nets // Information Sciences. 2013. Vol. 232. P. 276-293.

m

3. Lian Zhang Zhu, Fan Sheng Kong. Research of Automatic Conversion from UML Sequence Diagram to CPN Based on Modular Conversion // IC-CIP. 2012. P.95-102.

4. Razib Hayat Khan, Heegaard P.E. Translation from UML to SPN Model: A Performance Modeling Framework // EUNICE. 2010. P. 270-271.

5. Garrido J.L., Gea M. Coloured Petri Net Formalisation for a UML-Based Notation Applied to Cooperative System Modelling // DSV-IS 2002. P. 16-28.

6. J0rgensen J.B. Coloured Petri Nets in UML-Based Software Development - Designing Middleware for Pervasive Healthcare // Technical Report DAIMI PB-560. 2002. P. 61-80.

7. Коротиков С.В. Применение сетей Петри в разработке программного обеспечения центров дистанционного контроля и управления : дис. .... канд. техн. наук. Новосибирск, 2007. 216 с.

8. Романников Д.О. Разработка программного обеспечения с применением UML диаграмм и сетей Петри для систем управления локальным

оборудованием : дис.....канд. техн. наук. Новосибирск, 2012.195 с.

9. Марков А.В. Автоматизация разработки программного обеспечения с использованием сетей Петри : дис. ... магист. Новосибирск: 2012.

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

11. Воевода А.А., Романников Д.О. Применение UML диаграмм и сетей Петри при разработке встраиваемого программного обеспечения // Сб. науч. тр. НГТУ. 2009. №4 (37). С. 169-174.

12. Марков А.В., Воевода А.А. Развитие системы «Перемещение манипулятора в пространстве с препятствиями» при помощи рекурсивных функций // Автоматика и программная инженерия. 2013. № 2. С. 35-41.

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

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

УДК 62.533.6 Лившиц Александр Валерьевич,

к. т. н., доцент, зав. каф. ТРТСиМ, Иркутский государственный университет путей сообщения,

тел.: 638395-362, e-mail: livnet@list.ru

математическое моделирование процессов высокочастотного нагрева термопластов и повышение качества сварных

полимерных деталей

A. V. Livchitc

mathematical modeling of high frequency heating of thermoplastics and quality weld polymer parts

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

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

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

Ключевые слова: электротермия, высокочастотный нагрев, термопласты, система нестационарной теплопроводности, электротермическая сварка, математическое моделирование процессов высокочастотного нагрева.

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