АУНГ АУНГ ХЕЙН

Научный руководитель – Б. А. ЩУКИН, д. т.н., профессор

Московский инженерно-физический институт (государственный университет)

ЭМУЛЯЦИЯ ПРИ ОТЛАДКЕ РАСПРЕДЕЛЕННЫХ СИСТЕМ

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

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

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

С целью решения поставленной задачи, разработан эмулятор взаимодействия двух процессинговых систем, обменивающихся сообщениями по протоколу ISO8583 Host-To-Host[1]. Эмулятор разработан на языке Java[2] с использованием средства NetBeans IDE 6.1[3], интерфейса прикладного программирования Socket[4] и СУБД MS Access. Доступ к данным в моделирующей программе выполняется с помощью технологии JDBC. Для проведения тестирования с использованием эмулятора на основании документации по протоколу ISO8583 Host-To-Host разработана схема тестовой базы данных. Разработанный эмулятор обладают следующими необходимыми свойствами:

НЕ нашли? Не то? Что вы ищете?

1.  Возможность коммуникационного взаимодействия

2.  Возможность формирования сообщений

3.  Возможность разбора сообщений

4.  Создание отчёта для пользователя

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

1.  Во время транзакции сообщения могут быть потеряны в сети.

2.  Во время ожидания ответа не пришло ответное сообщение (происходит таймаут).

3.  Во время ожидания ответа пришло ответное сообщение, но при синтаксическом анализе выявилась ошибка.

4.  Во время ожидания ответа пришло ответное сообщение, синтаксический анализ прошел успешно, но ответ не совпадает с ожидаемым сообщением (при семантическом анализе выявилась ошибка).

5.  Во время ожидания ответа пришло ответное сообщение, синтаксический анализ и семантический анализ прошли успешно.

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

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

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

1.  ISO 8583 Host to Host Interface, Версия 1.8, Спецификации внешних интерфейсов, Документ БПЦ, М,2002

2.  Java, http://www. java. /

3.  NetBeans IDE, http://beans. org/kb/index. html

4.  Программный интерфейс сокетов для Java, http://www. *****/data/213/vol12/ch5.html

5.  CPN Tools, http://www. daimi. au. dk/CPNTools/