УПРАВЛЕНИЕ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.415.52
В.С. Карпов, д-р техн. наук, проф., (4872) 33-24-45,
А.Н. Ивутин, канд. техн. наук, доц., (4872) 33-24-45, [email protected],
Е.И. Дараган, асп., (4872) 35-01-24, [email protected] (Россия, Тула, ТулГУ)
СЕТИ ПЕТРИ - МАРКОВА И ВЕРИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ РЕАЛЬНОГО ВРЕМЕНИ
Рассмотрены основные аспекты применения моделей сетей Петри - Маркова при верификации программного обеспечения реального времени.
Ключевые слова: верификация, программное обеспечение реального времени, сети Петри - Маркова.
Значительное число современных компьютерных систем представляет собой системы реального времени (СРВ). В таких системах успех вычислений зависит не только от их логической правильности, но также и от времени получения результатов [1]. При создании СРВ одной из главных проблем является обеспечение его качества.
При оценке качества программных СРВ необходимо в комплексе учитывать показатели корректности и времени выполнения операций. Другими словами, предсказуемость реакции системы на случайные по времени возникновения внешние воздействия не менее важна, чем корректность обработки данных. Основной задачей качественно спроектированного и реализованного программного обеспечения (ПО) реального времени является обеспечение заданного уровня сервиса за ограниченный период времени. Таким образом, для программных комплексов, используемых в СРВ,
266
характерно свойство гарантированности выполнения заложенных в него функций за время, обеспечивающее корректное функционирование всей системы в целом.
Основным подходом к решению задачи проверки качества ПО является использование методов верификации. Под верификацией понимается процесс определения, удовлетворяют ли программные средства и их компоненты требованиям, наложенным на них в последовательных этапах жизненного цикла разрабатываемой программной системы. Верификация включает в себя анализ причин возникновения ошибок и последствий, которые вызовут их исправление, планирование процессов поиска ошибок и их исправления, оценку полученных результатов. Все это говорит о том, что проверка корректности представляет собой процесс подтверждения соответствия программного продукта заранее заданному уровню качества.
Широкое применение в области доказательства гарантированности (соответствие объявляемым требованиям) ПО, получили методы формальной верификации. Они позволяют, используя математический аппарат, доказывать корректность разработки на каждом из этапов жизненного цикла программного обеспечения. При этом проводится анализ всех возможных состояний системы и принимается решение о её корректности.
Наиболее перспективным и широко используемым подходом к автоматизации верификации ПО является метод проверки на моделях [2] (рис. 1). Для анализируемой программы строится формальная модель, которая реализует основные характеристики исследуемой системы. Спецификации ПО, включающие проверяемые свойства и требования, выражаются на формальном математическом языке. После этого начинается процесс верификации ПО, т.е. проверка выполнимости формализованного требования на абстрактной модели программы. При выявлении несоответствия ПО объявленным требованиям система подвергается модифицированию, и процесс повторяется вновь.
Рис. 1. Моделирование и верификация программного обеспечения
В качестве одной из основных задач при проверке корректности ПО на модели следует выделить задачу определения основных свойств и характеристики объекта.
ПО реального времени, выступающее в качестве объекта моделирования, включает некоторое множество взаимодействующих компонент. Каждая компонента имеет ряд своих подсистем. Хотя по своей структуре программные продукты различны, можно выделить несколько общих характеристик. Так, все подсистемы ПО имеют некоторое множество состояний. Состояние компоненты - это абстракция соответствующей информации, необходимой для описания её будущих действий. Как правило, состояние подсистемы меняется со временем в зависимости от установленных условий.
Современное ПО реального времени характеризуется высокой степенью параллелизма протекающих в нём процессов. При этом, выполняясь одновременно и независимо, они могут взаимодействовать между собой в некоторые моменты времени, т.е. программное обеспечение реального времени является системой с параллельно функционирующими и асинхронно взаимодействующими компонентами.
Особенно стоит отметить процесс распараллеливания программы. Он делится на два этапа: анализ исходного кода и синтез параллельной системы. Анализ необходим для выявления скрытого параллелизма в исходной последовательной программе. Прежде всего, сюда включается выявление зависимостей по данным между операторами языка описания алгоритма. На этапе анализа могут собираться сведения о необходимом размещении данных в случае, если используется система с распределенной памятью. Кроме того, возможен сбор сведений о времени выполнения различных участков программы с целью выбора наилучшего варианта распараллеливания системы.
Синтез параллельной системы включает выбор схемы распределения данных и вычислений, а также непосредственно генерацию текста параллельной программы с использованием подходящих инструментов.
Среди существующих методов описания и анализа параллельных систем выделяется подход, основанный на использовании сетевых моделей. При построении моделей сложных систем со множеством состояний и переходов обязательным условием остаётся учёт таких её свойств, как случайность времени выполнения операции, возможность одновременного выполнения групп операторов, а также стохастический характер переходов. Для комплексного анализа перечисленных свойств систем реального времени необходимо наличие математического аппарата, позволяющего строить модели программного обеспечения СРВ.
Для решения этой проблемы предлагается использовать модели, называемые сетями Петри - Маркова (СПМ) [3].
Сетью Петри - Маркова называется структурно-параметрическая модель, заданная парой
0 = {У УЬ
где у - множество резидентных свойств (структурно-параметрические характеристики); у - множество вариационных свойств (характеристики состояния).
Резидентные свойства СПМ, в свою очередь, задаются парой
0 = {П, М},
где П - сеть Петри [4]; М - случайный процесс.
Сеть Петри П определяет структуру СПМ, а случайный процесс М накладывается на структуру П и определяет временные и вероятностные характеристики СПМ.
Вариационные свойства модели раскрываются через четверку
у = {С ,Ф, X, б},
где С - вектор раскраски позиций; Ф - вектор разметки; X - вектор занятости; б - упорядоченное множество очередности заявок.
Структура СПМ характеризуется одной из четверок:
П = {А, Z, 1А ^), Оа (2)}
или
П = {А, 2, 1г (А), Ог (А)},
где А - конечное множество позиций; 2 - конечное множество переходов; IА (2) и Оа (2) - соответственно входная и выходная функции переходов; 12 (А) и 02 (А) - соответственно входная и выходная функции позиций.
Высоким уровнем наглядности и удобства анализа обладает метод представления СПМ в виде ориентированных взвешенных биграфов, вид которых приведен на рис. 2. В указанных биграфах позиции обозначены кружочками, переходы - жирной чертой, возможность выполнения полушага отмечается стрелкой, над которой указывается плотность распределения времени и вероятность для выполнения полушага из позиции в переход или логические условия для выполнения полушага из перехода в позицию.
Представленный математический аппарат обладает необходимыми инструментами, позволяющими при моделировании учитывать все перечисленные ранее особенности программного обеспечения реального времени. Использование СПМ, помимо ответа на вопрос о достижимости состояний, в которых может возникнуть фатальная для ПО ошибка, даёт возможность прогнозировать моменты перехода системы в эти состояния. Вероятностные и временные характеристики элементов моделей такого типа могут быть рассчитаны по структурно-параметрическим характери-
стикам исходных алгоритмов и логическим условиям продолжения функционирования процесса, а также по ограничениям на программные реализации алгоритмов.
-4
Рис. 2. Сеть Петри-Маркова
Использование описанного выше подхода к проверке правильности функционирования ПО реального времени, а также построению моделей позволит формально доказать соответствие разработки предъявляемым требованиям. Каждый из этапов проектирования и реализации ПО считается завершённым лишь в случае успешного прохождения разработкой процесса верификации. По этой причине продолжительность доказательства соответствия системы объявленным требованиям необходимо минимизировать. Решением этой задачи могут стать разработка и последующая реализация метода формальной верификации ПО реального времени на ЭВМ.
Библиографический список
1. Горошко Е. Операционные системы реального времени. Харьков: ИРЭ НАН Украины, 2003.
2. Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: Model Checking: пер. с англ./под ред. Р. Смелянского. М.:МЦНМО, 2002. 416 с.
3. Ларкин Е.В., Сабо Ю.И. Сети Петри - Маркова и отказоустойчивость авионики. Тула: ТулГУ, 2004. 208 с.
4. Изотов, В.Н., Ивутин, А.Н. Проблемы создания высоконадежных специализированных автоматизированных систем научных исследований и комплексных испытаний // Автоматизация и современные технологии. 2009. №12. С. 30-31.
V. Karpov, A. Ivutin, E. Daragan
Networks of Petri - Markova and verification of the software of real time
The basic aspects of application of models of networks of Petri - Markova are considered at verification of the software of real time.
Key words: verification, the software of real time, a network of Petri - Markova.
Получено 28.12.10 г.
УДК 621.395
В.В. Котов, д-р техн. наук, проф., [email protected] (Россия, Тула, ТулГУ),
Е.А. Сергеев, асп. (Россия, Тула, ТулГУ)
МЕТОДИКА ОЦЕНКИ ГЕОМЕТРИЧЕСКИХ ИСКАЖЕНИЙ В СИСТЕМАХ ФОРМИРОВАНИЯ ПАНОРАМНОГО ИЗОБРАЖЕНИЯ
Рассмотрен вопрос синтеза тест-объекта для оценки величины геометрических искажений, вносимых объективом системы формирования панорамного изображения. Предложена методика оценки указанных искажений.
Ключевые слова: система формирования панорамного изображения, геометрические искажения.
Системы формирования панорамного изображения (СФПИ) находят применение при построении различных средств мониторинга окружающей обстановки, охранных систем наблюдения, в задачах автоматизированной или автоматической оценки визуальной обстановки производственно-технологических комплексов.
Одним из вариантов построения СФПИ является оптикоэлектронная система формирования панорамного изображения со стационарной камерой и поворотным оптико-механическим узлом [1]. Панорамное изображение в такой системе собирается из отдельных кадров, формируемых при различных положениях поворотного зеркала. При этом может достигаться высокое пространственное разрешение при относительно невысоких требованиях к элементам оптической системы и фотоэлектронного преобразователя.