УДК 004.4(06) Технологии разработки программных систем Е.В. ЛЕВИНА, А.С. МИХАЙЛОВ Московский инженерно-физический институт (государственный университет) МЕТОД АВТОМАТИЧЕСКОЙ ВЕРИФИКАЦИИ ПРОТОКОЛОВ ИНФОРМАЦИОННОГО ОБМЕНА Предлагается метод верификации протоколов информационного обмена, основанный на сравнении результатов выполнения операции человеком и автоматических вычислений, сделанных согласно заданной автоматной модели протокола. Дается формальное определение расширенного конечного автомата для создания моделей протоколов. Протоколы информационного обмена (ПИО) относятся к классу регламентированных прикладных протоколов обмена данными. В ПИО могут использоваться криптографические алгоритмы и математические преобразования данных. Для обеспечения корректности вложения протоколов в вычислительную систему и верификации действий абонентов в процессе работы, требуется использование формальных моделей протоколов. Предлагается метод автоматической верификации выполнения ПИО, состоящий из следующих основных этапов: 1. Создание формальной автоматной модели протокола на основе предлагаемого расширения конечного автомата (РКА) Мили. Состояние автомата характеризует знание абонентов на определенном этапе работы. Переходы между состояниями характеризуют вычислительные операции или передачу сообщений. Формально определим РКА: РКА S , S 0 , X , Y , O, , , где S - конечное непустое множество состояний; S0 S - конечное непустое множество начальных состояний; X - конечное непустое множество входных значений; Y - конечное не пустое множество выходных значений; O X , Y - единичное множество синхронизирующих значений; : S X S - функция переходов : S X Y - функция выходов. Передача сообщений является специальной операцией, которая обеспечивает взаимодействие между абонентами и выполняется в соответствии с правилом синхронизации, состоящим из совокупности выполнения двух условий: ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 2 85 УДК 004.4(06) Технологии разработки программных систем : S O S , : S O O - условие ожидания абонентом некоторого сообщения; : S X S , : S X X - условие передачи сообщения между абонентами. 2. Для создания модели протокола необходимо: - определить множество начальных состояний РКА, соответствующих начальным данным каждого из абонентов; - доопределить множество всех состояний РКА, задав набор всех данных доступных абонентам в процессе работы; - определить переходы между состояниями РКА, соответствующие вычислительным операциям, выполняемым абонентами, задав входные и выходные параметры каждой операции; - определить переходы между состояниями РКА, соответствующие передачи сообщений между абонентами. Задать правила синхронизации, определив моменты передачи сообщений между абонентами, получателей и передаваемые данные для каждого сообщения. 3. Вложение модели ПИО в информационную автоматизированную систему анализа и исследования протоколов. ПИО выполняются в групповом или в индивидуальном режимах. 4. Ввод начальных данных для каждого абонента. 5. Выполнение протокола и контроль действий абонентов, выполняющих операции, регламентированные протоколом на текущем шаге. После выполнения операции, управление автоматически передается системе, которая осуществляет верификацию действий абонента. Согласно соответствующему переходу между двумя состояниями в модели протокола, система выполняет необходимые математические преобразования и сравнивает полученные результаты с расчетами абонента. В случае совпадения верификация операции считается успешной, и управление возвращается к абоненту для выполнения следующей операции. Если результаты не совпали, абоненту запрещается переходить к следующей операции и управление может быть передано ему для корректировки расчетов. В том случае, если в процессе выполнения ПИО происходит передача сообщения, то система верифицируют получателя сообщения и передаваемые данные. ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 2 86