стема с помощью инструментов генерации кода, входящих в систему ТАТ, собираются в исполняемые модули. На этом этапе также осуществляется конфигурирование создаваемых тестовых наборов и их распределение в рамках предоставляемой облачной инфраструктуры. Далее запускается процесс тестирования, в рамках которого тестовый набор взаимодействует с системой, и полученные результаты отправляются в узел хранения данных. Из него они могут быть извлечены пользователем или системой при необходимости дальнейшей обработки и анализа.
В рамках совместной научно-исследовательской работы студентов и научных коллективов кафедры телематики и кафедры ИУС Политех-
нического университета создается инфраструктура для управления вычислительными ресурсами ИТК СПБГПУ и развертывание на ней программных комплексов, связанных с верификацией и тестированием многокомпонентных систем. Предложенная реализация модели SaaS по организации сервиса наукоемких вычислений позволяет обеспечить потребности научных коллективов Политехнического университета в вычислительных ресурсах без дополнительных затрат на программное обеспечение и аппаратные средства. Система полностью удовлетворяет требованиям информационной безопасности и обеспечивает разграничение доступа, являясь при этом универсальным и масштабируемым вычислительным средством.
списокл
1. Лукашин, А.А. Методы и средства построения распределенной вычислительной среды для решения наукоемких задач [Текст] / А.А. Лукашин, И.А. Рощуп-кин // XXXIX неделя науки СПбГПУ; Матер. Всерос. межвуз. науч.-техн. конф. студентов и аспирантов, 6-11.12.2010. -Ч. XV, ф-т при ЦНИИ робототехники и технической кибернетики. -СПб.: Изд-во Политехн. ун-та, 2010. -С. 13-15.
2. Заборовский, В.С. Архитектура системы разграничения доступа к ресурсам гетерогенной вычислительной среды на основе контроля виртуальных соединений [Текст] / В.С. Заборовский, А.А. Лукашин, С.В. Купреенко, В.А. Мулюха // Междунар. науч. конф. Параллельные вычислительные технологии. -Челябинск: Изд. центр ЮУрГУ, 2011. -730 с.; [Электронный ре-
сурс]/ Режим доступа: http://omega.sp.susu.ac.ru/books/ conference/PaVT2011
3. Заборовский, В.С. Многоядерная вычислительная платформа для высокопроизводительных межсетевых экранов. Высокопроизводительные вычислительные системы [Текст] / В.С. Заборовский, А.А. Лукашин, С.В. Купреенко // Матер. VII Междунар. науч. молодежной школы. -Таганрог: Изд-во ТТИ ЮФУ, 2010. -336 с.
4. Лукашин, А.А. Система для реализации распределенных вычислений на основе облачной архитектуры [Текст] / А.А. Лукашин, Б.В. Тютин // Технологии Microsoft в теории и практике программирования. -СПб.: Изд-во Политехн. ун-та, 2011. -С. 101-102.
УДК 004.415
А.О. Веселов, А.С. Иванов, Б.В. Тютин, В.П.Котляров
автоматическая настройка тестового окружения телекоммуникационных проектов
Тестирование, являющееся на сегодняшний день неотъемлемой частью любого современного процесса промышленной разработки программного обеспечения, обычно состоит из целого набора активностей, одна из которых - настройка тестового окружения на взаимодействие с тестируемой системой и ее компонентами.
Процесс настройки окружения в телекоммуникационных системах зачастую бывает достаточно сложен, занимает значительную часть времени и, в случае ручной настройки, может служить дополнительным источником ошибок тестирования. Изменения в интерфейсах тестируемой системы влекут за собой необходимость
4
Научно-технические ведомости СПбГПУ 4' 2011 Информатика. Телекоммуникации. Управление
переконфигурирования тестового окружения.
В статье предложен подход, позволяющий автоматизировать данный процесс, решив тем самым указанные проблемы и сократив материальные и временные затраты на тестирование.
Требования к проектированию тестируемой системы
Рассматриваемый подход к автоматизации предполагает наличие определенного процесса и правил создания тестируемой телекоммуникационной системы:
система создается в виде конечно-автоматных моделей на языке SDL [1], либо UML [2];
внешние интерфейсы системы описываются при помощи специального Языка описания интерфейсов, позволяющего определить структуру входящих и исходящих сообщений.
Наличие специализированного Языка описания интерфейсов позволяет не только в удобной и понятной форме описывать структуру сообщений, которые использует тестируемая система для взаимодействия с внешним миром, но и генерировать их описания в формате SDL/UML сигналов и их С++ аналогов.
На начальном этапе реализации системы на Языке описания интерфейсов задаются элементарные составляющие параметров сигналов (data units). Затем, на основе data units составляются описания сигналов. Из наборов сигналов формируются интерфейсы. На их основе при помощи специальных скриптов генерируются SDL/UML сигналы и типы данных их параметров, а также их C++ аналоги. Кроме этого, возможна генерация С++ кода, отвечающего за сериализацию полученных структур данных из объектного представления в строку и десериализацию из строкового представления в объектное. Последнее является особенно важным, т. к. позволяет автоматически формировать сигналы, непосредственно отправляемые по сокетам, в требуемой нотации, а также распознавать входящие сигналы и автоматически получать их объектное представление.
Сгенерированные SDL/UML описания используются при дальнейшем проектировании логики работы самой системы. При этом допускается использование также и других типов данных и сигналов внутри системы, но все взаимодействия с внешним окружением должны обязательно описываться в терминах сигналов, полученных на
этапе генерации из описания на Языке описания интерфейсов.
На основе SDL/UML модели, построенной с учетом указанных правил, возможна автоматическая генерация целевого кода системы. На практике таким языком является C++ [3-5].
Система, сгенерированная таким образом, будет состоять из двух основных частей:
ядра системы - ее логики в конечно-автоматном представлении на целевом языке, сгенерированной на основе SDL/UML модели;
внешних интерфейсов системы, а также методов сериализации и десериализации сообщений, сгенерированных на основе описаний на Языке описания интерфейсов.
Система тестирования
Система тестирования представляет собой генератор кода тестового окружения на основе тестовых сценариев, конфигурационного XML файла и целевого кода, отвечающего за сериа-лизацию/десериализацию сообщений, отправляемых/получаемых через внешние интерфейсы окружения.
Тестовые сценарии представляются в формате диаграмм MSC (Message Sequence Charts) [6]. Пример MSC диаграммы представлен на рис. 1.
Конфигурационный файл предоставляется в формате XML, в нем задается следующая информация о тестовом окружении:
тип используемых сокетов (IP (TCP/UDP) / IPC (STREAM/DATAGRAM));
описание сигналов и их параметров; код инициализации тестового окружения, исполняемый при запуске всего тестового набора;
код, исполняемый при завершении тестового набора;
код, исполняемый в начале каждого теста; код, выполняемый в конце каждого теста; время ожидания входящих сообщений; код, отвечающий за распознавание сигналов; описание инстанций MSC диаграмм и их интерфейсов;
формат лог файлов; разделитель входящих сообщений. Код, отвечающий за сериализацию/десериа-лизацию, реализует функционал преобразования объектного представления сигналов в строковое и обратно.
ТАТ SUT
Get Con fi q Req u est
(.LOAD GENERATING PARAMETERS.) GetConfiqResponse
(.LOAD GENERATING PARAMETERS,SUCCESS,LOAD GENERATING PARAMETERS:(.2,UNIFORM,2,UNIFORMS,UNIFORMS,UNIFORM.).) REGISTER MSG
(.'SIP/2.0'.), (. (. T1A P25 SG, (. '192.168.168.2', 1.).), 0 .), 'ACK,BYE,CANCEL,INVITE,REGISTER,MESSAGE,OPTIONS', 86400 StatusMessaqe
(.CONTROL STATUS, CONTROL STATUS:(.TG REGISTRATION LOAD STARTED, TG REGISTRATION LOAD STARTED'.).) ControlMessaqe
(.STOP TG REGISTRATION LOAD.) StatusMessaqe
(.CONTROL STATUS, CONTROL STATUS:(.TG REGISTRATION LOAD STOPPED, TG REGISTRATION LOAD STOPPED1.).) ControlMessaqe
(.DEREGISTER ALL REGISTRATION TRAFFIC TG.) StatusMessaqe
(.CONTROL STATUS:(.DEREGISTER ALL REGISTRATION TRAFFIC TG COMPLETED,".).)
Рис. 1. Пример MSC диаграммы
Подход к автоматизации настройки окружения
Подход к автоматизации настройки тестового окружения проиллюстрирован на рис. 2.
Сама тестируемая система требует наличия описания интерфейсов взаимодействия с внешним миром, в этих описаниях нуждается также и тестовое окружение. Рассматриваемый подход предполагает, что это описание создается единожды и затем используется как для системы, так и для окружения.
Основная идея подхода заключается в следующем:
1) переиспользование структур данных, являющихся С++ аналогами сигналов, и методов их сериализации/десериализации, полученных на этапе генерации самой системы, при создании тестового окружения;
2) генерация конфигурационного файла тестового окружения на основе описания интерфейсов и SDL/UML модели тестируемой системы.
Наиболее значимые достижения первого
Конечно-автоматная модель системы на SDL/UML
Описание внешних Конфигурационный
интерфейсов файл окружения
на Языке описания —►
интерфейсов
Ядро системы (логика работы)
Методы сериализации / десериализации
Методы сериализации / десериализации
Логика тестов
Рис. 2. Автоматизация конфигурирования окружения
4
Научно-технические ведомости СПбГПУ 4' 2011 Информатика. Телекоммуникации. Управление
пункта - возможность манипулировать одними и теми же структурами данных как на стороне самой системы, так и на стороне тестового окружения, а также обеспечение прозрачности механизма обмена данными между ними без необходимости дважды описывать внешние интерфейсы.
Автоматическая генерация конфигурационного файла позволяет избежать ручной работы, а также связанных с этим ошибок при его создании и изменении. Для тех разделов конфигурационного файла, которые не являются проектно-зависимыми (например, формат лог файлов), берутся значения по умолчанию. При необходимости изменить какие-либо из автоматически заданных настроек создается дополнительный файл, в котором эти настройки переопределяются вручную, и далее, при генерации кода тестового окружения используются оба файла с указанием приоритета.
Результат применения описанных идей - автоматическое получение конфигурации окруже-
ния на основе данных, имеющихся в самой тестируемой системе.
Практика повторного создания внешних интерфейсов для системы тестирования, имеющая место при традиционном подходе, является в действительности избыточной и не приводит к повышению качества как целевого программного продукта, так и самого процесса тестирования. Поэтому видится перспективным подход, основанный на описании внешних интерфейсов на специальном проблемно-ориентированном языке с последующей генерацией целевого кода, который в дальнейшем используется как в тестируемой системе, так и в тестовом окружении.
Рассмотренный подход позволяет не только сократить трудоемкость и временные затраты на процесс настройки тестового окружения телекоммуникационных систем, но и снизить количество ошибок тестирования за счет исключения ручного труда.
список литературы
1. ITU-T Recommendation Z.100, CCITT Specification and Description Language (SDL), 03/93. [Электронный ресурс].
2. OMG Unified Modeling Language [Электронный ресурс] / Режим доступа: http://www.omg.org/spec/ UML/2.2
3. Веселов, А.О. Автоматизация тестирования телекоммуникационных приложений [Текст] / А.О. Веселов, А.С. Иванов, Б.В. Тютин, В.П. Котляров // Научно-технические ведомости СПбГПУ -2009. -№ 3.
4. Baranov, S. Leveraging UML to deliver correct
telecom applications in UML for Real: Design of Embedded Real-Time Systems [Текст] / S. Baranov, C. Jervis, V. Kotlyarov [et al.]; by ed. L. Lavagno, G. Martin, B. Selic. -Kluwer Academic Publishers, 2003. -P. 323-342
5. Воинов, Н.В. Верификация и автоматизация тестирования UML проектов [Текст] / Н.В. Воинов, В.П. Котляров // Научно-технические ведомости СПбГПУ -2009. -№ 3.
6. ITU Recommendation Z.120. Message Sequence Charts (MSC), 11/99. [Электронный ресурс].
УДК 377.121.427
Д.Н. Королев
интеграция расписания учебных курсов факультета с порталом sharepoint
Задача любой организации - предоставить единый структурированный доступ ко всей информации для сотрудников [1]. Математико-механический факультет Санкт-Петербургского
государственного университета для этих целей разворачивает портал SharePoint 2010. Структура и содержание портала в первую очередь ориентированы на студентов и преподавателей. В связи с