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

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

CC BY
437
89
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЬ ПЕТРИ-МАРКОВА / ИНФОРМАЦИОННО-УПРАВЛЯЮЩАЯ СИСТЕМА РОБОТА / ОБРАБОТКА В РЕАЛЬНОМ ВРЕМЕНИ / PETRI-MARKOV NETWORK / INFORMATION AND CONTROL SYSTEM OF THE ROBOT / REALTIME SIGNAL PROCESSING

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

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

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

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

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

ESTIMA TION OF ROBOT SOFTWARE EFFICIENCY USING PETRI-MARKOV NETWORKS

Questions of an estimation of efficiency of the developed software using Petri-Markov networks are considered. The technique of formation of the corresponding network is offered. The developed program for Petri-Markov network creation and editing is described. The format of storage of structure and network parameters is offered.

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

Dyachenko Evgeny Anatolievich, postgraduate, dyachenko.evgeniagmail.com, Russia, Tula, Tula state University

УДК 681.5 (519.95)

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

Е.В. Ларкин, В.В. Котов, Н.А. Котова

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

Ключевые слова: сеть Петри-Маркова, информационно-управляющая система робота, обработка в реальном времени.

Для современных интеллектуальных робототехнических комплексов характерно наличие развитой многоуровневой информационно-управляющей системы, включающей в себя множество различных сенсоров и один или несколько параллельно функционирующих процессоров, обеспечивающих цифровую обработку данных в реальном масштабе времени [1]. Учитывая, что результаты обработки сенсорной информации непосредственно используются для выработки управляющих воздействий на исполнительные механизмы робота, одним из главных требований, предъявляемых к применяемым алгоритмам, является время их выполнения. Таким образом, одной из важнейших задач, возникающих при проектировании программного обеспечения робота, является контроль и обеспечение требуемых показателей его временной эффективности. Предлагается для её решения использовать модель эффективности, сформированную на основе сети Петри-Маркова (СПМ) [2].

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

Любое программное приложение может быть представлено иерархическим делением (рис. 1). Иерархия программного продукта может быть

отражена следующими уровнями:

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

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

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

3 - уровень взаимодействующих модулей на уровне функций, процедур и классов, в зависимости от используемых при разработке программного продукта принципов;

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

0

1

2

3

4

Рис. 1. Иерархическая структура программного обеспечения

Очевидно, что для многих систем возможно и дальнейшее иерархическое деление, но в контексте решаемой задачи такое деление не имеет смысла. Таким образом, объект, представленный на і-м иерархическом уровне как «система», для (і - 1)-го уровня иерархии представляет собой «элемент». Между элементами данного иерархического уровня существуют определенные структурные связи, что и делает совокупность элементов системой.

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

157

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

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

последовательные структуры, в которых осуществляются последовательные переходы между объектами рассматриваемого уровня иерархии;

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

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

Рекомендуется следующая методика формирования СПМ, моделирующей эффективность в программном обеспечении:

1) Оценка общего уровня эффективности через показатели на разных уровнях иерархии программного продукта с помощью байесовской сети доверия.

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

3) Выделение групп видов сбоев для каждого элемента перечня возможных типов сбоев и возможных состояний.

4) Формирование для каждого элемента элементарной цепи состояний, включающей возникновение сбоев каждого типа, переход элемента из состояния в состояние и т.п.

5) Составление элементарной подсети Петри-Маркова, определяющей структуру модели процесса выполнения алгоритма.

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

7) Определение начального и конечного состояния элементов системы данного уровня - то есть точек входа и выхода в программные модули/функции и классы/совокупности операторов. Выделение на элементарных процессах переходов, предшествующих начальному и следующих за конечным состояниями.

8) Объединение элементарных подсетей в единую сеть через переходы элементарных подсетей, требующих взаимодействия, а также через

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

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

10) Определение логики взаимодействия элементарных процессов на непримитивных переходах. Составление матрицы вероятностей.

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

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

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

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

Сформированную структуру сети Петри-Маркова и набор параметров отдельных её вершин можно сохранить в виде файла на диск. В дальнейшем этот файл может быть вновь загружен в программу для дальнейшего редактирования или иного использования. Для хранения СПМ был

разработан специальный формат файла, имеющий следующую структуру. Строка_1 — общее описание состава сети Петри-Маркова: <Количество позиций> — целое число; <Количество переходов> — целое число; <Количество узлов дуг> — целое число; <Количество дуг> — целое число; <Признак наличия в файле свойств сети> — 1 - есть, 0 - нет.

Рис. 2. Внешний вид программы в режиме редактирования параметров

Строка_2 — описание позиций:

<X-координата позиции> — целое число; <Y-координата позиции>

— целое число — экранные координаты позиций (количество строк соответствует ранее указанному количеству позиций).

Строка_3 — описание переходов:

^-координата перехода> — целое число; ^-координата перехода> — целое число — экранные координаты переходов (количество строк соответствует ранее указанному количеству переходов).

Строка_4 — описание узлов дуг:

^-координата перехода> — целое число; ^-координата перехода> — целое число — экранные координаты узлов дуг (количество строк соответствует ранее указанному количеству узлов дуг).

Строка_5 — описание структуры связей дуг сети:

<Тип0> — целое число — определяет тип объекта, который являлся начальной точкой для сложной дуги, состоящей из нескольких отрезков (1

— позиция, 2 — переход); <Индекс1> — целое число — идентификацион-

ный номер объекта, являющегося начальным для текущего отрезка дуги; <Тип1> — целое число — тип объекта, являющегося начальным для текущего отрезка дуги (1 — позиция, 2 — переход, 3 — узел дуги); <Индекс2>

— целое число — идентификационный номер объекта, являющегося конечным для текущего отрезка дуги; <Тип2> — целое число — тип объекта, являющегося конечным для текущего отрезка дуги (1 — позиция, 2 — переход, 3 — узел дуги);

Строка_6 — описание свойств сохраняемых позиций:

<Индекс> — целое число — идентификационный номер сохраняемой позиции; <ИсхДуг> — целое число — количество исходящих дуг из данной позиции;

Строка_7 — описание выходов из позиции в тот или иной переход: <ИндексДуги > — целое число — идентификационный номер дуги, выходящей из текущей позиции в переход; <Вероятность> — вещественное число — вероятность выхода по этой дуге; <Тип закона> — целое число — тип закона распределения времени пребывания фишки в позиции при выборе выхода по этой дуге; <Матожидание> — вещественное число — математическое ожидание закона распределения; <СКО> — вещественное число — среднеквадратическое отклонение закона распределения. Строка_8 — описание свойств сохраняемых переходов:

<Индекс> — целое число — идентификационный номер сохраняемого перехода; <ИсхДуг> — целое число — количество исходящих дуг из данного перехода; <ВхДуг> — целое число — количество входящих дуг в данный переход

Строка_9 — описание логики срабатывания перехода: <ИндексДуги> — целое число — идентификационный номер дуги, выходящей из текущего перехода в позицию; <СДНФ> — строка символов

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

Строка_10 — описание входящих в переход дуг:

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

Список литературы

1. Ларкин Е.В., Котова Н.А. Проектирование информационных систем роботов с использованием сетей Петри-Маркова: учеб. пособие. Тула: Изд-во ТулГУ, 2008. 158 с.

2. Ларкин Е.В., Котов В.В., Котова Н.А., Соколов В. А. К вопросу о

моделировании отказоустойчивых систем с помощью сетей Петри-Маркова // Фундаментальные исследования. №5. 2007. С. 74-78.

Ларкин Евгений Васильевич, д-р техн. наук, проф., зав. кафедрой, elar-kin@mail.ru, Россия, Тула, Тульский государственный университет,

Котов Владислав Викторович, д-р техн. наук, проф., vkotov@list.ru, Россия, Тула, Тульский государственный университет,

Котова Наталья Александровна, канд. техн. наук, доцент, nkotova@inbox.ru, Россия, Тула, Тульский государственный университет

ESTIMA TION OF ROBO T SOFTWARE EFFICIENCY USING PETRI-MARKOV NETWORKS

E. V. Larkin, V. V. Kotov, N.A. Kotova

Questions of an estimation of efficiency of the developed software using Petri-Markov networks are considered. The technique of formation of the corresponding network is offered. The developed program for Petri-Markov network creation and editing is described. The format of storage of structure and network parameters is offered.

Key words: Petri-Markov network, information and control system of the robot, realtime signal processing

Larkin Evgeny Vasilievich, doctor of technical science, professor, manager of department, elarkin@mail.ru, Russia, Tula, Tula State University,

Kotov Vladislav Viktorovich, doctor of technical science, professor, vkotov@list.ru, Russia, Tula, Tula State University,

Kotova Natalia Aleksandrovna, candidate of technical science, docent, nkoto-va@inbox.ru, Russia, Tula, Tula State University

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