авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ

Pages:   || 2 | 3 | 4 | 5 |   ...   | 6 |
-- [ Страница 1 ] --

Министерство образования и наук

и Российской Федерации

Комитет по науке и высшей школе Правительства Санкт-Петербурга

Комитет экономического развития, промышленной политики

и торговли Правительства Санкт-Петербурга

Санкт-Петербургский научный центр РАН

Комиссия по образованию и науке Законодательного Собрания Санкт-Петербурга

Общероссийская общественная организация «Национальная система развития

научной, творческой и инновационной деятельности молодежи России»

Санкт-Петербургский академический университет – научно-образовательный центр нанотехнологий РАН Ассоциация предприятий «Полибизнес»

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ XXXIX НЕДЕЛЯ НАУКИ СПбГПУ Материалы международной научно-практической конференции 6 – 11 декабря 2010 года Часть VIII ФАКУЛЬТЕТ ТЕХНИЧЕСКОЙ КИБЕРНЕТИКИ Санкт-Петербург Издательство Политехнического университета Министерство образования и науки Российской Федерации Комитет по науке и высшей школе Правительства Санкт-Петербурга Комитет экономического развития, промышленной политики и торговли Правительства Санкт-Петербурга Санкт-Петербургский научный центр РАН Комиссия по образованию и науке Законодательного Собрания Санкт-Петербурга Общероссийская общественная организация «Национальная система развития научной, творческой и инновационной деятельности молодежи России»

Санкт-Петербургский академический университет – научно-образовательный центр нанотехнологий РАН Ассоциация предприятий «Полибизнес»

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ XXXIX НЕДЕЛЯ НАУКИ СПбГПУ Материалы международной научно-практической конференции 6 – 11 декабря 2010 года Часть VIII ФАКУЛЬТЕТ ТЕХНИЧЕСКОЙ КИБЕРНЕТИКИ Санкт-Петербург Издательство Политехнического университета XXXIX Неделя науки СПбГПУ : материалы международной научно практической конференции. Ч. VIII. – СПб. : Изд-во Политехн. ун-та, 2010. – 176 с.

В сборнике публикуются материалы докладов студентов, аспирантов, молодых ученых и сотрудников Политехнического университета, вузов Санкт-Петербурга, России, СНГ, а также учреждений РАН, представленные на научную конференцию, проводимую в рамках ежегодной XXXIX Недели науки Санкт-Петербургского государственного политехнического университета. Доклады отражают современный уровень научно-исследовательской работы участников конференции в области фундаментальных, технических, экономических, социальных и гуманитарных наук.





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

Печатается по решению редакционно-издательского совета Санкт-Петербургского государственного политехнического университета.

Под общей редакцией проректора по научной работе СПбГПУ А.И.Рудского Редакционная коллегия факультета технической кибернетики:

И. Г. Черноруцкий (декан факультета), С. А. Фёдоров (отв. ред.), В. Ф. Мелехин, А. С. Филиппов, В. Н. Козлов, А. Н. Кривцов, В. А. Цветков, Ю. Б. Сениченков, П. Д. Зегжда, Л. В. Бабко, В. М. Ицыксон, А. Н. Фирсов, И. М. Семёнов, Т. К. Кракау, Г. Ф. Малыхина, Ю. Г. Карпов, В. В. Платонов, А. Е. Васильев, М. И. Глухих, А. А. Ефремов, Н. И. Беляева, К. К. Семёнов, П. В. Трифонов, Д. А. Москвин © Санкт-Петербургский государственный политехнический университет, ФАКУЛЬТЕТ ТЕХНИЧЕСКОЙ КИБЕРНЕТИКИ СЕКЦИЯ «КОМПЬЮТЕРНЫЕ СИСТЕМЫ И ПРОГРАММНЫЕ ТЕХНОЛОГИИ»

Подсекция «Автоматика и управление»

УДК 004. Д. В. Горбунов (аспирант, каф. КСиПТ), А. Г. Леонтьев, к. т. н., доц.

РАЗРАБОТКА СИСТЕМЫ ПЛАНИРОВАНИЯ ЛОКОМОЦИЙ ШАГАЮЩИХ РОБОТОВ НА ОСНОВЕ ПРИНЦИПОВ САМООБУЧЕНИЯ В работе предложена модификация структуры системы планирования траектории дви жения мобильного робота шагающего типа, основанной на применении принципов самообу чения и самоидентификации.

Самоидентификация позволяет роботу не только получать достоверную модель своей натурной реализации, но и адаптироваться к возникающим изменениям в конструкции.

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

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

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

В настоящее время автором реализованы компьютерные модели шагающего робота, тактического и исполнительного уровня системы управления. Моделирование производится с использованием библиотеки компьютерных моделей ODE. Для упрощения последующего перехода на реальный объект управления унифицирован интерфейс между тактическим и исполнительным уровнями. Он позволяет проводить обмен командами управления положе нием, фиксировать показания датчиков обратной связи. Следует отметить, что компьютерное моделирование, снижая трудоемкость экспериментов, в ряде случаев не позволит учесть не которые физические эффекты в реальном оборудовании робота.





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

УДК 004. Р. Н. Махмутов (6 курс, каф. КСиПТ), Д. А. Мингалимов (6 курс, каф. КСиПТ), М. М. Шилов, ст. преп.

РАЗРАБОТКА ИМИТАТОРА КОНТРОЛЬНО-КОРРЕКТИРУЮЩИХ СТАНЦИЙ НАВИГАЦИОННОЙ СИСТЕМЫ В результате выполнения работы были созданы инструментальные программно аппаратные имитационные средства, предназначающиеся для отладки примников сигналов навигационной системы средневолнового диапазона, а также выработана соответствующая методика отладки таких приемников.

В настоящее время наблюдается активное внедрение глобальных навигационных спут никовых систем (ГНСС) в различные сферы деятельности человека: научные исследования, промышленное производство, сельское хозяйство, военный и гражданский государственный и частный транспорт. Это происходит благодаря доступности и высокой точности сигналов ГНСС. Однако существует ряд задач, требующих повышения точности и наджности опре деления местоположения: морская навигация при движении вблизи портов, речная навига ция, взлт и посадка воздушного транспорта, а также автоматическое управление наземным транспортом.

Одним из способов повысить точность определения местоположения является исполь зование данных от дифференциальных подсистем. Данные, принимаемые от контрольно корректирующих станций (ККС) навигационных систем в средневолновом диапазоне радио сигналов, позволяют повысить точность в несколько раз – с 15-20 метров до 1-5 метров. Для прима данных ККС используются дополнительные примники сигналов ККС, передающие принятые поправки в примники сигналов ГНСС. В настоящее время наблюдается увеличе ние потребительского спроса на примники сигналов ККС. Разработка подобной аппаратуры требует настройки и отладки по сигналам заданных частот, заданному виду модуляции и ко дирования сигнала. При этом в процессе отладки необходимо обеспечить непрерывность прима сигналов различных ККС и повторяемость принимаемых данных. На практике в настоящее время ККС не обеспечивают непрерывную передачу данных, и зачастую сигнал от ККС отсутствует. Кроме того, в определнной местности возможен прим сигналов лишь от нескольких ККС и отсутствует возможность наладки программно-аппаратного обеспече ния примников сигналов далеко расположенных ККС.

Для решения задач отладки программно-аппаратного обеспечения примников сигна лов ККС в данной работе предлагается использование имитатора сигналов ККС, рассматри вается его аппаратная реализация и приводится методика работы с имитатором.

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

УДК 004.415. Т. А. Кириакова (5 курс, каф. КСиПТ), М. М. Шилов, ст. преп.

Т. А., Шилов М. М. Разработка резидентного транслятора для встраиваемых систем РАЗРАБОТКА РЕЗИДЕНТНОГО ТРАНСЛЯТОРА ДЛЯ ВСТРАИВАЕМЫХ СИСТЕМ В данной работе создана резидентная система трансляции для распространнного се мейства микроконтроллеров MCS51 и разработаны принципы е применения, что имеет практическое значение при необходимости модификации программного обеспечения встраи ваемых систем на территориально удалнных объектах.

В настоящее время системы на основе микроконтроллеров получили широкое распро странение. Зачастую возникает необходимость внесения изменений в программу функцио нирования встраиваемой системы или конфигурирования периферийных устройств. Для ре шения подобных задач на целевой системе требуется использование инструментальной ЭВМ, однако ее оперативное подключение к целевой системе в ряде случаев невозможно.

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

Существующие на данный момент трансляторы представляют собой либо самостоя тельные программные продукты, либо являются частью сред разработки, но большинство относятся к кроссовым системам, т.е. исполняются на инструментальной ЭВМ. В ходе ис следования рынка резидентных транслирующих систем для микроконтроллеров было найде но несколько решений, использующих резидентные трансляторы – такие как uClinux, PicPut er и др. Однако они не поддерживают рассматриваемое в работе и широко распространнное семейство микроконтроллеров MCS-51. Таким образом, существует необходимость разра ботки резидентного транслятора для данного семейства микроконтроллеров.

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

Принципы работы транслирующей системы:

перевод системы в сервисный режим;

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

выполнение трансляции и отладка исходного кода;

перенесение полученных машинных кодов в требуемый участок памяти;

исполнение полученной программы.

Исходная программа сохраняется в виде ASCII-последовательностей, что позволяет в дальнейшем просматривать и редактировать данную программу.

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

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

УДК 004. А. И. Мурго (5 курс, каф. КСиПТ), А. В. Донцова (4 курс, каф. КСиПТ), А. Е. Васильев, к. т. н., доц.

ИНСТРУМЕНТАЛЬНЫЙ КОМПЛЕКС РАЗРАБОТКИ СЕТЕВЫХ ПОДСИСТЕМ ETHERNET-ОБМЕНА ДЛЯ ВСТРАИВАЕМЫХ МИКРОКОНТРОЛЛЕРНЫХ УСТРОЙСТВ В данной работе был разработан программно-аппаратный комплекс, обеспечивающий поддержку проектирования подсистем сетевого и межсетевого обмена данными с микро контроллерными узлами управления посредством технологии Ethernet.

Построение единой информационной инфраструктуры промышленных предприятий, обеспечивающей совместную работу программных и аппаратных средств систем управления предприятием (АСУП) и систем управления технологическим процессом (АСУТП), стано вится все более актуальной задачей. Соединение этих систем позволит объединить разные виды коммуникаций, производственное оборудование и управляющие компьютеры в единую информационно-управляющую среду. В промышленных сетях АСУТП применяются десятки коммуникационных технологий и протоколов (Profibus, DeviceNet, Modbus Plus и др.). Со временные АСУП используют для коммуникаций сети Ethernet и протоколы TCP/IP, а ин формационные системы — технологии Internet. В связи с этим, в последнее время ведутся активные работы (в частности группами ODVA, Echelon, Schneider Electric и др.) по внедре нию технологии Ethernet на производстве, применению типовых сетевых протоколов для ин теграции АСУП и АСУТП, а также разрабатываются специальные прикладные протоколы на основе Ethernet для применения в промышленности (PROFINET, EtherNet/IP, EtherCAT и др.).

В связи с перечисленными выше тенденциями возникает потребность предоставить в распоряжение разработчика микроконтроллерных локальных систем управления (ЛСУ) средства, обеспечивающие возможность создания подсистем доступа в сеть Ethernet со сто роны ЛСУ, и обмен данными между ними.

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

Для достижения указанной цели необходимо решить следующие задачи:

• провести анализ особенностей обмена данными в распределенных системах управле ния на основе микроконтроллерных средств;

• определить структурные и технические подходы к обеспечению микроконтроллерных систем средствами сопряжения с вычислительными сетями;

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

В результате работы был создан комплекс средств поддержки разработки подсистем распределенного обмена данными для микроконтроллеров семейства MCS-51 посредством технологии Ethernet, который, при соответствующем расширении библиотеки готовых реше ний, пригоден для большинства применяемых в ЛСУ микроконтроллеров.

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

УДК 004.057. А. В. Новиков (5 курс, каф. КСиПТ), Н. Н. Балтруков, к. т. н., доц.

РАЗРАБОТКА СПЕЦИАЛИЗИРОВАННЫХ ВЕРСИЙ ПРОТОКОЛОВ ПЕРЕДАЧИ ДАННЫХ ДЛЯ СЕМЕЙСТВА ПРИЕМОПЕРЕДАТЧИКОВ CY694X В данной работе созданы специализированные версии протоколов беспроводной связи, ориентированные на семейство микроконтроллеров CY694X, обеспечивающие повышение надежности и скорости передачи данных в беспроводных сетях с топологией «точка–точка»

и «точка – много точек».

Появление технологии PRoC позволило обеспечить работу беспроводной связи и функ ционирование аналоговой и цифровой периферии на одном кристалле. Обеспечить надеж ность обмена данными в системах с применением приемопередатчиков PRoC для микро контроллеров семейства CY694X был призван протокол WirelessUSB 1.1.

Использование протокола WirelessUSB 1.1 требует около 80% объема 8-килобайтного ПЗУ микроконтроллера, что существенно сокращает возможности по использованию кри сталлов вышеназванного семейства. Кроме того, данный протокол не гарантирует доставку пакетов в топологии «точка – много точек», что накладывает ограничение на количество взаимодействующих устройств в сети.

Ключевыми решениями, принятыми при модификации протоколов «точка–точка» и «точка – много точек», нацеленными на повышение быстродействия, являются использова ние принципиального более простого алгоритма верификации пакетов, а также использова ние динамического перевода устройства в спящий режим и возврата из него. Основным ре шением, нацеленным на снижение занимаемого объема памяти, является отказ от использо вания алгоритмов привязки и соединения устройств, основанных на измерении уровня мощ ности принимаемого сигнала (RSSI). Описанные решения позволили сократить объем памя ти, занимаемой программной реализацией протокола «точка – точка», на 35-45% и повысить скорость передачи данных на 10-15% в сравнении с протоколом WirelessUSB 1.1.

Повышение надежности передачи данных между устройствами в топологии «точка – много точек» было достигнуто за счет использования разработанной специализированной версии протокола, заголовки пакетов которого включают в себя уникальный заводской иден тификатор, что позволяет доставлять данные именно требуемому адресату. Повышение по мехозащищенности было достигнуто за счет применения кодирования данных по алгоритму Хемминга. Таким образом, для топологии сети «точка – много точек» удалось до 3 раз сокра тить потери пакетов при передаче данных и сократить требуемый объем памяти на 20-25%.

УДК 004. И. Б. Хромов (5 курс, каф. КСиПТ), М. М. Шилов, ст. преп.

РАЗРАБОТКА И ИССЛЕДОВАНИЕ СРЕДСТВ И МЕТОДОВ МЕЖПРОЦЕССОРНОГО ВЗАИМОДЕЙСТВИЯ ПО ИНТЕРФЕЙСУ USB В данной работе разрабатываются программно-аппаратные средства и методология ор ганизации лабораторного практикума для детального изучения интерфейса USB и принципов его работы.

В настоящее время универсальная последовательная шина USB получила широкое рас пространение благодаря системе Plug&Play, а также возможности передавать данные на больших скоростях, что позволяет использовать данный интерфейс для подключения широ кого класса устройств.

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

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

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

Для генерации тестовых посылок, используемых в процессе отладки драйвера, на ин струментальной ЭВМ функционирует специальная программа.

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

УДК 004. М. Е. Труб (5 курс, каф. КСиПТ), Н. Н. Балтруков, к.т.н., доц.

МОДЕЛИРОВАНИЕ СХЕМОТЕХНИЧЕСКИХ РЕАЛИЗАЦИЙ ТРАНСКОНДУКТИВНЫХ УСИЛИТЕЛЕЙ В ИНТЕГРАЛЬНОМ ИСПОЛНЕНИИ В работе выполнена разработка специализированных моделей транскондуктивных уси лителей, обеспечивающих повышение степени соответствия моделей их натурным схемо техническим реализациям В аналоговой и цифровой микроэлектронике зачастую возникает необходимость в применении устройств, осуществляющих преобразование «напряжение – ток» с высокой точностью. Использование токового кодирования сигналов обладает рядом преимуществ, в частности, возможностью работы при пониженных напряжениях, меньшей потребляемой мощностью и расширенным частотным диапазоном. Устройства, выполняющие преобразо вание «напряжение – ток», называются транскондуктивными усилителями (ТУ).

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

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

В работе рассмотрены базовые принципы реализации ТУ и схемотехнические приемы улучшения их характеристик, произведен выбор типовой схемы ТУ, расчет ее параметров для заданной проектной нормы интегральной технологии КМОП и исследование ее работы в различных режимах, проанализированы возможности реализации на основе ТУ элементар ных аналоговых устройств – усилителей, интеграторов, эквивалентов резисторов.

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

Для выбранной типовой схемы ТУ была разработана методика инженерного расчета, основанная на характеристиках полевых транзисторов для заданной проектной нормы. Для исследования схемотехнической реализации ТУ проводилось моделирование е работы с ис пользованием САПР SPB 16.2 (Cadence Allegro) и моделей интегральных МОП-транзисторов BSIM3v3, предоставляемых компанией MOSIS, при минимальной длине канала 0,18 мкм.

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

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

Подсекция «Вычислительная техника и программные технологии»

УДК 004.432.2: 004.423. М. А. Беляев (6 курс, каф. КСиПТ), В. А. Цесько (асп. каф. КСиПТ) ИНФРАСТРУКТУРА ДЛЯ СТАТИЧЕСКОГО АНАЛИЗА ПРОГРАММ НА БАЗЕ КОМПИЛЯТОРА LLVM В ходе данной работы были получены новые научные знания об алгоритмах вывода ти пов, статическом анализе программ, строении компилятора LLVM и его артефактов.

Система компиляции LLVM является достаточно новой перспективной системой ком пиляции различных языков, основанной на двойной компиляции программы – с языка ис ходных кодов в байткод виртуальной машины LLVM и из байткода в машинный код целевой платформы. С помощью такого подхода реализуется возможность компиляции различных языков под различные платформы независимо. Кроме того, в процесс компиляции свободно встраиваются средства анализа и/или оптимизации исходного кода, работающие с байткодом виртуальной машины. Упрощнная схема процесса компиляции в LLVM представлена на рис. 1.

Рис. 1. Упрощенная схема процесса компиляции программы в компиляторе LLVM В библиотеки, поставляемые с компилятором LLVM, включены функции и классы, позволяющие писать алгоритмы анализа и оптимизации на языке С++ и прямо встраивать их в процесс компиляции. Также в наличии привязки (bindings) части данных функций к языкам C и OCaml.

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

Целью данной работы является создание инфраструктуры, позволяющей производить такой анализ на языке Haskell.

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

В результате такого разбора должно быть получено представление, которое можно ис пользовать для анализа (а в перспективе – и оптимизации) программы.

Байткод LLVM (также называемый биткодом в документации разработчиков) пред ставляет собой SSA-представление программы в рамках некоторой регистровой виртуальной машины с бесконечным числом регистров. Программа делится на модули, модули – на функции, функции – на базовые блоки, а базовые блоки – на инструкции.

Формат, в котором хранится байткод, называется форматом битового потока (bitstream) и состоит из записей, структура которых определяется либо описанием формата, либо самим файлом. Записи формируют иерархическую структуру блоков файла, которые и представля ют различные иерархические единицы байткода LLVM. Сам формат битового потока являет ся независимым от LLVM и пригоден для хранения любых данных, причем, кроме четырх стандартных типов записей с оговоренными структурами и одного типа блока с информаци ей, все остальные записи и блоки в файле определяются самим файлом.

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

Анализ, которому предполагается подвергнуть байткод LLVM, является статическим (так как использует только байткод) и предназначен для выявления ошибок, связанных с си стемами типов. Такой анализ в первую очередь предназначен для языка С и имеет своей це лью сделать программы на данном языке более безопасными с точки зрения типов. Актуаль ность данной задачи для данного языка следует из большого числа ошибок, которые допус каются при приведении типов в данном языке.

Таким образом, для достижения поставленной цели решаются следующие задачи:

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

Разбор двоичных файлов с биткодом и приведение его к созданному представле нию;

Разработка методов анализа для выявления ошибок систем типов;

Реализация этих методов.

Часть из этих задач решена, часть предстоит решить в ходе дальнейшей работы.

УДК 004.432.2: 004.415. М. А. Беляев (6 курс, каф. КСиПТ), В. А. Цесько (асп. каф. КСиПТ) АНАЛИЗ ВОЗМОЖНОСТЕЙ СТАНДАРТА С++0X ДЛЯ КОНЦЕПТ-ОРИЕНТИРОВАННОГО ДИЗАЙНА ПРИЛОЖЕНИЙ В ходе работы были получены новые знания об обобщнной парадигме программиро вания, е применении посредством концептов в С++, возможностях стандарта С++0x, а так же их применимости для работы с концептами. Были предложены новые методы проектиро вания приложений с использованием концептов.

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

Как правило, такие требования формально описываются в спецификации на описание данных или алгоритмов и группируются в виде наборов требований, называемых концепта ми. Для использования какого-либо алгоритма с собственным типом данных программист должен создавать этот тип, опираясь на концепт, описанный в спецификации. Примерами концептов в стандартной библиотеке STL могут служить понятия «контейнер» и «итератор», описанные в стандарте языка С++. К сожалению, язык С++ не позволяет автоматизировать проверку пользовательского типа данных или алгоритма на соответствие заявленному кон цепту. Отчасти это решается тем, что некорректный тип данных, скорее всего, вызовет ошибку при компиляции программы, однако, при частичном соответствии этого гарантиро вать нельзя. Это может создавать проблемы при портировании исходного кода (различные реализации даже стандартной библиотеки используют различные особенности используемых в них концептов), изменении используемой библиотеки и некоторых других ситуациях.

Такая автоматизированная проверка (вместе с языком описания концептов) была реа лизована в языке ConceptC++, часть возможностей которого была заявлена в качестве канди датов на включение в новый стандарт языка С++ (С++0x), однако, на данный момент они от клонены и в данный стандарт включены не будут. Также частично реализуют такую провер ку части пакета библиотек Boost (Boost::Type_traits и Boost::Concept_check), которые позво ляют получить некоторую информацию о типе, недоступную обычным образом, а также проверить соответствие концепту типа или алгоритма.

К сожалению, данная реализация, хо тя и создана в соответствии со стандартом и работает на большинстве современных компи ляторов языка, не является достаточно гибкой – так как проверка концептов реализуется в стиле Assert (т.е. процесс компиляции просто останавливается при обнаружении несоответ ствия концепту) и выдаваемые при этом компилятором сообщения не всегда позволяют кор ректно диагностировать проблему. Также существует кандидат на включение в пакет Boost, Boost::Concept_traits, который ставит перед собой цель решить данную задачу более гибким образом – проверка концепта в данной библиотеке является шаблоном-метафункцией, не останавливающей процесс компиляции, а позволяющей использовать результат проверки для изменения процесса генерации кода. К сожалению, данная библиотека не реализует постав ленной задачи – количество проверяемых ей требований невелико.

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

Целью данной работы является анализ того, как можно решить данную задачу (анало гичную поставленной библиотекой Concept_traits), используя текущие наработки в области метапрограммирования посредством шаблонов, а также новые средства, добавленные в стан дарт С++0x. Поскольку новый стандарт пока не является действующим, в первую очередь анализировались те его возможности, которые уже реализованы в современных компилято рах (GCC 6 и Visual Studio 2010), поскольку они имеют низкие шансы быть исключены из стандарта и могут быть проверены экспериментально.

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

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

Это значение можно использовать и в программе, но предполагается его использование в других метафункциях или операторе static_assert для остановки или изменения процесса компиляции.

Фактически, удалось осуществить статическую проверку типов на соответствие кон цепту по всем параметрам, которые можно проверить статически:

Наличие зависимых внутренних типов данных;

Наличие необходимых методов;

Наличие необходимых операторов;

Наличие необходимых открытых членов-данных;

Корректность внешних зависимых типов данных;

Корректность внешних выражений с использованием данного типа.

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

Полученная библиотека была протестирована на современных компиляторах языка С++ - GCC 6.2 и Visual Studio 2010 SDK. Тестирование на других компиляторах в данный момент не проводилось по причине отсутствия у них поддержки необходимых элементов языка.

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

Есть также ряд принципиально не решаемых недостатков библиотеки (во всяком слу чае, найти пути для их решения на данный момент не удалось) – так, если какие-то особен ности типа выполняются для некоторого концепта, но при этом являются скрытыми (напри мер, скрытые методы или скрытые внутренние типы), компилятор Visual Studio считает это ошибкой компиляции. В этом случае предлагается «замаскировать» скрытую функцию, спе циально объявив е реализованной или не реализованной для данного конкретного класса.

При этом данные случаи достаточно редки, т.к. для появления ошибки требуется полное со ответствие объявления данной особенности е скрытой реализации – а это в большинстве случаев и так является ошибкой программиста.

УДК 681. А. В. Богатырев (студ. 5 курс, каф. ВТ, СПб ГУ ИТМО) ), С. В. Богатырев (асп., СПб ГУ ИТМО), В. А. Богатырев, д. т. н., проф. (СПб ГУ ИТМО) НАДЕЖНОСТЬ СИСТЕМ КЛАСТЕРНОЙ АРХИТЕКТУРЫ, ФУНКЦИОНИРУЮЩИХ В РЕАЛЬНОМ ВРЕМЕНИ В работе предложена модель, позволяющая оценить надежность вычислительной си стемы при ее деградации с учетом вероятности обслуживания запросов за время, не превос ходящее заданное пороговое значение.

В рассматриваемой многоуровневой компьютерной системе (центр обработки данных) имеется N типов (по функциональному назначению) серверов. Серверы каждого типа объ единяются в кластерные группы. Объединение серверов в систему организуется на основе многоуровневой структуры, в которой каждая группа серверов подключается к коммуника ционному узлу верхнего уровня (КВУ) через отдельный коммуникационный узел нижнего уровней (КНУ ) [1].

Будем считать заданными: v0i и v1i -средние времена передачи запроса к i-му серверу через коммутационный узел соответственно верхнего и нижнего уровней, v2i. -среднее время выполнения запроса в сервере i-й группы;

p0, (p10, p11,…, p1N), (p20, p21,…, p2N) показатели надежности КВУ, КНУ и серверов соответствующих групп;

интенсивность суммарного по тока запросов ;

( b1, b2, b3,..., bN ) - вероятности (доли) распределения запросов на обслужи N вание в каждую из N групп кластеров -, где 1;

c0, (с10, с11,…, с1N), (с20, с21,…, с2N)– bi i стоимости (затраты на реализацию) КВУ, КНУ и серверов соответствующих групп.

При ограничении допустимого времени ожидания запросов, заданного для каждой группы серверов, вероятность работоспособности системы оценим как [2]:

n0 n1i n2 i N n0 j (i, j, g, s )Cng1i p1gi (1 p1i ) n1i g Cns2 i p2 j (1 p2i ) n2 i s j j s Pc (n) C p (1 p0 ), n0 j1 g1s i 0, if T (i, j, g, s) Tl (i), (i, j, g, s) 1, if T (i, j, g, s) Tl (i), Tl (i) - предельно допустимое среднее время пребывания в системе запросов к i-й группе серверов, T (i, j, g, s) -среднее время пребывания в системе запросов к i-й группе серверов при исправности j узлов КВУ и в i-й группе работоспособности g узлов КНУ и s серверов:

vi 0 v1i v2i T (i, j, g, s).

vb v2i bi N vi 0 bi 1 1i i g s j i Вероятность предоставления услуг для потока функциональных запросов к серверам N типов за время, не превышающее соответственно t0, t1,…,tN, оценим как n0 n1i n2 i N n0 j L(i, s )Cng1i p1gi (1 p1i ) n1i g Cn2 i p2 j (1 p2i ) n2 i s j j s s Pc (n) C p (1 p0 ), n0 j1 g1s i при этом L(i, s) - вероятность того, что в s серверах i-й группы время ожидания не превосхо дит предельно допустимое время ti.

Представляя серверы системой массового обслуживания типа М/М/1 [3] найдем 1 bi )ti.

L(i, s) 1 exp( ( vi s Рассмотрим случай, когда возможны z вариантов входного потока с вероятностями их z a1, a2, a3,..., az, возникновения 1, варианты отличаются интенсивностью запро ai i сов 1, 2, 3,..., z, а доли распределения запросов на обслуживание в N кластеров ( b1, b2, b3,..., bN ) для всех z вариантов не изменяются. В этом случае вероятность предоставле ния услуг для потока функциональных запросов к серверам N типов за время, не превыша ющее соответственно t0, t1,…,tN, оценим как:

n0 n1i n2 i N z n0 j L(k, i, s)Cng1i p1gi (1 p1i ) n1i g j j Pc (n) ak C p (1 p0 ) [ n0 k0 j1 g1s i n2 i s s s C p (1 p2i ), n2 i 2j 1 bi k где L(k, i, s) 1 exp( ( )ti.

vi s Таким образом, предлагаемые модели позволяют оценить:

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

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

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

ЛИТЕРАТУРА:

1. В.А. Богатырев, С.В. Богатырев. Оптимизация структуры многоуровневой резервированной ком пьютерной системы при многовариантности потока запросов // Вестник компьютерных и информа ционных технологий. 2010. № 2. С. 33- 2. В.А. Богатырев, С.В. Богатырев. Объединение резервированных серверов в кластеры высокона дежной компьютерной системы//Информационные технологии. 2009. № 6. С. 41-47.

3. А. Кофман, Р. Крюон. Массовое обслуживание. Теория и приложения.- М. изд-во: Мир, 1965 г. 300 с.

УДК 004.725, 004.738, 004.451.9, 004.414. А. И. Дробинский (6 курс, каф. КСПТ), В. М. Ицыксон, к.т.н., доц.

ИНТЕГРАЦИЯ ЧАСТНЫХ И КОММЕРЧЕСКИХ ОБЛАЧНЫХ ИНФРАСТРУКТУР ДЛЯ ПОСТРОЕНИЯ ОТКАЗОУСТОЙЧИВЫХ СИСТЕМ В процессе выполнения данной работы была разработана архитектура программной си стемы, позволяющая повысить отказоустойчивость отдельных узлов сети. Задача является актуальной, потому как в сети всегда есть уязвимые места, требующие обеспечения допол нительной отказоустойчивости.

В компьютерной сети всегда есть особо важные узлы, которые должны функциониро вать непрерывно, а в случае потери узлом работоспособности она должна быть восстановле на в кратчайшие сроки. Обеспечение работы узлов в таком режиме требует существенных затрат ресурсов как на мониторинг состояния узлов, так и на восстановление работоспособ ности узлов при выходе их из строя. Так же, возникают определнные сложности с вводом в эксплуатацию новых узлов с идентичной функциональностью: требуется закупка оборудова ния, развертывание, настройка, мониторинг и поддержка. Решения данной проблемы можно достигнуть путм использования технологии облачных вычислений, а именно «Инфраструк тура как сервис» (Infrastructure as a Service). Общий вид архитектуры системы представлен на рис. 1: CLC (Cloud controller – контроллер облака) – управляет работой облака, получает ответы от контроллеров кластеров;

CC (Cluster controller – контроллер кластера) – управляет работой кластера, осуществляет запуск виртуальных машин (ВМ) на контроллерах узлов;

NC (Node controller – контроллер узла) – компьютер с установленным гипервизором на котором осуществляется запуск ВМ. Необходимо предварительно создать и настроить образ системы, который будет являться образом критического узла. При старте системы, в облаке будет за пущена ВМ по образу критического узла сети на одной из машин NC_номер.

CLC Public network Cluster 1 Cluster CC_1 CC_ Private network Private network ……. …….

NC_1 NC_N NC_1 NC_N Рис. 1. Общая архитектура системы Во время работы ВМ критического узла на NC, CC осуществляет мониторинг состоя ния узла. При отказе критического узла CC самостоятельно запускает новую ВМ с образом узла сети, а так же осуществляет корректировку маршрутизации для того чтобы внешние об ращения к критическому ресурсу были вновь возможны. При отсутствии собственных ресур сов, запуск новой ВМ будет осуществляться с использованием сервиса Amazon EC2. Для этого образ требуемой системы должен быть предварительно зарегистрирован в Amazon.

При освобождении собственных ресурсов узел будет вновь перенесн в локальное облако, а ВМ на стороне Amazon будет остановлена.

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

ЛИТЕРАТУРА:

1. Eucalyptus documentation, http://open.eucalyptus.com/wiki 2. Xen Hypervisor 3.0 Documentation, http://www.xen.org УДК 681. И. Ю. Голубев (асп. каф. ВТ, СПбГУ ИТМО), В. Ф. Беззубов (асп. каф. ВТ, СПбГУ ИТМО), В. А. Богатырев, д. т. н., проф., СПбГУ ИТМО ОРГАНИЗАЦИЯ МЕЖПРОЦЕССОРНОГО ОБМЕНА ОТКАЗОУСТОЙЧИВОГО ВЫЧИСЛИТЕЛЬНОГО КОМПЛЕКСА В работе получены новые научные знания о повышении эффективности работы дубли рованных (двухмашинных) вычислительных комплексов (ВК) с различными вариантами ор ганизации взаимосвязи полукомплексов, направленной на обеспечение восстановления вы числительного процесса (ВВП) после возникновения отказов.

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

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

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

работоспособного состояния ВК от времени их функционирования;

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

эффективности ВК по времени обработки запросов от интенсивности поступления запро сов.

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

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

ЛИТЕРАТУРА:

1. В. Ф. Беззубов. Сравнительный анализ методов обмена в многопроцессорных системах // Вестник компьютерных и информационных технологий. 2006. № 4. С. 51-56.

2. А. М. Богатырев. Оценка надежности и оптимальное резервирование кластерных компьютерных систем // Приборы и системы. Управление, контроль, диагностика. 2006. № 10. С. 18-21.

3. А.с. СССР. № 1462341 G 06 F 15/16. Устройство для сопряжения ЭВМ. / В. Ф. Беззубов.

УДК 004.738.52:004. А. Н. Кузнецов (6 курс, каф. КСиПТ), Е. В. Пышкин, к. т. н., доц.

ВИЗУАЛЬНОЕ РЕДАКТИРОВАНИЕ ЗАПРОСОВ К ПОИСКОВОЙ СИСТЕМЕ С ИСПОЛЬЗОВАНИЕМ ОНТОЛОГИИ WORDNET В работе предлагается метод повышения эффективности использования существующих текстовых поисковых Web систем путем представления пользовательского запроса в виде сети термов и интерактивного помощника, осуществляющего навигацию по онтологии WordNet (в текущей реализации – для английского языка).

Основная проблема, мешающая эффективному поиску текстовой информации, заклю чается в принципиальном отличии представления пользовательского поискового запроса от способа его интерпретации [1]. Человек, составляя запрос, оперирует семантическими еди ницам;

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

Многие поисковые системы работают по принципу «строка запроса на входе, множе ство ссылок на выходе». При этом строка запроса имеет свой синтаксис, содержащий опера торы И, ИЛИ и др. Кроме того, результаты поиска существенно зависят от использованных слов, особенно если слова имеют омонимы или омографы.

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

Рис. 1. a – узел AND;

б – узел OR;

в – добавить узел OR;

г – добавить узел AND;

д – интерактивный помощник;

е – панель действий для синонима На рис. 1 представлен разработанный альтернативный интерфейс к поисковой системе Google. Интерфейс реализован в виде HTML-страницы с двумя фреймами. Верхний фрейм содержит JavaFX апплет, выполняющий функцию помощи при составлении запроса. Резуль таты поиска отражаются в нижнем фрейме. Такой подход позволяет сделать компонент неза висимым от используемого браузера, ОС и физического размещения (благодаря HTML, Java и JNLP соответственно). Поисковый запрос предлагается составлять в форме сети термов, которая состоит из AND-узлов (а) и OR-узлов (б). Вставка новых элементов поддерживается как с помощью мыши (элементы (в) и (г)), так и с помощью клавиатуры. При вводе с клавиа туры пробел интерпретируется как вставка нового узла AND справа, что эквивалентно как методу ввода запроса в обычную поисковую строку, так и семантике введенного запроса.

Все эти элементы интерфейса имеют отношение только к преобразованию формы запроса.

Семантическое преобразование запроса выполняет сам пользователь с использованием интерактивного помощника (д), который предоставляет доступ к онтологии WordNet. Логи чески вся область помощника состоит из двух частей: заголовка и рабочей области. Заголо вок содержит управляющие элементы (слева направо): «закрыть», «назад» (возвращает предыдущее состояние рабочей области) и само исследуемое слово.

Рабочая область содержит описание исследуемого слова на основе онтологии WordNet.

Каждая строка рабочей области содержит следующие элементы:

«more (часть речи)» – интерактивный элемент, загружает в рабочую область понятия, связанные с конкретным смыслом исследуемого слова (напр., гипернимы, гипонимы, го лонимы и т.д. для существительных).

Список синонимов исследуемого слова – интерактивный элемент. Щелчок левой кнопкой мыши по синониму загружает в рабочую область описание выбранного синонима. Щел чок правой кнопкой мыши вызывает меню (е), позволяющий заменить слово в активном узле, добавить узел OR с выбранным синонимом или добавить узел AND с выбранным синонимом после активного узла.

Описание значения – элемент, содержащий пояснения к смыслу слова.

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

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

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

Качество веб-поиска зависит не только от качества алгоритма поисковой системы, но и от качества поискового запроса, который зависит, в том числе, от возможностей пользова тельского интерфейса [2]. Предлагаемая сеть термов позволяет в интуитивно-понятной фор ме эффективно использовать возможности поисковых систем интерпретировать логические выражения. Предлагаемый помощник позволяет пользователю (с помощью онтологии WordNet) адекватно оценить и изменить сам запрос. Отметим, что язык поисковых запросов обычно поддерживает не только логические выражения с использованием операций И, ИЛИ, НЕ, но и другие возможности, например, метасимвольные аргументы, альтернативные окон чания слов, идентификация категории термина, идентификация сайта и т.п. Учет данных возможностей представляет интерес для дальнейшей работы.

ЛИТЕРАТУРА:

1. Guha R., McCool R., Miller E. Semantic search. In Proceedings of 12th International Conference on World Wide Web (WWW2003), Budapest, Hungary, 2003.

2. Pyshkin E, Kuznetsov A. An Approach for web search user interface based on the cognitive synonyms concept. In Proceedings of 3rd International Conference on Human-Centric Computing, Cebu, Philippines, 2010.

УДК 004.414.23, 004. О. В. Мамутова (асп. каф. КСПТ), А. С. Филиппов, к. т. н., доц.

Мамутова О. В., Филиппов А. С. Имитационная модель иерархической оперативной памяти в вычислительной системе ИМИТАЦИОННАЯ МОДЕЛЬ ИЕРАРХИЧЕСКОЙ ОПРЕАТИВНОЙ ПАМЯТИ В ВЫЧИСЛИТЕЛЬНЙ СИСТЕМЕ В работе предложен метод оценки эффективности организации иерархической опера тивной памяти вычислительной системы (ВС) по совокупному критерию наджность производительность и разработано ядро соответствующей имитационной модели.

К сбоям элементов системы памяти могут приводить дрожание питание, электромаг нитные помехи, сильные электрические поля и избыток тепла. Фактором, который рассмат ривается чаще всего, является ионизация из-за космических лучей или частиц высокой энер гии. Результатом таких воздействий является высокий уровень кратковременных отказов или сбоев в элементах памяти [1]. При этом в современных ВС для увеличения производительно сти используют иерархическое построение оперативной памяти [2], и сбои элементов памяти на разных уровнях иерархии по-разному влияют на наджность всей системы. Следователь но, в критических системах актуальным является вопрос эффективного использования иерархической памяти с точки зрения наджности и производительности.

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

Домен внешней памяти Мажорирование и коммуникационная среда Локальная Локальная Локальная память 1 память 2 память n … Процессор 1 Процессор 2 Процессор n Вычислительный домен Рис. 1. Структура целевой ВС Для оценки параметров надежности ВС в настоящее время широко используются сле дующие методы: логико-вероятностный метод;

использование теории случайных процессов;

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

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

К модели предъявляются следующие требования:

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

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

Модель должна быть легко масштабируема и универсальна в рамках выбранного класса высоконаджных систем.

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

Модель должна учитывать следующие аспекты влияния размера кэш памяти на надж ность и производительность ВС:

Если уменьшить размер кэш, уменьшается вероятность попадания частицы в активную область кэш. Частицы, попадающие в неактивную область, не приводят к ошибке.

С уменьшением размера кэш увеличивается время выполнения программы. При этом ве роятность возникновения сбоя в течение большего промежутка времени - больше.

На рис. 2 представлена укрупннная структура предлагаемой модели, включающая раз работанное ядро модели и возможные модели системного окружения. Для разработки моде ли выбрана программная среда моделирования Mbius [4].

Распростр. ошибок Распространение Голосующий ошибок элемент чтение, кэш-попадание Ядро Отказы внешней ВС система модели памяти чтение, Процессорный узел кэш-промах Ошибки запись, Отказы кэш- Кэш- коммуникационной кэш-попадание памяти контроллер среды запись, Исполняемая кэш-промах программа Рис. 2. Структура имитационной модели иерархической памяти Выводы. Построенная модель удовлетворяет всем предъявляемым требованиям. Мо дель допускает проверку результатов для простейшего случая путм сравнения с результа том, полученным иным способом, например, с помощью аналитических расчтов. Модель является открытой и предусматривает совершенствование за счт подключения моделей си стемного окружения.

ЛИТЕРАТУРА:

1. L. D. Edmons, C. E. Barnes, L. Z. Scheick. An Introduction to Space Radiation Effects on Microelec tronics. – Jet propulsion Laboratory, California Institute of Technology, 2000. 83 c.

2. Lohn L. Hennessy, David A. Patterson. Computer architecture: a quantitative approach. – Morgan Kaufmann Publishers, 2007. 676 c.

3. Глухих М.И., Мелехин В.Ф. Разработка и исследование специализированного процессора для от казоустойчивой системы // XXX юбилейная неделя науки СПбГТУ. Часть VII: Материалы межвузов ской научной конференции. – СПб.: СПбГТУ, 2001. – C. 152.

4. D. D. Deavours, G. Clark, T. Courtney, D. Daly, S. Derisavi, J. M. Doyle, W. H. Sanders, P. G. Webster.

The Mbius framework and its implementation. - IEEE Transactions on Software Engineering, 28(10): 956– 969, October 2002.

УДК 004.75:004.056. Т. А. Медведев (6 курс, каф. КСПТ), И. В. Стручков, к. т. н., доц.

Медведев Т. А., Стручков И. В. Динамическая распределенная система резервного копирова ния ДИНАМИЧЕСКАЯ РАСПРЕДЕЛЕННАЯ СИСТЕМА РЕЗЕРВНОГО КОПИРОВАНИЯ В данной работе предложен новый подход построения распределенной системы ре зервного копирования данных в гибридно-облачной среде вычислительных ресурсов, осно ванный на децентрализованном динамическом взаимодействии компонентов.

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

Существующие на данный момент системы резервного копирования требуют доста точно сложной настройки и в основном ориентированы на использование в локальных сетях корпоративными клиентами. С другой стороны такие системы имеют избыточную функцио нальность и плохо подходят для использования частными пользователям. К таковым можно отнести различные коммерческие системы резервного копирования (от компаний Symantec[1], Acronis[2]), которые в основном ориентированы на корпоративных клиентов, что приводит к высоким ценам на продукт. Так же имеются свободно распространяемые си стемы (Bacula[3], AMANDA[4]) с достаточно широкими возможностями, но их использова ние затруднено в силу сложности их настройки. Примерами облачных сервисов являются Mozy, Carbonite, CrashPlan.

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

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

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

На рис. 1. представлена архитектура разрабатываемой системы. В локальную систему на компьютерах пользователя устанавливаются компоненты системы резервного копирова ния и настраивается в соответствии с потребностями (компоненты имеют разные режимы работы и не все из них являются обязательными). Если у системы есть доступ в Интернет, появляются дополнительные возможности использования Модуля глобального управления и сохранения резервных копий в Глобальное сетевое хранилище. В качестве описания поведе ния системы были рассмотрены различные варианты использования – для каждого из них описано предполагаемое поведение системы и режимы работы компонентов.

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

ЛИТЕРАТУРА:

1. Symantec Ghost Solution Suite. http://www.symantec.com/business/ghost-solution-suite Сравнительная таблица продуктов Acronis. http://www.acronis.ru/backup-recovery/comparison.html 2.

Проект Bacula. http://www.bacula.org/ 3.

Проект AMANDA. http://www.amanda.org/ 4.

УДК 681. А. В. Осипов (асп. каф. ВТ СПбГУ ИТМО), В. А. Богатырев, д.т.н., проф. каф. ВТ СПбГУ ИТМО ОЦЕНКА ОПТИМАЛЬНОСТИ ТОПОЛОГИИ БЕСПРОВОДНОЙ СЕНСОРНОЙ СЕТИ В работе предложен метод оценки степени соответствия существующей топологии беспроводной сенсорной сети ее рациональной топологии.

Беспроводная сенсорная сеть представляет собой распределенный информационно измерительный комплекс, необходимыми компонентами которого являются конечные устройства (КУ) – узлы, оснащенные сенсорами, и координатор, собирающий и обрабатыва ющий результаты измерений. Обладая ограниченной возможностью выбора количества, рас положения и технических характеристик таких узлов и желая минимизировать затраты на создание и обслуживание БСС, сохранив при этом ее работоспособность и надежность на заданном уровне, мы сталкиваемся с проблемой оптимизации технического решения. Про странственное расположение узлов и маршрутизация сообщений в сети определяют е топо логию, которая может быть представлена ориентированным графом (вершины - узлы БСС, ребра - коммуникации между ними). Рациональная топология БСС позволяет сократить тра фик и снизить энергопотребление на узлах, что, в свою очередь, увеличивает время безот казной работы сети и снижает общие затраты на е обслуживание.

Работа посвящена исследованию топологий БСС, подчиняющихся стандарту IEEE 802.15.4 и спецификации международного альянса ZigBee, регламентирующей взаимодей ствие беспроводных устройств на всех семи уровнях модели OSI.

Под топологией БСС понимается совокупность геометрического расположения е уз лов и вероятностей использования коммуникаций между ними для доставки сообщений.

Существуют симуляторы сетей, специально разработанные для моделирования и симу лирования БСС, такие как TOSSIM, который является частью проекта TinyOS, и COOJA, ко торый является частью проекта Contiki. Традиционные сетевые симуляторы, такие как NS-2, также могут быть использованы для симуляции работы БСС.

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

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

N ti fail PWSN i 1, N Tr i где Tr – продолжительность регламентного периода;

N – количество моделируемых регламентных периодов;

ti fail – время неполной работоспособности БСС в течение i-го регламентного периода.

Продолжительность регламентного периода Количество регламентных периодов Построение топологии Моделирование выхода из строя узла/ комуникации с наименьшим прогнозируемым временем жизни tmin до окончания регламентного периода T = T + tmin Регламентный период закончен?

Проведение регламентных работ (замена вышедших из строя узлов) Смоделировано требуемое количество регламентных периодов?

Рис. 1. Алгоритм моделирования процесса эксплуатации БСС Совместное использование ретрансляторов различными потоками данных и их взаим ное влияние затрудняет использование для решения задачи оценки надежности топологий традиционных комбинаторных подходов. Используемые сегодня алгоритмы маршрутизации БСС не позволяют учесть взаимное влияние потоков данных, что может приводить к разли чиям между реальной и рациональной топологиями даже в том случае, если строятся они на одном и том же множестве узлов.

Предпочтительное решение проблемы состоит в разработке алгоритмов оптимизации потоков данных в сети, учитывающих совместное использование ретрансляторов различны ми потоками данных. В процессе их формирования необходимо использовать меру степени соответствия рациональной топологии и топологий, получаемых на одном и том же множе стве узлов с использованием тех или иных вариантов алгоритма маршрутизации, как DSR (Dynamic source routing) и AODV (Ad-hoc on-demand Distance Vector routing). Данное обстоя тельство обусловливает необходимость разработки критерия сравнения топологий в виде численной меры степени их совпадения.

Для сравнения топологий предлагается использовать следующий критерий:

1 NED Nt Cs t, CT 0;

1, CT N ED Nt i 1 j 1 i j где CT – степень сходства двух топологий (величина критерия сравнения), представ ляющая собой среднее сходство маршрутов на пару «источник-адресат» обеих топологий, N ED – общее количество КУ в БСС, N t – общее количество шлюзов, Csi t j – суммарная сте пень совпадения маршрутов для i -го КУ и j -го шлюза.

Для вычисления величины Cs t предлагается выбирать пары маршрутов, соответству ющих одним и тем же источникам и адресатам в разных топологиях и обладающих наибольшей степенью совпадения:

n m Cs t max Cr i, j max Cr i, j, Cs t 0;

n m i 1 j, j 1..m i, i 1..n j где n, m – количество маршрутов, определенных для данной пары «источник-адресат»

в сравниваемых топологиях, Cr i, j – степень совпадения i -го маршрута одной топологии и j -го маршрута другой.

Величину критерия Cr можно определить как среднее сходство на сегмент (участок маршрута) для сравниваемой пары маршрутов. Расчетное соотношение для Cr выглядит следующим образом:

k1 l Cr max Cseg i, j max Cseg i, j, Cr 0;

1, k l 2 i 1 j, j 1..l i, i 1..k j где k, l – количество узлов в каждом из сравниваемых маршрутов;

Cseg ( i, j ) – величина критерия сходства сегментов маршрутов, заключенных между i -ым и i 1 -ым узлами одного маршрута и j -ым и j 1 -ым узлами другого.

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

Cseg ClenC dir Cdist C prob, Cseg 0;

1.

При этом Cseg 0 будет достигаться только в тех случаях, когда сравниваемые участки маршрутов будут иметь противоположные направления. Несмотря на достижимость нулево го значения для критерия сравнения отдельных сегментов маршрута Cseg, критерий сравне ния маршрутов Cr при этом будет иметь область значений 0;

1, исключающую нулевую границу, т.к. в маршрутах с совпадающими источником и адресатом все сегменты не могут быть противоположно направлены.

Большее значение критерия сравнения топологий соответствует большей степени их сходства, а значение CT 1 означает, что топологии полностью идентичны.

УДК 004.415. О. В. Ненашев(6 курс, каф. КСПТ), С. Л. Максименко, ст. преп.

Ненашев О. В., Максименко С. Л. Разработка средства автоматизированного реинжиниринга структурного описания устройства на базе VHDL-спецификаций РАЗРАБОТКА СРЕДСТВА АВТОМАТИЗИРОВАННОГО РЕИНЖИНИРИНГА СТРУКТУРНОГО ОПИСАНИЯ УСТРОЙСТВА НА БАЗЕ VHDL-СПЕЦИФИКАЦИЙ В данной работе исследованы возможности создания средства автоматического реин жиниринга описания устройства. По итогам работы подтверждены возможности построения и использования абстрактного представления устройства в виде набора блоков с ограничен ным набором типов.

В рамках работы был проведн анализ существующих средств разработки на VHDL (Quartus II, Xilinx EDK, …). Во всех них присутствуют лишь средства рефакторинга кода, т.е.

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

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

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

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

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

В качестве основной среды разработки на начальном этапе была взята Quartus II для ПЛИС фирмы Altera, которые используются в рамках учебного процесса на кафедре КСПТ.

Схема совместной работы программ приведена ниже:

программа команды обработки пользователя Библиотеки Готовое элементов устройство Средство Компилятор VHDL рефакторинга код VHDL Проект в Quartus II файлы Компилятор VHDL (VHDL, Verilog,...) проекта Quartus II netlist Рис. 1. Схема совместной работы программы и среды Quartus II Разработанная библиотека использует абстрактное представление иерархии устройства в виде древовидного графа. Кроме того, для связи структурных элементов между собой ис пользуется механизм ссылок. Узлами графа выступают элементы, являющиеся аналогами VHDL: интерфейсы(entity), блоки(architecture), сигналы и т.п.

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

В настоящее время в средстве реализована следующая функциональность:

1. Добавление, удаление и перемещение блоков различных типов 2. Изменение параметров элементов всех типов 3. Верификация структуры устройства и сбор статистики 4. Загрузка и использование дополнительных библиотек 5. Экспорт и импорт VHDL-описаний устройств Фактически, разработанное средство предоставляет элементарный базис, на котором могут быть реализована любая функциональность по реинжинирингу устройства.

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

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

Можно выделить следующие направления дальнейшего развития разработки:

1. Разработка специализированных библиотек для решения частных задач 2. Обеспечение поддержки других сред разработки и языков описания устройства 3. Расширение функциональности базовой библиотеки 4. Разработка полноценного GUI для упрощения работы с библиотекой 5. Глубокая интеграция средства со средой разработки для проверки соответствия ис ходного и полученного устройств, проверка временных показателей и т.п.

6. Реализация переноса пользовательских данных (комментарии, структура файлов) в абстрактное представление и генерируемые файлы Также в будущем планируется добавить поддержку управляющих программ на языке TCL, который де-факто является стандартом для средств разработки на VHDL. Это позволит использовать разрабатываемое средство из основных средств разработки посредством рас ширений. Также это позволит создать полноценную программу реинжиниринга с условными переходами, промежуточными тестами и любой другой функциональностью.

УДК 681. Д. М. Шифрин (аспирант каф. КСиПТ), А. С. Филиппов доц., к. т. н РЕКОМЕНДАЦИИ ПО РАЗРАБОТКЕ ПО ДЛЯ ЗАДАЧ ЦОС Рассматривается методика оптимизации программно-аппаратного комплекса цифровой обработки сигнала в среде FPGA. Основная цель методики состоит в оптимальном разделе нии системы ЦОС на программную и аппаратную составляющие с целью получить требуе мое время вычисления при оптимальном использовании аппаратных ресурсов.

В результате применения методики, описанной в [1], первоначальный алгоритм разби вается на аппаратные блоки, блоки, выполняемые программно, и расписание их применения.

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

Основным элементом программы ЦОС является взаимодействие с разработанными блоками. Взаимодействие может осуществляться двумя способами: опросом, либо посред ством прерывания. Прерывания наиболее выгодны при частоте поступления, существенно меньшей времени переключения задач, то есть в тех случаях, когда заданный блок выполня ет обработку достаточно долго. Для быстрых блоков наиболее подходит метод опроса. Кро ме того, для процессоров на базе FPGA в систему команд может быть введена специальная команда, осуществляющая взаимодействие с заданным блоком [3]. Фактически, такой под ход можно приравнять к включению в состав процессора дополнительного блока.

Следующим важным моментом является обмен данных между разработанным блоком и процессором. Так как FPGA дает возможность разработчику самому синтезировать процес соры, то и спектр вариантов обмена достаточно высок. Основными являются: проецирование регистров устройства в память процессора и использование портов ввода/вывода. Также, ес ли требуется передать небольшой объем данных, то могут быть задействованы поля операн дов команды. Правда, этот метод работает только для случая взаимодействия через команды.

Для SoC процессоров эти три способа наиболее удобны, так как фактически являются след ствием их синтезируемости [2]. Кроме того, при использовании уже готовых IP ядер, именно эти способы взаимодействия обычно остаются доступны для реализации, как, например, в NIOS II.

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

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

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

ЛИТЕРАТУРА:

1. Метод декомпозиции систем ЦОС на программную и аппаратную составляющие / Филиппов А.С.

Шифрин Д.М. // Материалы ХХХVIII недели науки СПбГПУ, 2. Altera Avalon Interface Specifications / www.altera.com 3. Altera NIOS II manual / www.altera.com УДК 004.432.2, 004.423. Н. Н. Васильев (6 курс, каф. КСПТ), В. М. Ицыксон, к. т. н., доц.

ИЗВЛЕЧЕНИЕ ПОВЕДЕНЧЕСКИХ МОДЕЛЕЙ ИЗ ИСХОДНОГО КОДА НА JAVA В ходе данной работы получен новый программный продукт, позволяющий восстанав ливать модель конечного автомата из исходного кода на Java. Данный язык является универ сальным языком, следовательно, применение автоматно-ориентированного подхода при про ектировании программного обеспечения на данном языке нуждается в дополнительном до кументировании. Такого рода документация часто может отсутствовать, поэтому задача вос становления модели конечного автомата становится актуальной.

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



Pages:   || 2 | 3 | 4 | 5 |   ...   | 6 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.