УДК 004.4 ББК 32.81 П78 Программная инженерия: методы и технологии разработки информационновычислительных систем (ПИИВС-2016): сборник научных трудов I научно-практической конференции (студенческая секция). 16-17 ноября 2016 г. – Донецк, ГОУ ВПО «Донецкий национальный технический университет», 2016. – 325 с. Студенческая секция, проводимая в рамках научной конференции ПИИВС-2016, является одним из этапов совместной исследовательской деятельности преподавателей и студентов. Основная задача студенческой секции состояла в укрепление научного и педагогического сотрудничества среди студентов и научных руководителей, развитие у студентов навыков самостоятельной работы, способностей к анализу и обобщению изучаемого материала, умению формировать собственные выводы и заключения, излагать их письменно и в форме публичных выступлений. Основные направления работы студенческой секции конференции: программная инженерия; системы автоматизированного проектирования; компьютерная инженерия; прикладная математика; информационные системы и технологии в технике и бизнесе; искусственный интеллект и системный анализ. На 6 подсекциях были заслушаны более 60 докладов, в которых рассмотрен широкий спектр научных направлений работ студентов. Конференция организована Донецким национальным техническим университетом Министерства образования и науки ДНР. В организации конференции приняли участие: Донецкий национальный университет, Министерство связи ДНР, Ульяновский государственный технический университет, НИУ «Высшая школа экономики» (г.Москва), Российский экономический университет им. Г.В. Плеханова (г.Москва), Южный федеральный университет (г.Ростов-на-Дону, г.Таганрог), Южно-Российский государственный политехнический университет им. М.И. Платова (г.Новочеркасск). В сборнике научных трудов представлены доклады аспирантов, магистрантов и студентов высших учебных заведений из России, ДНР и ЛНР, которые учатся по следующим направлениям подготовки: информатика и вычислительная техника, компьютерные и информационные науки, математика и механика, управление в технических науках. УДК 004.4 ББК 32.81 ГОУ ВПО «Донецкий национальный технический университет», 2016 2 ОГЛАВЛЕНИЕ СЕКЦИЯ «ПРОГРАММНАЯ ИНЖЕНЕРИЯ» Аксёнов С.А., Григорьев А.В. Анализ функциональных возможностей современных систем управления беспилотных автомобилей и перспективы развития. ………………………………………………………...7 Бородин Д.С. Исследование алгоритмов бинаризации растровых изображений шлифов металлов и сплавов..…………………………………………………………………………………………. 12 Воробьев Л.О. Компилируемый язык описания программ для эмулятора машины Тьюринга…………..... 18 Грищенко О.С., Чернышова А.В. Защита информации в приложениях для мгновенной передачи сообщений……………….. 23 Егоров А.А., Чернышова А.В., Губенко Н.Е. Анализ средств защиты больших данных в распределенных системах…………………...... 28 Коломойцева И.А., Власюк Д.А. Приложение для перевода текста с помощью камеры мобильного устройства «VlasiukTranslate». ………………………………………………………………………………34 Коломойцева И.А., Сторожук Н.О. Проектирование программной системы для бисероплетения «CrochetBeadMaster»………. 39 Кубашевский Д.В., Чернышова А.В. Сквозное шифрование переписки в социальной сети «ВКонтакте»……………………....... 44 Куташов Р.И., Федяев О.И. Разработка агентно-ориентированной модели кафедры университета с помощью FrameworkJade. …………………………………………………………………………………. 48 Лебедев В.Е., Чернышова А.В. Разработка модели защищенного облачного хранилища данных………………………....... 53 Московченко А.В. Разработка программной системы для технического обслуживания самолетов………....... 57 Ногтев Е.А. Программное обеспечение для решения оптимизационных задач управления предприятием……………………………………………………………………………………. 61 Подлесный А.И., Медведев А.С., Федяев О.И. Системавыделения лиц в видеопотоке с применением алгоритма Виолы-Джонса………. 66 Титаренко М.Г., Коломойцева И.А. Информационная система «Торгово-политическая карта мира» …………………………… 71 Труханов Т.И., Алехов М.Е., Федяев О.И. Исследование процессов самообучения неокогнитрона при распознавании графических образов …………………………………………………………………………………………... 76 Фоминых И.Д., Рудак Л.В., Незамова Л.В. Компьютерная лингвистика: морфологический словарь. …………………………………… 81 Ходич Д.В., Завадская Т. В., Грищенко В.И Методы разработки систем учета научно-технических мероприятий………………………. 85 3 СЕКЦИЯ «СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ» Авраимов В.С., Григорьев А.В. Анализ технологии и средств адаптации САПР СПРУТ…………………………………….. 90 БубловскийД.Н., АндрюхинА.И Рефакторинг сайта электронного журнала ДонНТУ…………………………………………. 95 Власюк А.В., Григорьев А.В. Анализ функциональных возможностей и перспектива развития САПР одежды…………. 100 Гончарук С.И., Григорьев А.В. Анализ функциональных возможностей и перспектив развития систем автоматизации проектирования и производства мебели………………………………………………………. 110 Жусупов М.В., Григорьев А.В. Анализ систем автоматизированного проектирования трубопроводов различного назначения………………………………………………………………………………………..121 Зимонин И.О., Григорьев А.В. Исследование методов разработки графических редакторов в CAD-системах на примере САПР трубопроводов ………………………………………………………………………...... 125 Коваленко Г.Р. Григорьев А. В. Анализ назначения и функциональных возможностей современных роботов…………...... 134 Кравченко Д.Ю., Новиков А.А., Козачков В.А. Перспективы интеграции технологии коллективного семантического поиска и формата rdf………………………………………………………………………………………………… 149 Кудрякова Т.Ю., Семушина Н.С., Семушин Е.Ю. Гибридный метод при решении задачи компоновки схем с учетом критерия энергопотребления……………………………………………………………………………… 153 Купов И.О., Козачков В.А., Царегородцев В.В. Решение задачи компоновки эволюционным методом………………………………………. 157 Лебедева Е.О., Полякова (Кравцова) А.А., Терещенко Д.Ю. Разработка гибридного алгоритма решения задачи компоновки СБИС……………………. 161 Лежебоков А.А., Ковтун А.В., Туйсус Е.В. Композитный алгоритм компоновки…………………………………………………………...165 Лежебоков А.А., Туйсус Е.В., Ковтун А.В. Модуль интеграции данных для экспертной оценки результатов процессов проектирования…………………………………………………………………………………. 169 Лежебоков А.А., Цырульникова Э.С., Лебединский А.Е. Об одном модуле визуализации результатов экспериментов……………………………...... 174 Новиков Е.Т., Андрюхин А.И Разработка PDM-подсистемы САПР сайта научного журнала……………………………… 178 Погорелов Д.Д. , Григорьев А.В. Анализ и сравнение современных MIDI-секвенсоров как проблемно-ориентированных САПР…………………………………………………………………………………………...... 182 Роговец Е.А., Григорьев А.В. Эффективность применяемого алгоритма построения моделей с ограничениями в различных САПР……………………………………………………………………………....... 189 Семушин Е.Ю., Купов И.О., Царегородцев В.В. Роевой алгоритм размещения компонентов СБИС с учетом временных характеристик…………………………………………………………………………………… 193 4 Страхов Н.Э., Кулиев Э.В., Логинов О.А. Размещение компонентов СБИС на основе биоинспирированного метода………………… 197 Страхов Н.Э., Кулиева Н.В., Семушина Н.С. Модифицированный алгоритм решения задачи размещения компонентов СБИС…… ….. 201 Цырульникова Э.С., Лебединский А.Е., Кравченко Ю.А. Об одной информационной системе учета наукоемких показателей……………………...... 204 СЕКЦИЯ «КОМПЬЮТЕРНАЯ ИНЖЕНЕРИЯ» Горин Н.А., Струнилин В.Н.. Применение инфракрасного отражателя TCRT5000 в системе ориентирования в пространстве…………………………………………………………………………………….. 208 Елагин И.А., Краснокутский В.А. Исследование магнитометра HMC5883L в системе измерения скорости вращения летательного объекта…………………………………………………………………………… 212 Иванникова Е.В., Завадская Т.В. Демонстрационная модель персонального компьютера……………………………………... 217 Ленч В.С., Зинченко Ю.Е., Коваль А.В., Зинченко Т.А. Исследование методов создания эмуляторов периферийных устройств для удаленной отладки проектов в FPGA-лаборатории…………………………………………………......... 221 Лупашевский В.А., Аноприенко А.Я. Анализ компьютерных технологий распознавания жестов рук……………………………... 226 Лычагин Р. В., Аноприенко А. Я., Иваница С. В. Использование пространства тетралогики для программной реализации фильтра Габора при распознавании лиц.. ………………………………………………………………. 232 Мохначёв В.В., Тоичкин Д.В., Зинченко Ю.Е., Коваль А.В. Настройка и тестирование базовой модели квадрокоптера………………………………….. 237 Попова А.Н., Азаров А.Б., Мальчева Р.В. Разработка блока поиска пересечения луча с полигональным объектом…………………… 242 СЕКЦИЯ «МАТЕМАТИЧЕСКОЕ И КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ» Давыденко Д.П., Губенко Н.Е. Применение ментальных карт и геймификации при разработке компьютерных обучающих систем ……………………………………………………………………………... 247 Еремеев В.В., Губенко Н.Е. Анализ программно-аппаратных средств защиты информационной системы отделения банка……………………………………………………………………………………………... 252 Ефремченко И.А., Губенко Н.Е. Анализ метода разграничения доступа к информации на основе одноразового графического пароля……………………………………………………………………………. 257 Койбаш А.А., Кривошеев С.В. Подсистема прогнозирования траектории движения подвижного объекта распределенного симулятора тяжелой инженерной техники……………………………….. 262 Медгаус С.В., Губенко Н.Е. Сравнительный анализ методов лингвистической стеганографии………………………….. 266 Ходич Д.В., Губенко Н. Е. Выбор политик и правил информационной безопасности для повышения уровня информационной защищенности центра оптовой торговли «Мост»……………………..... 270 5 СЕКЦИЯ «ПРИКЛАДНАЯ МАТЕМАТИКА» Прокопенко Е.В., Лапшина Е.В. Моделирование процессом управления перемещением породы на отвале ………………... 275 Шевченко Т. Ф., Кучер Т. В. Работа с комплексными числами в языках программирования……………………………... 280 Юрко Ю.С., Бельков Д.В. Методы размещения файлов в компьютерных сетях………………………………………… 285 СЕКЦИЯ «ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ В ТЕХНИКЕ И БИЗНЕСЕ» Кравцова (Полякова) А.А., Старкова Ю.С., Терещенко Д.Ю. Разработка Web ориентированного модуля……………………………………………………293 Лещанов Д.В., Бова В.В. Подходы и технологии BI и KM при проектировании информационно-аналитических систем……………………………………………………………………………………………. 298 Лобкова А.А., Секирин А.И. Решение задачи трехмерной упаковки модифицированным генетическим алгоритмом……………………………………………………………………………………….302 Старкова Ю.С., Кулиева Н.В., Кравченко Ю.А. Когнитивная архитектура агентов…………………………………………………………...... 307 СЕКЦИЯ «СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА» Гуляев В.А., Бочаров Д.М. Применение алгоритмов таксономии для задач построения панорамных изображений…………………………………………………………………………………...... 311 Иванов А.А Использование тестирования и методология создания тестов при дистанционном образовании……………………………………………………………………………………... 315 Маруга М.М.,. Грунский И.С. Современные средства для разработки высокопроизводительных многопользовательских графических мультиплатформенных приложений…………………………………………… 320 6 СЕКЦИЯ «ПРОГРАММНАЯ ИНЖЕНЕРИЯ» УДК 004.414.28 Анализ функциональных возможностей современных систем управления беспилотных автомобилей и перспективы развития Аксёнов С.А., Григорьев А.В. Донецкий национальный технический университет aksonov10@gmail.com, grigorievalvl@gmail.com Аксёнов С.А., Григорьев А.В. Анализ функциональных возможностей современных систем управления беспилотных автомобилей и перспективы развития. В статье описаны ключевые компоненты, с помощью которых можно создать беспилотный автомобиль, функции, над которыми должна осуществлять контроль система автоматического управления, специфика задачи. Продемонстрированы методы реализации подобного рода систем, описаны перспективы развития. Ключевые слова: беспилотный автомобиль, функциональность, разработка, автопилот. управление, датчики, требования, Введение Актуальность работы: в данное время многие крупные корпорации, так и исследовательские институты разрабатывают свои прототипы беспилотных автомобилей, использование которых даёт такие преимущества [1]: возможность безопасной перевозки грузов в опасных зонах, во время природных и техногенных катастроф, военных действий; повышение пропускной способности дорог, экономия времени людей, ныне затрачиваемого на управление транспортным средством; минимизация дорожно-транспортных происшествий, как следствие – уменьшение человеческих жертв; более экономичное использование топлива, снижение стоимости перевозки грузов и людей за счёт экономии на заработной плате водителей. Цель работы: исследование и анализ функциональных возможностей прототипов беспилотных автомобилей, рассмотрение методов реализации подобных систем, их перспективы развития. Постановка задачи управления автомобилем При проектировке беспилотных автомобилей обычно используются следующие датчики: лидар; радары; видеокамера; датчик оценки положения; инерционный датчик движения; GPS/ГЛОНАСС-приёмник. Лидар сканирует область вокруг автомобиля на расстоянии более 60 м и создает точную трехмерную картину его окружения. Лидар представляет собой вращающийся датчик на крыше автомобиля. Радары помогают определить точное положение удаленных объектов. Видеокамера определяет сигналы светофора и позволяет блоку управления распознавать движущиеся объекты, в том числе пешеходов и велосипедистов. Датчик оценки положения фиксирует движение автомобиля и помогает определить его точное местоположение на карте. Датчик оценки положения установлен на левом заднем колесе. Инерционный датчик движения измеряет направление ускорения или замедления, продольный и 7 поперечный крен кузова автомобиля, при его движении. Используется датчик системы курсовой устойчивости. Сигналы от входных устройств передаются в электронный блок управления (см. рис. 1), где производится их обработка в соответствии с заложенной программой и формирование управляющих воздействий на исполнительные устройства. В качестве исполнительных устройств используются конструктивные элементы рулевого управления, тормозной системы, системы курсовой устойчивости, системы управления двигателем [2]. Рисунок 1 – Обобщённая структурная схема системы управления беспилотного автомобиля Система управления беспилотного автомобиля должна контролировать разнообразные элементы автомобиля. Так, например, передвижение должно совершаться системой полностью, а для этого она должна осуществлять рулевое управление, управление двигателем, тормозной системой, системой курсовой устойчивости. Сигналы от входных устройств передаются в электронный блок управления, который с помощью исполнительных механизмов реализует следующие автоматические функции: поддержание безопасного расстояния до впереди идущего автомобиля; остановка и старт движения; движение по полосе; распознавание знаков ограничения скорости и приведение скорости в соответствие с требованиями знака; предотвращение чрезвычайных ситуаций; автоматическая парковка. Специфика задачи создания беспилотного автомобиля заключается в создании сложной системы управления, основанной на интеллектуальных алгоритмах, которая будет комплексно подходить к управлению всеми датчиками и системами. Главные требования к такой системе: безопасность от взлома; быстродействие; надёжность ПО и алгоритмов, лежащих в основе системы; простота использования. 8 Анализ функциональных возможностей современных систем управления беспилотных автомобилей Рассмотрим функциональные возможности наиболее типичных современных системы управления беспилотных автомобилей. Беспилотный автомобиль Google — проект компании по развитию технологии беспилотного автомобиля (см. рис. 2). Рисунок 2 – Беспилотный автомобиль Google Система использует информацию, собранную сервисом Google Street View, видеокамеры, датчик LIDAR, установленный на крыше, радары в передней части авто и датчик, подключенный к одному из задних колёс, который помогает определить позицию автомобиля на карте (см. рис. 3). Следует отметить, что автомобиль не прокладывает путь динамически – маршрут строится ещё до начала движения на основе имеющейся информации о карте местности и загруженности дорожного трафика на текущий момент [3]. По состоянию на март 2013 года, автомобили Google не могут передвигаться под проливным дождём и в условиях заснеженной местности. Связано это с тем, что идентификация местности производится посредством сравнения заблаговременно отснятых фотографий с результатами визуализации окружающего ландшафта сканирующими системами автомобиля. Благодаря такому подходу система может отличить пешехода от обычного телеграфного столба, но при плохих погодных условиях система сделать это бессильна. По состоянию на 28 августа 2014 автомобили Google не в состоянии распознавать временные сигналы светофора. Они не могут отличать пешеходов от полицейских или скомканную бумагу от камня. Что также немаловажно, они не умеют парковаться. Google планирует исправить эти недостатки к 2020 году [4]. 9 Рисунок 3 – Пример построенной модели среды беспилотным автомобилем Google Так же, свои планы на разработку автопилота существуют у компании Tesla Motors, которая выпустила обновление прошивки для произведённых ими автомобилей, активировав при этом функцию автопилота (см. рис. 4). Рисунок 4 – Скриншот приложения, управляющего автомобилями Tesla в режиме автопилота Автомобили Tesla пока не способны передвигаться абсолютно автономно. Автопилот был внедрён в автомобили Tesla после бесплатного обновления прошивки автомобиля, система автопилота первой версии содержит следующие, функции: Автоматическое управление. На скоростях свыше 20 км/ч Tesla сама разгоняется, тормозит и поворачивает, в чем ей помогает связка сенсоров и камер. Автоматическое перестроение. В отличие от систем круиз-контроля, Tesla умеет перестраиваться сама. Водителю достаточно лишь выбрать направление перестроения. При этом, машина сделает это безопасно, отслеживая все слепые зоны. Автоматическая парковка. В Tesla Motors утверждают, что их система у ближайшем будущем будет сама заезжать даже в гараж. Экстренное торможение. Tesla умеет распознавать препятствие и экстренно гасить скорость вплоть до полной остановки в случае опасности. Самообучение. Машина учитывает полосы движения, собирая данные при каждом включении автономной системы, затем отправляя их на сервера Tesla Motors. А потом полученные данные анализируются компанией, которая периодически выпускает обновления системы автопилота. Система работы автопилота включает в себя данные от работы камеры высокого разрешения, радара, 10 ультразвуковых сонаров, стоящих вокруг и спутниковый навигации и карт высокой детализации [5]. Перспективы развития систем управления беспилотных автомобилей Недавно Tesla Motors объявила, что новые автомобили, выпущенные компанией, получат новое оборудование для автопилота, которое способно сделать их полностью автономными. Нейронная сеть Tesla Neural Net, в сочетании с гидролокатором и программным обеспечением для обработки радиолокационных данных, обеспечит Model S, X и Model 3 обзором окружающего мира по всем направлениям с очень высокой точностью, недоступной людям. Глава Telsa Motors, Илон Маск сказал, что новое оборудование работает на базе суперкомпьютера с графическим процессором Nvidia Titan. Скорость обработки данных возрастет в 40 раз. Пакет нового оборудования включает три передних видеокамеры. Обзор на 360 градусов обеспечат 5 камер, установленных вокруг транспортного средства. Изображение дополняется данными с ультразвуковых сонаров, которые также покрывают 360 градусов обзора [6]. Одним из вариантов реализации алгоритма адаптации подсистемы определения взаимного положения движущихся транспортных средств, был предложен и протестирован Ивановым А. М., Шадриным С. С., Карпухиным К.Е. из МАДИ [7] может заключаться в следующем: 1) Выделение интересующей области видео потока; 2) конвертация цветного изображения в чёрно-белое; 3) нахождение контуров объектов и бинаризация изображения с применением фильтров; 4) применение функции оптического слежения за изменением пикселей соседних квадратов с определением векторов скоростей; 5) разбивка видео на прямоугольные сегменты с нахождением усреднённого вектора скорости каждого сегмента; 6) фильтрация сигналов; 7) распознавание движущихся объектов; 8) вывод результатов. Заключение В данное время индустрия автомобилестроения переживает бум на беспилотные автомобили. Развитие технологии передвижения беспилотного транспорта принесёт существенные преимущества по сравнению с автомобилями, управляемыми людьми. Данная технология заинтересует военных, хотя на данном этапе беспилотные автомобили могут самостоятельно передвигаться только по дорогам, её доработка позволит использовать беспилотные транспортные средства почти на любой поверхности и местности. Сейчас же, развитие идёт с учётом требований и спроса среди гражданских лиц. Литература 1. Беспилотный автомобиль // Wikipedia.org [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Беспилотный_автомобиль. 2. Система автоматического управления автомобилем // Systemsauto.ru [Электронный ресурс] – Режим доступа: http://systemsauto.ru/another/automatic_driving.html. 3. Русанов А. Д., Некрасов Д. К. Обзор принципов работы и алгоритмов распознавания объектов окружающей среды в беспилотных автомобилях // Новые информационные технологии в автоматизированных системах, 2016, С. 60. 4. Беспилотный автомобиль Google // Wikipedia.org [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Беспилотный_автомобиль_Google. 5. Автопилот Tesla проехал 3-е кольцо в Москве. Обзор автопилота и автоматической парковки Tesla // Moscowteslaclub.ru [Электронный ресурс] – Режим доступа: https://moscowteslaclub.ru/blog-tesla/obzortesla/tesla-edet-po-moskve-sama.html. 6. Новый автопилот Tesla: 8 камер, производительность выше в 40 раз // Tesla-automobile.ru [Электронный ресурс] – Режим доступа: http://tesla-automobile.ru/noviy-avtopilot/. 7. Иванов А. М., Шадрин С. С., Карпухин К. Е. Интеллектуальное транспортное средство. Адаптация подсистемы определения взаимного положения движущихся транспортных средств // Известия МГТУ “МАМИ” №2(16), 2013, т. 1, С. 60. Aksyonov S.A. Grigoriev A.V. Analysis of the functional capabilities of modern unmanned vehicle control systems, and development prospects. This article describes the key components that can be used to create an unmanned vehicle, functions, over which should supervise the automatic control system, the specific objectives. Showcased methods of implementing such systems are described prospects. Keywords: unmanned vehicle control, sensors, requirements, functionality, design, autopilot 11 УДК 004.92 Исследование алгоритмов бинаризации растровых изображений шлифов металлов и сплавов Д.С. Бородин Московский государственный технический университет имени Н.Э. Баумана borodinds@student.bmstu.ru Бородин Д.С. Исследование алгоритмов бинаризации растровых изображений шлифов металлов и сплавов. Статья посвящена вопросу бинаризации различных полутоновых изображений металлов и сплавов, полученных с помощью электронного микроскопа. Исследуются методы глобальной (Отсу, Абуталеба, Капура и Киттлера) и локальной (Бернсена, Ниблэка и другие) бинаризации. В работе определены исследуемые количественные и качественные характеристики, проведен эксперимент с целью выявления наиболее эффективного алгоритма для выбранного класса изображений. Ключевые слова: бинаризация, распознавание объектов, глобальные методы бинаризации, локальные методы бинаризации, пороговое значение, растровое изображение, гистограмма Введение Распознавание объектов по их двумерным изображениям стало в последнее время одной из основных задач машинного зрения. Исходная информация в таких изображениях обычно представлена в виде числовой матрицы, содержащей информацию о каждом пикселе изображения. На сегодняшний день существует достаточно много методов распознавания объектов: начиная от нахождения контура объекта и исследования его свойств, заканчивая искусственными нейронными сетями и более простыми методами распознавания. Одним из таких методов является бинаризация исходного изображения. В данной работе исследуется следующая проблема - определение эффективного алгоритма бинаризации для обработки полутоновых изображений шлифов металлов и сплавов. Решение этой проблемы позволит ускорить обработку определенного класса растровых изображений, позволяющую определить с большой степенью точности характеристики различных объектов, исследуемых в материаловедении, а также распознавать объекты в других областях, использующих обработку полутоновых изображений, например, распознавание текста. Цель работы - определить алгоритм бинаризации, который будет обеспечивать необходимые временные и качественные характеристики при обработке выделенного класса растровых изображений. К основным задачам, решаемым в данной работе, можно отнести следующие: определение набора алгоритмов бинаризации, определение характеристик исследуемых алгоритмов, подготовка набора тестовых изображений и определение на данном наборе наиболее эффективного алгоритма. Рассмотрим подробнее выделенные алгоритмы глобальной и локальной бинаризации, получившие практическое применение. Метод Отсу Алгоритм позволяет разделить пиксели двух типов («полезные» и «фоновые»), выбирая такой порог, чтобы дисперсия была минимальной. Обычно используется для бинаризации полутоновых изображений, но также может использоваться и для изображений иного рода. Метод использует график статистического распределения значений яркости пикселей. Гистограмма делится на два класса с помощью порогового значения яркости k , k целое значение от 0 до 255, число градаций оттенков серого. Каждому классу соответствуют относительные частоты совокупные моменты нулевого и первого порядка до уровня k , затем вычисляются средние уровни яркости для каждого классов. Далее вычисляется характеризующее качество разделения пикселей на два класса число: L1 2 (k ) max ( кл ) i 1 2 общ 12 2 где ( 2 ) ( )2 межклассовая дисперсия, а ( общ ) дисперсия для целого изображения. кл 0 1 1 0 Данный метод обладает рядом достоинств: 1. Метод очень прост в реализации — требуется лишь вычисление нулевого и первостепенного совокупного момента гистограмм оттенков серого; 2. Оптимальный порог (или набор порогов) выбирается стабильно и автоматически, не базируясь на дифференциации (используя локальные свойства гистограммы, такие как впадины), но базируясь на интеграции (используя глобальные свойства); 3. Могут быть проанализированы дальнейшие важные аспекты (например, оценка класса средних уровней яркости, расчет класса разделителей и т.д.); 4. Метод довольно общий — он покрывает довольно большой спектр бесконтрольных решений [2]. К недостаткам относят получение размытых линий, а также потерю небольших по размеру объектов [1]. Рис.1. Автоматическая бинаризация полутонового изображения с помощью метода Отсу. Метод Бернсена Данный метод достаточно широко используется при обработке различных схем. Является локальным методом обработки. Принцип работы алгоритма заключается в следующем: обычная квадратная матрица с нечетным числом пикселей (например, 3х3) «пробегает» в цикле по всем пикселям исходного изображения. На каждом шаге находится экстремальные значения яркости пикселей. Затем находится среднее значение. Если разность самого высокого и самого низкого уровней превышает некоторый порог, то пиксель бинаризуется белым, либо черным. Для всего изображения порог контраста является подбираемой константой [1, 3]. Данный метод имеет недостаток в виде помех, отражающихся черными пятнами на изображении. Они могут быть устранены дополнительной обработкой изображения. Метод Эйквеля Этот метод предполагает использование концентрических окон: малого S и большого L (рис. 2). Для большого окна рассчитывается пороговое значение, позволяющее поделить пиксели на два класса. Если математические ожидания яркости в классах имеют разницу, превышающую заданный уровень, пиксели в малом окне бинаризуются с пороговым значением, полученным по методу Отсу, иначе значения пикселей заменяют близкими к исходным. Рис. 2. Перемещение окон в методе Эйквеля. Недостатком этого метода являются разрывы на изображении и ложные черные области, которые можно устранить дополнительной обработкой (постпроцессингом) [1]. Используется метод, в основном, для обработки четких изображений. 13 Метод, использующий двумерную энтропию (метод Абуталеба) Для определения порогового значения в данном методе используется обычное и пространственное распределение оттенков серого. Изучаются оттенки серого каждого пикселя, а также среднее значение оттенков серого окружающих пикселей. Вычисляется частота появления каждой пары оттенков серого, и таким образом получают поверхность, которая, предположительно, будет иметь два пика и одну впадину (рис. 3). Пики отвечают за передний и задний фоны. Эти фоны могут быть разделены при помощи выбора порога, который максимизирует энтропию двух групп пикселей. Рис. 3. Изображение двумерной гистограммы Представленный алгоритм достаточно прост и итеративен, но вместе с тем при бинаризации некоторых изображений данным методом получается лишь утонченная версия исходного изображения, следовательно, при работе с этим алгоритмом может потребоваться дилатация. [4] Метод Ниблэка Основная идея этого алгоритма состоит в том, чтобы варьировать порог значения яркости бинаризации от точки к точке на основании локального значения стандартного отклонения. Порог яркости в точке (x,y) рассчитывается так: B( x, y) m( x, y) k * s( x, y) где m(x,y) среднее отклонение выборки для некоторой окрестности точки, s(x,y) стандартное отклонение. Параметр k определяет часть границы объекта, которую можно использовать в качестве объекта. Значение k 0,2 задает достаточно хорошее разделение объектов, если они заданы черным цветом, k 0,2 если заданы белым. Получил высокую популярность из-за его интеграции с этапом постпроцессинга [1] Метод Капура Один из глобальных алгоритмов бинаризации изображения, использующий метод нахождения порогового значения, основанный на энтропии. Данный метод максимизирует энтропии классов, которые могут быть интерпретированы, как измерения компактности и разделимости классов. В таком случае, целевая функция нахождения порогового значения может быть получена как: T h( g ) N h( g ) h( g ) h( g ) J (T ) log( ) log( ) P (T ) g T 1 P (T ) P (T ) g 0 P1(T ) 1 2 2 где h(g) — компоненты бимодальной гистограммы, n — максимальная длина гистограммы. Величина J(T) максимизируется, а T, которая максимизирует J(T) и есть пороговое значение [5]. Метод Киттлера В данном методе предполагается, что компоненты бимодальной гистограммы оттенков серого h(g) нормально распределены [6]. Нормальное распределение определяется их значениями i , стандартным отклонением i и априорными вероятностями Pi . В случае двух различных классов, заднего и переднего фона, а также данного порогового значения T, параметры могут быть получены следующими соотношениями: b 1 b h( g ) g Pi (T ) h( g ) i (T ) P (T ) ga g a i 14 i2 (T ) b T ,i 1 0, i 1 1 b ( g i (T ))2 h( g ) , где a . Pi (T ) g a n,i 2 T 1, i 2 Благодаря полученным значениям может быть определена целевая функция, которая впоследствии минимизируется для уменьшения пороговой ошибки [5]. Метод Яновица-Брукштейна Применяется для обработки картографических изображений. В качестве пороговой поверхности бинаризации используется поверхность потенциалов, строящаяся на базе локальной максимизации градиента яркости [7, 8]. Подсчет поверхности ведется от контурных пикселей. Для каждого неконтурного пикселя подсчитывается интерполяционный остаток R(x,y), и значение пикселя P(x,y) на n+1 ом шаге должно рассчитываться в соответствии с формулами: P ( x, y) Pn ( x, y) * Rn ( x, y) / 4 n1 Rn ( x, y) Pn ( x 1, y) Pn ( x 1, y) Pn ( x, y 1) Pn ( x, y 1) 4 * Pn ( x, y) причем для быстрой сходимости рекомендуют использовать значение в пределах от 1 до 2. Не производит дополнительного шума на изображении. Вместе с тем крайне малопроизводителен [1]. Сравнительный анализ алгоритмов бинаризации Для проведения сравнительной характеристики алгоритмов были поставлены эксперименты с пятью различными изображениями с использованием всех вышеописанных методов, при этом проводились замеры времени выполнения на компьютере с процессором AMD A8-550M APU with Radeon HD Graphics с частотой 2,10 ГГц. Одно из исследованных в работе экспериментальных изображений (рис.4) представляет собой полученное с помощью электронного микроскопа полутоновое изображение специального сплава, содержащего алюминий и вольфрамовую нить. Для этого изображения производились замеры времени путем многократного выполнения алгоритма с последующим усреднением. Рис. 4. Тестовое изображение Результаты применения бинаризационных методов оценивались по следующим критериям: 1. Сломанные структурные линии. Подсчитывались пробелы в линиях различной толщины, причем большие пробелы котировались хуже, чем маленькие; 2. Сломанные символы, текст и т.д. Учитывались символы и элементы текста с пробелами, также принималась во внимание степень фрагментации текста; 3. Нечеткость линий, символов, текста. Принимались во внимание степень нечеткости полученного изображения, а также число размытых напечатанных объектов; 4. Потеря целых объектов. Подсчитывалось число полностью потерянных напечатанных объектов; 5. Шум в однородных областях. Учитывалось число и размер шумовых «точек» и ложных объектов. По каждому из пяти предложенных критериев производилась оценка от 0 до 5. Оценка производилась экспертом в области обработки изображений. Полученные результаты можно увидеть в таблице 1: 15 Отсу Таблица 1. Сравнительная характеристика методов бинаризации. Номер изображения Результат Время выполнения (сумма 1-5) (сек.) 1 2 3 4 5 14 17 14 13 15 73 0.294 Бернсен 14 16 20 13 21 85 1.756 Эйквиль 15 20 21 18 13 87 13.023 Абуталеб 8 10 17 15 7 57 2.023 Ниблэк 20 21 16 19 13 89 1.005 Капур 12 10 17 14 3 56 0.588 Киттлер 8 8 17 11 6 50 0.344 Яновиц-Брукштейн 19 13 20 20 8 80 99.775 Метод Наиболее результативно справился метод Ниблэка у него одни из наилучших показаний по времени и качеству работы. Метод Отсу превосходит многие из глобальных алгоритмов бинаризации (Отсу, Абуталеб, Капур, Киттлер) по времени и качеству, однако в сравнении с локальными алгоритмами, он продемонстрировал нечеткость различных символов [9]. Тем не менее, метод Отсу справился с задачей бинаризации быстрее и визуально лучше алгоритмов, сопоставимых с ним по времени. Так как обработка символьных обозначений выходит за рамки предложенного объекта исследования и с учетом обозначенных выше преимуществ метода Отсу, а также учитывая тот факт, что алгоритм имеет понятный статистический смысл и является эффективным способом нахождения порога бимодальных изображений [10], целесообразно выбрать в качестве рабочего алгоритма бинаризации именно его. Заключение В данной статье была приведена классификация алгоритмов бинаризации различных растровых изображений выделенного в рамках исследования класса, проанализированы основные методы автоматической бинаризации изображений. Согласно выбранным критериям была произведена оценка предложенных методов, выбраны наиболее подходящие алгоритмы для поставленных в проблеме полутоновых изображений. В качестве направления дальнейшей работы можно рассмотреть дополнительно другие методы автоматической бинаризации, получившие менее широкое применение или методы, основанные на базе предложенных, например, метод Sauvola, Wolf, NICK, основанные на методе Ниблэка, и другие. Также можно расширить исследуемую задачу, рассматривая алгоритмы бинаризации в совокупности с этапом постпроцессинга на изображении (удаления ложных объектов), что, возможно, отразится на качестве получаемых результатов, но вместе с тем потребует дополнительных временных затрат. Литература 1. Федоров А. Бинаризация черно-белых изображений. Состояние и перспективы развития. Режим доступа: http://it-claim.ru/Library/Books/ITS/wwwbook/ist4b/its4/fyodorov.htm (дата обращения 29.10.2016). 2. Otsu N. A threshold selection method from gray-level histograms. // IEEE Trans. Systems, Man, and Cybernetics, 1979, vol. 9, no. 1, pp. 62–66. 3. Бернсен Дж. Динамический выбор порогового значения в полутоновом изображении: Сборник научных трудов 8-й международной конференции по распознаванию изображений, Париж, Франция, 1986, с. 1251 1255. 4. Abutaleb A. Automatic thresholding of gray-level pictures using two-dimensional entropy. // Computer Vision, Graphics and Image Processing, 1989, vol. 47, pp. 22–32. 5. Drobchenko A., Vartiainen J., Kamarainen J.-K., Lensu L., Kalviainen H. Thresholding Based Detection of Fine and Sparse Details. // Department of Information Technology Lappeenranta University of Technology P.O.Box 20, FI53851 Lappeenranta, Finland, 2005. 6. Kittler J., Illingworth J. Minimum error thresholding. // Pattern Recognition, 1986, vol. 19, pp. 41–47. 7. Прэтт У. Цифровая обработка изображений. Книги 1, 2. - М.: Наука, 2000. - 1024 с. 8. Хемминг Р.В. Цифровые фильтры. - М.: Наука, 1990. - 268 с. 9. Trier D., Taxt T. Evaluation of Binarization Methods for Document Images. // IEEE Trans. Systems, Man, and Cybernetics, 1995, vol. 9, no. 1, pp. 62–66. 10. Вильзитер Ю.В., Желтов С.Ю. Обработка и анализ изображений в задачах машинного зрения. -М.: Физматкнига, 2007. - 464 с. 16 Бородин Д.С. Исследование алгоритмов бинаризации растровых изображений шлифов металлов и сплавов. Статья посвящена вопросу бинаризации различных полутоновых изображений металлов и сплавов, полученных с помощью электронного микроскопа. Исследуются методы глобальной (Отсу, Абуталеба, Капура и Киттлера) и локальной (Бернсена, Ниблэка и другие) бинаризации. В работе определены исследуемые количественные и качественные характеристики, проведен эксперимент с целью выявления наиболее эффективного алгоритма для выбранного класса изображений. Ключевые слова: бинаризация, распознавание объектов, глобальные методы бинаризации, локальные методы бинаризации, пороговое значение, растровое изображение, гистограмма Borodin D.S. Metals’ and alloys’ raster images binarization methods analysis. The article is devoted to the question of different metals’ and alloys’ half-tone images binarization. Images are received with the electronical microscope. Global (Otsu, Abutaleb, Kapur, Kittler) and local (Bernsen, Niblack, etc.) binarization methods are analyzed. This work includes defined quantative and qualitative characteristics for effiency of binarization method evaluation. The results of a conducted experiment revealing the most effective method for chosen image class are provided. Keywords: binarization, object recognition, global binarization methods, local binarization methods, threshold, raster image, histogram. 17 УДК 004.4’422 Компилируемый язык описания программ для эмулятора машины Тьюринга Л.О. Воробьев Донецкий национальный технический ниверситет lev4411@gmail.com Воробьев Л.О. Компилируемый язык описания программ для эмулятора машины Тьюринга. В статье рассматривается язык программирования для описания алгоритмов на машине Тьюринга. Проанализированы существующие способы записи программы для машины Тьюринга. Описывается синтаксис разработанного языка описания программ и обоснована эффективность его применения в разработке программного обеспечения. Ключевые слова: синтаксический анализ, компиляция, эмулятор, машина Тьюринга, форма Бэкуса-Наура Введение Цель работы: создание специализированного компилируемого языка описания программ для многоленточных и одноленточных машин Тьюринга, последующая разработка и реализация компилятора для созданного языка и написание эффективных алгоритмов интерпретации скомпилированных программ. Машина Тьюринга — абстрактная модель вычислительной машины, состоящая из бесконечной ленты и головки, которая двигается вдоль ленты, считывает и записывает содержимое ячеек, и может принимать различные состояния [1, с. 83]. В общем случае, существуют также многоленточные машины Тьюринга (в англоязычной литературе — multitape Turing machines [2, с. 126]), которые состоят из более чем одной ленты, перемещающихся независимо друг от друга. Программой для машины Тьюринга называется конечный набор команд [1, c. 84], математическая запись которых имеет вид: qsai → qtaj d (1) где qs, qt — номера состояний; ai, aj — содержимое ячейки; d — направление движения ленты. Команда, записанная в формуле (1), означает, что если головка машины Тьюринга находится в состоянии qs, а на ленте записан символ ai, то головка меняет свое состояние на qt, на ленту записывается символ aj , и лента перемещается в направлении d. Программы для многоленточных машин Тьюринга содержат команды, которые имеют вид: qs (ai1, ai2, ..., ain) → qt (aj1, aj2, ..., ajn) d (2) где: aik, ajk — содержимое ячеек на ленте под номером k; n — количество лент. Машины Тьюринга используется во множестве теоретических и практических исследованиях. К примеру, в статье [3] описано использование машины Тьюринга для реализации алгоритмов симметричного шифрования. Предлагаемая программная система может использоваться, как средство эмуляции многоленточных и одноленточных машин Тьюринга путем написания программ на специализированном языке программирования. Разработанный эмулятор машины Тьюринга имеет открытый API-интерфейс для языков C и C++, что позволяет использовать созданный язык программирования в разработке прикладного программного обеспечения. Использование нового компилируемого языка программирования позволит ускорить работу программного обеспечения, использующего механизм машины Тьюринга. 18 Анализ существующих решений Программная система, которая выполняет команды вида (1) и (2) называется эмулятором машины Тьюринга. Математической моделью такой системы можно считать универсальную машину Тьюринга [1, с. 87]. На сегодняшний день существует большое количество эмуляторов машины Тьюринга, которые используют различный синтаксис текстовых файлов для представления программ. Программа [4], написанная на языке Паскаль, имитирует работу одноленточной машины Тьюринга. При этом программы для эмуляции задаются в виде таблицы переходов, каждая клетка которой состоит из трех частей: 1) символ из заданного алфавита или знак "_"для обозначения «пустого» символа; 2) направление перемещения: > (вправо), < (влево) или . (на месте); 3) новое состояние автомата [4]. Существует онлайн-сервис [5], предоставляющий возможность выполнения программ для одноленточной машины Тьюринга. Программа задается списком команд, наиболее близких к математической записи вида (1) и (2). Программа JFLAP позволяет имитировать работу однолетночной и многоленточной машины Тьюринга [2, с. 126]. При ближайшем рассмотрении можно заметить, что программы для машины Тьюринга задаются в виде графа переходов, который вводится пользователем в интерактивном режиме. Постановка задачи В данной работе необходимо спроектировать синтаксис языка описания программ для многоленточных и одноленточных машин Тьюринга. Полученную грамматику следует использовать для построения компилятора, транслирующего программу на формальном языке в инструкции для эмулятора машины Тьюринга. Разработка синтаксиса для нового формального языка представляет собой неординарную задачу. Следует учесть несколько факторов, которые влияют на качество проектируемого синтаксиса: – стандартизация — синтаксис языка должен унаследовать стандартные конструкции из других языков программирования [6, с. 48]; – ясность, простота единообразие понятий языка [6, с. 38]; – обеспечение простоты чтения и написания программы [6, c. 94]. Новый синтаксис должен решить ряд проблем, связанных с описанием программы для машины Тьюринга. Команды могут не использовать запись на ленту нового значения, могут не перемещать ленту, не использовать переход в другое состояние. Программа может содержать несколько состояний, для которых команды отличаются лишь несколькими значениями. Программа может содержать команды, выполняющие одно и то же действие при различных наборах значений на лентах. Решение данных проблем позволит сократить описание программ для машины Тьюринга. Синтаксис и семантика языка Описание синтаксиса языка можно представить при помощи БНФ — формы Бэкуса-Наура [7, с. 17]. Язык описания программ для машины Тьюринга имеет синтаксис, заданный в виде БНФ на рис 1. Ключевые слова turing, template, begin, end, state, dir, char, nul, left, right, and, or, write, move, goto являются нечувствительными к регистру. В качестве идентификатора (<identifier>) может выступать любая последовательность букв, цифр, и знаков «_». Начало идентификатора не может быть цифрой или знаком «$». Строка (<string>) — любая последовательность символов, заключенная в двойные кавычки. Символьная константа (<character-constant>) — символ или его шестнадцатеричное представление, заключенное в одинарные кавычки. Запись символа в шестнадцатеричном представлении имеет вид: \xHH , где HH — шестнадцатеричное число. Символ «\» Задается с помощью конструкции \\ . Последовательности \" , \ позволяют задавать символы кавычек внутри строк и символьных констант. Номер ленты (<tape-number>) — последовательность цифр, записанных после знака «$». ' ' 19 ' ' ' ' ' <translation-unit> ::= {<external-declaration>}* <external-declaration> ::= <turing-definition> <turing-definition> ::= turing <identifier> { {<set-declaration>}* {<turing-declaration>}+ } <set-declaration> ::= <identifier> = <string> <character-list> ::= <character-constant> | <character-list>, <character-constant> <turing-declaration> ::= <state-declaration> | <template-declaration> <template-declaration> ::= template <identifier> ( <parameter-list> ) {<transition-rule>}+ <state-declaration> ::= {begin}? state <identifier> {<transition-rule>}+ | {begin}? state <identifier> : <identifier> ( <initializer-list> ) <parameter-list> ::= <parameterdeclaration> | <parameter-list> , <parameter-declaration> <parameterdeclaration> ::= <type-specifier> <identifier> <type-specifier> ::= dir | char | state <initializer-list> ::= <initializer> | <initializer-list> , <initializer> <initializer> ::= <character-expression> | <direction-expression> | <stateexpression> <character-expression> ::= <character-constant> | <identifier> | <tape-number> | nul <set-expression> ::= <string> | <identifier> <direction-expression> ::= <direction-constant> | <identifier> <direction-constant> ::= left | right <state-expression> ::= <identifier> | end <conditionalexpression> ::= <or-expression> <or-expression> ::= <andexpression> | <or-expression> or <and-expression> <and-expression> ::= <equality-expression> | <and-expression> and <equality-expression> <equalityexpression> ::= <relational-expression> | <tape-number> == <character-expression> | <tape-number> != <character-expression> <relational-expression> ::= <primary-expression> | <tape-number> < <character-expression> | <tape-number> > <character-expression> | <tape-number> <= <characterexpression> | <tape-number> >= <character-expression> <primary-expression> ::= <tape-expression> | ( <tape-list> ) <tape-list> ::= <tape-expression> | <tape-list> , <tape-expression> <tape-expression> ::= <character-expression> | <set-expression> <transition-rule> ::= <conditional-expression> : {<statement>}* <statement> ::= <writestatement> | <move-statement> | <gotostatement> <write-statement> ::= write <character-expression> ; | <tape-number> . write <character-expression> ; <move-statement> ::= move <direction-expression> ; | <tape-number> . move <direction-expression> ; <goto-statement> ::= goto <state-expression> ; Рисунок 1 — Синтаксис языка описания машины Тьюринга в форме Бэкуса — Наура 20 Программа для машины Тьюринга, записанная с помощью заданного синтаксиса представляет собой определение символьных множеств (<set-declaration>) и описание правил перехода (<transition-rule>), сгруппированных в состояния (<state-declaration>). Описание правил перехода состоят из условия (<conditional-expression>) и спаиска операторов (<statement>). Если состояния имеют похожие правила перехода (проблема 2, см. стр. 2), тогда можно использовать шаблоны (<template-declaration>), которые описивают правила перехода используя параметры из списка (<parameter-list>). В таком случае определение состояния будет содержать символ «:», идентификатор шабона и список фактических параметров (<initialiser-list>). Проблема, когда при различных наборах значений на лентах автомат выполняет одинаковые действия (проблема 3, см. стр. 2), решается путем использования условных выражений (<confitionalexpression>). К примеру, если одно и то же правило перехода используется, когда на двух лентах записаны одинаковые значения из множества alpha, то условное выражение может иметь вид: (alpha, alpha) and $2 == $1. В случае, если команда не меняет значение на ленте, не передвигает ленту или не переводит автомат в новое состояние (проблема 1, см. стр. 2), то соответствующий оператор (<statement>) может быть опущен. Описание структуры разработанной системы Разработанная система состоит из компилятора mtrc, написанного на языке C++, и интерпретатора правил перехода, выполненного в виде статической библиотеки (statestep.lib), написанной частично на языке C и на Ассемблере. Компилятор mtrc — это программа, которая считывает текст программы, записанный на языке описания машин Тьюринга, и транслирует (переводит) его в эквивалентную программу для интерпретатора правил перехода (рис. 2). В процессе трансляции, компилятор может сообщать пользователю о налиции ошибок в исходной программе [8]. Исходная программа (файл increment.mtr) Целевая программа (файл increment.obj) Компилятор MTRC Сообщения об ошибках turing increment { begin state q0 section .text 00: 3C 31 75 06 B8 00 00 32 08: 00 C3 3C 00 75 06 B8 31 10: 00 20 FF C3 B8 00 00 80 18: 00 C3 1: move left; nul: write 1; goto end; section .data 00: 04 00 00 00 01 00 00 00 08: 00 00 00 00 } Рисунок 2 — Компилятор mtrc В качестве примера для исходной программы использована машина Тьюринга, которая прибавляет 1 к числу в унарном коде. Математическая запись команд этой машины Тьюринга имеет вид: q11 → q11L; (3) q1 → qz1N: Компилятор создает объектный файл, содержащий секции .data и .text. Секция .data содержит таблицу состояний, которая представляет собой массив указателей на процедуры из секции .text. В данном примере компилятор создал одну процедуру для состояния, которая содержится в секции .text. Семантика этой процедуры может быть описана с помощью ассемблерных команд и языка C (табл. 1). 21 Таблица 1 — Дизассемблирование скомпилированного объектного модуля Машинный код Ассемблер x86 Язык C 00: 3C 31 02: 75 06 04: B8 00 00 32 00 09: C3 0A: 3C 00 0C: 75 06 0E: B8 31 00 20 FF 13: C3 14: B8 00 00 80 00 19: C3 cmp jne mov ret .e1: cmp jne mov ret .e2: mov ret al, 1 .e1 eax, 00320000h ' ' al, 0 .e2 eax, 0FF200031h switch(al) { case 1 : return 0x00320000; case 0: return 0xFF200031; default: return 0x00800000; }; ' ' eax,00800000h Процедура, созданная компилятором, возвращает правило перехода, которое зависит от значения регистра AX. В этот регистр интерпретатор должен записывать символы, содержащийся на лентах в текущем состоянии машины. В реализации эмулятора машины Тьюринга использованы эффективные алгоритмы, записанные на языке Ассемблера, который существенно повышают скорость выполнения программы. Для использования программы, написанной на данном языке программирования необходимо написать простую программу на языке C, использующую эмулятор машины Тьюринга. Выводы Разработанный язык описания программ для эмулятора машины Тьюринга не является полноценным языком программирования, однако он может быть использован в программных разработках вместе с языками C/C++, C#, и другими. Применение разработанного языка позволит ускорить работу программного обеспечения, которое использует механизм машины Тьюринга. Литература 1. А. К. Гуц. Математическая логика и теория алгоритмов: Учебное пособие. [Текст] / А. К. Гуц. — Омск : Издательство Наследие. Даилог-Сибирь, 2003. — 108 с. 1. Rodger, S. H. JFLAP: An Interactive Formal Languages and Automata Package. [Text] / S. H. Rodger, T. W. Finley. — [S. l.] : Jones and Bartlett, 2006. — 192 p. 2. М. М. Чернушко. Применение машины Тьюринга для реализации алгоритмов шифрования [Текст] / М. М. Чернушко // Технические науки: теория и практика: материалы II междунар. науч. конф. (г. Чита, январь 2014 г.). — [Б. м.] : Издательство Молодой ученый, 2014. — С. 19–22. 3. К. Поляков. Учебная модель компьютера «Машина Тьюринга» [Электронный ресурс]. — [Б. м. : б. и.], 2016. — Режим доступа: http://kpolyakov.spb.ru/prog/turing.htm (дата обращения: 06.10.2016). 4. А. С. Балюк. Детерминированная машина Тьюринга [Электронный ресурс]. — [Б. м. : б. и.], 2007. — Режим доступа: http://matinf.igpu.ru/simulator/tm.html (дата обращения: 06.10.2016). 5. Пратт Т. Языки программирования: разработка и реализация [Текст] / Пратт Т., Зелковиц М. ; Под ред. А. Матросова. — СПб. : Питер, 2002. — 688 с. 6. В. А. Серебряков. Основы конструирования компиляторов [Текст] / В. А. Серебряков, М. П. Галочкин. — [Б. м.] : Едиториал УРСС, 2001. — 192 с. 7. А. Ахо. Компиляторы: принципы, технологии и инструменты [Текст] / А. Ахо, Р. Сети, Дж. Ульман. — М. : Издательский дом «Вильямс», 2003. — 768 с. Vorobuev L.O., The compiled programming language for emulator of Turing mashines. The article deals with the programming language to describe the algorithm on a Turing machine. Analyzed the existing methods of recording a program for a Turing machine. It describes the syntax of the developed language and proved its efficiency in software development Keywords: parsing, compilation, emulator, the Turing machine, Backus-Naur Form 22 УДК 004.056 Защита информации в приложениях для мгновенной передачи сообщений О.С. Грищенко, А.В. Чернышова Донецкий национальный технический университет alla@donntu.org olleg1996@mail.ru Грищенко О.С., Чернышова А.В. Защита информации в приложениях для мгновенной передачи сообщений. Представлен обзор существующих месенджеров, поддерживающих защиту на уровне сообщений, и алгоритмов защиты, используемых в этих приложениях. Проведен первый этап проектирования авторской программы-месенджера. Ключевые слова: месенджер, шифрование, криптографический протокол, защита данных. Введение Цель работы – разработка приложения для обмена мгновенными сообщениями, предоставляющего защиту пользовательских данных и удовлетворяющего современным требованиям к безопасности пользовательской переписки. Проектирование приложения осуществляется на основе данных, полученных при анализе наиболее защищенных существующих приложений. Решение о создании системы было принято в связи с актуальностью проблемы защиты персональных данных и востребованностью приложений для защищенного обмена сообщениями. Необходимость обеспечения безопасности персональных данных в наше время очень важна. Информация всегда имела большую ценность, но в связи со стремительным развитием информационных технологий защита личных данных выходит на новый уровень. Из-за этого приложения, созданные для защиты данных, сейчас обретают все большую популярность. Обзор существующих месенджеров, поддерживающих защиту на уровне сообщений Chatsecure [1] — разработанное для iOS и Android приложение для обмена мгновенными сообщениями с поддержкой шифрования. Разработчиком является GuardianProject. Шифрование обеспечивается с помощью протокола OTR (Off-the-Record) [2], а передача сообщений - по протоколу XMPP[3]. Сообщения остаются приватными если оба собеседника используют приложения с поддержкой OTR. ChatSecure не сохраняет отправленные сообщения в памяти устройства. Приложение умеет работать с несколькими учётными записями. ChatSecure позволяет проводить групповые чаты. Приложение позволяет передавать мультимедиа-сообщения, фотографии и файлы. Является открытым. CryptoCat [4] — программа для обмена сообщениями с поддержкой шифрования. Является открытым. Может работать в браузерах Chrome, Firefox, Safari и Opera, а также в качестве отдельного сервиса в Apple OS X и на iPhone. Использует шифрование данных через протокол OTR и передает зашифрованные данные по Jabber/XMPP. Сообщения шифруются с помощью AES-256 [5]. После окончания диалога переписка удаляется автоматически в течение нескольких минут. При повторном входе в тот же диалог никто из участников диалога не сможет просмотреть ранее отправленные сообщения. Telegram [6] — кроссплатформенный месенджер, позволяющий обмениваться текстовыми сообщениями и файлами размером до 1,5 Гб. Обеспечивает защиту данных с помощью протокола MTProto, который предполагает использование нескольких криптографических протоколов. При авторизации и аутентификации пользователя приложение используют алгоритмы RSA-2048[7] и Диффи-Хеллмана [8]. Для шифрования сообщений использует AES. В режиме секретных чатов реализует end-to-end шифрование [9]. Signal [10] позволяет обмениваться сообщениями и звонками с абонентами из телефонной книги мобильного устройства. Приложение предоставляет возможность отправлять переписки в архив. Приложение обеспечивает криптозащиту телефонных разговоров от прослушки, записи и перехвата. Для шифрования данных используется алгоритм AES с 256-битным ключом. Signal способно обеспечить шифрование голосовой связи на всем пути прохождения сигнала. Для этого используется Wi-Fi подключение или мобильное соединение. Для защиты от прослушки на экране отображаются два случайных слова, которые должен повторить собеседник. TextSecure [10] - месенджер для безопасной передачи мгновенных сообщений, файлов и мультимедиа данных. TextSecure использует открытый протокол Signal, который реализует end-to-end шифрование данных. Ключи, использующиеся для шифрования, хранятся только на устройстве пользователя. Для проверки подлинности собеседника предусмотрено ручное сравнения отпечатков ключей на устройствах, либо сканирование QR-кода. TextSecure предоставляет также возможность создания групповых чатов, которые также шифруются. При этом серверы не имеют доступа к метаданным группы. 23 SilentCircle [11] – это комплекс приложений, которые предоставляют возможность передачи мгновенных сообщений, email, позволяют совершать звонки и устраивать видеоконференции. Имеет функцию самоуничтожения сообщений по прошествии некоторого времени. SilentCircle является сервисом с платной подпиской. Приложение независимо от центрального сервера. Все ключи, используемые при шифровании, хранятся на устройстве пользователя. Через серверы информация передается в зашифрованном виде. SilentCIrcle использует SCIMP (основанный на ZRTP) для генерации ключей, которые используются при установлении связи [11]. Месенджер позволяет удалить любое уже отправленное сообщение. В таблицах ниже представлено сравнение характеристик рассматриваемых месенджеров. Таблица 1. Сравнение общих характеристик рассматриваемых месенджеров. Обмен Обмен Криптографический Хранение Название текстовыми Открытый мультимедиа протокол сообщений сообщениями данными Chatsecure OTR + + + CryptoCat OTR + + Telegram MTProto + + -(сервер) Signal SignalProtocol + + + + TextSecure SignalProtocol + + + + SilentCircle SCIMP + + + Бесплатный + + + + + - Таблица 2. Сравнение средств защиты месенджеров. Название Симетри чные алгоритм ы Хеш функци и Аутентификац ия сообщений, защита целостности Возможность удалить отправленное сообщение Разработчики не имеют доступ к данным Chatsecure AES SHA-1 HMAC - + CryptoCat AES SHA-1 HMAC удаляются автоматическ и Telegram AES SHA-1, MD5 сравнение секретных кодов + Signal AES SHA HMACSHA256 SAS - TextSecure AES-256 SHA HMACSHA256 - SHA SAS + SilentCircle AES Данные защищены при краже ключей Способ согласования ключей SIGMA, SKEME и HMQV SIGMA, + + SKEME и HMQV алгоритм +(в +(в Диффиsecretchats) secretchats) Хеллмана ZRTP с + + использование м Curve25519 алгоритм + + ДиффиХеллмана + + ZRTP + Таким образом, все рассматриваемые протоколы предоставляют возможность обмена зашифрованными сообщениями, но используют различные криптографические алгоритмы для обеспечения защиты данных. Большинство рассмотренных месенджеров позволяют хранить сообщения, а Telegram и Chatsecure позволяют удалять ранее отправленные сообщения (хотя после удаления сообщений в Telegram на компьютерах клиентов могут остаться некоторые данные, например прикрепленные файлы). Все рассмотренные месенджеры кроме SilentCircle и серверной части Telegram являются открытыми. Обмен мультимедийными данными не поддерживают только CryptoCat и Telegram. Для согласования ключей все рассмотренные месенджеры используют алгоритмы, основанные на алгоритме Диффи-Хеллмана. Для шифрования данных все рассмотренные месенджеры используют алгоритм AES и предполагают защиту данных даже при перехвате ключей безопасности. Все рассмотренные месенджеры кроме SilentCircle являются бесплатными. К недостаткам описанных месенджеров можно отнести: Chatsecure – не дружественный интерфейс, отсутствие возможности обмена мультимедийными данными, не сообщает о поступивших зашифрованных сообщениях, если статус пользователя offline. CryptoCat - отсутствие возможности хранения сообщений и обмена мультимедийными данными. Telegram - закрытая серверная часть, довольно громоздкий криптографический алгоритм, отсутствие возможности обмена мультимедийными данными. 24 Signal – присутствие исключительно на платформе Android. TextSecure - довольно бедная функциональность, присутствие исключительно на платформе Android. SilentCIrcle - непрозрачный процесс регистрации, значительная стоимость ($100 в год). Обзор существующих протоколов защиты информации в месенджерах Протокол OTR отвечает следующим требованиям к безопасности передаваемых данных: – шифрование сообщений — никто иной не сможет прочитать сообщения; – аутентификация собеседников — уверенность в том, кто является собеседником; – perfectforwardsecrecy — переписка не компроментируется при потере секретных ключей; – возможность отречения — третье лицо не сможет доказать принадлежность сообщений[2]. OTR использует протоколы согласования и аутентификации ключей SIGMA, SKEME[12] и MQV[13]. Для аутентификации сообщений используется HMAC[14]. При этом используется ключ, полученный хешированием ключа, используемого для шифрования сообщения. Когда сторона A передает сообщение M другой стороне B, вместе с сообщением она передает вычисленное с помощью общего ключа значение HMAC(M, K). Сторона B, получив сообщение, может также вычислить HMAC(M, K).[2] Если оно совпадает с полученным значением, то сообщение было передано одной из сторон, участвующих в переписке. В то же время использование HMAC обеспечивает отрицаемость. Для шифрования сообщений используется алгоритм AES в режиме счётчика. Построенный таким образом шифр обеспечит спорное шифрование. [2] SignalProtocol - криптографический протокол, использующий end-to-end шифрование. Использует комбинацию DoubleRatchetAlgorithm предварительных ключей и протокола Диффи-Хеллмана, или протокол ZRTP [15] с алгоритмом Curve25519 [16] для согласования ключей, алгоритм AES для шифрования данных и HMAC для аутентификации и защиты целостности сообщений. Он не обеспечивает сохранение анонимности и требует наличия серверов для ретрансляции сообщений и хранения ключей. Для аутентификации, пользователи могут вручную сравнить отпечатки открытых ключей. Политика конфиденциальности Signal предусматривает, что идентификаторы получателей хранятся на серверах Signal столько, сколько необходимо для того, чтобы передавать каждое сообщение. [10] В MTProto прежде чем сообщение будет передано по сети с использованием транспортного протокола, оно шифруется и в начало сообщения добавляется внешний заголовок, который состоит из: 64-битного идентификатора ключа (который уникально идентифицирует ключ авторизации для сервера, а также для пользователя) и 128-битного ключа сообщения. Ключ юзера вместе с ключом сообщения определяет актуальный 256-битный ключ и 256-битный вектор инициализации, который шифрует сообщение, используя AES-256 шифрование с расширением неопределённого искажения (infinitegarbleextension, IGE). Ключ сообщения определяется 128 битами нижнего порядка от SHA1 тела сообщения. Составные сообщения шифруются как одно сообщение. [6] Проектирование авторской программы-месенджера После анализа существующих защищенных месенджеров было принято решение о разработке нового месенджера с поддержкой защиты передаваемых данных. Основываясь на анализе механизмов защиты существующих продуктов, к разрабатываемому приложению были предъявлены следующие требования: - обеспечение надежного механизма согласования ключей; - шифрование всех передаваемых данных; - хранение сообщений в зашифрованном виде; - отсутствие доступа к передаваемым данным при передаче через сервер; - проверка целостности сообщений. Для разрабатываемого продукта был спроектирован протокол, удовлетворяющий всем выше перечисленным требованиям. Для согласования ключей протокол использует алгоритм RSA. Для шифрования передаваемых данных используется алгоритм AES, для проверки целостности сообщений используется электронно-цифровая подпись. Протокол предполагает два уровня шифрования: шифрование канала между клиентом и сервером и шифрование передаваемых сообщений непосредственно между клиентами. Таким образом, сообщения клиентов будут храниться на сервере в зашифрованном виде, а ключи для расшифровки сообщений будут находиться только на пользовательских компьютерах. На транспортном уровне используется протокол TCP. Возможная схема работы протокола безопасности месенджера представлена на рисунках ниже. На рис. 1 представлен этап 1 - обеспечение безопасности потока, подготовка к аутентификации. 25 Рисунок 1 - Обеспечение безопасности потока, подготовка к аутентификации На этапе 1 клиент посылает серверу сообщение, содержащее тег <stream>. Сервер создает поток обработки сообщений данного клиента и отвечает клиенту сообщением, также содержащим тег <stream>. После этого сервер генерирует публичный ключ RSA и отправляет его клиенту. Клиент принимает публичный ключ RSA сервера, генерирует собственный публичный ключ RSA и отправляет его серверу. Сервер генерирует симметричный ключ AES, шифрует его публичным ключом клиента и отправляет клиенту. После этого все данные, передаваемые между клиентом и сервером, шифруются с помощью симметричного алгоритма AES. Сервер сообщает о завершении согласования безопасности потока, посылая сообщение с тегом <processed>. На рис. 2 представлен процесс аутентификации пользователя. Рисунок 2 - Аутентификации пользователя На этапе 2 сервер посылает клиенту сообщение с тегом <auth>, говорящее о том, что клиент должен аутентифицироваться. Клиент отвечает сообщением, содержащим его логин и хеш от пароля. Сервер проверяет полученные данные и, если аутентификация прошла успешно, отправляет сообщение с тегом <sccess>. На рис. 3 представлен процесс обеспечения безопасности данных на уровне пользователей. Рисунок 3 - Обеспечения безопасности данных на уровне пользователей Сообщения между клиентами отправляются через сервер. Перед началом передачи сообщений клиенты должны установить между собой защищенный канал передачи данных. Клиент, инициировавший обмен сообщениями, передает свой публичный RSA-ключ клиенту-получателю. Получатель генерирует собственный публичный ключ и отправляет его инициатору. После этого инициатор генерирует симметричный AES-ключ, шифрует его публичным ключом получателя, отправляет получателю. Текст всех последующих сообщений шифруется с помощью алгоритма AES. После этого инициатор и получатель обмениваются публичными RSAключами для использования электронно-цифровой подписи. Когда согласование защиты закончено получатель отправляет инициатору сообщение со значением success=true. На рис. 4 представлен процесс обмена зашифрованными сообщениями между пользователями. После согласования защиты пользователи могут обмениваться сообщениями, которые шифруются с помощью алгоритма AES и подписываются с помощью электронно-цифровой подписи. 26 Рисунок 4–Процесс обмена зашифрованными сообщениями между клиентами Выводы Был проведен обзор существующих месенджеров, поддерживающих защиту на уровне сообщений. Были рассмотрены существующие механизмы защиты данных для систем мгновенного обмена сообщениями. В рамках данной работы был проведен начальный этап проектирования авторской программы-месенджера. В дальнейшем планируется реализовать описанное приложение и расширить его функциональность возможностью организации защищенных групповых чатов и передачей файлов. Литература 1. Сhatsecure// hatsecure.org [Электронный ресурс]. – Режим доступаhttps://chatsecure.org/. 2. Off-the-RecordMessaging// Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Off-the-Record_Messaging. 3. XMPP // Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/XMPP. 4. Cryptocat // crypto.cat [Электронный ресурс]. – Режим доступа: https://crypto.cat/. 5. AdvancedEncryptionStandard// Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard. 6. Telegram // tlgrm.ru. [Электронный ресурс]. – Режим доступа: https://tlgrm.ru/techfaq. 7. RSA // Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/RSA. 8. Протокол Диффи—Хеллмана// Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Протокол_Диффи_—_Хеллмана. 9. End-to-endencryption// Википедия [Электронный ресурс]. – Режим доступа: https://en.wikipedia.org/wiki/End-to-end_encryption. 10. Open whisper systems// whispersystems.org. [Электронный ресурс].– Режим доступа: https://whispersystems.org/. 11. Silentcircle //silentcircle.com [Электронныйресурс]. – Режимдоступа: https://www.silentcircle.com/products-and-solutions/technology/zrtp/#why-do-we-need-secure-voip. 12. SKEME// Википедия. [Электронный ресурс]. – Режим доступа:https://ru.wikipedia.org/wiki/SKEME. 13. MQV// Википедия. [Электронный ресурс]. – Режим доступа:https://ru.wikipedia.org/wiki/MQV. 14. HMAC // Википедия. [Электронный ресурс]. – Режим доступа:https://ru.wikipedia.org/wiki/HMAC. 15. ZRTP// Википедия. [Электронный ресурс]. – Режим доступа:https://ru.wikipedia.org/wiki/ZRTP. 16. Curve25519 // Википедия. [Электронный ресурс]. – Режим доступа: https://en.wikipedia.org/wiki/Curve25519. Грищенко О.С., Чернышова А.В. Защита информации в приложениях для мгновенной передачи сообщений. Представлен обзор существующих месенджеров, поддерживающих защиту на уровне сообщений и алгоритмов защиты, используемых в этих приложениях. Проведен первый этап проектирования авторской программы-месенджера. Ключевые слова: месенджер, шифрование, криптографический протокол, защита данных. Grichenco O. S., Chernyshova A. V. Protection of the information in the applications for instant messaging. A review of the existing messengers that support the message-level security and protection algorithms used in these applications. The first stage of the author messenger designing. Keywords: messenger, encryption, encryption protocol, data protection. 27 УДК 004.056.5 Анализ средств защиты больших данных в распределенных системах А.А. Егоров, А.В. Чернышова, Н.Е. Губенко Донецкий национальный технический университет yegorov0725@yandex.ru, alla@donntu.org, negubenko@mail.ru Егоров А.А., Чернышова А.В., Губенко Н.Е. Анализ средств защиты больших данных в распределенных системах. В статье описана и проанализирована с точки зрения безопасности распределенная модель обработки данных (MapReduce). Выполнен обзор существующих фреймворков обработки больших данных с описанием основных их возможностей. Представлен анализ существующих средств защиты для распределенных систем. Ключевые слова: распределенная система, большие данные, обработка данных, MapReduce, NoSQL, распределенная файловая система, безопасность данных, средства защиты, SSL, TLS. Введение Концепция больших данных (“BigData”) на сегодняшний день активно применяется ведущими технологическими компаниями во многих отраслях. Наиболее популярное их использование замечено в торговле, здравоохранении, телекоммуникациях, в финансовых компаниях, а также в государственном управлении [1]. При использовании данной технологии в розничных магазинах можно накопить множество информации о клиентах, системе управления запасами, поставками товарной продукции. С помощью полученной информации можно прогнозировать спрос или поставки товара, а также оптимизировать затраты. В финансовых компаниях большие данные предоставляют возможность проанализировать кредитоспособность заемщика, т. е. на основе выявленного оборота денежных средств подобрать выгодные и оптимальные условия кредитования, предложить дополнительные подходящие ему банковские услуги. Применение такого подхода позволит значительно сократить время рассмотрения заявок. Операторы сотовой связи также как и финансовые организации имеют огромные базы данных, что позволяет им проводить детальный анализ накопленной информации. Помимо использования Big Data в целях предоставления качественных услуг технологию можно применить для выявления и предотвращения мошенничества. Предприятия горнодобывающей и топливно-нефтяной промышленности могут накапливать информацию о количестве добытой продукции и на основании этих данных делать выводы об эффективности разработки месторождения, следить за состоянием оборудования, строить графики прогнозирования спроса на продукцию. Все выше перечисленные применения технологии больших данных нуждаются в определенной защите информации. Например, начинающей финансовой компании можно нанести большой материальный ущерб, если конкурирующая фирма получит доступ к накопленным или обработанным данным. Но наибольший урон можно нанести топливно-энергетическим предприятиям, которые непосредственно связаны с государством. Актуальность работы обусловлена тем, что большие данные, которые обрабатывает распределенная система могут быть: конфиденциальными; обрабатываться у других провайдеров, предоставляющих облачную инфраструктуру как услугу (IaaS), например Amazon EC2, Google Compute Engine, Microsoft Azure и т. д. Исходя из этого, необходимо построить/выбрать многоуровневую защиту с возможностью добавления или удаления определенного уровня в зависимости от сетевой инфраструктуры и обрабатываемых данных, решающих определенную задачу. Цель работы: исследовать существующие средства обработки данных в распределенных системах, проанализировать их с точки зрения защиты данных. Модель обработки данных и анализ ее безопасности В основу обработки данных в распределенных системах положена модель MapReduce. Главным достоинством такой модели является простая масштабируемость при наличии нескольких вычислительных узлов. Работа MapReduce состоит в основном из двух шагов: Map (отображение, распределение) и Reduce 28 (свертка, редукция) [2]. На шаге отображения (Map) выполняется предварительная обработка входных данных. Для этого один из главных узлов (обычно называется master или leader node) получает входные данные решаемой задачи и разделяет их на независимые части. Например, файл с логами содержащий 1000 строк, можно разделить на 10 частей по 100 строк. После того, как данные разделены, их передают другим рабочим узлам (slave или follower nodes) для дальнейшей обработки. На шаге редукции (Reduce) происходит свертка обработанных данных. Узел, отвечающий за решение задачи, получает ответы от рабочих узлов и на их основе формируется результат. Чтобы все составляющие функции MapReduce могли корректно и совместно выполнять вычисления, необходимо принять некоторое соглашение о единой структуре обрабатываемых данных. Оно должно быть достаточно гибким и общим, а также отвечать потребностям большинства приложений обработки данных. В MapReduce в качестве основных примитивов используются списки и пары ключ / значение. В роли ключей и значений могут выступать целые числа, строки или составные объекты, часть значений которых может быть проигнорирована при дальнейшей обработке [3]. На рисунке 1 показана упрощенная схема потока данных в модели MapReduce [4]. Рисунок 1 – Схема потока данных в модели MapReduce Как видно из рисунка 1, данная модель имеет много точек передачи данных и поэтому нуждается в определенной защите информации. Например, при передачи данных по сети после группировки по ключу, злоумышленник может добавить или убрать обработанные данные и тем самым нарушить общий результат задачи. Ситуацию может усугубить факт того, что обработка происходит не в своей частной локальной компьютерной сети, а используется инфраструктура других провайдеров. Одно из очевидного и простого решения может служить разделение конфиденциальных данных (имени, логина пользователя) и его обрабатываемых данных (количество взятых кредитов и т. д.). При этом в качестве ключа может использоваться хеш-значение конфиденциальных данных. Но данный подход не решает проблему, если сами значения обрабатываемых данных являются секретными. При такой ситуации необходимо шифровать и расшифровывать симметричными алгоритмами передаваемые данные во время обработки данных узлом. Обзор инструментов для обработки данных Большинство документно-ориентированных баз данных, например, как CouchDB, поддерживают упрощенную распределенную модель обработки данных MapReduce. Это позволяет производить параллельные вычисления на многоядерном процессоре. Но как таковое распределение вычислений на несколько узлов не производится, вместо этого используется механизм репликации [5]. 29 Помимо NoSQL баз данных, существуют и различные фреймворки, которые упрощают написание и сопровождение распределенных программ. Большинство программных каркасов имеют открытый исходный код (Open Source) и поддерживаются огромным сообществом программистов со всего мира. Приведём анализ основных свойств и особенностей некоторых из этих систем. Disco – распределенная система для обработки данных (MapReduce framework), написанная на языках Python/Erlang [6]. Как и оригинальная, распределенная MapReduce-система, опубликованная компанией Google [7-8], поддерживает параллельные вычисления над большими объемами данных на кластере компьютеров. Это делает ее идеальным инструментом для анализа и обработки больших наборов данных без необходимости заботиться о сложных технических вопросах, связанных с распределенной обработкой, например, таких, как транспортные протоколы, балансировка нагрузки, блокировка, расписание задач или отказоустойчивость. Проект Disco был создан в 2008 году центром исследования Nokia для решения значимых проблем при работе с большими объемами данных. Распределенная система активно развивается и поддерживается компанией Nokia и другими компаниями, которые используют ее для целей анализа логов пользователей, вероятностного моделирования, интеллектуального анализа данных (Data Mining) и полнотекстового индексирования. Среди особенностей данной системы необходимо отметить следующие: простая установка на Linux, Mac OS X, и FreeBSD; эффективное распределение данных за счет распределенной файловой системы Disco Distributed Filesystem; поддержка профилирования и отладки заданий MapReduce; запуск задач, написанных на разных языках, использующих собственный протокол заданий; построение запросов и индексов для миллиардов ключей и значений, используя базу данных DiscoDB [9]. Glow – MapReduce-система, которая проста в использовании и полностью написана на языке GoLang. Данная система предоставляет библиотеку для удобного вычисления в параллельных потоках на многоядерном процессоре или для распределенного вычисления на нескольких кластерах [10]. Автор также советует использовать еще одну систему, работающую на Go+Luajit – Gleam, которая является более гибкой и производительной. Gleam сочетает параллелизм Go с высокой производительностью Luajit (динамический компилятор для Lua), система также позволяет запускать программы автономно и на нескольких узлах [11]. Проекты Glow/Gleam находятся на начальной стадии, но стремительно развиваются. Hadoop – наиболее известная программная платформа, с помощью которой можно построить распределенные приложения для массово-параллельной обработки (Massive Parallel Processing, MPP) данных. Создана на основе докладов программистов Google [7-8]. Работа над проектом была начата в 2005 году. С 2008 года Hadoop является проектом верхнего уровня Apache Software Foundation. Проект Hadoop включает в себя такие модули: Hadoop Common: общие утилиты и сценарии для поддержки управления распределенной обработкой, файловой системой, развертывания инфраструктуры; Hadoop Distributed File System (HDFS): распределенная файловая система, которая предоставляет высокоскоростной доступ к данным приложения; Hadoop YARN: фреймворк для планирования заданий и управления ресурсами кластера; Hadoop MapReduce: система для параллельной обработки больших наборов данных. Можно выделить такие основные технические характеристики платформы Hadoop: масштабируемость: платформа масштабируется линейно, что позволяет хранить и обрабатывать петабайты данных; устойчивость к сбоям: все хранящиеся данные избыточны (дублируются на нескольких узлах), все неудачно выполненные задания по обработке данных перезапускаются; кроссплатформенность: библиотеки Hadoop написаны (в основном) на Java, и могут выполняться в любой операционной системе, поддерживающей Java Runtime Environment; автоматическое распараллеливание выполнения задачи: Hadoop создает «чистые» абстракции для разработчиков, снимая с них работу по планированию, контролю и агрегатированию результатов параллельной обработки данных. Используя Hadoop, можно получить такие бизнес-выгоды: гибкость: хранение и анализ структурированных и неструктурированных типов данных; эффективность: в большинстве случаев более низкая стоимость хранения и обработки терабайта данных; низкая стоимость создания кластера: для создания Hadoop-кластера не требуется дорогое серверное аппаратное обеспечение. сравнительная легкость адаптации: Hadoop имеет широкую и активно развивающуюся систему проектов; минимальные риски, связанные с некорректной работой ядра платформы: на сегодняшний день 30 платформа Hadoop успешно используется для обработки петабайт информации; «Open Source» лицензирование: низкая стоимость внедрения и владения платформой Hadoop, большое «developer community» [12]. Хранилище данных (Data Storage) и обработка данных (Data Processing) – одни из главных уровней системы. В Hadoop реализовано хранение как неструктурированных данных в распределенной файловой системе HDFS, так и структурированных данных в нереляционной базе данных HBase. Делать запросы к хранящимся на Hadoop-кластере наборам данных можно с помощью следующих инструментов, входящих в систему Hadoop: Pig, Hive (имеет свой SQL-подобный язык запросов HiveQL). С помощью инструмента Sqoop можно передавать большое количество данных. Компоненты, относящиеся к взаимодействию управления (Management), отвечающие за доступ к данным (Data Access), а также нереляционная база данных HBase представлены отдельными проектами. На рисунке 2 показана часть системы проектов Hadoop [13]. Рисунок 2 – Часть системы проектов Hadoop Анализ существующих средств защиты Многие документно-ориентированные базы данных на сегодняшний день уже поддерживают встроенное в свой дистрибутив SSL/TLS шифрование. Например, CouchDB, начиная с версии 1.3, изначально поддерживает (при определенной настройке) передачу по протоколу HTTPS [14]. MongoDB также позволяет выбрать версию дистрибутива, как с поддержкой SSL/TLS, так и без нее [15]. Но помимо этого, в коммерческой версии (MongoDB Enterprise Server) существуют дополнительные средства защиты: шифрование данных в состоянии покоя, интеграция с протоколом LDAP и аутентификацией Kerberos [16]. Для остальных NoSQL БД, которые не поддерживают встроенное SSL/TLS шифрование, можно использовать SSL-туннель или VPN, если используется своя (доверенная) локальная сеть. При использовании услуг облачного провайдера, например BaaS (Backend as a service), неизвестно, как защищена сетевая инфраструктура за обратным прокси-сервером (reverse proxy). Если передача данных и хранения данных на сервере не защищены дополнительными средствами, то это существенно повышает вероятность возникновения следующих рисков: утечки данных; подмены данных при ее обработке; полного или частичного уничтожения данных. На рисунке 3 показан пример взаимодействия клиента с услугой облачного хранения данных. 31 Рисунок 3 – Взаимодействие клиента с сервером БД через обратный прокси-сервер В MapReduce-системе Disco взаимодействие между главным и рабочими узлами осуществляется посредством SSH. Только отправка задачи на главный узел от пользователя реализуется через незащищенный HTTP [17]. Но эта проблема не является уязвимостью, если отправка задачи происходит с главного узла, то HTTP-запрос не выходит в сеть (обращение происходит к самому себе – loopback). Если отправка задания происходит с другого компьютера, то на главном узле необходимо запустить отдельным процессом обратный прокси-сервер с настроенным SSL-сертификатом. Проект Glow при обмене данными с другими узлами использует встроенную библиотеку TLS, это существенно уменьшает вероятность возникновения утечки и подмены данных при ее обработке. А проект Gleam не использует шифрование при передачи данных, так как ориентирован на высокую производительность. Как один из вариантов, исправить эту уязвимость можно с помощью VPN. Как и все распределенные системы, Hadoop использует сеть для взаимодействия между узлами. В качестве протокола передачи данных по умолчанию используется HTTP, но можно настроить поддержку и HTTPS [18]. Как и в выше упомянутых распределенных системах, Hadoop позволяет шифровать данные при передачи между узлами, но помимо этого у него есть решения, предназначенные для защиты данных с помощью инфраструктуры высоко детализированной авторизации. Решение Sentry поддерживает созданную ранее модель доступа на основе ролей под названием (RBAC) (Role-based Access Control), которая функционирует "поверх" формы представления данных. Модель RBAC имеет ряд функций, предназначенных для защиты корпоративной среды больших данных. Первая функция – это защищенная авторизация, которая обеспечивает обязательное управление доступом к данным для аутентифицированных пользователей. Пользователям присваиваются роли, а затем предоставляются соответствующие полномочия по доступу к данным. Такой подход способствует при помощи шаблонов, масштабированию модели, разделяя пользователей на категории в соответствии с их ролями. Другая функция позволяет организовать администрирование пользовательских полномочий таким образом, чтобы распределить эту задачу между несколькими администраторами на уровне схемы или на уровне базы данных. Также Sentry реализует аутентификацию с помощью протокола аутентификации Kerberos, интегрированного в Hadoop. Apache Knox Gateway – это решение для защиты периметра Hadoop. В отличие от решения Sentry, которое предоставляет средства для высокодетализированного контроля доступа к данным, решение Knox Gateway обеспечивает контроль доступа к сервисам платформы Hadoop. Цель Knox Gateway – предоставить единую точку безопасного доступа к Hadoop-кластерам. Данное решение реализовано в виде шлюза, который представляет доступ к Hadoop-кластерам посредством REST API [19]. Выводы В статье описана и проанализирована с точки зрения безопасности распределенная модель обработки данных (MapReduce). Выполнен обзор существующих фреймворков обработки больших данных с описанием их основных возможностей. Представлен анализ существующих средств защиты для распределенных систем. При проектировании средств защиты данных для распределенных систем необходимо учитывать то, что с одной стороны они должны надежно сохранять конфиденциальные данные, с другой – поддерживать многоуровневую защиту с возможностью добавления или удаления определенного уровня в зависимости от сетевой инфраструктуры и обрабатываемых данных. 32 Литература 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Аналитический обзор рынка Big Data // Хабрахабр. [Электронный ресурс]. – Режим доступа: https://habrahabr.ru/company/moex/blog/256747/ MapReduce // Википедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/MapReduce Чак Лэм. Hadoop в действии. – М.: ДМК Пресс, 2012. – 424 с.: ил. Introduction to MapReduce // sci2s. [Электронный ресурс]. – Режим доступа: http://sci2s.ugr.es/BigData#Big%20Data%20Technologies CouchDB // Википедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/CouchDB Disco // Github. [Электронный ресурс]. – Режим доступа: https://github.com/discoproject/disco MapReduce: Simplified Data Processing on Large Clusters // Google Research. [Электронный ресурс]. – Режим доступа: http://research.google.com/archive/mapreduce.html The Google File System // Google Research. [Электронный ресурс]. – Режим доступа: http://research.google.com/archive/gfs.html Disco // Discoproject. [Электронный ресурс]. – Режим доступа: http://discoproject.org/ Glow // Github. [Электронный ресурс]. – Режим доступа: https://github.com/chrislusf/glow Gleam // Github. [Электронный ресурс]. – Режим доступа: https://github.com/chrislusf/gleam Платформа Hadoop. Обзор // Codeinstinct. [Электронный ресурс]. – Режим доступа: http://www.codeinstinct.pro/2012/08/hadoop-overview.html What You Need To Know About Hadoop and Its Ecosystem // Savvycom. [Электронный ресурс]. – Режим доступа: https://savvycomsoftware.com/what-you-need-to-know-about-hadoop-and-its-ecosystem/ Native SSL Support // CouchDB. [Электронный ресурс]. – Режим доступа: http://docs.couchdb.org/en/1.3.0/ssl.html MongoDB Support // MongoDB. [Электронный ресурс]. – Режим доступа: https://docs.mongodb.com/v3.2/tutorial/configure-ssl/#mongodb-support MongoDB Download Center // MongoDB. [Электронный ресурс]. – Режим доступа: https://www.mongodb.com/download-center#enterprise Setting up Disco // Disco Readthedocs. [Электронный ресурс]. – Режим доступа: http://disco.readthedocs.io/en/latest/start/install.html#background Sandeep Karanth. Mastering Hadoop. – Packt Publishing, 2014. – 374 pages. Безопасность данных Hadoop и решение Sentry // IBM developerWorks. [Электронный ресурс]. – Режим доступа: http://www.ibm.com/developerworks/ru/library/se-hadoop/ Егоров А.А., Чернышова А.В., Губенко Н.Е. Анализ средств защиты больших данных в распределенных системах. В статье описана и проанализирована с точки зрения безопасности распределенная модель обработки данных (MapReduce). Выполнен обзор существующих фреймворков обработки больших данных с описанием их основных возможностей. Представлен анализ существующих средств защиты для распределенных систем. Ключевые слова: распределенная система, большие данные, обработка данных, MapReduce, NoSQL, распределенная файловая система, безопасность данных, средства защиты, SSL, TLS. Yegorov A.A., Chernyshova A.V., Gubenko N.E. Analysis means of protection big data in distributed systems. The article describes and analyzes the security model of a distributed data processing (MapReduce). A review of existing frameworks to handle big data describing the main features. The analysis of the existing means of protection for distributed systems. Keywords: distributed systems, big data, data processing, MapReduce, NoSQL, distributed file system, data security, means of protection, SSL, TLS. 33 УДК 004.9 Приложение для перевода текста с помощью камеры мобильного устройства «VlasiukTranslate» И.А. Коломойцева, Д.А.Власюк Донецкий национальный технический университет bolatiger@gmail.com, dimugan@ukr.net Коломойцева И.А., Власюк Д.А. Приложение для перевода текста с помощью камеры мобильного устройства «VlasiukTranslate». В работе выполнен анализ существующих аналогов данной программной системы, в результате сравнения сформулированы основные требования и выбраны технические средства для разработки своего программного продукта. Ключевые слова: оптическое распознавание символов, перевод, оптимизация, словари, точность, интерфейс, программный продукт. Введение Часто люди сталкиваются с ситуацией, когда необходимо узнать смысл или перевести определенное слово или фразу с иностранного языка. Для этого можно воспользоваться словарем или компьютерным переводчиком. Однако при постоянной необходимости поиска значений текста, написанного на “чужом” языке, вышеперечисленные подходы являются далеко не самыми лучшими, так как тратится большое количество времени на ввод этого текста или поиск по словарю. За последние несколько лет системы автоматического перевода достигли большого прогресса. Некоторое время назад такие системы были очень дорогостоящими и с трудом справлялись с иностранными текстами. Также страдало и качество перевода. Однако сейчас существует большое количество приложений, которые с легкостью заменяют профессионального переводчика [1]. Оптическое распознавание символов (OCR) — это механический или электронный перевод изображений рукописного, машинописного или печатного текста в текстовые данные, использующиеся для представления символов в компьютере (например, в текстовом редакторе) [2]. Цель работы – обзор существующих приложений, предназначенных для перевода текста и использующих камеру, их анализ и сравнение для формирования требований к разработке своей программной системы, а также обоснование выбора технических средств, необходимых для реализации собственного продукта. 1 Анализ предметной области OCR Одним из самых важных свойств любой программной системы, связанной с обработкой или переводом печатного или рукописного текста, является способность правильно распознать информацию. Это очень сложная и трудоемкая задача, так как даже человек, читая рукописный текст, может допускать определенные ошибки из-за трудностей, связанных с пониманием почерка. А к большим программным разработкам предъявляют требование практически 98% точности при распознавании текста [3]. Благодаря современным технологиям и постоянным разработкам с каждым годом появляются все новые и новые методы для обработки изображений, фильтрации помех и распознавания образов, что дает специалистам возможность все четче и правильнее разрабатывать и решать свои задачи. Однако существует несколько основных проблем, связанных с распознаванием символов: искажение изображенных символов; разнообразие форм начертания символов; множество различных размеров и масштаба текста [4]. Искажение символов может быть связанно с рядом возникающих помех, недостатками печати, изменением угла наклона символов, вплоть до освещения и теней. Что касается форм начертания символов, то можно заметить, что разнообразие существующих шрифтов безгранично, и в связи с этим, символы могут с легкостью быть распознаны как похожие друг на друга, например, «Z» и «2» [5]. Еще одной вероятной помехой может быть различие масштаба исходного текста. 34 Следовательно, система, распознающая символы должна уметь справляться с больших числом потенциально возникающих перед ней проблем и обладать достаточной степенью устойчивости к внешним факторам. В современных OCR-системах используются три типа классификаторов. Основной классификатор – структурный. Для ускорения и повышения качества распознавания применяются растровый и признаковый классификаторы [6]. Системы оптического распознавания символов состоят из таких блоков: блок сегментации, локализации и выделения элементов текста; блок предобработки изображения; блок выделения признаков; блок распознавания символов; блок постобработки результатов распознавания. Эти блоки соответствуют последовательности шагов при обработке изображения. Для начала необходимо выделить область и разбить весь текст на специальные участки, каждый из которых предназначен для отдельного символа. Далее необходимо выполнить фильтрацию помех, с целью получения чистого участка изображения, прошедшего сглаживание и освобожденного от помех. После чего, выделяются определенные признаки символов и их дальнейшее распознание. Последний блок предназначен для корректировок полученного результата, исправления возникших ошибок и получения более адекватного результата [4]. 2 Обзор существующих приложений, которые используют камеру мобильного устройства для работы с текстом На сегодняшний день одним из самых известных представителей данной области является Google Translate. Данное Android-приложение от компании Google Inc позволяет переводить текст на 103 языках, включает разговорник, ручной ввод, перевод камерой и многое другое. Интерфейс приложения связывает большой функционал системы, при этом является достаточно простым и понятным. Здесь присутствуют кнопки выбора готовых изображений, кнопка создания снимка и кнопка активации моментального перевода. Данная функция, в основном, предназначена для перевода коротких слов или фраз, например, вывесок в магазине или меню в ресторане, однако прекрасно работает и для трансляции больших текстов. Продукт обладает достаточным быстродействием. Следует отметить, что качество перевода находится на высоком уровне, устойчивость распознавания текста достигается путем дополнительных перспектив, применения вспышки камеры и контраста. Доступен офлайн перевод, но для этого необходимо предварительно скачать необходимый словарь. Программа находится в бесплатном доступе, что усиливает все вышеперечисленные достоинства. Следующий представитель данной отрасли – продукт разработчиков AugmReal под названием Camera Traslator. Распознает текст на 94%, работает исключительно в режиме мгновенного перевода, что исключает возможность удобного перевода больших текстов [7]. Приложение с легким и доступным интерфейсом, который включает в себя кнопку настроек, включения вспышки устройства и рабочую прямоугольную область, которую необходимо наводить на интересующий текст. Перевод появляется в верхней части экрана, здесь же можно просмотреть историю перевода одного сеанса. Главным недостатком является отсутствие офлайн перевода, что делает пользователя зависимым от подключения к Интернету. Однако существует и платная версия этого продукта, которая обладает более совершенным функционалом и большим количеством языков. Известное приложение от компании ABBYY, которое одним из первых объединило в себе функции оптического распознавания символов и переводчика, называется ABBYY Text Grabber+Translator. Разработка имеет простой интерфейс, который состоит из двух кнопок, предназначенных для выбора существующего изображения или моментальной съемки. Работает приложение достаточно стабильно и быстро, однако качество распознавания текста неудовлетворительно, так как программная система не содержит специальных встроенных функций для улучшения качества изображения, что значительно затрудняет возможность качественного перевода текста. Минусом также является интеграция с сервисом Google Translate для перевода текста, что означает потребность приложения в использовании качественного подключения к Интернету. Данный продукт представлен исключительно в платном сегменте, что отодвигает его на задний план из-за наличия более качественных и бесплатных приложений. Smart Mobile Software предлагает свою версию переводчика с использованием камеры – Photo Translator Free. Несмотря на название, продукт представлен и в платном варианте с расширенными возможностями, увеличенным количеством языков, без рекламы и стартового окна. В бесплатной версии доступно 5 языков, интерфейс программы простой, однако нагромождение и размеры кнопок затрудняют работу с приложением. Здесь присутствует несколько смысловых блоков управления. Первый предназначен для получения изображения, либо из галереи, либо с помощью камеры. Далее выбираются языки, для которых переводится текст. Внизу расположена кнопка Translate, при нажатии на которую происходит распознавание и перевод текста с изображения в случае успешного выбора параметров и наличия подключения к Интернету, иначе выдается сообщение об ошибке. Быстрота и стабильность работы приложения находится на невысоком 35 уровне, и занимает около минуты. Также минусом является отсутствие русифицированной версии продукта и отсутствие русского языкового пакета, по крайней мере, в бесплатной версии. Разработка CamTranslator Pro, представленная частным лицом Dennis Kragek, является вариантом для пользователей Apple продукции. Данное приложение оптимизировано только под IOS, поддерживает более 10ти языков, однако за дополнительную плату, можно установить практически любой интересующий пакет. Интерфейс программы удобен для работы. После создания фото пользователю предлагается выбрать интересующий его участок текста, вырезать его и передать на перевод. Фрагменты распознанного текста можно скопировать в буфер обмена с помощью нажатия специальной кнопки. Также присутствует функция мгновенного перевода, которая незаменима при работе с маленькими объемами текстов. Быстрота и качество перевода напрямую зависят от качества фотографии и освещения, что является несущественным минусом данного приложения. К достоинствам можно отнести наличие офлайн перевода и небольшое потребление ресурсов, что позволяет дольше сохранять работоспособность батареи. В таблице 1 представлены основные характеристики аналогов разрабатываемой системы [7]. Таблица 1. Сравнительные характеристики Характеристики Количество языков Офлайн перевод Скорость перевода % распознавания печатного текста Уровень устойчивости и стабильности распознавания Платформа Размер Разработчик Google Transalte 103 Camera Translator* 14 ABBYY Grabber 60 + <15 сек. + мгновенный перевод 96% мгновенный перевод** Text PhotoTranslator Free* 5 CamTranslator Pro* 10 <25 сек. >1 мин. + <20 сек. 94% 87% 90% 92% Высокий Высокий Низкий Средний Средний Android/IOS 7,67 Мб Google Inc Android 7,7 Мб AugmReal Android 19 Мб ABBYY Android 2 Мб Smart Mobile Software IOS 5 Мб Dennis Kragek * – бесплатная версия продукта ** – слова и короткие фразы Подводя итоги, следует отметить, что качество распознавания зависит не только от приложения и наличия специальных инструментов для обработки изображений, но и от камеры мобильного устройства. Анализируемые приложения показали разные результаты при тестировании. Наиболее лучшие результаты продемонстрировал Google Translate, что неудивительно, учитывая возможности и мощности компании. Также стоит отметить два неплохих варианта Camera Translate и CamTraslator. Данные продукты предоставляют достаточную функциональность, и в полной мере раскрывают свой потенциал в платных версиях. Каждый из представленных вариантов имеет свои недостатки. Например, приложение Google Translate занимает достаточно большой объем памяти, а постоянные обновления и скачивания словарей увеличивают его в разы. Во всех остальных представленных приложениях, кроме последнего, отсутствует офлайн перевод, что является заметным недостатком. Также, Camera Translator не переводит большие объемы текстов, а ABBYY Text Grabber+Translator, помимо большого размера, имеет низкий уровень устойчивости и стабильности распознавания. Скорость перевода приложения PhotoTranlsator Free низкая, а отсутствие русской версии и наличие всего 5-ти языков являются существенными недостатками данной версии. Основным минусом CamTranslator Pro является отсутствие Android-версии, что существенно уменьшает количество потенциальных пользователей. Разрабатываемый продукт призван объединить в себе лучшие качества существующих аналогов, и исключить основные недостатки каждого из них. 3 Требования к программной системе «VlasiukTranslate» Изучив и проанализировав ряд приложений, использующих камеру мобильных устройств для обеспечения ввода исходной информации, а также прочитав комментарии пользователей к данным продуктам, можно сформировать базисные требования и видение будущего программного продукта. Основные требования к разрабатываемой системе: 36 офлайн перевод (который будет осуществляться с помощью встроенных словарей), оптимизация скорости анализа и перевода текста, поддержка нескольких языков перевода, достаточный уровень устойчивости и стабильности распознавания текста, простой и удобный интерфейс пользователя, возможность выбора изображения для перевода, возможность подключения вспышки телефона, отсутствие влияния на работу системы размера экрана устройства, хорошее качество перевода. В эпоху постоянного развития мобильных устройств достаточно сложно произвести такой продукт, который успешно справится с возникшей конкуренцией, однако к этому необходимо стремиться. Качество перевода является главной точкой для конкуренции, потому что именно в этом аспекте нет идеального продукта. 4 Выбор технических средств Приложение по переводу текста с помощью камеры мобильного устройства будет оптимизировано под платформу Android и написано с помощью средств языка Java, а также с использованием библиотеки OCR. Данный выбор не случаен, ведь согласно статистике, в 2014 году 86% проданных смартфонов имели установленную операционную систему Android, а Java выступает основным языком разработки мобильных приложений. В качестве среды разработки будет использоваться Android Studio. Android Studio – интегрированная среда разработки (IDE) для работы с платформой Android, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains [8]. Android – операционная система для смартфонов, интернет-планшетов и других устройств, которая позволяет создавать Javaприложения, управляющие устройством через разработанные библиотеки Google [9]. В наше время программы для Android востребованы у пользователей. Это связанно с тем, что создаются все новые и новые приложения, призванные помочь и упростить выполнение некоторых действий для обычного человека, а также сэкономить его время, как, например, в случае с автоматическим переводом. Именно благодаря постоянному росту популярности Android-устройств и широкому спектру возможностей для разработчиков и была выбрана Anroid-платформа для разработки программного продукта. Выводы В данной работе проанализированы существующие программы для удобного и быстрого перевода текста с использованием камеры. На основе выполненного анализа и сравнения существующих приложений были сформированы основные требования для написания своего программного продукта. Также результатом проделанной работы является обоснование выбора технических средств, используемых при разработке. В дальнейшем требования к разрабатываемой программной системе могут быть уточнены, но в рамках основных, приведенных в этой работе. Литература 1. Обзор лучших переводчиков для Android. [Электронный ресурс]. – Режим доступа: http://itc.ua/articles/obzor-luchshih-perevodchikov-dlya-android/ 2. Оптическое распознавание символов. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Оптическое_распознавание_символов 3. Шамис А.Л. Принципы интеллектуализации автоматического распознавания / А.Л. Шамис – K:.2000 – 312 с. 4. Оптическое распознавание символов OCR. [Электронный ресурс]. – Режим доступа: http://wiki.technicalvision.ru/index.php/Оптическое_распознавание_символов_(OCR) 5. The First Census Optical Character Recognition System Conference / Wilkinsonet R.A. – Gaithersburg:Commerse, NIST, 1992 – 242 c. 6. Кучуганов А.В. , Лапинская Г.В. Распознавание рукописных текстов / А.В. Кучуганов, Г.В. Лапинская – Ижевск:.Мир, 2006 – 514 с. 7. Информация о характеристиках приложений. [Электронный ресурс]. – Режим доступа: https://play.google.com/store?hl=ru 8. Android Studio. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Android_Studio 9. Android. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Android 37 Коломойцева И.А., Власюк Д.А. Приложение для перевода текста с помощью камеры мобильного устройства «VlasiukTranslate». В работе выполнен анализ существующих аналогов данной программной системы, в результате сравнения сформулированы основные требования и выбраны технические средства для разработки своего программного продукта. Ключевые слова: оптическое распознавание символов, перевод, оптимизация, словари, точность, интерфейс, программный продукт. Kolomoitseva I.A., Vlasiuk D.A. The application to translation text using mobile device’s camera «VlasiukTranslate». This article provides an analysis of existing software systems that perform computer translation of texts. The purpose of comparison - to determine requirements for their own program system "VlasiukTranslate". These requirements are also given in the article Keywords: optical character recognition, translation, optimization, dictionaries, accuracy, interface, software. 38 УДК 004.9 Проектирование программной системы для бисероплетения «CrochetBeadMaster» И.А. Коломойцева, Н.О. Сторожук Донецкий национальный технический университет bolatiger@gmail.com, storozhuk2909@mail.ru Коломойцева И.А., Сторожук Н.О. Проектирование программной системы для бисероплетения«CrochetBeadMaster». Целью данной работы является описание начального этапа проектирования программной системы «CrochetBeadMaster». Для этого выполнены анализ существующих программных средств для бисероплетения и оценка их достоинств и недостатков, а также сформулированы требования и определены функциональные модули для собственного продукта. Ключевые слова: бисер, схема, озвучивание, конструктор, продукт, редактор, программная система. Введение Работа с бисером или другими подобными материалами является национальным ремеслом во многих культурах, а в настоящее время это искусство завоевало и весь мир своей неповторимой красотой, утонченностью и строгостью исполнения [1]. Для многих вязание с бисером представляется чем-то трудоёмким и совершенно недоступным. Однако стоит лишь разобраться в нюансах любой техники, и уже не так страшно браться за дело. Самое трудное в вязании с бисером заключается в правильном наборе бисеринок на нить, так как от этого зависит узор, получающийся при вязании [2]. Постоянно растущая популярность бисероплетения не могла не коснуться информационных технологий: пошаговые инструкции, видео-уроки, форумы, блоги, интернет-магазины, которые сегодня доступны всем и каждому. В отдельную категорию следует выделить программы, предоставляющие возможность самостоятельно составлять схемы для вязания бисером и воспроизводить их звуковой аналог для набора бисера рукодельницей. Целью написания данной статьи является: обзор существующих программных систем; анализ их достоинств и недостатков; определение функциональных требований для собственной программной системы; выбор программных средств для её реализации. Обзор существующих программных систем Анализ существующих программных систем - аналогов позволяет определить, какие положительные функции и алгоритмы можно использовать в собственной разработке, что необходимо добавить, а от чего отказаться, чтобы готовый продукт был конкурентоспособным и пользователь выбрал именно его. На данный момент можно выделить 4 программы, обеспечивающие основной функционал для работы со схемами. Рассмотрим каждую из них. Приложения JBead и DB-Bead - это приложения, предназначенные для использования на локальном компьютере, практически идентичные между собой. Автор и разработчик DB-Bead – Damian Brunold. Программа находится в свободном доступе и лицензирована под GPL v3 [3]. Так как версия DB-Bead используется чаще и имеет открытый код, далее будем рассматривать только её. Эта программа поможет составить схемы узоров для вязаных жгутов и для мозаичных жгутов. Следует отметить один "недостаток" программы: её интерфейс поддерживает только английский и немецкий языки. К достоинствам DB-Bead можно отнести то, что она бесплатная и легкая в освоении[4]. Онлайн-редактор CrochetBeadPaint позволяет создавать, редактировать и воспроизводить схемы для жгутов. По своим возможностям он похож на программу JBead с определенными нововведениями: это веб- 39 приложение позволяет импортировать схемы из форматов *.jbb и *.dbb, экспортировать в эти форматы и в растровое изображение *.png. Программа не требует установки: вся работа ведется непосредственно на сайте. Полноценная работа приложения возможна в браузерах: Firefox версии 27 и выше, Chrome версии 31 и выше[5]. CrochetBeadReader — мобильное приложение, которое воспроизводит файлы форматов *.dbb и *.jbb в аудиоформе. Данное приложение можно бесплатно загрузить с PlayMarket’а и установить на Androidустройство. Основной функционал заключается в озвучивании заранее загруженной на устройство схемы с возможностью изменения цветовой палитры, скорости чтения и установки паузы. В отличие от предыдущих программ, данное приложение не позволяет редактировать схемы, а так же создавать новые. Сравнение программных систем DB-Bead и CrochetBeadPaint по основным функциональным характеристикам представлено в таблице 1. Таблица 1. Анализ функциональных характеристик программных систем DB-Bead и CrochetBeadPaint Характеристика СrochetBeadPaint DB-Bead Способ взаимодействия Сайт Приложение Форматы входных файлов dbb, jbb dbb, jbb Форматы сохранения схем dbb, jbb, jpg, pdf dbb, jbb Язык интерфейса Английский, русский, немецкий Немецкий, английский Язык разработки Html, javaScript C++ Количество рядов по умолчанию 200+ 1600 рядов Количество в диаметре 4+ 5-30 Закрасить весь жгут одним цветом + Копировать фрагмент + + Отразить выделенное + горизонтально/вертикально Вставить строки + + Удалить строки + Выбор цвета Выбор из полной палитры 10 базовых цветов Копирование из разных схем в одну + Калькулятор для количества веса + необходимого бисера Инструкция + + Наличие озвучивания + 3D обзор изделия + Хранение схем + Печать схемы + На основе сравнения функционала программ можно сделать следующие выводы: СrochetBeadPaint поддерживает полную функциональность только при подключении к сети Internet, при его отсутствии или обновлении/очистке браузера локальные схемы удаляются с возможностью восстановления только с помощью администратора сайта; СrochetBeadPaint работает с ошибками, о которых говорится в инструкции, однако в таком случае пользователь должен постоянно помнить о них и избегать, что не позволяет полностью уделить внимание разработке; DB-Bead не имеет русского языка, что отпугивает значительную часть потенциальных пользователей, хотя интерфейс максимально приближен к стандартным Windows-программам; СrochetBeadPaint имеет значительное превосходство в функционале, что может пригодиться опытным пользователям, однако интерфейс перегружен, и необходимо значительно время, чтобы ознакомится со всеми возможностями; СrochetBeadPaint имеет калькулятор для подсчета количества исходных материалов, что при работе с программой DB-Bead и СrochetBeadReader необходимо будет делать вручную; при работе с СrochetBeadReader пользователь может только использовать готовую схему, для минимальной её коррекции или автоматизированного просчета количества необходимых материалов необходимо переносить схему на компьютер и использовать другое программное обеспечение; программы СrochetBeadReader и DB-Bead не предоставляют удобной работы с файлами схем – их хранение, сортировку. 40 Проектирование разрабатываемого программного продукта CrochetBeadMaster Проанализировав и обобщив полученную информацию о программах а так же жалобы и пожелания пользователей, была поставлена задача создать программный продукт, обобщающий конструктор, озвучивание и эргономичность трех объектов – аналогов а так же добавить новые возможности для удобства конечного пользователя. Система должна: поддерживать форматы входных файлов – dbb, jbb; сохранять схемы в форматах dbb, jbb, jpg; поддерживать два языка интерфейса – русский, английский; иметь подсистему–калькулятор для подсчета количества исходных материалов; иметь инструкцию; иметь интуитивно понятный и дружественный интерфейс; обработать все ошибки и исключительные ситуации программы; предоставлять 3 схемы – образца; обеспечивать хранение 30 пользовательских схем в программе; обеспечивать фильтрацию хранимых схем по количеству цветов, толщине; предоставлять возможность замены цвета в схеме; обеспечивать возможность прикрепить фото готового жгута и просмотреть изображение из программы. Требования к конструктору схем: устанавливать количество рядов по умолчанию – 50; варьировать количество рядов в диаметре – 5-30; закрасить весь жгут одним цветом; копировать фрагмент внутри схемы; копировать фрагмент из одной схемы в другую; отразить выделенный фрагмент горизонтально/вертикально; вставить строку; удалить строку; осуществлять выбор цвета из палитры в 30 цветов. Требования к озвучиванию схем: предоставлять возможность выбирать скорость чтения; предоставлять возможность ставить на паузу. предусмотреть проверочный режим чтения; отображать количество бисерин в диаметре; отображать количество необходимых раппортов для заданной длины. Распределение описанного функционала по смысловым модулям представлено на рисунке 1 в виде диаграммы. Модуль пользовательского интерфейса Модуль конвертирования Модуль конструирования Модуль озвучивания Калькулятор схем Модуль управления схемами Рисунок 1 – Диаграмма модулей системы CrochetBeadMaster При запуске приложения пользователем активируется модуль пользовательского интерфейса, который содержит описание окон приложения, подгружает списки схем а так же отвечает за сохранение последнего состояния системы. Модуль пользовательского интерфейса активен на протяжении всей работы программы. При выборе пользователем какой либо схемы для работы модуль конвертирования считывает файл схемы либо создает новую, а так же обеспечивает сохранение схем в указанных выше форматах. 41 Модуль конструирования – основной модуль системы – предоставляет методы для работы в конструкторе схем. Модуль озвучивания обеспечивает работу воспроизведения звукового аналога схемы с помощью синтеза речи либо используя готовые голосовые библиотеки. Модуль управления схемами осуществляет хранение схем и информации о них в базе данных MySQL, фильтрацию схем, их быстрый поиск и удобный доступ для просмотра информации о них и её редактирования. Калькулятор схем – подсистема, использующая входные данные от пользователя, информацию о выбранной схеме для подсчета необходимых для работы материалов. Выбор технических средств Android – операционная система для смартфонов, интернет-планшетов, электронных книг, цифровых проигрывателей, наручных часов, игровых приставок, нетбуков, смартбуков, очков Google, телевизоров и других устройств [6]. Операционная система Android была и будет востребована на рынке мобильных устройств. Основной причиной этого является лояльное отношение к пользователям. Широкий ассортимент устройств под управлением Android охватывает все ценовые сегменты – как бюджетные модели, так и премиум класс, позволяя обзавестись устройством с операционной системой от Google практически каждому [7]. Язык Java активно используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код для использования их виртуальной машиной. Для такой компиляции используется дополнительный инструмент, а именно Android Software Development Kit [8]. В качестве платформы разработки выбрана платформа Android, так как это самая популярная на сегодняшний день платформа, и её популярность продолжает расти [7]. Единственное мобильное приложение по заданной тематике обладает рядом недостатков, значит, существует вероятность, что программа CrochetBeadMaster будет востребованной и актуальной. Выводы Создание готового изделия из бисера без использования программных средств имеет ряд недостатков: используется чужая схема, что исключает уникальность изделия; своя схема может быть создана только от руки на бумаге либо с использованием ПО другого назначения, что является неудобным, трудоемким и исключает возможность создания качественной схемы; при самостоятельном наборе последовательности бисера повышается риск некорректного набора, увеличивается нагрузка на человека; диктовка другого человека повышает скорость набора, однако требует дополнительный человеческий ресурс. В ходе работы рассмотрены достоинства и недостатки существующих программ, оптимизирующих работу со схемами вязания бисером, сформулированы требования и определены функциональные характеристики программного продукта СrochetBeadMaster. Также обоснован выбор программных средств для разработки программной системы СrochetBeadMaster – язык Java для ОС Android. Литература 1. LiveInternet// Бисероплетение и изделия из бисера в современном мире. [Электронный ресурс] Режим доступа: http://www.idi-knam.ru/journalshowcomments.php?jpostid=301957120&journalid=4682845&go=next&categ=0 2. Рукодельный Рунет// Английский способ вязания бисером. Мастер-класс. [Электронный ресурс] - Режим доступа: http://www.darievna.ru/category/vjazanie-s-biserom 3. Brunold Software// Db-Weave Free Professional Weaving Software [Электронный ресурс] - Режим доступа: https://www.brunoldsoftware.ch/dbb.html 4. Салон эксклюзивного бисера// Программа Db-Bead. [Электронный ресурс] - Режим доступа: http://salon-bisera.ru/content/programma-db-bead 5. Салон эксклюзивного бисера// CrochetBeadPaint - онлайн редактор схем для жгутов + диктовалка. [Электронный ресурс] - Режим доступа: http://salon-bisera.ru/content/crochetbeadpaint-onlain-redaktorskhem-dlya-zhgutov-diktovalka 6. Википедия// Android. [Электронный ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/Android 7. Компьютерная грамотность с Надеждой// Плюсы и минусы Android. [Электронный ресурс] Режим доступа: http://www.compgramotnost.ru/android/plyusy-i-minusy-androida 8. Википедия// Java. [Электронный ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/Java 42 Коломойцева И.А., Сторожук Н.О. Проектирование программной системы для бисероплетения «CrochetBeadMaster». Целью данной работы является описание начального этапа проектирования программной системы «CrochetBeadMaster». Для этого выполнены анализ существующих программных средств для бисероплетения и оценка их достоинств и недостатков, а также сформулированы требования и определены функциональные модули для собственного продукта. Ключевые слова: бисер, схема, озвучивание, конструктор, продукт, редактор, программная система. Kolomoitseva I.A., Storozhuk N.O. Software system design beading «CrochetBeadMaster». This paper describes the initial design phase the program system «CrochetBeadMaster». For this purpose the authors carried out an analysis of existing software tools for beading and evaluated their advantages and disadvantages. The authors formulated the requirements and defined functional modules for their own product. Keywords: beads, diagram, sound designer, product, editor, a software system. 43 УДК 004.056 Сквозное шифрование переписки в социальной сети «ВКонтакте» Д.В. Кубашевский, А.В. Чернышова Донецкий национальный технический университет dehax12@gmail.com, alla@donntu.org Кубашевский Д.В., Чернышова А.В. Сквозное шифрование переписки в социальной сети «ВКонтакте». В данной работе выполнен анализ мессенджеров, использующих сквозное шифрование переписки, и представлен новый механизм сквозного шифрования на базе системы мгновенного обмена сообщениями в социальной сети «ВКонтакте». Ключевые слова: сквозное шифрование, система мгновенного обмена сообщениями, мессенджер, криптография, безопасность данных. Введение Общение является основной частью нашей жизни. С появлением систем мгновенного обмена сообщениями (англ. Instant messaging, IM) коммуникация между людьми приобрела новый характер [1]. Стало возможным «живое» общение с собеседником, который находится в противоположной точке земного шара. Современные клиенты систем мгновенного обмена сообщениями, которые называются мессенджерами, использует свой центральный сервер, на котором хранится вся история переписки каждого из пользователей. Таким образом, лица, имеющие доступ к данным сервера, могут изучить содержимое переписки. Иногда возникает необходимости в полной конфиденциальности беседы и в этом случае приходится использовать сквозное шифрование (End-to-End Encryption, E2EE) — способ передачи данных, когда доступ к сообщениям имеют исключительно пользователи, задействованные в общении [2]. Шифрование в популярных мессенджерах Facebook Messenger — официальный мессенджер от разработчиков крупнейшей в мире социальной сети Facebook. Существуют версии для персональных компьютеров и мобильных устройств. Приложение интегрировано с системой обмена сообщениями на основном сайте Facebook (Facebook Chat) и построено на базе открытого протокола MQTT [3]. Данный мессенджер позволяет обмениваться файлами и фотографиями. К текстовым сообщениям можно добавлять смайлики и стикеры. Мобильная версия мессенджера предоставляет голосовую и видеосвязь, а также возможность передавать геометки. С июля 2016 года Facebook на своём новостном портале сообщил о запуске тестирования сквозного (End-to-End) шифрования с секретными чатами. Теперь появилась возможность создавать секретный диалог, содержимое которого доступно исключительно для создателя диалога и его собеседника — пользователя, приглашённого в секретный чат. Также доступна возможность задавать таймер — после истечения заданного времени сообщения удаляются из беседы. Сквозное шифрование в секретных чатах основано на базе протокола Signal, разработанного некоммерческой организацией разработчиков открытого программного обеспечения «Open Whisper Systems» [4]. WhatsApp — бесплатный частный коммерческий кроссплатформенный мессенджер с поддержкой голосовой связи. Позволяет пересылать текстовые сообщения, изображения, видео и аудио. Также существуют версии для персональных компьютеров под управлением ОС Windows и мобильных устройств под управлением ОС Android, iOS, Windows Phone, BlackBerry, Nokia Symbian. WhatsApp использует модифицированный протокол Extensible Messaging and Presence Protocol (XMPP, ранее известный как Jabber). С апреля 2016 года с выходом обновления версии 2.16.12 в WhatsApp появилось сквозное шифрование (End-to-End) на базе протокола Signal. Шифрование распространяется на все типы сообщений: текст, фото, видео и голосовые сообщения. Шифрование также доступно в групповых чатах. В реализации используются алгоритмы ECDH на Curve25519, AES-256, AES-GCM, HMAC-SHA256, HDKF [5]. Viber — один из популярнейших мессенджеров, поддерживающих голосовую и видеосвязь. Работает на платформах Android, BlackBerry, iOS, Symbian, Windows Phone, Bada и компьютерах под управлением Windows, OS X и Ubuntu. Позволяет отправлять текстовые сообщения со стикерами, а также нарисованные прямо в приложении картинки. Также в мессенджере есть групповые и публичные тематические чаты [6]. 44 Начиная с версии 6.0, разработчики Viber внедрили в свой сервис сквозное шифрование. Таким образом, все сообщения, фотографии, видео, телефонные и видеовызовы будут зашифрованы с момента отправки с одного устройства до момента их получения адресатом. Как заявляют разработчики, ключ, необходимый для расшифровки данных, доступен только на устройстве, используемом для отправки сообщения, и на устройстве, используемом для приёма сообщения. Таким образом, никто другой не может расшифровать передаваемые данные. Групповые чаты также шифруются при условии, что все участники чата имеют версию мессенджера 6.0 или старше [7]. Telegram — бесплатный кроссплатформенный мессенджер, позволяющий обмениваться текстовыми сообщениями со смайликами и стикерами, голосовыми сообщениями, а также различным медиаконтентом. Поддерживает групповые чаты и публичные каналы. Сервис ориентирован на приватность — мессенджер гарантирует, что данные надёжно зашифрованы. В настройках безопасности доступна возможность «самоликвидации» аккаунта в случае длительного отсутствия пользователя в сети. Для мессенджера был создан протокол MTProto, предполагающий использование нескольких протоколов шифрования. При авторизации и аутентификации используются алгоритмы RSA-2048, DH-2048 для шифрования, при передаче сообщений протокола в сеть они шифруются AES с ключом, известным клиенту и серверу. Также применяются криптографические хеш-алгоритмы SHA-1 и MD5 [8]. С 8 октября 2013 года добавлена функциональность секретных чатов, в которых реализуется сквозное шифрование с применением алгоритма AES-256 в режиме IGE для пересылаемых сообщений [8]. В отличие от Viber, в Telegram секретные чаты доступны для двух пользователей. Как и в Facebook Messenger, в секретном чате Telegram есть возможность задания таймера. Спустя указанное время прочитанное сообщение будет удалено на устройстве пользователя. qTox — свободный кроссплатформенный мессенджер, реализованный на базе протокола Tox [9]. Позволяет осуществлять текстовую, голосовую, видеосвязь и передачу файлов. Доступен режим конференции (группы). Данный мессенджер отличается от ранее рассмотренных тем, что регистрация пользователей на основном сервере не требуется. После установки qTox автоматически создаётся пара ключей — публичный и секретный. Публичный ключ служит как уникальный идентификатор для поиска собеседника. Секретный ключ хранится только у владельца и подтверждает его подлинность, не раскрывая персональные данные. Поиск собеседников происходит через DHT [10]. Изначально вся переписка в qTox защищена с использованием сквозного шифрования. Kate Mobile — неофициальный мобильный клиент социальной сети «ВКонтакте» [11]. Предоставляет все возможности веб-версии ВКонтакте для ведения переписки — обмен текстовой информацией со смайликами и стикерами, голосовыми сообщениями и другим медиаконтентом, включая файлы допустимых форматов. Kate Mobile является тонким клиентом, использующим открытое API, которое предоставляется разработчиками ВКонтакте. В социальной сети «ВКонтакте» отсутствует шифрование переписки, поэтому она хранится на серверах сети в открытом виде и доступна для прочтения третьим лицам, имеющим доступ к серверам. Механизм сквозного шифрования в социальной сети «ВКонтакте» Реализуемый механизм сквозного шифрования переписки в социальной сети «ВКонтакте» основан на использовании симметричного и ассиметричного алгоритмов шифрования, алгоритма хеширования и ассиметричного алгоритма для создания электронной цифровой подписи (ЭЦП). В качестве симметричного алгоритма используется Rijndael — симметричный алгоритм блочного шифрования [12]. С помощью Rijndael будет шифроваться информация перед отправкой собеседнику (на сервер ВКонтакте). Ключ шифрования генерируется случайным образом и будет действителен до тех пор, пока пользователем не будет запрошен новый ключ. Для предотвращения компрометации ключа симметричного шифрования используется криптографический алгоритм ассиметричного шифрования RSA [13]. Данный алгоритм позволит безопасно передать ключ симметричного шифрования собеседнику по открытому каналу таким образом, что никто другой не сможет получить ключ и расшифровать передаваемые сообщения. Для подтверждения личности автора передаваемых сообщений и обеспечения гарантии их целостности в данном механизме сквозного шифрования используется электронная цифровая подпись, которая создаётся с помощью ассиметричного криптографического алгоритма DSA [14] и алгоритма хеширования SHA1 [15]. API ВКонтакте позволяет выполнять передачу текстовых сообщений, что является достаточным условием для передачи любых данных с помощью метода кодирования Base64 [16]. Стоит отметить, что зашифрованные сообщения будут видны на веб-странице ВКонтакте. С другой стороны, мессенджер, который будет использовать реализацию описываемого механизма сквозного шифрования, также будет получать все новые сообщения, отправленные через веб-страницу в незашифрованном виде (обычные сообщения пользователя). Поэтому, с целью фильтрации зашифрованных сообщений каждое сообщение, отправленное с использованием данного механизма, будет содержать служебный заголовок «=== VKMessenger ===», 45 состоящий из 19 символов: трёх символов «равно», одного пробела, последовательности символов «VKMessenger», одного пробела и трёх символов «равно». После данного заголовка будет следовать символ конца строки. Затем следует содержимое служебного сообщения, закодированное методом Base64. Первым байтом содержимого является код сообщения, который описывает тип служебного сообщения. Затем в зависимости от типа служебного сообщения будет следовать определённый набор данных. Далее будет описан протокол передачи сообщений с использованием сквозного шифрования. При первом использовании описываемого механизма собеседники должны обменяться публичными ключами, с помощью которых будет осуществляться шифрование ключей для шифрования сообщений. Данный этап называется этапом «рукопожатия». Пусть собеседник А собирается отправить сообщение собеседнику Б. Тогда собеседник А отправляет служебное сообщение с кодом «1» и пустым набором данных. Данное служебное сообщение означает запрос публичного ключа. Собеседник Б должен ответить служебным сообщением с кодом «2» и публичным ключом RSA размером 256 байт (2048 бит). Для отправки пользовательских сообщений используются служебные сообщения с кодом «3». Протоколом поддерживается передача двух типов пользовательских сообщений: текста и файла с указанием его имени. После кода сообщения идёт код типа пользовательского сообщения (1 байт), зашифрованный ключ симметричного шифрования (256 байт или 2048 бит) и зашифрованное подписанное электронной цифровой подписью содержимое пользовательского сообщения. Формат пользовательских сообщений перед их шифровкой зависит от типа пользовательского сообщения. В случае текстового типа (код «1») исходный текст пользовательского сообщения представляется последовательностью байт в кодировке «UTF-8» [17]. В случае файлового типа (код «2») первый байт содержит длину имени файла. Затем следует указанное число байт, которые представляют собой имя файла в кодировке «ASCII» [18]. Стоит отметить, что для отправки файлов с именем, которое содержит символы отличные от латинских, мессенджер должен позаботиться о транслитерации имени файла для его корректного отображения у получателя сообщения. Далее следуют четыре байта, которые расположены в сетевом порядке байт (bigendian) и определяют размер файла в байтах [19]. Затем следуют байты содержимого файла. Содержимое пользовательского сообщения подписывается с помощью алгоритма DSA. Подписанное пользовательское сообщение в начале содержит электронную цифровую подпись (40 байт) и публичный ключ (444 байт), который позволит получателю проверить целостность данных с помощью этой подписи. Далее подписанное пользовательское сообщение шифруется с помощью случайно сгенерированного ключа симметричного шифрования длиной 32 байт (256 бит). После получения описанного служебного сообщения с кодом «3» получатель сможет определить тип пользовательского сообщения, расшифровать содержимое пользовательского сообщения с помощью своего приватного ключа и проверить подпись, удостоверившись в целостности и корректности полученного пользовательского сообщения. Таким образом, описанного набора служебных сообщений достаточно для реализации механизма сквозного шифрования в переписке социальной сети «ВКонтакте». Выводы В ходе выполнения данной работы были рассмотрены существующие реализации механизма сквозного шифрования переписки на примере мессенджеров для систем мгновенного обмена сообщениями, а также предложен механизм сквозного шифрования (End-to-End) переписки в социальной сети «ВКонтакте», реализация которого позволит дополнить существующую функциональность социальной сети и обеспечить безопасность и строгую конфиденциальность переписки. Основным преимуществом описанного механизма является тот факт, что до сих пор не существует аналогов реализации механизма сквозного шифрования для переписки в социальной сети «ВКонтакте». Литература 1. Система мгновенного обмена сообщениями // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Система_мгновенного_обмена_сообщениями 2. ProtonMail: Сквозное шифрование: описание и принцип работы метода // Computer Security Software Russia. [Электронный ресурс]. – Режим доступа: http://www.comss.ru/page.php?id=2468 3. Facebook Messenger // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Facebook_Messenger 4. Messenger Starts Testing End-to-End Encryption with Secret Conversations // Facebook. [Электронный ресурс]. – Режим доступа: https://newsroom.fb.com/news/2016/07/messenger-starts-testing-end-to-end-encryptionwith-secret-conversations/ 5. WhatsApp // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/WhatsApp 46 6. Мессенджеры 2016: самые интересные приложения для мгновенного обмена сообщениями // ITC.ua. [Электронный ресурс]. – Режим доступа: http://itc.ua/articles/messendzheryi-2016-samyie-interesnyieprilozheniya-dlya-mgnovennogo-obmena-soobshheniyami/ 7. Вопросы и ответы по безопасности Viber // Viber. [Электронный ресурс]. – Режим доступа: https://support.viber.com/customer/ru/portal/articles/2017401-Вопросы-и-ответы-по-безопасности-viber 8. Telegram (мессенджер) // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Telegram_(мессенджер) 9. Clients - Tox // Tox. [Электронный ресурс]. – Режим доступа: https://tox.chat/clients.html#qtox 10. Tox // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Tox 11. Kate Mobile Lite // Google Play. [Электронный ресурс]. – Режим доступа: https://play.google.com/store/apps/details?id=com.perm.kate_new_6 12. Advanced Encryption Standard // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard 13. RSA // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/RSA 14. DSA // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/DSA 15. SHA-1 // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/SHA-1 16. Base64 // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Base64 17. UTF-8 // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/UTF-8 18. ASCII // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/ASCII 19. Порядок байтов // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Порядок_байтов Кубашевский Д.В., Чернышова А.В. Сквозное шифрование переписки в социальной сети «ВКонтакте». В данной работе выполнен анализ мессенджеров, использующих сквозное шифрование переписки, и представлен новый механизм сквозного шифрования на базе системы мгновенного обмена сообщениями в социальной сети «ВКонтакте». Ключевые слова: сквозное шифрование, система мгновенного обмена сообщениями, мессенджер, криптография, безопасность данных. Kubashevskiy D.V., Chernyshova A.V. End-to-End encryption of correspondence in the social network “VK”. In this article, the authors analyzed the messengers which use End-to-End encryption of correspondence and presented a new mechanism of End-to-End encryption based on the instant messaging in the social network “VK”. Keywords: End-to-End Encryption, instant messaging, messenger, cryptography, data security. 47 УДК 004.89:004.946 Разработка агентно-ориентированной модели кафедры университета с помощью Framework Jade Р.И.Куташов, О.И.Федяев Донецкий национальный технический университет kutashov@lookmy.info fedyaev@donntu.org Куташов Р.И., Федяев О.И. Разработка агентно-ориентированной модели кафедры университета с помощью Framework Jade. Рассматривается создание виртуальной кафедры университета агентно-ориентированного типа. С помощью методологии Gaia выполнен агентно-ориентированный анализ процесса изучения студентами одного учебного курса в соответствии с требованиями программной инженерии. Ключевые слова: статья, программная инженерия, требования, оформление, сборник трудов. Введение Учебный процесс в техническом ВУЗе обеспечивается его подразделениями с жесткой иерархической структурой (ректорат, факультеты, кафедры). На нижнем кафедральном уровне обучение профессионально ориентировано, распределено в пространстве, регламентировано по времени, динамично по содержанию и поэтому, как процесс подготовки инженерных кадров, является сложным для создания современных компьютерных средств распределённого обучения. Установленные в настоящее время правила получения образования не позволяют своевременно реагировать на изменение требований рынка, в полной мере учитывать индивидуальные возможности и желания студентов в освоении дисциплины за ускоренное время (экстерном), предполагают обязательное личное присутствие преподавателя на всех этапах передачи и контроля усвоения знаний, жесткую привязку студентов к расписанию занятий. Студент не всегда имеет возможность учиться по индивидуальному графику, поскольку без общения с преподавателем, несмотря на полноценное учебно-методическое обеспечение, сложно получить хороший уровень знаний. Современная тенденция в инженерном образовании характеризуется внедрением индивидуальных образовательных схем, в полной мере отвечающих быстрым изменениям конъюнктуры рынка. Поэтому классические схемы централизованного управления образованием с жёсткой структурой должны позволять трансформироваться в более гибкие схемы [1-4]. В статье рассматривается задача построения модели процесса обучения студентов, которая на основе сохранения близких к реально существующим взаимоотношениям между участниками учебного процесса и предоставления возможности автономного и распределённого выполнения учебно-методических обязанностей позволит повысить децентрализованность и индивидуальность работы всех участников процесса обучении на кафедральном уровне Организация процесса обучения на основе агентно-ориентированного подхода В учебном процессе, выполняемом кафедрой, участвуют следующие субъекты: профессорскопреподавательский состав кафедры (заведующий кафедрой М, лекторы L1, L2,…, Ln, ассистенты Р1, Р2,…, Рk), лаборанты (Y1, Y2,…Ym), студенты (Х1, Х2,…,Хn). На каждом отрезке времени (семестре) студенты изучают предусмотренные учебным планом специальности дисциплины (D1, D2,… Dm). Изучение каждой дисциплины включает прослушивание лекций (Lect1, Lect2, …Lectk), выполнение лабораторных работ, возможно выполнение курсовой работы и сдачу экзамена (зачёта). Для успешной учебы студентам необходимо посещать лекции и общаться с преподавателями на практических и лабораторных занятиях, т. е. существуют установленные взаимодействия и взаимоотношения между субъектами учебного процесса. Учебный процесс может быть описан следующими компонентами: УП = (S, K, R, Аct, I, T, U), где S ={М, (Х1, Х2,…,Хn), ((L1,L2,…Lm),(Р1, Р2,…, Рk)), (Y1, Y2,…Yl)} – множество субъектов учебного процесса; K – среда (кафедра), в которой функционирует данный процесс; R – отношения, установленные для субъектов учебного процесса (горизонтальные: лектор-ассистент, лектор-диспетчер; вертикальные: студент-лектор, студент-ассистент, студент-диспетчер); Аct – множество действий, выполняемых субъектами; I – множество 48 установленных видов общения и взаимодействий между субъектами; T – расписание учебных занятий; U – состояние выполнения студентом учебного плана (журналы успеваемости, экзаменационные ведомости, учебно-методические карты дисциплин). Учебный процесс на кафедре (К) выполняется посредством действий (Act) и взаимодействий (I) между конкретными субъектами (Xi, Li, Pi, Yi), определяемыми кафедрой отношением R (например, лектордисциплина-студент, лектор-ассистент), происходящих по строгому расписанию (Т). Кафедра, как среда для проведения учебного процесса, может накладывать различные ограничения, например, в виде дефицита аудиторий. Таким образом, учебный процесс как объект моделирования является распределённым и динамичным. Ставится цель создать такую компьютерную среду обучения (виртуальную кафедру К′), в которой сохраняются все необходимые для учёбы отношения (R) и устраняются жёсткие пространственно-временные ограничения в виде расписания занятий (Т) (рис.1): УП = {S, K′, R, Act, I, U}. Такая среда может быть успешно построена на основе агентно-ориентированного подхода, использующего принципы распределённого искусственного интеллекта [5]. Рисунок 1. Схема организации индивидуального обучения студентов на основе агентно-ориентированного подхода Многоагентная система (МАС) строится как объединение отдельных подсистем (агентов), основанных на знаниях, и формально определяется следующим образом [1]: МАC = (А, Е, R, ORG, ACT, COM, EV), где А - множество агентов, способных функционировать в некоторых средах E, находящихся в определённых отношениях R и взаимодействующих друг с другом, формируя некоторую организацию ORG, обладающих набором индивидуальных и совместных действий ACT (стратегий поведения и поступков), включая возможные коммуникативные действия СOM, и характеризуется возможностями эволюции EV. Основное свойство агентов связано с его автономностью, т. е. способностью функционировать самостоятельно. Кроме того агентно-ориентированная декомпозиция позволяет снизить сложность создания программных систем, гарантировать их надежность и упростить их сопровождение. Проектирование агентной модели кафедры Для разработки многоагентного приложения, автоматизирующего процесс обучения на кафедральном уровне, был проведен агентно-ориентированный (АО) анализ предметной области образовательного процесса по методологии Gaia [6]. С помощью этой методологии разработаны модели, необходимые для описания виртуальной кафедры и последующей программной реализации. Процесс обучения, в соответствии с методологией Gaia, описывается следующими моделями: моделью ролей, моделью взаимодействий, моделью агентов, моделью услуг, моделью связей. На рисунке 2 показаны взаимосвязи и содержание моделей при агентно-ориентированном проектировании. 49 Воспроизведение функций кафедры ВУЗа является сложной задачей, которую в соответствии с методологией Gaia, естественно рассматривать как организацию множества действительно существующих и взаимодействующих ролей: лектор, ассистент, лаборант, студент [7]. Разработанные агентно-ориентированные модели позволили системно перейти от этапа постановки задачи к этапу программной реализации компьютерной среды с элементами квазиреального общения между субъектами учебного процесса изучения дисциплин кафедры. Поскольку программным агентам делегируется выполнение полномочий субъектов образовательного процесса, то они должны имитировать взаимодействия, которые в определённой степени соответствуют их профессиональной деятельности. Для имитации профессиональной деятельности каждый программный агент должен обладать знаниями о порученных должностных обязанностях, знаниями об агентах, с которыми возможно общение, а также правилами, определяющими его поведение в плане выполнения своих обязанностей. Рисунок 2 – Взаимосвязь моделей при агентно-ориентированном проектировании процесса обучения Из характера образовательного процесса следует, что кроме реактивности, автономности, активности и коммуникабельности, архитектура программного агента должна иметь внутренние механизмы мотивации, которые задаются ментальными свойствами, такими как убеждения, обязательства, способности и правила поведения. Из существующей классификации для создаваемой системы больше подходит архитектура, основанная на классических принципах искусственного интеллекта, т. е. архитектура интеллектуального агента на основе продукционных правил. Среда Jade для разработки агентно-ориентированнной системы Агентные платформы являются промежуточным исполнительным уровнем между программными агентами и операционной системой. Многоагентная система работает «поверх» агентной платформы и использует ее сервисы. Для разработки агентно-ориентированной модели кафедры университета была выбрана платформа Jade (Java Agent Development Framework). Это программная среда разработки мультиагентных систем и приложений, поддерживающая FIPA (Foundation for Intelligent Physical Agents) стандарты для интеллектуальных агентов, которая включает в себя: 1) среду выполнения агентов, агенты регистрируются и работают под управлением среды; 2) библиотеку классов, которые используются для разработки агентных систем; 3) набор графических утилит для администрирования и наблюдения за жизнедеятельностью активных агентов. Помимо агентной абстракции, Jade предоставляет простую, но мощную модель выполнения и структурирования задач, а также одноразовой связи агента на основе парадигмы асинхронной передачи сообщений[9]. Основу функционирования агентов составляет механизм семантической интерпретации (Interpreter 50 Behaviour), который базируется на двух ключевых понятиях – семантической репрезетации (SR – Semantic Representation) и правила семантической интерпретации (SIP – Semantic Interpretation Principle). Основная деятельность агента состоит в дедукции воспринимаемых событий и существующей модификации убеждений и шаблонов поведения агента на основе обработки семантической репрезентации, которая осуществляется посредством применения правил семантической интерпретации. Основными компонентами фреймворка (рис. 3) являются: 1) база убеждений – убеждения агента; 2) таблица действий – описания (пред- и постусловия) и коды всех действий, которые может выполнить агент; 3) типовая надстройка – средства надстройки; 4) таблица семантических правил интерпретации – базовые правила семантической интерпретации. Рисунок 3 – Схема обработки сообщений Фреймворк берет на себя функцию семантического разбора сообщений, устраняя ее из функциональности агентов, а так же осуществляет маршрутизацию сообщений между агентами после начала их взаимодействия, что позволяет ограничить деятельность агента. Таким образом, онтология агента может охватывать лишь узкую область знаний, не имея представления о системе в целом[8]. Заключение Выполнен агентно-ориентированный анализ процесса обучения студентов на кафедральном уровне, на основании которого получена новая модель кафедры ВУЗа. Кафедра ВУЗа представлена в виде распределенной системы, элементами которой являются преподаватели и студенты. Их поведение и полномочие делегированы искусственным программным агентом при помощи модели ролей. Общение между агентами описывается моделями связи и взаимодействий. В качестве физической платформы, на которую проецируются полученные модели агентов, была выбрана инструментальная среда Jade, которая представляет собой простой, но мощный инструмент программной реализации многоагентных систем. В дальнейшем планируется программирование агентов виртуальной кафедры с помощью инструментальных средств Jade. 51 Литература 1. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика.- М.: “Едиториал УРСС”, 2002. -352 с. 2. Гаврилова Т. А., Яшин А. М., Фертман В. П. Взаимодействие интеллектуальных агентов для поддержки сервера дистанционного обучения// Материалы междунар. конф. ”Интеллектуальные системы и информационные технологии в управлении IS&ITC”, Псков, 2000, с.224-227. 3. Курейчик В.М. Эволюционная адаптация интерактивных средств открытого образования /В.М. Курейчик, Л.А. Зинченко //Открытое образование. - 2001. - N1. - С.43-50. 4. Глибовец Н.Н. Использование JADE (Java Agent Development Environment) для разработки компьютерных систем поддержки дистанционного обучения агентного типа// Educational Technology&Society 8(3) 2005 ISSN 1436-4522 pp. 325-345. 5. Федяев О.И., Жабская Т.Е., Лямин Р.В. Система индивидуального обучения студентов агентноориентированного типа // Сб. тр. VIII международной конференции «Интеллектуальный анализ информации, ИАИ-2008», Киев, Просвiта, 2008. – С. 502–511. 6. F. Zambonelli, N. R. Jennings, and M. Wooldridge. Developing Multiagent Systems: The Gaia Methodology. In ACM Transactions on Software Engineering Methodology, 12(3), 2003. 7. Zhabska Tetiana , Fedyaev Oleg . The development of agent-based intellectual e-learning environment // Proceedings of the IADIS International conference Intelligent systems and agents, 2011, Rome, Italy, July 24 - 26, 2011. - Pages 143-147. 8. Филимонов А.Б., Кромин О.А. Особенности разработки .мультиагентных систем на платформе Jade semantic agent framework // Сборник трудов Московского государственнего университета приборостроения и информатики, 2008. – С. 397-403. http://jade.tilab.com/documentation/tutorials-guides/ - Режим доступа: http://jade.tilab.com Куташов Р.И., Федяев О.И. Разработка агентно-ориентированной модели кафедры университета с помощью Framework Jade. Рассматривается создание виртуальной кафедры университета агентно-ориентированного типа. С помощью методологии Gaia выполнен агентно-ориентированный анализ процесса изучения студентами одного учебного курса в соответствии с требованиями программной инженерии. Для программной реализации была выбрана инструментальная среда Jade. Ключевые слова: агентно-ориентированный анализ, мульти-агентная система, программный агент, распределённая система, обучение, виртуальный отдел, кафедра. Kutashov R.I., Fedyayev O.I. The development of the agent-based model the university department using the Jade Framwork. In the submitted paper the creation of the distributed agent-oriented system of university virtual department is considered. According to the Gaia methodology an agent-oriented analysis of the process of teaching students the university courses has been done in accordance with the direction area “Software Engineering”. A development environment Jade was chosen for the software implementation. Keywords: agent-oriented analysis, multi-agent system, software agent, distributed system, learning, virtual department, department. 52 УДК 004.056 Разработка модели защищенного облачного хранилища данных В.Е. Лебедев, А.В. Чернышова Донецкий национальный технический университет alent.1301@gmail.com, alla@donntu.org Лебедев В.Е., Чернышова А.В. Разработка модели защищенного облачного хранилища данных. В данной работе проводится анализ существующих облачных сервисов для хранения данных, а также рассматривается разработанная модель для создания защищенного облачного хранилища. Ключевые слова: шифрование, облачное хранилище, база данных, разграничение прав доступа. Введение На данный момент мы постоянно используем гигабайты данных. Хранить данные на собственных носителях информации не всегда удобно, так как их объем носителей ограничен, а защита от потери данных не предусмотрена. Решением проблемы может стать облачные хранилища, которые становятся все более популярными в настоящее время. Облачные хранилища позволяют сохранить данные на сервере, а затем получить к ним доступ из любого места. Зачастую такие сервисы предоставляют Web-клиент для доступа к данным, что позволяет получить доступ к файлам из любого места, будь то ноутбук, телефон или рабочий компьютер. Уже сегодня можно получить хранилища, вмещающие терабайты данных за умеренную стоимость. Можно выделить следующие преимущества: возможность организации совместной работы с данными[1]; клиент не занимается организацией инфраструктуры для хранения данных; сохранение целостности и репликация данных производятся провайдером «облачного» центра. Важно понимать, что облачные сервисы не всегда могут обеспечить должный уровень безопасности. Руководитель компании G Data Security Labs и эксперт по безопасности Ральф Бенцмюллер не рекомендовал использовать «облачные» сервисы в связи с тем, что данные могут стать достоянием общественности[2]. Основными причинами этого: не обеспечивается безопасность при хранении и пересылке дынных, что приводит к потере конфиденциальности данных. Так, например, провайдер имеет возможность просматривать данные клиентов, что может привести к краже данных хакерами; надежность и доступность данных в «облаке» зависит от многих промежуточных параметров, таких как каналы передачи данных на пути от клиента к «облаку», качество работы интернет-провайдера клиента, доступность самого «облака» в данный момент времени. Обзор существующих облачных хранилищ Google Диск — это файловый хостинг, созданный и поддерживаемый компанией Google. был впервые представлен 24 апреля 2012 года[4], а к октябрю 2014 года насчитывал 240 миллионов ежемесячно активных пользователей.[8] Данный сервис предоставляет возможность хранения файлов, общего доступа к файлам, совместного редактирования данных. В состав Google Диска входят Google Документы, Таблицы и Презентации — набор офисных приложений для совместной работы над текстовыми документами, электронными таблицами, презентациями, чертежами, веб-формами и другими файлами. Кроме доступа к сервису через веб-интерфейс, есть возможность доступа через клиенты для Windows, Mac OS и Android, iOS. Данный сервис предлагает тарифы, представленные в таблице 1. Ежемесячная плата Объем Таблица 1 – Размер облачного хранилища Google Диск. Бесплатно $1,99 $9,99 $99,99 $199,99 15 ГБ 100 ГБ 1 ТБ 10 ТБ 20 ТБ $299,99 30 ТБ OneDrive (ранее SkyDrive) — облачное хранилище, созданное в августе 2007 года и управляемое компанией Microsoft[5]. Существует поддержка Office Online, что позволяет пользователям загружать, 53 создавать, редактировать и обмениваться документами Microsoft Office непосредственно в веб-браузере. Пользователи могут создавать, просматривать и редактировать документы Word, Excel, PowerPoint и OneNote прямо в браузере. Выпущены клиентские приложения для Android, iOS, Windows Phone, Windows, Xbox (в том числе Windows 8), OS X, MeeGo 1.2 Harmattan, Symbian Belle. Данный сервис предлагает тарифы, представленные в таблице 2. Ежемесячная плата Объем Таблица 2 – Размер облачного хранилища OneDrive. Бесплатно 72 р. 144 р. 249 р. 15 ГБ 100 ГБ 200 ГБ Office 365 + 1ТБ Dropbox — файловый хостинг компании Dropbox Inc., включающий персональное облачное хранилище, синхронизацию файлов и программу-клиент. Dropbox позволяет пользователям создать специальную папку на своих компьютерах, которую Dropbox синхронизирует таким образом, что она имеет одинаковое содержимое независимо от того, какое устройство используется для просмотра[6]. Файлы, размещённые в этой папке, также доступны через веб-сайт Dropbox и мобильные приложения. Dropbox в связке с BoxCryptor, который надежно шифрует файлы перед синхронизацией их с облаком, обеспечивает конфиденциальность данных в Dropbox. Данный сервис предлагает тарифы, представленные в таблице 3. Таблица 3 – Размер облачного хранилища Dropbox. Ежемесячная плата Бесплатно $9,99 $15 Объем 2-16 ГБ 1 ТБ безлимит MEGA (MEGA Encrypted Global Access) — файлообменник Кима Доткома. Открыт 19 января 2013 года. Особенностью данного сервиса является то, что Mega шифрует весь контент прямо в браузере с помощью алгоритма AES. Пользователи могут передавать друг другу файлы в зашифрованном виде, при этом все данные хранятся в «облаке». Ключи доступа к файлам не публикуются в открытом доступе, а распространяются по схеме Friend-to-Friend, между доверяющими друг другу пользователями. Однако сервис критиковался экспертами по криптографии из-за фактического отсутствия доверенного объекта на стороне пользователя[7]. Хотя шифрование происходит на стороне клиента при помощи javascript, этот код каждый раз заново загружается с сервера и в любой момент может быть подменен без предупреждения, например, в результате взлома сервера третьей стороной. Данный сервис предлагает тарифы, представленные в таблице 4. Ежемесячная плата Объем Таблица 4 – Размер облачного хранилища MEGA. Бесплатно €9,99 €19,99 50 ГБ 500 ГБ 2 ТБ €29,99 4ТБ Яндекс.Диск — облачный сервис, принадлежащий компании Яндекс, позволяющий пользователям хранить свои данные на серверах в «облаке» и передавать их другим пользователям в Интернете. Работа построена на синхронизации данных между различными устройствами. Данный сервис предоставляет такие возможности: хранение файлов неограниченное время, передача файлов по зашифрованному соединению, проверка файлов антивирусом, синхронизация файлов между всеми устройствами пользователя, возможность редактировать файлы через Web-интерфейс. Основные платформы: Web-версия, десктопный клиент для Windows XP/Vista/7/8/10, macOS и Linux, мобильная версия для iOS, Android и Windows Phone. Данный сервис предлагает тарифы, представленные в таблице 5. Ежемесячная плата Объем Таблица 5 – Размер облачного хранилища Яндекс.Диск. Бесплатно 30 р. 150 р. 10 ГБ +10 ГБ +100 ГБ 900 р. 1ТБ Разработка модели защищенного облачного хранилища Проанализировав существующие системы облачного хранения данных, оказалось, что только в MEGA реализовано шифрование файлов перед отправкой на сервер, а также BoxCrypt реализует защиту файлов перед отправкой в Dropbox. После анализа были сформулированы следующие требования: Web-версия, реализующая управление файлами, загрузку/скачивание файлов; возможность структурирования файлов по папкам; разграничение прав доступа для разных пользователей; 54 шифрование файлов перед отправкой их на сервер; выделение квот на загрузку файлов. Облачное хранилище данных реализует клиент-серверную архитектуру, где клиент позволяет просматривать загруженные файлы, загружать файлы на сервер, скачивать файлы с сервера, а сервер позволяет организовать структуру каталогов, а также проверку прав на работу с файлами. Файлы пользователя будут размещаться на машине-сервере. Каждому пользователю будет соответствовать список файлов с указанием вариантов доступа (доступ закрыт, доступ по ссылке, общедоступен). База данных содержит информацию о пользователе (логин, пароль, личные данные, доступные ему квоты). Информация о квотах и свободном месте хранится в таблице users_space_info. Таблица file_users связывает файлы с пользователями в отношении многие ко многим. Таблица files содержит информацию о файле: путь к файлу на сервере, размер файла, дата добавления. Пользователь может ограничить доступ к файлу, информация о способе доступа к файлу хранится в таблице d_access_mode. Рисунок 1 – Таблицы базы данных, отвечающие за работу с файлами Рассмотрим возможный алгоритм работы клиентской части приложения. При загрузке файлов на сервер клиенту необходимо получить симметричный ключ, для этого клиент отправляет запрос с указанием своего открытого RSA-ключа[13]. В ответ клиент получает зашифрованный симметричный ключ. После расшифрования симметричного ключа клиент шифрует им файл и отправляет на сервер. Сервер в свою очередь помещает его на раздел жесткого диска, добавляет информацию в базу данных, обновляет информацию о квотах. Процесс получения файла с сервера происходит подобным образом: после обмена ключами и расшифровки симметричного ключа клиент получает зашифрованный файл, расшифровывает его и скачивает на устройство пользователя. Таким образом, обеспечивается защита информации при передаче по небезопасной сети. Выводы В результате выполнения работы были рассмотрены существующие облачные хранилища данных, был проведен их сравнительный анализ, а также на основе их функциональности были разработаны требования к создаваемой системе. Была разработана модель системы, предусматривающая основные требования к системе (спроектирована база данных серверной части, предложен возможный алгоритм защищенного взаимодействия клиента и сервера для загрузки и получения данных). Литература 1. Онлайновые хранилища данных // ComputerBild : журнал. — 2010. — № 4. — С. 62—67. 2. Масштабные утечки данных: конец «облачным» сервисам? // Chip : журнал. — 2011. — № 8 (149). — С. 20—21. 3. Облачное хранилище данных // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Dropbox 4. Introducing Google Drive... yes, really // Google. [Электронный ресурс]. – Режим доступа: https://googleblog.blogspot.com/2012/04/introducing-google-drive-yes-really.html 55 5. Microsoft запустила бесплатный веб-офис // internet.cnews.ru. [Электронный ресурс]. – Режим доступа: http://internet.cnews.ru/news/top/microsoft_zapustila_besplatnyj_vebofis 6. Dropbox: The Online Storage Solution We’ve Been Waiting For? // techcrunch.com. [Электронный ресурс]. – Режим доступа: https://techcrunch.com/2008/03/11/dropbox-the-online-storage-solution-weve-beenwaiting-for/ 7. Эксперты критикуют криптографию на сайте Mega // xakep.ru. [Электронный ресурс]. – Режим доступа: https://xakep.ru/2013/01/22/59977/ 8. Google Диск // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Google_Диск 9. OneDrive // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/OneDrive 10. Dropbox // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Dropbox 11. Mega // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Mega 12. Яндекс.Диск // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Яндекс.Диск 13. RSA // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/RSA 14. SHA-2 // Википедия — свободная энциклопедия. [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/SHA-2 Лебедев В.Е., Чернышова А.В. Разработка модели защищенного облачного хранилища данных. В данной работе проводится анализ существующих облачных сервисов для хранения данных и их способы защиты, а также рассматривается разработанная модель для создания защищенного облачного хранилища. Ключевые слова: шифрование, облачное хранилище, база данных, разграничение прав доступа. Lebedev V.E., Chernyshova A.V. Model development of the protected cloud data storage. In this article, the authors analyze existing cloud storages and their protection methods and make a review of developed model for creating the protected cloud storage. Keywords: encryption, cloud storage, database, distinction of user permissions. 56 УДК 004.6 Разработка программной системы для технического обслуживания самолетов А.В. Московченко Донецкий национальный технический университет moskovchenko.nastya@yandex.ua Московченко А.В. Разработка программной системы для технического обслуживания самолетов. В данной статье проанализированы существующие программные системы для обслуживания самолетов, обоснована важность их использования. На основе анализа представлена структура будущей системы и средства для ее реализации. Ключевые слова: система управления базами данных, внешнее диалоговое приложение, SQL, файл-сервер, физическая структура базы данных. Введение Эффективная работа аэропорта немыслима без систем управления. Современные системы управления базируются на комплексных системах обработки информации, на современных информационных технологиях. Современные системы компьютерного управления обеспечивают выполнение точного и полного анализа данных, получение информации во времени без задержек, определение тенденций изменения важных показателей. Ядром программной системы технического обслуживания самолетов является база данных. База данных – это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление выборку и отображение данных. С понятием базы данных тесно связано понятие системы управления базой данных. Это комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержимым, редактирования содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи. Главной задачей данной работы является разработка внешнего диалогового приложения для технического обслуживания самолетов. Оно является, связующим звеном между конечными пользователями и базой данных MS SQL Server. Цель исследования Проанализировать существующие системы, работающие с авиационными базами данных, определить их достоинства и недостатки, на основе анализа привести структуру собственной разрабатываемой системы. Анализ существующих систем Одной из существующих систем является автоматическая компьютеризированная программа технического обслуживания самолетов CAMP. Она разработана для автоматизации выполнения и учета обязательных работ, предусмотренных заводом изготовителем, для поддержания надежности самолетов и обеспечения безопасности полетов [1]. С введением каждого самолета в эксплуатацию, завод изготовитель разрабатывает программу технического обслуживания, которая включает: - учет периодических форм технического обслуживания систем самолета через определенные интервалы; - учет перечней деталей с ограниченным сроком службы; - учет установленных агрегатов, заменяемых по состоянию; - учет модернизации самолета. Согласно требованиям органов авиационной безопасности, самолет может эксплуатироваться, если выполнены все виды работ согласно этой программе технического обслуживания и все агрегаты имеют ресурс. 57 С развитием IT-технологий процесс учета этих данных стал более автоматизированным, позволяющим экономить время работы с документацией (оформление выполненных работ). Преимуществом данной системы является возможность доступа к информации из разных точек Сети, группировка информации для разного вида анализов, хранение информации в базе. Каждая работа (задание) или агрегат имеют свой унифицированный код в системе. Их перечень находится в базе данных CAMP. Можно использовать эти данные для формирования отчетов. Согласно программе технического обслуживания каждое конкретное периодическое обслуживание (1А, 2А, 2В, 3С и т.д.) включает в себя пакет заданий. При формировании этого пакета происходит выборка из общей базы согласно периодичности. Имеется возможность получить информацию о технологии выполнения заданий. Данные о выполнении задания заносятся пользователем в систему для дальнейшего пересчета системой очередных сроков выполнения работ. При замене агрегатов система обеспечивает пользователя бланком для документирования операции. Данные о вновь установленном агрегате заносятся в систему (заводской номер, серийный номер, наработка до установки и т.д.). Скопированный документ о выполненной работе может помещаться в архив системы для хранения. К недостаткам системы можно отнести: англоязычный интерфейс и документацию, доступ к системе можно получить только при наличии интернет соединения. Структура разрабатываемой системы Современные информационные технологии позволяют разрабатывать как внешние, так и внутренние приложения к базам данных. Внешнее диалоговое приложение – это пользовательская прикладная программа, разработанная вне СУБД с применением современных средств проектирования прикладных программ. В качестве средств проектирования диалоговых приложений к базам данных на учебной практике используется среда Microsoft Visual. На Web-уровне рекомендуется использовать сочетание языков HTML и VBScript. Внутреннее диалоговое приложение создается средствами СУБД, в среде которого создана база данных. Для того чтобы интерфейс был удобен для использования конечными пользователями, наиболее удачным вариантом будет создания Windows-приложения, состоящего из определенного количества отдельных форм, связанных с одной основной, из которой они будут вызываться. Программа является диалоговым многооконным приложением. В ней будет реализована форма, предоставляющая доступ к остальным окнам программы. Просмотр таблиц будет осуществляется с помощью небольшой диалоговой формы, позволяющей удалять старые записи, добавлять новые и изменять существующие. Разработку клиентского приложения можно разбить на модуль работы с данными и модель формирование отчетов (см.рис.1). Рисунок 1 – Структура разрабатываемой программной системы 58 База данных должна автоматически проверять вводимые поля на целостность данных. В программе реализована возможность выполнения типовых запросов к базе данных, созданных в курсовой работе ранее в предыдущем учебном модуле. Ввод и просмотр запросов осуществляется в соответствующем диалоговом окне. Разрабатываемое приложение к БД должно включать следующие операции: просмотр, корректировку таблиц базы данных, добавление и удаление записей; просмотр запроса в индивидуальной форме, выбранному из списка запросов главного меню; создание сложной формы. Анализ программных средств реализации Проектироваться база данных будет в MS SQL Server. Microsoft SQL Server - это, прежде всего, система управления базами данных (СУБД). Как и другие продукты этой категории, она предназначена для хранения и поиска данных, представления информации в удобном виде и автоматизации часто повторяющихся операций (таких, как ведение счетов, учет, планирование и т.п.). С помощью Microsoft SQL Server можно разрабатывать простые и удобные формы ввода данных, а также осуществлять обработку данных и выдачу сложных отчетов. При всем этом Microsoft SQL Server - не просто СУБД. Как реляционная СУБД Microsoft SQL Server обеспечивает доступ ко всем типам данных и позволяет использовать одновременно несколько таблиц базы данных. При этом можно существенно упростить структуру данных, облегчая тем самым выполнение поставленных задач. Таблицу Microsoft SQL Server можно связать с данными, хранящимися на большой ЭВМ или на сервере. С другой стороны, можно использовать таблицы, созданные в среде Paradox или dBASE. Полученные результаты можно быстро и легко связать и объединить с данными из электронных таблиц Excel [2]. Система Microsoft SQL Server - это набор инструментов конечного пользователя для управления базами данных. В ее состав входят конструкторы таблиц, форм, запросов и отчетов. Эту систему можно рассматривать и как среду разработки приложений. Используя макросы или модули для автоматизации решения задач, можно создавать ориентированные на пользователя приложения такими же мощными, как и приложения, написанные непосредственно на языках программирования [2]. В Microsoft SQL Server в полной мере реализовано управление реляционными базами данных. Система поддерживает первичные и внешние ключи и обеспечивает целостность данных на уровне ядра, что предотвращает несовместимые операции обновления или удаления данных. Кроме того, таблицы в Microsoft SQL Server снабжены средствами проверки допустимости данных, предотвращающими некорректный ввод вне зависимости от того, как он осуществляется, а каждое поле таблицы имеет свой формат и стандартные описания, что существенно облегчает ввод данных. Microsoft SQL Server поддерживает все необходимые типы полей, в том числе текстовый, числовой, счетчик, денежный, дата/время, MEMO, логический, гиперссылка и поля объектов OLE. Если в процессе специальной обработки в полях не оказывается никаких значений, система обеспечивает полную поддержку пустых значений [3]. Реляционная обработка данных в Microsoft SQL Server за счет гибкой архитектуры системы способна удовлетворить любые потребности. При этом Microsoft SQL Server может использоваться как автономная СУБД в режиме файл-сервера (см.рис.2). Рисунок 2 – Взаимодействие пользователя с базой данных Также для создания новой базы данных можно воспользоваться приложением ERWin. С его помощью создается ER-модель, указываются необходимые сущности, поля, связи таблиц базы данных. В качестве инструментального средства разработки приложений будет использована среда Microsoft Visual Studio. Приложение будет разрабатываться на языке С# с использованием технологии доступа к данным 59 ADO.NET. Данный язык реализует объектно-ориентированную модель программирования, а также предоставляет наибольшую функциональность и удобство разработки [4]. При работе с подобными приложениями следует выделить 3 логических этапа: - проектирование базы данных в Erwin или другом Case-средстве; - перенос спроектированной базы в MS SQL Server и ее заполнение; - создание интерфейса в среде программирования Microsoft Visual Studio. Разработка эффективной базы данных состоит из нескольких этапов. Процесс ее разработки начинается с анализа требований. Проектировщик на этом этапе разработки должен найти ответы на следующие вопросы: какие элементы данных должны храниться, кто и как будет к ним обращаться [5]. На втором этапе создается логическая структура базы данных. Для этого определяют, как данные будут сгруппированы логически. Структура базы данных на этом этапе выражается в терминах прикладных объектов и отношений между ними. На заключительном третьем этапе логическая структура базы преобразуется в физическую с учетом аспектов производительности. Выводы Проанализированы существующие системы авиационных баз данных, определены их достоинства и недостатки. Разработана структура будущего приложения. Проанализированы программные средства реализации системы, обоснован выбор СУБД MS SQL Server для создания базы данных, Microsoft Visual Studio, в качестве инструментального средства разработки клиентского приложения и язык программирования С#, на котором приложение будет написано. Литература 1. http://www.campsystems.com/PWCtransition Camp aircraft maintenance program – 2016. 2. http://werr.ru/diplom1/relizBD.htm Студенческий сайт. – 2016. – Реализация базы данных. 3. https://msdn.microsoft.com/library/ms130214.aspx Техническая документация MS SQL Server – 2016. 4. https://msdn.microsoft.com/ru-ru/library/67ef8sbd.aspx Руководство по программированию на C# – 2016. 5. Евсеева О.Н., Шамшев А.Б. Работа с базами данных на языке С#: Учебное пособие - Ульяновск, 2009. - С.8-10. Московченко А.В. Разработка программной системы для технического обслуживания самолетов. В данной статье проанализированы существующие программные системы для обслуживания самолетов, обоснована важность их использования. На основе анализа представлена структура будущей системы и средства для ее реализации. Ключевые слова: система управления базами данных, внешнее диалоговое приложение, SQL, файл-сервер, физическая структура базы данных. Moskovchenko A.V. Development of software system for aircraft maintenance. This article analyzes the existing software systems for aircraft maintenance, substantiates the importance of their use. Based on the analysis presented the structure of the future system and tools for its implementation. Keywords: information management system, an external dialog application, SQL, file server, the physical structure of the database. 60 УДК 51-7; 519.2 Программное обеспечение для решения оптимизационных задач управления предприятием Е.А. Ногтев Донецкий национальный технический университет jeka_nogtev1993@mail.ru Ногтев Е.А. Программное обеспечение предприятий для процессов управления и оптимизации. В статье рассмотрены основные программные средства, используемые при принятии эффективных управленческих решений в процессе деятельности организаций, предприятий, фирм. Ключевые слова: программное обеспечение, поиск решения, оптимизация, , процессы управления Excel, финансово-экономический анализ, SPSS, статистический анализ, математический анализ, Statistica, MatLab, Mathematica. Введение Наиболее важной и актуальной задачей при разработке информационных технологий для автоматизации процессов управления организацией, фирмой, предприятием является выбор соответствующих программных продуктов. Из-за того, что спектр решаемых задач большой, возникает сложность в стандартизации так как большинство задач сочетают в себе одновременно различные аспекты – вычислительные, логические, информационно-поисковые. Достаточно велико число программных продуктов, применяющихся для решения различных управленческих задач. Здесь ограничимся рассмотрением наиболее характерных в своем классе программных продуктов, которые могут быть широко использованы при управлении организацией, предприятием или фирмой. Обзор программных средств Данный вид программных средств можно разделить на несколько групп: электронные таблицы; программы для финансово-экономического анализа; программы статистического и математического анализа; Следует отметить, что предлагаемое деление достаточно условно, так как одни программные средства могут сочетать в себе возможности нескольких выделенных групп, а другие могут быть ориентированы только на узкоспециализированный круг задач. К первой группе относятся табличные программы, такие, как Lotus Notes, Quattro Pro 7, Excel 2016 – это мощные системы поддержки принятия решений. Они обладают новыми возможностями математического, статистического и графического анализа данных, доступ к внешним базам данных, развитый интерфейс, возможность разработки пользовательских программ и др. Программа Quattro Pro имеет существенно большие размеры таблиц (1 000 000 строк на 18 276 столбцов в Quattro Pro по сравнению с 65 536 строк на 256 столбцов в MS Excel). Программа позволяет быстро анализировать данные, организовывать и управлять ими, и основываясь на результатах готовить выразительные отчеты. Этот продукт был привлекательным для корпоративного рынка требующего работы с большими объемами данных еще долгое время после заката популярности Novell Lotus 1-2-3. На сегодняшний день лидером в данной области является Excel 2010/2013/2016 для Windows 7/8/10. Эта программа предназначена для работы с электронными таблицами. Кроме широких функциональных возможностей Excel позволяет производить разработку программных продуктов на достаточно высоком уровне. Она предоставляет возможности экономико-статистических расчетов, графические инструменты и язык макропрограммирования VBA (Visual Basic for Application). В настоящее время существует множество приложений, предназначенных для решения широкого круга задач (статистический и математический анализ, реализация систем ИИ), выполненных в виде надстроек к Excel. Одна из самых распространённых надстроек Excel называется «Поиск решения», эта надстройка доступна во всех версиях Excel. Поиск решения – надстройка Excel, которая помогает найти решение с помощью изменения значений 61 целевых ячеек [1]. Целью может быть минимизация, максимизация или достижение некоторого целевого значения. Проблема решается путем регулировки входных критериев или ограничений, определенных пользователем. Также эта надстройка используется для решения задач линейного, целочисленного, нелинейного и стохастического программирования, однако не все предлагаемые ей методы равнозначны при поиске альтернативных оптимальных решений. Последняя версия этой надстройки обладает улучшенным пользовательским интерфейсом Evolutionary Solver, основанным на алгоритмах генетического анализа, для работы с моделями, в которых используются любые функции Excel. Также необходимо упомянуть эффективную надстройку Evolver разработанную компанией Palisade. Evolver — это мощная, но при этом простая в использовании надстройка оптимизации для Microsoft Excel. На основе инновационного генетического алгоритма (ГА), механизма OptQuest (Industrial edition), и методов линейного программирования Evolver позволяет быстро решать задачи, связанные с финансами, распространением, составлением расписания, распределением ресурсов, производством, бюджетированием, проектированием, и многие другие. Evolver найдет решение проблемы практически любого типа, если ее можно смоделировать в Excel, в том числе для неразрешимых комплексных нелинейных проблем. Evolver обладает уникальной способностью находить лучшее в глобальном масштабе решение проблемы, которое традиционные решатели обычно упускают из вида. Если сравнивать данный продукт с надстройкой «Поиск решения» описанный ранее, то мы знаем, что данный модуль хорошо справляются с задачей поиска лучшего «локального» решения, то есть комбинации значений для максимизации или минимизации результата в простой табличной модели при заданных определенных ограничениях. Они находят решение, которое, как кажется, дает хорошие результаты, и продолжают работать на его основе, не оценивая новые решения. Такой подход называется «поиском экстремума». Однако подобные программы не предназначены для работы с более сложными нелинейными проблемами, в которых лучшее локальное решение не обязательно будет лучшим абсолютным ответом. Поэтому Evolver, который использует инновационные «мутации» и комбинации решений, или «организмов», позволит найти лучший глобальный ответ в результате исследования всей совокупности возможных ответов. Для поиска оптимальной комбинации настраиваемых ячеек в Evolver реализовано шесть методов решения. Выбор метода обусловлен поставленной задачей. Доступны следующие методы решения: Рецепт – набор переменных, которые могут изменяться независимо друг от друга. Группировка – коллекция элементов, которые помещаются в группы. Заказ – упорядоченный список элементов. Бюджет – аналогичен алгоритму «рецепт», но итог является константой. Проект – аналогичен алгоритму «заказ», но некоторые элементы предшествуют другим. Расписание – аналогичен алгоритму «группировка», но распределяет элементы по блокам времени с учетом заданных ограничений. Evolver также в значительной мере позволяет контролировать выполнение самой оптимизации. В диалоговом окне настроек Evolver можно установить параметры оптимизации, настройки времени выполнения, контрольные макросы и многое другое. Во время оптимизации Evolver генерирует несколько пробных решений и с помощью генетических алгоритмов, механизма OptQuest и алгоритмов линейного программирования непрерывно улучшает результаты каждой пробы. При использовании генетических алгоритмов каждое возможное решение становится независимым «организмом», который может «скрещиваться» с другими организмами. Табличная модель служит средой обитания для организмов. Она определяет на основе их результатов, какие из организмов «способны» к выживанию, и время от времени проверяет «мутации» или абсолютно новые решения. Evolver Excel заменяет встроенный в функции статистики с собственными расчетами. Все Evolver функций верны функций Excel, и ведут себя точно так, как встроенные функции Excel делают. Evolver расчетов оптимизированы путем использования C + +. DLL, не макро расчетов. Доступны две версии Evolver: Профессиональная и Промышленная. Профессиональная версия поддерживает до 250 настраиваемых переменных на модель, тогда как в Промышленной версии количество переменных в модели не ограничено. Evolver Промышленное также включает в себя OptQuest решающий двигатель, и Efficient Frontier Analysis. Используйте Evolver промышленные для ваших крупнейших, более сложных моделей. Evolver поставляется отдельно или в составе DecisionTools Suite — комплексного пакета для анализа рисков и принятия решений от компании Palisade. Набор программ для финансово-экономического анализа помогают автоматизировать и оптимизировать процесс мониторинга финансовых показателей фирмы. На основе полученных данных эксперт может прогнозировать будущее экономическое состояние предприятия и принимать меры по устранению неблагоприятных факторов. Многоаспектный анализ финансово-экономических процессов предполагает постоянный мониторинг и прогнозирование состояния всего объекта исследования и отдельных его частей, а также общерыночных и фундаментальных факторов. На основе различных видов данных можно рассчитывать наглядные показатели реального состояния дел на предприятии. Некоторые программы позволяют не только проводить анализ, но также планировать работу предприятия. Таким образом, сущность финансовоэкономического анализа заключается в выявлении закономерностей, которые действовали в прошлом и в 62 нынешнем времени, и в прогнозировании объективных внешних и внутренних факторов, влияющие на объект исследования, вследствие чего влияет на стоимость предлагаемых услуг, которая влияет на получении прибыли предприятия в настоящем и будущем. На организацию и проведения финансово-экономического анализа в полной мере влияют такие факторы как нестабильностью экономической и политической среды, частыми изменениями в законодательстве, информационной закрытостью предприятий (организаций, фирм, объединений и др.), нехватка высококвалифицированных кадров, которые негативно сказываются на результаты анализа, планирования и прогнозирования. Достаточно большой популярностью пользуются распространённые продукты, такие, как Sure Truck, Primavera Project Planner, MS Project, которые основываются в основном на имитационных моделях и позволяют смоделировать различные варианты бизнес-плана[2]. Среди российских программных продуктов можно выделить те, которые позиционируются как «системы анализа финансового состояния предприятия» и позволяющих пользователям оценить результаты деятельности компаний. Они различаются как по спектру задействованных показателей, так и по реализованным в них подходам к решению основных задач анализа финансово-хозяйственной деятельности предприятий. В этих условиях перед потенциальными пользователями стоит нелегкая проблема выбора средства, которое могло бы наилучшим образом решить его проблемы. Рассмотрим некоторые системы, которые помогают решать наиболее типичные задачи финансового анализа. Такими системами являются «ИНЭК-АФСП» фирмы «ИНЭК», «Альт-Финансы» фирмы «Альт», «Audit Expert» фирмы «Про-Инвест-ИТ» и «АБФИ-Предприятие» фирмы «Вестона». Они предназначены для выполнения комплексной оценки деятельности предприятия, выявления основных тенденций его развития, расчета базовых нормативов для планирования и прогнозирования, оценки кредитоспособности предприятия. Во всех рассматриваемых системах реализована возможность приведения исходной финансовой отчетности предприятия за различные периоды к единому виду, позволяющая тем самым обеспечить сопоставимость данных, относящихся к различным периодам времени, что необходимо для их последующего анализа в динамике. Сопоставимость данных может быть улучшена и за счет переоценки некоторых финансовых показателей. Это максимально приближает анализируемые данные к реальным. Система Audit Expert - единственная, которая позволяет провести переоценку различных статей активов и пассивов предприятия для проведения анализа на основании реальных данных. Широкое применение для проведения финансово-экономического анализа находят статистические и математические пакеты, которые составляют следующую группу программных средств. За последние 20 лет западный рынок программного обеспечения претерпел сильные изменения. Если с начала 80-х годов на рынке было представлено более 100 основных программных продуктов, обладающих сходными характеристиками, то на настоящий момент эта цифра намного меньше. Большое количество мелких компаний предлагавших свои программные продукты были поглощены более крупными. Учитывая высокую стоимость коммерческих пакетов на рынке появилось большое число свободного программного обеспечения, для статистических расчетов. Однако вследствие отсутствия технической поддержки и финансирования, большинство из них не развивается. Российский рынок программного обеспечения также сильно изменился за последние 10 - 15 лет. В начале 90-х годов в России было представлено около десятка отечественных программных пакетов. Среди них Класс-Мастер (ТВП), Квазар (ИММ УрО РАН), Мезозавр («Стат-диалог») и ряд других. Однако с появлением на отечественном рынке таких гигантов как SPSS (SPSS Inc.), SAS (SAS Institute) и Statistica (StatSoft) большинство из них прекратили свою деятельность. По функциональным возможностям из перечисленных программных продуктов наиболее мощными являются семейство программ SPSS (SPSS 7.5, SPSS DIA, SPSS Trend и др.) и Statistica [3]. Пакет SPSS предназначен в первую очередь для статистов-профессионалов и имеет широкое распространение в академической среде. Отличается оконным интерфейсом, хотя для написания процедур имеется встроенный язык макросов. Программный пакет русифицирован и существует несколько Российских руководств, позволяющих обучится работе с этим пакетом. Данный программный продукт относится к достаточно мощным системам. Для статистического анализа и моделирования в программе имеется около двухсот различных процедур, включая многомерные методы исследования и построение моделей. Отмечается также, что программа оснащена очень гибкими инструментами ввода - вывода. Имеется возможность построения различных видов графиков. Кроме базового модуля системы существует несколько дополнений, которые расширяют возможности программы при решении специфических задач. Например, SPSS Answer Tree, который представляет собой модуль для построения деревьев решений. При работе с пакетом бросается в глаза тот факт, что программа рассчитана для работы с большими массивами данных и выборками. Поэтому в ее составе отсутствуют развитые средства для исследования распределений и непараметрического анализа. Незаменим для всестороннего анализа и выявления внутренней структуры данных, которую вполне могут не заметить те, кто пользуется лишь электронными таблицами и 63 системами управления базами данных. Особенно эффективен и широко применяется в сфере бизнеса, в частности, в маркетинговых исследованиях, а также при анализе социологических данных. Пакет Statistica - это универсальная интегрированная система, предназначенная для статистического анализа и визуализации данных, управления базами данных и разработки пользовательских приложений, содержащая широкий набор процедур анализа для применения в научных исследованиях, технике, бизнесе, а также специальные методы добычи данных. Наличие достаточно широкого спектра функциональных алгоритмов делает пакет Statistica достаточно привлекательным для статисто-профессионалов, так как он включает в себя ряд непараметрических методов анализа: дискриминантного, факторного кластерного, логлинейного и др. Сильной стороной пакета является графика и средства 2D или 3D,матрицы и пиктограммы. Предоставляется возможность разработки собственного дизайна графика. Помимо общих статистических и графических средств в системе имеются специализированные модули, например, для проведения социологических или биомедицинских исследований, решения технических и, что очень важно, промышленных задач: карты контроля качества, анализ процессов и планирование эксперимента. Работа со всеми модулями происходит в рамках единого программного пакета, для которого можно выбирать один из нескольких предложенных интерфейсов пользователя. Среди российских разработок выделяется статистический пакет STADIA, который разработан ведущими специалистами Московского государственного университета им. М.В. Ломоносова совместно с НПО «Информатика и компьютеры». STADIA - за 12 лет существования и развития стал аналитическим инструментом для многих тысяч пользователей в различных областях науки, техники, планирования, управления, производства, экономики, бизнеса, маркетинга, образования, медицины и др. по всей русскоязычной Евразии. По своим базовым возможностям сопоставим с наиболее известными западными статистическими пакетами. STADIA в отличии от SPSS не поддерживает обработку миллионов наблюдений, но прекрасно справляется с данными выборочных исследований нескольких сотен или тысяч респондентов. Пакет ориентирован на конкретные статистические расчеты и построение сопутствующих графиков. Программы математического анализа на российском рынке представлены зарубежными пакетами: MATHCAD (Math Soft), Mathematica (Wolfram Research Inc.), MathLab (MathWorks Ins.). MATLAB — это высокоуровневый язык и интерактивная среда для программирования, численных расчетов и визуализации результатов. С помощью MATLAB можно анализировать данные, разрабатывать алгоритмы, создавать модели и приложения. Главной особенностью MATLAB является то, что пакет ориентирован прежде всего на численные расчеты, визуализацию и технические приложения. Сегодня разработчик MATLAB предлагает 7-ю версию пакета, предназначенную для основных платформ: Windows, Mac OS и Linux/Unix. Все возможности пакета можно разделить на несколько функциональных блоков: математические вычисления – символьные и численные; разработка алгоритмов, приложений и пользовательского интерфейса; извлечение данных; моделирование; визуализация данных, научная и техническая графика. Более миллиона инженеров и ученых по всем миру используют MATLAB в качестве языка технических вычислений. Mathematica — система компьютерной алгебры, широко используемая в научных, инженерных, математических и компьютерных областях. Изначально система была разработана Стивеном Вольфрамом, впоследствии — компанией Wolfram Research [4]. Mathematica является пакетом символьной математики. Огромное количество заложенных разработчиками функций, а также открытая среда, позволяющая дополнять пакет своими собственными расширениями делает его возможности воистину безграничными. Mathematica имеет высокую скорость и практически не ограниченную точность вычислений, что позволяет ей работать как на очень мощных компьютерах, так и не очень сильных персональных компьютерах. Часто основными конкурентами пакета называют Maple, MathCAD и MatLab. Если с первым сложно поспорить, то насчет MathCAD и MatLab можно. Дело в том, что эти два пакета занимают совсем другую нишу, нежели Mathematica. Оба при вычислении используют численные алгоритмы, а не символьные. Символьные вычисления являются слабо развитыми (по сравнению c пакетами символьных вычислений) дополнениями. Вывод Проведенные исследования позволяют сделать вывод, что развитие программных продуктов в будущем должно идти по пути «интеллектуализации». Однако использование различных групп программных средств в каждой сфере деятельности вызывает те или иные неудобства. Однако в целом, использование программных продуктов помогает оптимизировать управленческие решения, без проб и ошибок, что в свою очередь ускоряет движение на пути к достижению эффективности производства и как следствие достижение максимальной прибыли. 64 Литература 1. Минько А.А. Принятие решений с помощью Excel. Просто как дважды два: - М.: Эксмо, 2007. – 240 с. 2. Развитие технологий Интернет в Росии // РЦБ. 1998. – №9. 3. http://pharmdoc.narod.ru/publ/stati_i_izdanija/statistiche Статьи: Современное программное обеспечение для проведения статистической обработки результатов научных исследований – 2013Режим доступа: http://pharmdoc.narod.ru/publ/stati_i_izdanija/statisticheskij_analiz/sovremennoe_programmnoe_ obespechenie_dlja_provedenija_statisticheskoj_obrabotki_rezultatov_nauchnykh_issledovanij_v_ehksperimentalnoj_i_ klini/10-1-0-3. 4. https://ru.wikipedia.org/wiki/Mathematica Википедия: Mathematica – 2016 Режим доступа: https://ru.wikipedia.org/wiki/Mathematica. Ногтев Е.А. Программное обеспечение предприятий для процессов управления. Проведенные исследования позволяют сделать вывод, что развитие программных продуктов в будущем должно идти по пути «интеллектуализации». Однако использование различных групп программных средств в каждой сфере деятельности вызывает те либо иные неудобства Ключевые слова: программное обеспечение, поиск решения, оптимизация,процессы управления Excel, финансово-экономический анализ, SPSS, статистический анализ, математический анализ, Statistica, MatLab, Mathematica. Nogtev E.A. Software companies to manage and optimize processes. In general, studies suggest that the future development of software products should follow the path of "intellectualization". However, the use of different software groups in each area of activity is those or other inconveniences. Keywords: software, search for solutions, optimization, Excel management processes, financial and economic analysis, SPSS, statistical analysis, mathematical analysis, Statistica, MatLab, Mathematica. 65 УДК 004.932.72 Система выделения лиц в видеопотоке с применением алгоритма Виолы-Джонса А.И.Подлесный, А.С.Медведев, О.И.Федяев Донецкий национальный технический университет wwwalex_96@mail.ru fedyaev@donntu.org Подлесный А.И., Медведев А.С., Федяев О.И. Система выделения лиц в видео потоке с применением алгоритма Виолы-Джонса. В работе рассматривается разработка программной системы выделения лиц на изображении. Она позволит распознавать людей по их лицам. Задача локализации лица сформулирована как задача выделения на снимке подмножества дискретных точек (пикселей), образующих лицо человека. Для решения этой задачи использован метод ВиолыДжонса. Он позволил надежно обнаруживать лица независимо от яркости сцены и цвета лица. Недостатком метода Виолы-Джонса является его алгоритмическая сложность при программировании и обучении. Ключевые слова: видеоизображение, лицо человека, выделение лица, метод Виолы-Джонса Введение Проблеме распознавания человека по изображению лица посвящено множество работ, однако в целом она ещё далека от разрешения [1]. Основные трудности состоят в том, чтобы распознать человека по изображению лица независимо от изменения ракурса и условий освещённости при съёмке, а также при различных изменениях, связанных с возрастом, причёской и т. д. Распознавание изображений пересекается с распознаванием образов. Такие задачи не имеют точного аналитического решения. При этом требуется выделение ключевых признаков, характеризующих зрительный образ, определение относительной важности признаков путём выбора их весовых коэффициентов и учёт взаимосвязей между признаками [2]. Цифровое изображение, получаемое видеокамерой в момент времени t и имеющее по вертикали h, а по горизонтали w пикселей, обозначим It(h, w). Видео-поток – это последовательность цифровых изображений (кадров) It(h, w), It+1(h, w), ..., It+k(h, w). Под прямоугольной областью интересов Obt(X, Y) понимается множество пикселей цифрового изображения It(h, w), очерчивающих искомый объект, содержащее X пикселей по вертикали и Y по горизонтали. Обнаружением объекта называется выделение области Obt(X, Y) на цифровом изображении It(h, w) в момент времени t. Под обнаружением объекта в реальном времени понимается обработка видеопотока с частотой не менее 10 кадров в секунду. Обучением называется предварительная настройка и задание параметров метода для обнаружения интересующего объекта. Обучение может выполняться на основе обучающей выборки, состоящей из одного или нескольких обучающих изображений. Под обучающим цифровым изображением понимается изображение It(h, w) с дополнительной информацией о наличии или отсутствии на нем искомого объекта. Обучающее изображение называется позитивным, если оно содержит объект, который нужно обнаружить. В противном случае обучающее изображение называется негативным. На сегодняшний день существуют различные методы обнаружения объектов на цифровом изображении It(h, w): каскадный классификатор Виолы и Джонса, обобщенное преобразование Хафа [1-3], метод Капура– Винна и другие. Однако методы обнаружения объекта, имеющие высокие показатели надежности и устойчивости, требуют значительных временных и машинных ресурсов для обучения на новых объектах. Методы обнаружения объекта на цифровом изображении It(h, w), по способу отнесения участка изображения к области Obt(X, Y) разделяют на две большие группы: обобщающие и различающие [4] . Для решения этого класса задач предложен ряд программных средств. К этим средствам относится система Emgu CV — кроссплатформенная «обёртка» для .NET библиотеки обработки изображений [5]. Она используется для решения разнообразных задач связанных с 2D графикой, распознанием лиц и предметов на фото, распознание лиц и предметов на видео. Система AForge.NET ориентирована на разработчиков и исследователей в области компьютерного зрения и искусственного интеллекта [6]. К новому поколению систем 66 компьютерного видеонаблюдения относятся система Cognitec FaceVACS SDK и FaceVACS VideoScan, которые автоматически сканирует входящий видеопоток и обнаруживают несколько лиц и проверяют наличие возможных совпадений в «контрольном списке» [7]. Таким образом, выбор условий съёмки и настроек очень важны для многих алгоритмов и систем. Отлично работая в одних условиях, многие алгоритмы могут полностью перестать работать в других условиях. Постановка задачи локализации лица Вводимый снимок S(x,y) – представляет собой совокупность изображений отдельных объектов (лиц) и фона S(x,y) = L1(x,y) + L2(x,y) +…+ Ln(x,y) + F(x,y), где n – количество выделяемых на снимке лиц; F(x,y) – изображение фона; (x,y) G – область определения снимка. Снимок S(x,y) с видеокамеры определён только на дискретном множестве точек D с координатами (xi,yi) G. При этом, k, если (x i , y j ) D k , 0, иначе L k (x i , y j ) = где Dk – дискретная область k-го лица; F(xi,yj) = 0, если (xi,yj) DF D D1 D2 ... Dn DF ; D – дискретная прямоугольная решётка, в узлах которой определён снимок S(x,y). Узлы решётки определяются координатами (x i,yj) или их номерами (i,j), в которых задаётся цвет снимка в данной точке, что в совокупности определяет пиксель снимка. Таким образом, исходный снимок S(x,y) можно рассматривать как прямоугольную целочисленную решётку P, узлы которой являются пикселями: P = {p(i, j) | i = 1, N, j = 1, M} , где i,j – целочисленные координаты (номера) пикселя; p(i, j){0, 1} – цветовой компонент пикселя. Задача заключалась в нахождении множества точек (i,j)Dk, для которых S(xi,yj) = Lk(xi,yi). Описание алгоритма Виолы-Джонса Алгоритм Виолы-Джонса является одним из лучших по соотношению показателей эффективность распознавания/скорость работы [8-11]. Также этот детектор обладает крайне низкой вероятностью ложного обнаружения лица. Алгоритм даже хорошо работает и распознает черты лица под небольшим углом, примерно до 30 градусов. Основные принципы, на которых основан метод, таковы: – используются изображения в интегральном представлении, что позволяет вычислять быстро необходимые объекты; – используются признаки Хаара, с помощью которых происходит поиск нужного объекта (в данном контексте, лица и его черт); – используется бустинг (от англ. boost – улучшение, усиление) для выбора наиболее подходящих признаков для искомого объекта на данной части изображения; – все признаки поступают на вход классификатора, который даёт результат «верно» либо «ложь»; – используются каскады признаков для быстрого отбрасывания окон, где не найдено лицо. В общем виде данный метод ищет лица и черты лица по общему принципу сканирующего окна: сканируется изображение окном поиска (так называемое, окно сканирования), а затем применяется классификатор к каждому положению. Для того, чтобы производить какие-либо действия с данными, используется интегральное представление изображений в методе Виолы-Джонса. Интегральное представление позволяет быстро рассчитывать суммарную яркость произвольного прямоугольника на данном изображении, причем какой бы прямоугольник не был, время расчёта неизменно. Интегральное представление изображения – это матрица, совпадающая по размерам с исходным изображением. В каждом её элементе хранится сумма интенсивностей всех пикселей, находящихся левее и выше данного элемента. Для определения точечного значения перепада яркости по горизонтальной и вертикальной оси используются признаки Хоара [9]. Признак - это отображение f: X => Df, где Df — множество допустимых значений признака. Если заданы признаки f1,…, fn, то вектор признаков x = (f1(x),…,fn(x)) называется признаковым описанием объекта x ∈ X. В стандартном методе Виолы-Джонса используются прямоугольные признаки. Вычисляемым значением такого признака будет F = X-Y, где X – сумма значений яркостей точек закрываемых светлой частью признака, а Y – сумма значений яркостей точек закрываемых тёмной частью признака. Для их вычисления используется интегральное изображение. 67 Анализ исходного изображения выполняется по алгоритму сканирующего окна. Задаётся размер окна сканирования (например, 24*24 ячейки) и набор используемых признаков. Окно сканирования последовательно двигается по изображению с шагом в 1 ячейку окна. При сканировании изображения в каждом окне вычисляется приблизительно тысячи вариантов расположения признаков за счет изменения масштаба признаков и их положения в окне сканирования. Сканирование производится последовательно для различных масштабов, при этом масштабируется не само изображение, а сканирующее окно (изменяется размер ячейки). Все найденные признаки попадают к классификатору, который «выносит вердикт». Классификатор должен реагировать только на определенное, нужное подмножество всех признаков. Для этого классификатор обучается нахождению лиц по данному определенному подмножеству. Машинное обучение в методе Виолы-Джонса решает задачу классификация. Имеется множество объектов (изображений), разделённых некоторым образом на классы. Задано конечное множество изображений, для которых известно, к какому классу они относятся (к примеру, это может быть класс «фронтальное положение носа»). Это множество называется обучающей выборкой. Классовая принадлежность остальных объектов не известна. Используется алгоритм, способный классифицировать произвольный объект из исходного множества. В машинном обучении задача классификации относится к разделу обучения с учителем когда классы поделены. Распознавание образов по сути своей и есть классификация изображений и сигналов. В случае алгоритма Виолы-Джонса для идентификации и распознавания лица классификация является двухклассовой. Сложная процедура классификации основывается на алгоритме бустинга (от англ. boosting – повышение, усиление, улучшение) - это процедура последовательного построения композиции алгоритмов машинного обучения, когда каждый следующий алгоритм стремится компенсировать недостатки композиции всех предыдущих алгоритмов. Идея бустинга была предложена Робертом Шапиром в конце 90-х годов [9,10], когда надо было найти решение вопроса о том, чтобы имея множество плохих (незначительно отличающихся от случайных) алгоритмов обучения, получить один хороший. В основе такой идеи лежит построение цепочки (ансамбля) классификаторов [8,9,11], который называется каскадом, каждый из которых (кроме первого) обучается на ошибках предыдущего. Таким образом, имеет место последовательная обработка примеров каскадом классификаторов, причем так, что задача для каждого последующего становится труднее. Результат определяется путем простого голосования: пример относится к тому классу, который выдан большинством моделей каскада. Математически бустинг объясняется так. Наряду с множествами X и Y вводится вспомогательное множество R, называемое пространством оценок. Рассматриваются алгоритмы, имеющие вид суперпозиции a(x) = C(b(x)), где функция b: X → R называется алгоритмическим оператором, функция C: R → Y –решающим правилом. Многие алгоритмы классификации имеют именно такую структуру: сначала вычисляются оценки принадлежности объекта к классам, затем решающее правило переводит эти оценки в номер класса. Значение оценки, как правило, характеризует степень уверенности классификации. Программная реализация алгоритма Виолы-Джонса На этапе объектно-ориентированного анализа и проектирования использован унифицированный язык моделирования UML для описания моделей программной системы [12]. Для программной реализации данной системы выбран язык программирования Python из-за его связи с библиотекой OpenCV. Помимо этого, в нём есть большое количество хороших библиотек для работы с изображениями. Более того, это очень высокоуровневый язык, позволяющий абстрагироваться от работы с драйверами при использовании камеры. Пользовательский интерфейс системы реализован через набор входных параметров скрипта. Система была протестирована на фотографиях, получаемых из видеопотока вэбкамеры и взятых из Интернета. На рисунке 1 приведен результат выделения лица человека на фотографии с одним лицом. Кроме того, тестирование системы проводилось при предъявлении групповых фото. На рисунке 2 показан результат тестирования алгоритма Виолы-Джонса при выделении лиц на групповых фотографиях. Для тестирования были взяты несколько случайных фотографий, найденных в Интернете. Лица людей на фотографии содержали различные искажения: поворот головы в различных плоскостях, не фронтальная съёмка, низкая контрастность или чёткость. Некоторые групповые фотографии были выбраны не случайно, так как большое количество людей в кадре автоматически уменьшает возможный размер каждого лица и его детализацию. Кроме того, на групповых фотографиях можно одновременно зафиксировать различные углы поворота головы, а также перекрытие лиц. Некоторые фотографии имели низкое разрешение, но несмотря на это все лица были определены на фотографии верно. 68 Рисунок 1 – Фотография с вэбкамеры Рисунок 2 -- Групповая фотография с искажённым ракурсом Заключение Анализ работы алгоритма Виолы-Джонса показал, что он практически не зависит от яркости сцены. Точность детектирования лица намного превышает точность детектора лица по цвету кожи. Недостатком алгоритма является его сложность, что вызывает трудности при программировании системы. Также он требует много вычислительных ресурсов, что может быть критичным в некоторых случаях. Несмотря на это, алгоритм хорошо себя зарекомендовал в ходе экспериментов, поэтому он будет использован в системе распознавания лиц человека. 69 Литература 1. Выделение и распознавание лиц [Электронный ресурс]. – Режим доступа: http://wiki.technicalvision.ru/index.php/Выделение_и_распознавание_лиц 2. Распознавание человека по изображению лица нейросетевыми методами. [Электронный ресурс]. http://uiip.basnet.by/structure/l_ori/starovoitov/Starovoitov_Publication_section/11_Starovoitov02prep.pdf 3. Брилюк Д.В., Старовойтов В.В. Распознавание человека по изображению лица нейросетевыми методами. – Минск, 2002. 4. Татаренков Д. А. Анализ методов обнаружения лиц на изображении // Молодой ученый. - №4, 2015. - С. 270-276. 5. Алфимцев А.Н., Лычков И.И. Метод обнаружения объекта в видеопотоке в реальном времени // Вестник ТГТУ, Т. 17, № 1, 2011. 6. Козлов В.А., Потапов А.С. Анализ методов выделения движущихся объектов на видеопоследовательностях с шумами // Научно-технич. вестник СПГУ ИТ, №3 (73), 2011. 7. Байгарова Н.С., Бухштаб Ю.А. Некоторые принципы организации поиска видеоданных // Программирование, №3, 1999. 8. Модификация алгоритма Виолы-Джонса [Электронный ресурс]. – Режим доступа: http://tarapovconf.univer.kharkov.ua/reports/54.pdf 9. Метод Виолы-Джонса (Viola-Jones) как основа для распознавания лиц [Электронный ресурс]. – Режим доступа: https://habrahabr.ru/post/133826/ 10. Метод распознавания лиц Виолы-Джонса (Viola-Jones) [Электронный ресурс]. – Режим доступа: http://oxozle.com/2015/04/11/metod-raspoznavaniya-lic-violy-dzhonsa-viola-jones 11. Модификация алгоритма Виолы-Джонса на основе адаптивно скользящего окна [Электронный ресурс]. – Режим доступа http://www.sworld.com.ua/index.php/uk/technical-sciences-116/informatics-computerscience-and-automation-116/27293-116-160 12. Скотт К. UML. Основные концепции. - М.: Издательский дом “Вильямс», 2002. - 144 с. Подлесный А.И., Медведев А.С., Федяев О.И. Система выделения лиц в видео потоке с применением алгоритма Виолы-Джонса. В работе рассматривается разработка программной системы выделения лиц на изображении. Она позволит распознавать людей по их лицам. Задача локализации лица сформулирована как задача выделения на снимке подмножества дискретных точек (пикселей), образующих лицо человека. Для решения этой задачи использован метод ВиолыДжонса. Он позволил надежно обнаруживать лица независимо от яркости сцены и цвета лица. Недостатком метода Виолы-Джонса является его алгоритмическая сложность при программировании и обучении. Ключевые слова: видеоизображение, лицо человека, выделение лица, метод Виолы-Джонса Podlesniy A.I., Medvedev A.S., Fedyaev O.I. The system of selection faces in the video stream using the Viola-Jones algorithm. The paper deals with the development of a software system selecting persons in the image. It allows you to recognize people by their faces. Task face localization is formulated as a problem of allocation of the picture subset of discrete points (pixels), forming the man's face. Viola-Jones method is used to solve this problem. It allows the reliable detection of persons, regardless of the brightness of the scene and the complexion. The disadvantage of the method of Viola-Jones is its algorithmic complexity in programming and training. Keywords: video, a person's face, the face selection, Viola-Jones method 70 УДК 004.9 Информационная система «Торгово-политическая карта мира» М.Г.Титаренко, И.А. Коломойцева Донецкий национальный технический университет timigen2010@yandex.ua Титаренко М.Г., Коломойцева И.А. Информационная система «Торгово-политическая карта мира». В данной статье проанализированы существующие подходы к извлечению информации с веб-страниц, эффективность парсеров сайтов. Описан подход к извлечению данных по шаблону, а также алгоритм определения достоверности экономической информации. Ключевые слова: парсер, шаблон, анализ достоверности, Python. Введение Каждый день в современном мире мы получаем огромное количество информации о торговоэкономических связях между государствами, торговых «войнах», экономической зависимости одной страны от другой, эмбарго и прочем. Однако вся эта информация разрозненная и поэтому ее анализ для обывателя становится очень сложной задачей. Ситуация усугубляется отсутствием каких-либо русскоязычных ресурсов, содержащих необходимые данные, а получить официальную информацию от государственных статистических организаций еще более затруднительно. В связи с этим возникает потребность в создании информационного ресурса, который собирает данные с указанных ресурсов, анализирует их и в конечном итоге представляет в виде торгово-экономических взаимосвязей между странами. Для реализации данного проекта следует использовать нестрогий парсер сайтов, который будет получать информацию с заданных ресурсов. Количество ресурсов не должно ограничиваться. Поэтому необходим производительный парсер, использующий наименьший объем памяти. Для каждого ресурса следует создать шаблон, по которому будут извлекаться данные со страницы. Данные должны подвергаться проверке, при которой они будут сравниваться с уже имеющимися в базе. В случае большого расхождения информация не должна учитываться. Целью данной статьи является анализ существующих вариантов нестрогих парсеров, определение оптимального для разрабатываемой системы. Описание метода извлечения данных по заданному шаблону. Описание алгоритма определения достоверности экономической информации. Анализ существующих подходов к извлечению информации В разрабатываемой информационной системе будет возможно использовать два подхода для получения необходимой информации: использование открытого API ресурса, либо, в случае его отсутствия, парсинг по шаблону. Перед отбором информации по шаблону необходимо сделать парсинг страницы сайта. Существует огромное количество разнообразных библиотек под разные языки программирования для парсинга сайтов. Все они отличаются строгостью, производительностью, а также количеством используемой памяти. Сама система будет реализована на Python с использованием фреймворка Django [9]. В связи с этим, после рассмотрения возможных вариантов я остановился на следующих библиотеках: - CPython — lxml.etree.HTML; - CPython — BeautifulSoup 3; - CPython — BeautifulSoup 4; - CPython — html5lib; - C — libxml2. Для выбора одной из них было проведено исследование [1]. Нестрогий HTML парсер — парсер HTML, который умеет обрабатывать некорректный HTML код. Цели, преследуемые исследованием: - сравнить производительность и потребление памяти различных нестрогих HTML DOM парсеров; - изучить стабильность работы парсера. Возрастет ли время обработки одной страницы и объём потребляемой памяти с ростом числа итераций; оценить эффективность платформы: скорость работы со строками, эффективность менеджмента памяти. 71 Для исследования зависимости скорости работы парсера от числа итераций, была построена гистограмма зависимости времени на обработку одной страницы от числа итераций (см. рис. 1). Время на обработку одной страницы есть время работы парсера, разделенное на число итераций. В идеальном варианте скорость работы парсера не должна зависеть от числа итераций, а лучше — должна возрастать. Столбики одинаковой высоты — хорошо, разной — плохо. Для большинства парсеров зависимости нет (все столбики одинаковой высоты). Исключение составляет BeautifulSoup 4; у него с ростом числа итераций производительность снижается. То есть если этот парсер должен работать продолжительное время, то производительность будет постепенно снижаться. Рисунок 1 – Скорость работы На рисунке 2 отражена средняя скорость обработки одной страницы На данной диаграмме чем выше находится бокс — тем медленнее работает парсер. Чем больше бокс по площади, тем больше разброс значений (т.е. выше зависимость производительности от числа итераций). Видно, что парсер на C лидирует, за ним следуют lxml.etree, потом bsoup4, bsoup3 и html5lib. Рисунок 2 – Средняя скорость обработки одной страницы 72 На рисунке 3 демонстрируется как потребление памяти зависит от числа итераций. В идеале все столбики одного парсера должны быть одинаковой высоты. Если потребление растет с увеличением числа итераций, то это указывает на утечки памяти или проблемы со сборщиком мусора. На рисунке видно, что для парсера на C все столбики практически идентичной высоты. То же самое для lxml.etree. Рисунок 3 – Потребление памяти от числа итераций Усредненное потребление памяти для парсеров представлено на рисунке 4. Из него видно, что расстановка примерно такая же, как в сравнении скорости. lxml.etree требует памяти примерно в 2 раза больше, чем C libxml2, но меньше чем любой другой парсер. Рисунок 4 – Усредненное потребление памяти 73 Overhead на запуск программы Overhead платформы — это время, которое программа тратит не на непосредственно работу, а на подготовку к ней (инициализация библиотек, считывание HTML файла и т.п.). На рисунке 5 отображён overhead парсеров. Рисунок 5 – overhead парсеров Подведем итог исследования. Реализация на C является лучшей. Биндинг libxml2 к питону (lxml.etree.HTML) работает практически с такой же скоростью, но потребляет в 2 раза больше памяти (скорее всего overhead собственно интерпретатора). На Python же выходит более предпочтительным lxml [4]. Все остальные библиотеки уступают по скорости или по памяти. В связи с выбором платформы для разработки Python Django было решено использовать lxml.etree.HTML для разработки системы. Описание извлечения данных по заданному шаблону Для структурирования полученной парсером информации всегда используются шаблоны. В шаблоне описывается основная структура страницы для парсинга. Довольно часто используются конструкции регулярных выражений. Пример щаблона для страницы ресурса TradeMap представлен ниже [2] <table*id=’ ctl00_PageContent_MyGridView1’*><tr*><tr*><tr*> <tr*>*<td*>VAL1</td><td*>VAL2</td><td*>VAL3</td>* Рисунок 6 – Пример шаблона Для извлечения информации по заданному шаблону используется обычный проход по дереву, которое было сформировано в результате работы парсера. 74 Описание алгоритма определения достоверности экономической информации полученной с интернет-ресурсов Начнем с хранения полученных данных. База данных будет состоять из двух частей. Первая часть хранит все данные, полученные с ресурсов в исходном виде, чтобы не допустить потерю информации. Кроме того, данные полученные с этого же ресурса в другой период времени также сохраняются. Вторая часть представляет собой информацию, которая получена в результате экономического анализа. Этот экземпляр будет использоваться лишь в двух случаях: при получении пользователем запрашиваемых данных, а также при занесении результата анализа. Добавление данных осуществляется в два этапа. Этап первый – анализ достоверности [3]. Данный этап использует исключительно первую часть базы. Для осуществления данного этапа администратором системы задаются ресурсы для забора данных, а также «доверие» самого администратора к этим ресурсам. Данный параметр будет влиять на оценивание достоверности данных с разных ресурсов. Далее администратор задает процент допустимого отклонения, которым можно пренебречь при сравнении данных. Например, при задании допустимого процента на уровне 1% торговый оборот в 10000$ и 9900$ будут считаться одинаково достоверными. После сравнения существующих данных ресурсам помимо пользовательского «доверия» добавляется программное «доверие». Если данные из ресурса равны (или приблизительно равны с пользовательской точностью) с достоверной, то ресурс по текущему показателю считается «программно доверенным». Исходя из вышеперечисленного администраторское доверие является более приоритетным. Однако существуют и некоторые ситуации, при которых администраторское доверие может быть оспорено. Так, если более 90% ресурсов не являются программно доверенными, то делается предположении о ложном доверии администратора и ему приходит оповещение о конфликтной ситуации. Этап второй – экономический анализ с помощью нейронных сетей. Выводы При написании этой статьи были проведен анализ существующих парсеров, в результате которого был выбран оптимальный для реализации системы. Описана возможная структура шаблона, а также способ извлечения информации по этому шаблону. Описан алгоритм определения достоверности экономической информации. Литература 1. Хабрахабр - Бенчмарк HTML парсеров [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/163979/ – (25.10.2016) 2. TradeMap [Электронный ресурс]. – Режим доступа: http://www.trademap.org/Bilateral_TS.aspx (24.10.2016) 3. И.Н. Кузнецов Информация: сбор, защита, анализ. Учебник по информационно-аналитической работе – М. Яуза, 2001. 4. The lxml.etree [Электронный ресурс]. - Режим доступа: http://lxml.de/ - (25.10.2016). 5. Python – BeautifulSoup3 [Электронный ресурс]. Режим доступа: https://pypi.python.org/pypi/BeautifulSoup - (21.10.2016) 6. Python – BeautifulSoup4 [Электронный ресурс]. Режим доступа: https://pypi.python.org/pypi/beautifulsoup4 - (21.10.2016) 7. Python – html5lib [Электронный ресурс]. - Режим доступа: https://pypi.python.org/pypi/html5lib (21.10.2016) 8. XMLSoft - The XML C parser and toolkit of Gnome [Электронный ресурс]. - Режим доступа: http://xmlsoft.org/ - (21.10.2016) 9. Django [Электронный ресурс]. - Режим доступа: https://www.djangoproject.com/ - (23.10.2016) 10. Python [Электронный ресурс]. - Режим доступа: https://www.python.org/ - (23.10.2016) Titarenko M.G., Kolmoitseva I.A. "Trade political map of the world" information system. This article analyzes the existing approaches to extracting information from web pages, and the efficiency of sites parsers. The approach to extracting data from template, and an algorithm for determining the economic information reliability. Keywords: parser, template, reliability analysis, Python. 75 УДК 004.93'12 Исследование процессов самообучения неокогнитрона при распознавании графических образов Т.И. Труханов, М.Е. Алехов, О.И. Федяев Донецкий национальный технический университет shtirliz.dev@gmail.com, fedyaev@donntu.org Труханов Т.И., Алехов М.Е., Федяев О.И. Исследование процессов самообучения неокогнитрона при распознавании графических образов. В статье изучаются принципы настройки многослойной нейронной сети типа неокогнитрон на распознавание различных графических образов. Для этого разработана программная модель архитектуры неокогнитрона с алгоритмом обучения нейронной сети на основе её самоорганизации. Неокогнитрон, настроенный по алгоритму конкурентного обучения, приобретает способность правильно распознавать образы при различных искажениях в их форме. Ключевые слова: нейронная сеть, неокогнитрон, нейрон, распознавание, самоорганизация. Введение В 1980 году японским учёным К.Фукушимой (K.Fukushima) [1] предложена серия новых нейросетевых архитектур типа «когнитрон» (cognitron) с алгоритмом их обучения по стратегии «обучение без учителя». Благодаря специфичной архитектуре и новому принципу самоорганизации мультислоистого неокогнитрона он приобретает способность правильно распознавать образы в условиях различного вида помех. Цель данной работы заключается в разработке программного эмулятора неокогнитрона с возможностью его обучения на распознавание определенного класса образов. Такой эмулятор позволит путём моделирования более детально изучить принципы самоорганизации многосвязной мультислоистой структуры неокогнитрона и подбирать значения параметров прикладной модели нейросети для качественного распознавания изображений заданного класса. На теоретико-множественном уровне параметрическую модель многослойного неокогнитрона NC (NeoCognitron) можно представить виде кортежа (1). NC X , L,{ K l ,{al ,,sm, p,(i , j ) }, l ,c ,{b l ,s }, l ,s ,{dl ,,cn, p,(i , j ) }, l ,c ,{c l ,c }, l ,s , Y , (1) l где L – количество модулей в неокогнитроне; l – номер модуля, 1≤ l ≤L; K – количество плоскостей в одном слое (S или C) l-го модуля; Х, Y – соответственно входы (выходы) неокогнитрона для приёма (снятия) входных (выходных) сигналов; al ,,sm, p (i , j ) - весовой коэффициент связи m-го входа (ij) нейрона р-й плоскости S-го слоя модуля l с выходом ν-го нейрона ( C lp1,1 p K l 1 , – координаты нейрона в области связи); C lp1 - область связи на p-й плоскости С слоя (l-1)-го модуля; dl ,,cn, p , (i , j ) - весовой коэффициент связи n-го входа (ij) нейрона р-й плоскости слоя С модуля l с выходом ν-го нейрона из его рецептивной области ( S p ,1 l p K l ); S lp – область связи для (ij) нейрона, расположенная на р-й плоскости S-го слоя модуля l. В слоях S и C каждого модуля неокогнитрона имеются тормозящие нейроны, которые в кортеже описываются параметрами bl,s , cl , c . Это постоянные коэффициенты тормозящего входа для всех нейронов соответственно слоёв S и С модуля l. Функции активации базовых нейронов обозначены как cl ,c и l ,c , а функции активации тормозящих нейронов - и . Параметрическая модель и многослойная структура неокогнитрона с последовательными связями позволяет в явном виде получить функциональную зависимость выходных сигналов Y нейросети от её входных сигналов Х (2). l,s l,s 76 Y f ( X , NC (a, b)). (2) Задача состоит в разработке такой имитационной (программной) модели неокогнитрона и алгоритма его обучения, которые в совокупности минимизируют функционал Ф(a,b) и тем самым настраивают (обучают) его распознавать множество требуемых образов Y (3). (a, b) Y Y min (3) a ,b , X Y где a, b – настраиваемые весовые коэффициенты неокогнитрона; Y , Y – реальные и желаемые выходные сигналы неокогнитрона; . – выбранная норма вектора. Структура неокогнитрона Неокогнитрон является иерархической нейронной сетью, состоящей из достаточно большого числа идущих друг за другом слоёв и имеющих неполные (можно сказать достаточно редкие) связи между слоями. На рисунке 1 представлена упрощенная структура неокогнитрона. Рисунок 1 – Структура многослойной нейросети типа неокогнитрон На рисунке изображены три модуля нейросети, в каждом из которых имеются два типа слоёв: «простые» (S-слои, от слова simple) и «комплексные» (C-слои, от слова complex), которые состоят соответственно из «простых матриц» (распознают характерные признаки во входных образах) и «комплексных матриц» (обобщают распознанную информацию). С целью простоты рисунка на нём не показаны плоскости с тормозящими нейронами. Из приведенной структуры видно, что размер первого слоя совпадает с размером входного образа (U0) и к последнему слою размеры плоскостей уменьшаются. В последнем слое в каждой плоскости находится только по одному нейрону. Математическая модель неокогнитрона Для вычисления выходных сигналов usl нейронов S-плоскости использовалась формула 4 [1]. K 1+ l 1 al kl 1 ,υ,kl uCl 1 kl 1 , n + υ υ k l 1=1 S l uSl kl , n = rl 1 rl 1+ bl kl vCl 1 n 1 + r l В этой формуле учитываются выходные сигналы тормозящей плоскости по формуле (5). 77 (4) vCl 1 , которые вычисляются vCl 1 n = K l 1 c υu k =1υS l l 1 2 Cl 1 l 1 ,n + υ (5) k l 1 где L – количество модулей в неокогнитроне; l – номер модуля, 1≤ l ≤ L; a, b – настраиваемые весовые коэффициенты неокогнитрона; φ- функция активации S-нейронов; rl – параметр управления интенсивностью запрещения; n – позиция нейрона в плоскости kl ; cl-1 – фиксированные весовые коэффициенты С-нейронов в модуле l-1; Sl – область связи для S-нейрона, расположенного в позиции n модуля l; υ – позиции нейронов в области связи Sl ; uCl-1 – выходные сигналы C-нейронов модуля l-1. Алгоритм обучения неокогнитрона Для обучения неокогнитрона применялась стратегия «обучение без учителя» [2, 3]. При этом настраиваются только весовые коэффициенты S-плоскостей. Веса нейронов C-плоскостей задаются перед обучением и не изменяются [1]. В целом процесс обучения проводится последовательно, начиная с обучения Sплоскостей 1-го модуля и заканчивая обучением последнего S-слоя. Способ самоорганизации неокогнитрона, предложенный К.Фукушимой [1], достаточно сложный для исследования аналитическими методами. Поэтому в работе особое внимание уделено программной реализации алгоритма самоорганизации с целью его всестороннего анализа методами имитационного моделирования. В алгоритме самоорганизации можно условно выделить четыре этапа [4,5]: подача входного образа и вычисление выходных сигналов обучаемого S-слоя; выбор кандидатов в представители по S-цилиндрам фиксированной ширины; выбор представителей из кандидатов; обучение нейронов тех плоскостей, в которых были отобраны представители. Анализ алгоритма самоорганизации Программная модель неокогнитрона написана на языке программирования Python. Язык Python широко используется в научно-исследовательских проектах. Это объясняется в первую очередь простотой языка, а также наличием хорошо протестированных библиотек, которые позволяют быстро и эффективно решать прикладные задачи. В работе использовались следующие библиотеки: NumPy (для эффективных вычислений), Matplotlib (для визуализации информации), PIL (для работы с изображениями). Разработанная программная модель подробно визуализировала состояния сети и полученные результаты. В частности на экран выводились результаты обучения сети на распознавание конкретного изображения, в частности, текущие значения выходных сигналов и весовых коэффициентов всех нейронов сети. Настраиваемыми коэффициентами выступали коэффициенты от нейронов комплексного слоя к нейронам простого слоя и коэффициент от тормозящего нейрона к нейрону простого слоя. Коэффициенты от комплексных нейронов к тормозящему нейрону и от простых нейронов к комплексным являются фиксированными. Таким образом, можно увидеть, какие признаки выделяются S-плоскостями на том или ином этапе распознавания. Для детального изучения внутренней самоорганизации неокогнитрона в данной работе были исследованы модели неокогнитрона, настроенные на распознавание простейших печатных символов Т, С, Н, Г, П. Во всех описанных ниже экспериментах использовался неокогнитрон, состоящий из трех модулей. Он обучался на символы Т, С, Н, Г и П, расположенные по центру и не имеющие искажений. Рассмотрим детально несколько примеров распознавания буквы «Н». На рисунке 2 показаны изменяемые коэффициенты для тех плоскостей, которые отреагировали на образ буквы «Н». Как видно из рисунка, на первом модуле нейросеть выделила из образа простейшие характерные признаки. На втором модуле показаны выходные сигналы S-слоя и характерные признаки первого S-слоя, объединенные в группы. Второй и последующие слои получают входные сигналы со всех плоскостей предыдущего модуля, за счёт чего они формируют комплексные характерные признаки, состоящие из более простых признаков, выделенных на первом модуле. На третьем модуле нейроны также получают входные сигналы со всех плоскостей предыдущего модуля, поэтому формируют более сложные характерные признаки из комплексных признаков второго модуля. В данном случае на третьем модуле нейросеть уже полностью распознаёт образ. За счёт наличия C-слоя неокогнитрон способен различать образы даже со смещениями и искажениями [5,6]. 78 Рисунок 2 – Иллюстрация процесса распознавания символа «Н» Выходные сигналы нейронов тех плоскостей, которые отреагировали на символ «Н», во всех слоях неокогнитрона можно посмотреть на рисунке 3. По номерам плоскостей можно определить, на какой признак они среагировали (см. рис. 2). Рисунок 3 – Состояние нейронов в плоскостях, которые отреагировали на подачу символа «Н» на вход неокогнитрона: ■ - активный нейрон; □ - пассивный нейрон 79 Из этого иллюстративного примера хорошо видно, что в процессе самоорганизации неокогнитрон выделил на первом слое характерные признаки во входных образах. Эти признаки зафиксированы в значениях весовых коэффициентах нейронов соответствующих плоскостей, которые при распознавании будут выступать в роли «экспертов» по обнаружению своих признаков во всех позициях входного изображения и на их основе правильно его классифицировать независимо от его позиции и формы. Выводы В работе выполнен частичный анализ принципа настройки многослойной нейронной сети типа неокогнитрон на распознавание различных образов. Для этого была разработана программная модель неокогнитрона с алгоритмом обучения нейронов на основе их самоорганизации. Был проведен ряд экспериментов на простейших буквенных образах. В результате этих экспериментов было улучшено понимания процессов, происходящих внутри нейросети. Кроме того были получены важные данные по влиянию различных параметров нейросети на её поведение во время обучения и распознавания. Неокогнитрон, который настроен по алгоритму конкурентного обучения, приобретает способность правильно распознавать графические образы при различных искажениях в их форме [5,6]. На модели проведен ряд экспериментов по изучению взаимовлияния каналов усиления и торможения нейронов сети, а также изучены особенности неконтролируемого обучения S-нейронов. По результатам этих экспериментов можно сделать вывод о том, что полученная модель неокогнитрона позволяет исследовать сложные алгоритмы неконтролируемого обучения и распознавания. Литература 1. Kunihiko Fukushima, Sei Miyake Neocognitron: a new algorithm for pattern recognition tolerant of deformations and shifts in position — Great Britain: Pattern Recognition Vol 15, No 6, 1982. – pp 455-469. 2. Уоссермен Ф. Нейрокомпьютерная техника. Теория и практика. – М.: Мир, 1992. 3. Руденко О.Г., Бодянский Е.В. Основы теории искусственных нейронных сетей. Уч. пособие. – Харьков: ТЕЛЕТЕХ , 2002. – 317 с. 4. Федяев О.И. Алёхов М. Е. Состояние проблемы компьютерного распознавания лиц человека // Материалы международной научно технической конференции студентов, аспирантов и молодых учёных. – Донецк, ДонНТУ – 2015. 5. Труханов Т.И., Федяев О.И. Модель многослойной нейросети с архитектурой неокогнитрона // Інформаційні управляючі системи та комп’ютерний моніторинг / Матерiали IV мiжнародної науково-технiчної конференцiї – Донецьк, ДонНТУ – 2013, Том 1, с. 456-462. 6. Федяев О.И., Махно Ю.С. Распознавание графических образов при наличии искажений с помощью неокогнитронных нейросетей // Тр. 8-й междунар. науч. конф. «Интеллектуальный анализ информации ИАИ2008». – К.: Просвіта, 2008. - С. 512-521. Труханов Т.И., Алехов М.Е., Федяев О.И. Исследование процессов самообучения неокогнитрона при распознавании графических образов. В статье изучаются принципы настройки многослойной нейронной сети типа неокогнитрон на распознавание различных графических образов. Для этого разработана программная модель архитектуры неокогнитрона с алгоритмом обучения нейронной сети на основе её самоорганизации. Неокогнитрон, настроенный по алгоритму конкурентного обучения, приобретает способность правильно распознавать образы при различных искажениях в их форме. Ключевые слова: нейронная сеть, неокогнитрон, нейрон, распознавание, самоорганизация. Truhanov T., Alekhov M., Fedyaev O. Research of self-education processes of neocognitron for recognition of graphics images. In this paper we study the principles of tuning a multilayer neural network type neocognitron to recognize different images. It was developed software architecture model of neocognitron and learning algorithm of the neural network on the basis of its self-organization. Neocognitron configured by the algorithm of competitive training, acquires the ability to properly recognize patterns in various distortions in their form. Keywords: neural network, neocognitron, neuron, recognition, self-organization. 80 УДК 004.6 Компьютерная лингвистика: морфологический словарь И.Д. Фоминых, Л.В. Рудак, Л.В. Незамова Донецкий национальный технический университет Igos.321@gmail.com И.Д. Фоминых, Л.В. Рудак, Л.В. Незамова. Компьютерная лингвистика: морфологический словарь. Была создана программа для формирования русскоязычного морфологического словаря в форме базы данных, описаны методы, применённые во время разработки, применена комбинация C# и Python, произведён анализ скорости загрузки в базу данных большого объёма информации разными методами. Ключевые слова: морфология, словарь, часть речи, сбор данные, кодировка Введение Цель работы – создать программу, которая позволит сформировать русскоязычный морфологический словарь в форме базы данных. Она будет применима в следующих предметных областях: образование, лингвистика, искусственный интеллект и некоторых других областях. Перед началом работы мы проанализировали все доступные ресурсы[1][2], соответствующие поставленной задаче. Найденные программы были разделены на две категории (по функциональности): разбор по одиночно введённых слов; готовые базы данных. Недостатками ресурсов первого типа являются отсутствие возможности собрать базу и ограниченность во вводе. Недостатками ресурсов второго типа являются отсутствие возможности программно расширить базу данных, сложная структура базы данных, отсутствие возможности бесплатного пользования. Морфологический разбор слова – это полная грамматическая характеристика данной словоформы. При морфологическом анализе важно уметь определять, к какой части речи относится слово, какими постоянными и изменяемыми признаками оно обладает, в какой форме оно употреблено, а также какова его роль в предложении. В программе для реализации морфологического разбора используется свободная библиотека с открытым исходным кодом pymorphy2 (написанная на языке Python). Для нее определены такие граммемы: часть речи: имя существительное, имя прилагательное (полное), имя прилагательное (краткое), компаратив, глагол (личная форма), глагол (инфинитив), причастие (полное), причастие (краткое), деепричастие, числительное, наречие, местоимение-существительное, предикатив, предлог, союз, частица, междометие; одушевлённость: одушевлённое, неодушевлённое; вид: совершенный, несовершенный; род: мужской, женский, средний; число: единственное, множественное падеж: именительный, родительный, дательный, винительный, творительный, предложный, звательный, первый родительный, второй родительный (частичный), второй винительный, первый предложный, второй предложный (местный); включенность говорящего в действие: включён, не включён; наклонение: повелительное, изъявительное; время: настоящее, прошедшее, будущее; лицо: первое, второе, третье; залог: действительный, страдательный; переходность: переходный, непереходный. [3] Вариации ввода данных Пользователю предоставляется возможность вводить данные как с клавиатуры, так и из файла. Рассмотрим первый случай. Интерфейсом предусмотрено поле для одиночного добавления слова. Пример 81 разбора слова «что», относящегося к разным частям речи приведен на рисунке 1, оно подпадает под 4 части речи, схематически обозначенные на рисунке. Рисунок 1 – Морфологический анализ слова «что» Пример разбора слова «программист», принадлежащего к одной части речи, но с большим числом морфологических характеристик изображён на рисунке 2. Рисунок 2 – Морфологический анализ слова «программист» Следующий вариант – считывание данных из файла формата *.txt. Подходят любые кодировки, поддерживающие русский язык. Содержимое файла может быть как структурированным словарём, так и произвольно набранным текстом. Кодировки файлов Русский язык поддерживают 2 вида кодировок: utf-8 и win1251. Чтобы облегчить процесс загрузки и не проверять/переформатировать каждый источник вручную, был использован код, который проверяет текст на соответствие utf-8, иначе – считает, что он win1251. В свою очередь, utf8 бывает двух типов (utf-8-BOM и utf-8) отличие заключается в том, что в первом варианте первые 3 байта в файле выделяются для маркера последовательности байтов (англ. Byte Order Mark (BOM))[4]. Можно сказать, идеальный вариант, проверяем 3 байта и знаем кодировку. Иначе же приходится проверять весь текст побайтово на соответствие маске. Символы в UTF-8 кодируются последовательностями длиной от 1 до 4 байт (октетов). Вот в таком формате: U+000000-U+00007F: 0xxxxxxx (ANSI) U+000080-U+0007FF: 110xxxxx 10xxxxxx (сюда входит кириллица) U+000800-U+00FFFF: 1110xxxx 10xxxxxx 10xxxxxx U+010000-U+10FFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 82 По маске первого октета определяется общее число октет в последовательности, а затем они проверяются на соответствие маске 10xxxxxx. Если какой-то байт не соответствует маске, значит кодировка отличная от UTF-8 (win1251). Адаптация формата текста для базы данных Отделить слова от ненужных символов после считывания из файла помогла технология LINQ[5] из .NET. Проходя по каждому символу из текста, производится проверка на условие, является ли этот символ пробелом или буквой (с помощью Char.isLetter() и Char.IsWhiteSpace()), если нет, то удаляем. После чего по пробелам строка делится на элементы списка. Так же каждое слово приводится к нижнему регистру. Использованная библиотека для морфологического разбора написана на языке Python. Как известно возможности разработки интерфейса для Python не такие широкие, как в WPF, поэтому было решено комбинировать высокоуровневость языка Python и широкие возможности для разработки UI по средствам технологии DLR[6]. Код на Python просто забирается из файла, компилируется и дальше может использоваться из переменных в C#. Минусом является то, что вместе с программой необходимо переносить стандартные библиотеки для Python (всего ~6мб). При загрузке данных возникла проблема с тем, что необходимо загружать примерно 100-200 тыс. записей. Если это сделать с помощью стандартного оператора в SQL - INSERT, то загрузка длилась бы очень долго. Во избежание этого было использовано технологию BULK INSERT. Особенность в том, что данные группируются и отключаются некоторые счетчики и уведомления (например, счетчик количества добавленных записей). Сравнение скорости можно увидеть на рисунке 3. Рисунок 3 – Графики времени загрузки в БД На рисунке 3 представлен график скорости загрузки данных БД в зависимости технологии. По оси X – количество записей, по оси Y – время в секундах. Всего 5 графиков (слева направо). Первый – стандартная загрузка. Второй и третий (слились в один) BULK – загрузка, ручная и автоматическая, в программе была применена автоматическая. 4 и 5 – методы загрузки BLOB полей, они не подходят для нашей структуры. После загрузки в базу слова отображаются в списке в программе в алфавитном порядке. Для удобства работы с ними предусмотрены фильтры и маркеры. С их помощью можно оставить в списке только слова, принадлежащие к выбранным частям речи. Окно фильтров изображено на рисунке 4. 83 Рисунок 4 – Окно фильтров Выводы В данной работе был реализован программный продукт, который полностью реализует поставленную задачу: сбор базы данных. Для выполнения этой задачи были использованы следующие средства разработки: WPF для Visual Studio 2015, бесплатная база данных “SQLite 3”, Python 2.7. Дальнейшими направлениями разработки будут: расширение поддерживаемых языков, общее повышение производительности. Литература 1. Компьютерная грамматика русского языка: лексика, морфология, синтаксис. - 2010. - Режим доступа: http://www.solarix.ru/sql-dictionary-sdk.shtml. - База данных по русской и английской лексике и морфологии. 2. Русская виртуальная библиотека. 2000-2016. Режим доступа: http://rvb.ru/soft/catalogue/catalogue.html. - Каталог лингвистических программ и ресурсов в Сети. 3. Открытый корпус. - 2016. - Режим доступа: http://opencorpora.org/dict.php?act=gram. - Граммемы. 4. Википедия - 2016. - Режим доступа: https://ru.wikipedia.org/wiki/Маркер_последовательности_байтов. Маркер последовательности байтов. 5. Википедия. - 2016. - Режим доступа: https://ru.wikipedia.org/wiki/Language_Integrated_Query. – LINQ. 6. Документация Microsoft. 2016. Режим доступа: https://msdn.microsoft.com/ruru/library/dd233052(v=vs.110).aspx. - Dynamic Language Runtime Overview. И.Д. Фоминых, Л.В. Рудак, Л.В. Незамова. Компьютерная лингвистика: морфологический словарь. Была создана программа для формирования русскоязычного морфологического словаря в форме базы данных, описаны методы, применённые во время разработки, применена комбинация C# и Python, произведён анализ скорости загрузки в базу данных большого объёма информации разными методами. Ключевые слова: морфология, словарь, часть речи, сбор данных ,кодировка. I.D. Fominykh,L.V. Rudak,L.V. Nezamova. Computer linguistic: morphological dictionary. We created a program in order to form Russian morphological dictionary in a form of data base , overviewed methods used during the program development, also was used a combination of C# and Python and we did analysis of speed of a bid data upload to data base using different technologies. Keywords: morphology, dictionary, part of speech, data overview, encoding. 84 УДК 004.657 Методы разработки систем учета научно-технических мероприятий Ходич Д.В., Завадская Т. В., Грищенко В.И. Донецкий национальный технический университет, кафедра программной инженерии dima_khodich@mail.ru Ходич Д.В., Завадская Т.В., Грищенко В.И. Методы разработки систем учета научнотехнических мероприятий. В данной статье были проанализированы существующие методы разработки программных систем учета научно-технических мероприятий. В результате анализа был выявлен самый оптимальный метод разработки программной системы. На основе этого метода была разработана система учета научно-технических мероприятий для ДонНТУ с открытым кодом. В системе реализовано генерирование отчетности по данным из БД, которая была спроектирована с учётом специфики ВУЗа. Ключевые слова: научно-технические мероприятия, система учета мероприятий, методы разработки систем учёта, генерация отчётов, база данных, клиент-серверная архитектура. Введение За многие годы было проведено множество различных научно-технических мероприятий (НТМ). Учитывая то, что по каждому из мероприятий нужно оформить большое количество подготовительных документов (на начальном этапе) и множество отчетов после проведения мероприятия, в архивах университетов и различных организаций накопилось большое количество информации в бумажном виде. Актуальность данной работы состоит в том, что система проектируется с учетом современных технологий контроля данных, обладает клиент-серверной архитектурой, что в свою очередь позволяет с лёгкостью работать с БД обычным пользователям ПК, а не программистам. Также благодаря такой архитектуре система доступна на сервере в любой момент времени через глобальную сеть Интернет с удобным и интуитивно понятным пользовательским интерфейсом. Существует два основных метода разработки и реализации систем учёта НТМ – офлайн приложение и приложение с клиент-серверной архитектурой, структура которой представлена на рис. 1. Первый метод подходит для организаций, в которых контроль над данными по мероприятиям и сотрудникам ведёт один человек и структура БД статична. Второй метод подходит, как и для организаций, в которых контроль над данными ведёт один человек, так и для организаций, в которых контроль над данными и сотрудниками ведут несколько человек. Однозначным плюсом такой архитектуры является то, что каждый пользователь, взаимодействующий с системой, обращается к актуальной версии БД по мероприятиям посредством запросов к серверу. Также в системах с такой архитектурой возможно разделение полномочий и возможностей пользователей в системе. Целью данной работы является: 1) Определение оптимального метода разработки системы учета НТМ; 2) Реализация программной системы и оценка ее эффективности. 1. Специфика задачи За многие годы в ДонНТУ накопилось большое количество бумажной отчетности по мероприятиям. Все эти документы время от времени приходится просматривать для подготовки отчетов за определенный период времени или годовых отчетов. Чтобы облегчить работу ответственным за проведение мероприятий было решено создать автоматизированную систему составления приказов и оформления отчетов. В ДонНТУ ежегодно проводятся следующие виды научно-технических мероприятий НТМ: - конференция; - семинар; - форум; - симпозиум; 85 - олимпиада; - презентация. Рисунок 1 – Архитектура программной системы Система учета мероприятий ДонНТУ является информационной системой, которая в свою очередь направлена на: - уменьшение рутинной работы; - сокращение времени на оформление отчетов и приказов; - уменьшение числа возможных ошибок; - резкое сокращение времени для обработки данных и получении нужной отчетности. Для решения поставленной цели необходимо осуществить: - автоматизацию ввода, контроля и загрузки данных в базу НИЧ ДонНТУ; - автоматизацию регистрации на сайте конференций; - формирование отчетности по заданным конференциям; 2. Анализ функциональных возможностей программных систем учета НТМ и методов построения существующих 2.1 Программная система "Учет мероприятий и семинаров" Рассмотрим структуру системы: "Учет мероприятий и семинаров" - предназначена для комплексной автоматизации компаний, занимающихся организацией деловых мероприятий. Программа позволяет вести базы данных клиентов. Данная программа легко и быстро настраивается под конкретные требования заказчика. Основные функции: - учет клиентов-организаций, которые участвуют в мероприятиях; - ведение базы контактов клиентов, сотрудников организаций; - учет прошедших и будущих мероприятий; - ведение календарного плана (расписание) мероприятий; - ведение базы участников мероприятий (авторов и лекторов); ведение базы тем выступлений лекторов; - учет договоров, заключенных с клиентами; - учет сотрудников, их логинов и паролей для доступа в программу; - минимизация ошибок ввода, уменьшение времени на обработку заявки; - возможность импорта и экспорта данных [1]. 86 2.2 Программная система "Программа контроля и управления мероприятиями" Рассмотрим структуру системы: “Программа контроля и управления мероприятиями” включает журнал мероприятий по контролю каждого мероприятия, праздника и события. Контроль реализации мероприятий включает учет дохода от праздника или события. Поднять престиж и осуществить все самые недостижимые цели вы сможете, используя учет управленческий. Автоматизированное управление технологическими процессами позволяет контролировать все рабочие моменты [2]. Существующие аналоги программных систем учета мероприятий не подходят для ДонНТУ, исходя из того, что они не учитывают специфику ВУЗа. Цели, которые ставят перед собой аналогичные системы, не соответствуют целям нашего университета. Также база данных для учета мероприятий ДонНТУ должна иметь значительно больший объем, что поможет в дальнейшем составлять нужную отчетность. Поэтому было принято решение о разработке своей, более узкоспециализированной программной системы. Для разработки информационной системы учета НТМ потребуется использование персональных машин, которые будут ориентированы на конечного пользователя, а также администратора. Создание системы автоматизации позволит руководителю мероприятия производить оформление документации быстрее и эффективнее 3. Проектирование и реализация собственной программной системы учета НТМ с использованием клиент-серверной архитектуры В ходе реализации программной системы возникла необходимость создания нескольких модулей: - модуль просмотра списка таблиц; - модуль обновления данных в таблицах; - модуль генерирования отчетов; -модуль регистрации пользователей. Модульная структура системы учета НТМ представлена на рис. 2. Рисунок 2 – Модульная структура системы Система включает в себя около 25 таблиц и справочников. Для реализации системы необходима установка и настройка сервера, php, СУБД mysql, phpmyadmin. На web-сервере располагается база данных для мероприятий. Для создания базы данных использовалось утилита phpmyadmin, которая располагается на сервере. Система для учета участия в мероприятиях состоит из двух частей: серверной и клиентской. Скрипты, 87 расположенные на сервере, предназначены для получения данных и для обработки запросов (добавления данных, обновления данных, для удаления данных и для редактирования) [3,4]. На данном этапе спроектирована и полностью реализована программная система учёта НТМ. Главная форма представлена на рис. 3. Рисунок 3 - Главная форма 4. Порядок работы с программной системой. Начальник НИЧ заполняет сведения о заместителях декана по науке факультетов ДонНТУ: ФИО, должность, контактные телефон и эл. почта до 1 декабря текущего года. 1 декабря осуществляется напоминающая рассылка на адрес эл. почты заместителям декана по науке о необходимости подтвердить авторизацию для новых пользователей и внести сведения в факультетский план НТМ на следующий календарный год до 20 декабря. С 20 по 31 декабря начальник НИЧ проверяет корректность ввода сведений о НТМ в общем плане мероприятий. 31 декабря, проверенный план НТМ получает статус утвержденного, после подписания печатного варианта проректором по научной работе ДонНТУ. 10 января осуществляется рассылка на адрес эл. почты ответственных секретарей оргкомитетов о необходимости подтвердить авторизацию для новых пользователей и необходимости ознакомления с порядком работы с системой (внесения сведений, подготовки приказа и отчета и т.д.). За 20 дней до даты проведения мероприятия осуществляется рассылка на адрес эл. почты ответственного секретаря соответствующего оргкомитета о необходимости подготовки приказа, о возможности внести окончательные изменения в сведения о мероприятии, включая его отмену. За 10 дней до даты проведения мероприятия осуществляется рассылка на адрес эл. почты ответственного секретаря соответствующего оргкомитета о необходимости публикации пресс-релиза и размещения программы (положения) мероприятия. Через 5 дней после даты проведения мероприятия осуществляется рассылка на адрес эл. почты ответственного секретаря соответствующего оргкомитета о необходимости публикации пост-релиза о проведенном мероприятии. Через 10 дней после даты проведения мероприятия осуществляется рассылка на адрес эл. почты ответственного секретаря соответствующего оргкомитета о необходимости сдачи отчета о проведенном мероприятии. В случае отсутствия сведений о подготовке приказа (за 17 дней), публикации пресс-релиза (за 8 дней), программы или положения (за 8 дней), пост-релиза (через 7 дней), отчета (через 13 дней) начальнику НИЧ приходит уведомление на эл. почту. 88 По требованию начальника НИЧ формируется отчет о проведенных мероприятиях за месяц, квартал, полугодие, год или за выбранный период времени. На основе введенных данных выполняется расчет показателей НТМ. Выводы В результате анализа методов разработки программных систем учёта НТМ было выявлено, что лучшим методом является создание клиент-серверного приложения. С использованием данного метода была разработана программная система. Система учёта НТМ имеет следующие достоинства: - система позволяет упростить работу с мероприятиями, проводимыми в ДонНТУ; - применение системы значительно ускоряет процесс составления документации по данным мероприятиям, а также повышает качество составляемой отчетности; - система позволяет ответственным за проведение конкретного мероприятия, т. е. заместителям деканов по науке на каждом факультете, формировать документацию в автоматизированном виде, что также позволит избежать множества ошибок. Как перспективу развития данной системы можно предоставить возможность генерирования отчетности в системе посредством составления расписания получения отчетов конкретным пользователем. Вторым перспективным направлением развития системы можно назвать расширение путём добавления возможности редактирования отчетов в браузере. Литература 1. Конфигурация "Учет мероприятий и семинаров"//Простой софт программы для дома и офиса. [Электронный ресурс]. – Режим доступа: http://prostoysoft.ru/Events.htm. 2. Учет мероприятий // Автоматизация работы компании по организации и проведению мероприятий. [Электронный ресурс]. – Режим доступа: http://usu.kz/uchet_meropriyatiy.php. 3. Осипов, Д. Л. InterBase и Delphi. Клиент-серверные базы данных / Д.Л. Осипов. - М.: ДМК Пресс, 2015. - 536 c. 4. Растригин, Л.А. Адаптация сложных систем. Методы и приложения / Л.А. Растригин. - Москва: РГГУ, 1981. - 501 c. 5. ИУСМКМ - 2016: VII Международная научно-техническая конференция, 26 мая 2016: - Донецк: ДонНТУ, 2016. – С. 167-172. Ходич Д.В., Завадская Т.В., Грищенко В.И. Методы разработки систем учета научнотехнических мероприятий. В данной статье были проанализированы существующие методы разработки программных систем учета НТМ. В результате анализа был выявлен самый оптимальный метод разработки программной системы. На основе этого метода была разработана система учета НТМ для ДонНТУ с открытым кодом. В системе реализовано генерирование отчетности по данным из БД, которая была спроектирована с учётом специфики ВУЗа. Ключевые слова: научно-технические мероприятия, система учета мероприятий, методы разработки систем учёта, генерация отчётов, база данных, клиент-серверная архитектура. Khodich Dima, Zavadskaj T.V., Grishenko Viktor. Methods of development of accounting systems of scientific and technical events. The analysis has been identified the most optimal method for the development of a software system. On the basis of this method, the system was developed STE accounting for DonNTU open source. The system is implemented to generate reports on the data from the database, which was designed taking into account the specifics of the university. Key words: STE, accounting system of events, methods for developing accounting systems STE, reports generation, database, client-server architecture. 89 СЕКЦИЯ «СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ» УДК 004.5 Анализ технологии и средств адаптации САПР СПРУТ В.С. Авраимов, Григорьев А.В. Донецкий национальный технический университет Kenni909090@gmail.com Авраимов В.С., Григорьев А.В. Анализ технологии и средств адаптации САПР СПРУТ. В статье производится анализ САПР СПРУТ, его преимуществ и актуальность. Описывается его свойства, функции, сферы применения, а также актуальность данной системы в наше время. Ключевые слова: САПР, СПРУТ, анализ, инструментальные средства разработок, PDMS, PLM. Введение В настоящее время [1] увеличение производительности труда разработчиков новых изделий, сокращение сроков проектирования, повышение качества разработки проектов являются важнейшими проблемами, решение которых определяет уровень ускорения научно-технического прогресса общества. В деятельности различных организаций широко внедряется компьютеризация, поднимающая проектную работу на качественно новый уровень, более обоснованно решаются многие сложные инженерные задачи, которые раньше рассматривались лишь упрощенно. Во многом это происходит благодаря использованию эффективных специализированных программ, которые могут быть как самостоятельными, так и в виде приложений к общетехническим программам. Данная автоматизация проектирования реализуется благодаря использованию систем автоматизированного проектирования. В современном обществе очень высока доля людей, которые профессионально используют системы автоматизированного проектирования в своей деятельности. Однако таких систем очень много, поэтому специалисты должны четко представлять, какую систему удобно использовать для решения таких профессиональных задач, как умение читать конструкторскую и технологическую документацию; выполнять комплексные чертежи геометрических тел и проекции точек, лежащих на поверхности; выполнять эскизы, технические рисунки и чертежи деталей, их элементов, узлов в ручной и машинной графике; выполнять графические изображения технологического оборудования и технологических схем в ручной и машинной графике и многое другое. Далее мы рассмотрим САПР СПРУТ, его преимущества, актуальность и перспективность. Инструментальные средства разработки САПР Система Sprut [2], представляющая собой интегрированную отладочную среду, является мощным инструментальным средством разработчика, включающим экранный редактор и большой набор функций: трансляцию и запуск программ на выполнение; пошаговое выполнение программ с просмотром текущих значений интересующих переменных и результатов проектирования, ввод точек останова и т.д.; нахождение позиций ошибок, обнаруженных как в процессе трансляции, так и при выполнении программ. Отладочная среда имеет встроенную контекстно-зависимую систему получения подробной справочной информации об операторах всех подсистем СПРУТ. Собственный язык программирования высокого уровня имеет проблемную ориентацию и подразделяется на следующие подсистемы: SGR — подсистема базовой графики; SETS — подсистема структур данных; SHELL — подсистема многооконного интерфейса; SBDE — подсистема управления базами данных; 90 GPS — процессор 2D-геометрии; SIGI — подсистема взаимодействия с интерактивным вводом геометрии; SPM — подсистема 3D-моделирования; DOG — подсистема оформления чертежей; TPS — технологический процессор ЧПУ; DOX — подсистема работы с документами. SprutX — система позволяет описывать информационные модели объектов проектирования. Объектом является любая деталь, сборка или узел. Информационная модель представляет собой вариантную структуру (И/ИЛИ) составляющих ее объектов, а также свойства объектов и методы их проектирования. С помощью инструментальной системы SprutX осуществляется формирование классов, описание их свойств и методов объектов, а также согласование свойств объектов для подключения к уже существующей системе новых, независимо разработанных компонентов . Дерево объектов является средством навигации по проекту и обеспечивает доступ к свойствам и методам как во время проектирования прикладной системы, так и во время ее работы. SprutMX — среда визуального проектирования интерфейса прикладной системы на основе информационной модели проектируемого изделия, созданного в SprutX. Существует возможность включать в интерфейс окна, разработанные в Delphi. Набор стандартных экранных форм и унифицированного представления интерфейса позволяет быстро создавать «лицо» прикладной программы и управление обработкой событий. Также в системе реализуется автоматическая генерация интерфейса расчетной системы, разработанной в SprutExPro. SprutDoX — система по своему построению аналогична SprutX и предназначена для построения документо-ориентированных прикладных систем. SprutDoX позволяет описывать бланки различных форм документов и устанавливать вызов событий при активизации полей бланка. На основе SprutDoX реализована, например, система проектирования технологических процессов. SprutExPro — представляет собой инструментальную среду, которая предназначена для того, чтобы специалисты, не владеющие программированием, смогли компьютеризировать знания для конструкторских, технологических и других прикладных систем. SprutExPro реализует принципиально новый метод генерации программных средств, позволяющий пользователю, не прибегая к программированию на языках высокого уровня типа C++ или Pascal, создавать прикладные программные комплексы с производительностью на порядок выше, чем профессиональный программист. В системе использован метод экспертного программирования, объединяющий лучшие качества объектно-ориентированного подхода и экспертных систем искусственного интеллекта. При этом применяется простейший язык, основанный на правилах, записываемых с помощью ограниченного естественного языка . Универсальные системы SprutCAD [3] является открытой конструкторской средой для автоматизации труда конструкторов и разработчиков систем проектирования. Система в полной мере поддерживает стандарт ЕСКД и имеет расширяемый пользователем набор сервисных функций, что позволяет создать на его основе рабочее место конструктора, реально автоматизирующее типовые проектные операции, которые необходимы на конкретном рабочем месте. SprutCAD имеет библиотеку стандартных параметрических элементов, которую можно достаточно просто пополнять в процессе эксплуатации; кроме того, имеется возможность создавать собственную пользовательскую базу типовых решений. В системе реализована возможность создания и поддержки иерархической базы чертежей изделия, что позволяет более удобно и наглядно организовать процесс проектирования и контроля над изменениями в проекте. Уникальность параметризации SprutCAD состоит в том, что все геометрические объекты имеют в системе двоякое представление — текстовое и графическое. Текстовое описание представляет собой не что иное, как программу на языке СПРУТ с использованием операторов подсистем базовой графики GPS и оформления чертежей DOG. В результате черчения автоматически генерируется текст программы на языке СПРУТ в окне отладчика. Система обеспечивает синхронизацию между графическим и текстовым представлением каждого элемента. Интерактивное изменение элемента приводит к корректировке его текстового определения, и наоборот, редактирование текстового определения любого элемента автоматически отражается на чертеже. При этом в любом случае система не только изменит редактируемый элемент чертежа, но и по дереву построения автоматически переопределит все элементы, имеющие взаимосвязи с измененным. Реализованная таким образом параметризация, сочетающая в себе взаимосвязанное представление в виде графики и текста (языка СПРУТ), дает безграничные возможности по генерации чертежей. SprutCAM [4] — это современная система генерации управляющих программ для обработки деталей на 2; 2,5- и 3-координатных станках с ЧПУ. Благодаря развитым функциям импорта геометрической модели 91 система легко интегрируется с любой современной CAD-системой. Осуществляется импорт геометрических моделей в форматах: IGES, DXF, PostScript, STL, 3DM, реализован прямой интерфейс с системой СПРУТ. SprutCAM поддерживает широкий спектр форм представления геометрической информации — от ломаных и триангулированных сеток до NURBS-кривых и NURBS-поверхностей, что обеспечивает высокую степень достоверности модели. Функции модификации геометрической модели и полнофункциональная среда двухмерных построений позволяют произвести все необходимые изменения и дополнительные построения. Широкий набор типов технологических операций и функции управления их параметрами позволяют сформировать оптимальный процесс обработки, а автоматический подбор параметров операций дает возможность сделать это максимально быстро. Автоматическое определение и доработка остаточного материала исключают рутинную работу технолога. До отправки управляющей программы на станок с ЧПУ ее можно проверить при помощи средств моделирования обработки, что полностью исключит ошибки и сэкономит время, материалы и средства. Инвариантный постпроцессор позволяет легко настроиться на любой формат системы ЧПУ. Удобный и понятный технологу интерфейс позволяет осваивать систему за считанные дни. Среда Sprut NCTuner предназначена для контроля и окончательной доводки управляющих программ для фрезерных и токарных станков с ЧПУ. Система является логическим продолжением более ранних разработок фирмы: системы моделирования обработки InDraw и потокового редактора управляющих программ SED, различные версии которых уже в течение многих лет используются на предприятиях. NCTuner предоставляет все необходимые средства для реалистичного моделирования процесса обработки, отладки и редактирования управляющих программ, то есть в системе объединены блок моделирования обработки на станке с ЧПУ, многооконный текстовый редактор и современная отладочная среда, со всеми присущими ей функциями. Исходной информацией для моделирования процесса обработки служит управляющая программа в формате любой системы ЧПУ, параметры режущих инструментов и форма заготовки. В комплект поставки входит множество файлов настройки на часто встречающиеся системы ЧПУ. При помощи встроенных средств настройки достаточно просто научить систему интерпретировать управляющую программу для любой стойки ЧПУ. Реализуется перевод управляющих программ из одной системы ЧПУ в другую. Результат моделирования представляет собой фотореалистичную твердотельную модель, которая может быть экспортирована во внешние файлы и использована другими приложениями, например CAD/CAM/CAEсистемами. Система SprutTP служит для автоматизации проектирования маршрутно-операционной технологии. В новой версии система использует принцип активного документа: при выборе какого-либо поля документа программа автоматически из базы данных выводит на экран только свойственную этому полю информацию либо производит определенные действия. Такой подход к реализации интерфейса значительно ускоряет процесс освоения программы, поэтому технологи предприятия, видя перед собой одни и те же документы, не будут затрачивать дополнительные усилия на изучение не свойственных выбранному полю форм и таблиц баз данных. В состав системы SprutTP входит специальный редактор STTS, с помощью которого создаются технические документы. Вследствие этого каждое предприятие, использующее нестандартные формы документации, может без привлечения сторонних программистов сгенерировать нужный комплект документов. В состав системы входит технологическая база знаний по проектированию процесса механообработки (последовательность операций, переходов, оснащение переходов, расчет режимов резания, нормирование), разработанная и модифицируемая с использованием системы SprutExPro. Система SprutStamp, предназначенная для автоматизации конструкторско-проектных работ по проектированию штамповой оснастки для холодной листовой штамповки, объемной штамповки и ковки, обеспечивает: интерактивный ввод исходных данных, необходимых для проектирования оснастки; проектирование штампа для деталей любой формы, с неограниченным количеством пробиваемых отверстий любой конфигурации, для любого пресса; выбор пресса в зависимости от усилия штамповки и габаритов штампуемой детали; выбор блока со стандартными или нестандартными плитами; генерацию комплекта чертежей и спецификаций; интерактивное редактирование полученных чертежей штампа с использованием открытой среды конструкторского проектирования SprutCAD; пополнение и редактирование графической базы прессового оборудования; создание трехмерной модели любой детали штампа и сборки. При наличии инструментальной среды СПРУТ у пользователя имеется возможность расширять SprutStamp. Системы SprutMX и SprutX используются для создания новых схем штампов и стандартных деталей, расширения интерфейса системы. 92 SprutIntegrator — это система для управления процессом подготовки производства на основе информационной модели изделия и протоколов привязки модели к информационным ресурсам и структуре предприятия. Основным связующим звеном в системе подготовки производства является подсистема управления проектами. Функциональные возможности подсистемы разделяются на три основные группы, характеризующие круг решаемых подсистемой задач: управление архивами моделей изделий; выдача заданий на проектирование; контроль выполнения проектов. Подсистема управления проектами состоит из двух функциональных модулей — сервера управления проектами и администратора проектов. Сервер управления проектами может использоваться как в однопользовательском, так и в сетевом варианте. Для сетевой версии в качестве хранилища информационных моделей и документов могут применяться стандартные SQL-серверы (Sybase, Microsoft и др.). Данный сервер может использоваться и в случае, когда в качестве базовой системы проектирования выбран продукт сторонней фирмы. Сервер управления проектами выполняется как самостоятельный продукт и поддерживает практически любые типы документов. Одной из важных возможностей системы является поддержка функций коллективной разработки. Администратор проектов гарантирует синхронизацию при работе над одним и тем же проектом нескольких сотрудников. Использование централизованного хранилища данных с механизмом захвата документов (Check In/Out) позволяет справиться с проблемой коллективной разработки. Произвольная структуризация хранилища документов и распределение пользователей в рабочие группы позволит не подстраивать работу предприятий под использование системы, а настроить ее на решение вопросов в привычной для них форме и последовательности. Интеграция с PDM/PLM Операционные эскизы могут быть разработаны в различных CAD [5]-системах и переданы в карты эскизов (КЭ) или операционные карты (ОК) комплектов ТП, используя: графические форматы CAD-системы (*.DWG,*.DXF AutoCAD, *.SL DDRW SOLIDWORKS, *.CDW, *. FRW Компас, …); векторные форматы обмена (*.IGS, *.WMF, *.EMF); пиксельные форматы (*.BMP, *.JPG). Стремительный рост потребности взаимодействия «СПРУТ-ТП» c различными PDM/PLM/ERPсистемами привел к осуществлению интеграции с использованием схемы преобразования (трансформации). Схема преобразования необходима для того, чтобы интерактивно настраивать импорт/экспорт данных из/в систему «СПРУТ-ТП». Схема преобразования представлена в виде XML-файла. Настраивается схема с помощью любой программы для просмотра и редактирования XML. Работа со схемой трансформации не требует программирования и работы с программным кодом, все изменения вносятся в понятном, табличном виде. Схема трансформации позволяет IT-специалистам предприятия: - самостоятельно изменять работу экспорта и импорта из/в систему СПРУТ-ТП; - добавлять или изменять параметры для передачи, регулировать, как и какая информация будет передаваться между системами. Варианты взаимодействия справочников СПРУТ-ТП со справочниками PDM/PLM, [6] АСУ предприятия: 1) Разовый экспорт/импорт данных. 2) Разовый экспорт/импорт данных + синхронизация справочников по установленным правилам и времени. 3) Присоединение справочников СПРУТ-ТП к БД PDM/PLM, АСУ. 4) Анализ корректности заполнения ТП. Механизмы интеграции СПРУТ-ОКП аналогичны СПРУТ-ТП. Типовая обмениваемая информация СПРУТ-ОКП: Входная информация: Состав изделий, Спецификации, Технологические процессы (заготовки, материалы, в т.ч. вспомогательные, операции, оборудование, переходы, оснастка, режимы обработки, нормы времени), Выходная информация: Данные о плановом и фактическом производстве, 93 Информация по складам, Данные по снабжению и сбыту, Результаты экономических расчетов. Выводы Преимущества систем очевидны, поэтому разработки «СПРУТ-Технологии» вызывают интерес не только российских, но и зарубежных предприятий. С системами уже работают в Великобритании, Германии, Швейцарии, Италии, Норвегии, Швеции, Греции, Турции, США, Канаде, Корее, Японии и в других странах. «СПРУТ-Технология» — единственная российская компания, которая, используя свои оригинальные идеи, занимается разработкой специализированных инструментальных средств для создания прикладных систем. Удобство, простота, функциональная насыщенность, открытость для пользователей — вот отличительные качества программных продуктов «СПРУТ-Технологии». Литература 1. Малюх Владимир Введение в современные САПР; ДМК Пресс - Москва, 2012. - 192 c. 2. http://www.sprut.ru/ Главная страница официального сайта СПРУТ технологии. 3. Райан Д. Инженерная графика в САПР; Мир - Москва, 2001. - 391 c. 4. Кунву Ли сновы САПР (CAD/CAM/CAE); Питер, 2004.-540с. 5. Saaksvuori A. Product lifecycle management / Antti Saaksvuori, Anselmi Immonen. – New York: McGrawHill, 2009. – 334 p. 6. Sendler U. CAD and PDM: Optimizing processes by integrating them / Ulrich Sendler. Авраимов В.С., Григорьев А.В. Анализ технологии и средств адаптации САПР СПРУТ. В статье производится анализ САПР СПРУТ, его преимуществ и актуальность. Описывается его свойства, функции, сферы применения, а также актуальность данной системы в наше время. Ключевые слова: САПР, СПРУТ, анализ, инструментальные средства разработки,PDMS, PLM. Avraimov VS, Grigoriev AV Analysis of the technology and means of CAD SPRUT adaptation. The article is made of CAD SPRUT analysis of its advantages and relevance. It describes the properties, functions, scope and relevance of the system at this time. Keywords: CAD, SPRUT, analysis, development tools, PDMS, PLM.. 94 УДК 004.62 Рефакторинг сайта электронного журнала ДонНТУ Бубловский Д.Н., Андрюхин А.И. Донецкий национальный технический университет denisbubel95@gmail.com Бубловский Д.Н., Андрюхин А.И. Рефакторинг сайта электронного журнала Донецкого национального технического университета. В работе рассматриваются вопросы реконструкции и рефакторинга электронного журнала «Информатика и кибернетика». Приведены результаты использования CMS WordPress. Введение Цель работы: провести рефакторинг сайта электронного журнала ДонНТУ. Актуальность работы: в ходе своей загруженности, у преподавателей мало времени на составление страниц с докладами. Последующая работа обеспечит удобное и быстрое добавление статей на сайт электронного журнала с помощью системы автоматического проектирования. В области сайтостроения такую систему называют «движком» сайта. Анализ существующей системы На данный момент структура файлов сайта представляет из себя набор файлов разных форматов, которые находятся в корневом каталоге. Также эти файлы подписаны таким образом, что даже администратору сайта будет сложно в них разобраться. Однако это не единственная проблема. Дело в том, что поисковые системы не воспринимают должным образом сайты с такой структурой файлов. Отсюда и низкая посещаемость, и плохая поисковая оптимизация. Такая структура файлов изображена на рис. 1. Рисунок 1 – Неправильная структура файлов Чтобы правильно расположить все файлы на сервере, необходимо сначала определиться с тем, каким образом будет вестись администрирование данного сайта, напрямую или со вспомогательными системами. 95 Сайты, администрирование которых ведется напрямую, называются статическими. Это значит, что все страницы создаются вручную в формате html. Обычно – это небольшие сайты. Именно таким являлся сайт электронного журнала ДонНТУ до его рефакторинга. Сайты, администрирование которых ведется со вспомогательными системами – называют динамическими сайтами. Полное название таких систем - Content Management System(CMS) – система управления контентом. В народе просто – движки. Они имеют единую шаблонную, почти похожую структуру. На таких сайтах очень легко оперировать большими объемами данных, однако из-за таких сайтов увеличивается нагрузка на сервер, что влияет на скорость загрузок страниц. Чаще всего пользователь не замечает этого «добавленного» времени, но на машинном уровне эта разница существенная. В добавок ко всему, для управления таким электронным ханилищем, желательно знать дополнительные языки, такие как PHP, Java и MySQL. В противном случае придется ограничиваться стандартными шаблонами, что влечет за собой заурядность дизайна. Обзор CMS Исходя из цели работы, были рассмотрены несколько систем управления контентом, а именно: Joomla WordPress Drupal Data Life Engine OpenCart Bitrix Ucoz Проанализировав каждый из них, был сделан вывод, что самый оптимальный для вышеописанной цели, подойдет WordPress. И вот почему: Joomla более громоздкий и тяжелый для данного сайта, чем WordPress, поэтому он отпадает. Drupal больше подходит для сайтов, на которых содержится большое количество медиафайлов, такие как музыка, фильмы и даже игры. Поэтому он не брался в учет. Data Life Engine – это платный движок. OpenCart в основном для интернет-магазинов. Bitrix - платный. Ucoz – не заточен под поисковую оптимизацию, а также этот движок добавляет рекламу на каждый сайт, созданный в его пределах. Чтобы убрать эту рекламу, необходимовнести определенную сумму денег, а поэтому такой CMS тоже отпадает. Остается WordPress. WordPress — популярная и удобная программа для управления контентом (CMS). Первоначально задумывалась и создавалась как система управления содержимым блогов, но вскоре обрела большую популярность не только у блоггеров, но и у владельцев небольших сайтов. Она ориентирована на красоту, поддержку стандартов и удобство использования. WordPress бесплатен и свободен к распространению. Среди достоинств выбранного движка можно выделить самые главные, для электронного журнала: 1. Локальная установка WordPress предназначен для установки на собственном Web-сервере, или на сервере хостера, который предоставляет полный контроль над сайтом. 2. Переносимая основа Возможность выбирать, как строить дерево связанных файлов WordPress, которые формируют рабочую среду (back-end) публикуемого контента, и эти файлы могут находиться в той же директории, что и сайт - или в другом месте. 3. Динамическая генерация страниц Страницы не нужно перестраивать каждый раз после обновления информации или изменения любого из аспектов сайта. Все страницы генерируются с использованием базы данных и шаблонов (templates) каждый раз, когда страница веб-ресурса запрашивается браузером. Это значит, что обновление сайта или его дизайна происходит настолько быстро, насколько это возможно, и требуемое дисковое пространство на сервере минимально. 4. Редактор файлов В WordPress встроен редактор файлов, который можно использовать для редактирования шаблонов и связанных с ним файлов, прямо в браузере. Нет необходимости скачивать их для редактирования или иметь к ним доступ по FTP. 5. Плагины Имеется возможность расширить функциональность ядра сайта. Большое количество плагинов доступно для скачивания и последующего внедрения на ресурс. 96 6. Архивация После продолжительного ведения электронного хранилища в нём может накопиться много статей. Архивация в WordPress предоставляет возможность организовывать их вывод в удобной для пользователя форме. Можно выбрать к показу записи за определённый год, месяц, неделю, день, какой-то категории или автора. Страницы будут генерироваться автоматически при помощи специального шаблона. 7. Модерирование WordPress предоставляет варианты контроля комментариев перед добавлением их в блог. использование специфических слов в них. IP адресов, с которых можно отправлять комментарии. количество ссылок в комментарии. 8. Загрузка файлов В WordPress возможно загружать файлы и указывать ссылки или отображать (если это картинки) их в своей публикации. Так же имеется опция создания превью картинок в момент загрузки на сервер. Реализация Для установки WordPress необходимо скачать файлы движка с официального сайта и залить их на хостинг. Место для этого предоставляет официальный сайт донецкого национального технического университета [1]. Это нужно для того, чтобы файлы с расширением php были успешно прочитаны. Распознают такой язык исключительно сервера. Поэтому без сервера запуск сайта невозможен. На рис. 2 видна правильная структура файлов сайта. Рисунок 2 – Правильная структура файлов сайта Далее необходимо создать базу данных. Она необходима для распаковки системы управления контентом. После того, как в процессе установки были указаны все необходимые данные для существования сайта, можно перейти на панель администратора. Выглядит она таким образом, как на рис. 3. 97 Рисунок 3 – Главная страница администраторской панели движка WordPress Чтобы созданный сайт принял достойный внешний вид, была проведена тонкая и гибкая настройка всех вкладок администраторской панели, выбран один из готовых имеющихся дизайнов тем, добавлены и настроены необходимые виджеты, выбраны и внедрены нужные плагины, была проведена корректировка кодов шаблона, а также было проведено наполнение электронного хранилища необходимым контентом. После всех вышеперечисленных манипуляций был получен внешний вид сайта, который можно наблюдать на четвертом скриншоте ниже. Рисунок 4 – Новый дизайн сайта электронного журнала ДонНТУ Полученный веб-сайт значительно отличается, как внешне, так и внутренне, от своей «первой версии». Старую версию вы можете увидеть на рис. 5. 98 Рисунок 5 – Старый дизайн сайта электронного журнала «Информатика и кибернетика» ДонНТУ Выводы В ходе рефакторинга сайта электронного журнала Донецкого национального технического университета, был совершен «переезд» страниц и контента на них, написанного вручную на систему автоматического проектирования сайтов – движок «WordPress», а также достигнуты такие результаты: Усовершенствована строка главного меню; Исправлена ошибка неверного отображения шапки сайта; Скорректированы текстовые данные в подвале сайта; Модернизация внешнего вида языковых переключателей; Компоновка и структурирование файлов электронного хранилища; Перенос сайта на систему управления контентом; Реализация более удобного доступа к любому опубликованному докладу на сайте; Добавлена строка поиска по сайту; Осуществлена адаптация разрешения экрана в зависимости от устройства; Добавлена удобная «Карта сайта» с рубрикаторами. Для выполнения всех этих пунктов был задействован CMS WordPress и публикации [3-8]. В результате был получен совершенно новый, красивый и удобный в использовании сайт, на котором (мы надеемся) приятно будет находиться не только новым посетителям, но и постоянным пользователям, которые видят этот сайт ежедневно. Литература 1.Официальный сайт ДонНТУ [Электронный ресурс]. — Режим доступа: http://donntu.org/ 2.Электронный журнал ДонНТУ [Электронный ресурс]. — Режим доступа: http://infcyb.donntu.org/ 3.Webstudio2u [Электронный ресурс]. — Режим доступа: http://webstudio2u.net/ru/programming/96cms.html 4.Блог Евгения Вергуса [Электронный ресурс]. — Режим доступа: https://sovetywebmastera.ru/plaginywordpress/chto-takoe-wordpress 5.Wordpress.org Русский [Электронный ресурс]. — Режим доступа: https://ru.wordpress.org/ 6.На пути к миллиарду! [Электронный ресурс]. — Режим доступа: http://first-billion.com/blogging/kakustanovit-i-nastroit-wordpress.html 7.На пути к миллиарду! [Электронный ресурс]. — Режим доступа: http://firstbillion.com/blogging/wordpress-seo-by-yoast-universalnyj-plagin-dlya-bloga.html. 8.Интернет капуста [Электронный ресурс]. — Режим доступа: http://internetkapusta.ru/stroim-svoysayt/kak-vybrat-dvizhok-dlya-sajta.html Bublovsky D., Andryukhin A.. Refactoring Ezine site of Donetsk National Technical University. The paper deals with the electronic journal for Reconstruction and refactoring "Informatics and Cybernetics". Results CMS WordPress use. Key words: CAD, CMS, the engine, the WordPress, Website, electronic storage. 99 УДК 004.896 Анализ функциональных возможностей и перспектива развития САПР одежды А.В. Власюк, А.В. Григорьев Донецкий национальный технический университет tan.vl@mail.ru, grigorievalvl@gmail.com Власюк А.В., Григорьев А.В. Анализ функциональных возможностей и перспектива развития САПР одежды. В статье описан термин «Одежда», основные этапы проектирования одежды в практике дизайнеров и в практике САПР. Приведён пример известной популярной САПР «Грация», описан её функционал и пошаговое проектирования изделия. Проанализированы основные перспективы развития САПР и новшества систем на данный промежуток времени. Ключевые слова: САПР одежды, САПР «Грация», проектирование, одежда, изделие, развитие. Введение Цель: исследование функциональных возможностей САПР одежды в общем, а также на примере конкретной программы; рассмотрения методов проектирования одежды в реальной жизни, и в системе САПР. Актуальность работы: в последнее время усиленно развиваются средства информационных технологий, что приводит к большим изменениям в области автоматизации проектирования в разных отраслях, а также к росту развития промышленности. Во многих странах появились современные системы проектирования, которые более качественно выполняют работу, повышая эффективность труда, уменьшая затраченное время. Это наблюдается также и в швейной промышленности, где актуальностью является быстрая смена моделей одежды, большее разнообразие элементов изделий, вариантов их обработки. Дизайнеры, модельеры постоянно выдумывают новые бренды, за которыми охотятся «звёзды» и простые модники. В этом видят свою выгоду швейные предприятия, которые изготовляют новые изделия для брендовых и обычных магазинов. Хорошие товары быстро раскупаются, что приносит огромную прибыль торговцам. Им в свою очередь выгоднее сотрудничать с предприятиями, чьи специалисты и работники качественнее, быстрее и лучше выполняют свою работу. С помощью такой системы как САПР одежды, можно не только быстрее изготовить изделие, ну а также воплотить все свои лучшие фантазии и создать что-то нереальное, или же просто стабильно и хорошо выполнять данную работу. Наиболее развитые системы проектирования одежды включают [1]: 1) дизайнерские программы, позволяющие разрабатывать внешний вид изделий, под­бирать наиболее удачные сочетания расцветок ткани; 2) конструкторские программы, реализующие творческий замысел дизайнера в лекалах; 3) технологические программы оптимизации раскладки лекал на материале и проектирования процесса раскроя и пошива изделий, учитывающие особенности конкретных производств. Современные САПР должны содержать такие требования: • полная функциональность, способность решать весь спектр задач от конструирования изделия до подготовки его к раскрою и управления раскроем; • мобильность, учитывающая требования конкретных заказчиков; • динамичность, т. е. развитие и совершенствование продукта, который постоянно наращивает свои возможности и вбирает в себя все новые достижения в области технологических разработок. 1. Одежда как объект проектирования Что же такое одежда? Это совокупность разных изделий (из ткани, вязаного полотна, кожи и меха), надеваемых человеком с целью защитить своё тело от негативного влияния окружающей среды (погодных условий, насекомых, токсических веществ и другого), а также для соблюдения норм, существующих в обществе. Одежда выполняет эстетические функции — создаёт образ (имидж) человека, что позволяет судить о его социальной роли. Не зря говорят, что «по одежке встречают, а по уму провожают». Одежда не только дает представление о человеке и его социальном статусе, но и выражает идеалы общества в целом в ту или иную эпоху. Сочетание разных частей одежды и дополняющих ее предметов образует готовый комплект или костюм. Разнообразие швейных изделий очень велико, поэтому включает в себя множество видов одежды. Классифицируют их следующим образом: по размерам, ростам и полнотам; по назначению; по сезону; по половозрастному признаку; по применяемым материалам; по стилевому решению; по характеру опоры. Например, различаются стили одежды [2] авангард, гламур, богема и т.д. (см. рис.1-11). 100 Рисунок 4 – Стиль Гламур Рисунок 1 – Стиль Авангард Рисунок 5 – Стиль Гранж Рисунок 2 – Стиль Богема Рисунок 3 – Стиль Винтаж Рисунок 6 – Стиль Классика 101 Рисунок 7 – Стиль Кантри Рисунок 10 – Стиль Сафари Рисунок 8 – Стиль Кэжуал Рисунок 11 – Стиль Этно Рисунок 9 – Стиль Милитари 102 Существуют определённые правила и нормы, которые применяются к одежде. Соблюдение этикета позволяет произвести хорошее впечатление о вашем вкусе к одежде, а также о ваших внутренних достоинствах. Правила этикета придумывает и устанавливает само общество, на протяжении долгого времени. Например, на собеседовании мы должны доказать компетентность, длинное платье и яркий макияж будет только отвлекать работодателя. Зато на дискотеке и венском балу данный образ будет только привлекать внимания девушки, воспроизводив всю её красоту и неотразимость. 2. Дизайнерские методы проектирования одежды План творческого процесса всегда существует у дизайнера, который собирается спроектировать одежду. 1) Первоначальная идея, первый замысел. Дизайнер придумывает, какое изделие, и с какой целью он хочет создать. Рисует в голове у себя разные модели, и, в конце концов, рисует первый эскиз на бумаге. 2) Дизайнер собирает и копит разные материалы, находит свой творческий источник, а также выгодные и удобные средства для создания своей идеи, способные точно выразить главную мысль. 3) Все свои усилия концентрирует и начинается интенсивная работа. Использует различные методы проектирования. 4) «Перерыв» - отдых от работы на некоторое время, так как дизайнер должен оценить свою работу «свежим взглядом». 5) Озарения – дизайнер определяет окончательное оптимальное решение по поводу проектирования. 6) Дизайнер дорабатывает, доводит до конца проделанную работу, оценив её по итогу. Оформляет документацию. На всех этапах практика и теория строится по единой методике. Методический процесс можно разделить на 4 этапа [3]: информационный; аналитический (исследовательская часть); синтетический; коммуникативный (практическая часть). Рисунок 12 – Пример первого замысла дизайнера 3. Общие методики проектирования одежды в САПР Существуют типичные этапы проектирования одежды в САПР: 1) Конструкторская подготовка: Конструктор строит базовую конструкцию по любой методике «с нуля» или адаптирует готовую. Строит модельную конструкцию в базовом размере. Затем составляет документацию, печать лекал и отшив опытного образца. В конце работы вносит замечания и пожелания. Размножает лекала на необходимый диапазон размеров и ростов. В итоге строит комплект лекал на индивидуальную фигуру. 2) Технологическая подготовка: Технолог составляет технологическую последовательность изготовления. Рассчитывает время и стоимость. Составляет схему разделения труда. По итогу рассчитывает заработную плату швее, а также технико-экономические показатели и расход ниток. 103 3) Проектирование раскладок лекал: Проектировщик занимается проектированием раскладок с учётом свойств материала и технологических требований для раскроя настила. 4) Учет, планирование и управление: Главный разработчик планирует, когда разрабатывать коллекцию. Составляет план выпуска изделия. Определяет потребности в материалах и степени готовности к запуску в производство. Ведёт расчёт себестоимости проектируемого изделия. Контролирует выполнения производственного плана. Следит за поступлением на склад готовой продукции и взаимодействие с контрагентами. По итогу составляет отчётную информацию. Рисунок 13 – Работа конструктора (построение модельной конструкции по базовым размерам) Рисунок 14 – Работа проектировщика (раскладка и лекал) 4. Анализ функциональных возможностей современных САПР одежды на примере САПР «Грация» – программы моделирования и проектирования одежды 4.1. Назначение, общие функции и структура САПР «Грация» САПР “Грация” – самая популярная система по автоматизации процессов конструкторской и технологической подготовки моделей к производству. С помощью её можно выполнять работу в автоматическом режиме: побыть в роли художника и выполнить эскиз, выполнить технический рисунок модели, сформировать цветовое решение; построить базовые конструкции по выбранной методике; разработать модельные конструкции; автоматически генерировать лекало по размерам, ростам и полнотам; автоматически формировать табель технических измерений изделия и лекал, готовить их к печати; зарисовывать раскладки в натуральную величину и в масштабе; создавать управляющую программу раскроя на автоматизированных раскройных установках отечественного и зарубежного производства. Эти действия осуществляют подсистемы программы. На рис. 15 показан интерфейс САПР «Грация», а - в таб.1 – структура САПР «Грация». 104 Рисунок 15 – САПР «Грация» Таблица 1. Подсистемы САПР “Грация” [4]. Имя подсистемы Художник Конструктор Технолог Раскладка Диспетчер Клиенты Склад Настройки Назначение Создание эскизов моделей и структурных схем соединений (узлов). Создание информационной базы для конструирования, разработка базовой и модельной конструкций, разработка лекал и конструкторской документации на все рекомендуемые размеры и роста. Создание технического описания и схем разделения труда для одно- и много фасонных процессов. Формирование базы данных на раскладку. Выполнение раскладок в ручном, автоматическом и смешанном режимах. Создание зарисовки раскладки лекал на принтере, плоттере в натуральную и уменьшенную величину. Формирование информации о создаваемых моделях. Создание информационной базы данных об индивидуальных потребителях. Формирование информации о готовой продукции. Задание информации о параметрах системы. Автоматическое выполнение и контроль геометрических и технологических операций обеспечивают методы геометрического проектирования, входящие в основу интеллектуальных возможностей системы. Данная программа удовлетворяет основные требования к современным САПР: универсальность, открытость, высокие функциональные возможности, которые позволяют применять её для решения практически любых задач проектирования без ограничений по видам изделий, материалам и специфическим особенностям технологических процессов; качество разработки, сокращающая длительность процесса, избавления от рутинной работы. С использованной этой системы напряжённый процесс становится увлекательным. 105 4.2. Проектирование одежды в программе САПР «Грация» Порядок проектирования САПР «Грации» предполагает следующие шаги. Шаг 1: Выбрать или создать свою размерную линейку под поставленную задачу. (Можно создать свою, индивидуальную систему под конкретного клиента). Итак, выбираем базовый размер и размерный ряд. Рисунок 16 – Выбранное изделие Шаг 2: Определить базовую конструкцию. Найти баланс между прибавкой и необходимыми модельными параметрами. Рисунок 17 – Базовая конструкция Шаг 3: Создать модельную конструкцию. На базовую конструкцию перенести необходимые модельные линии. Разделить конструкцию на кокетку и нижнюю часть, перенести нагрудную вытачку в нижний срез кокетки. Проделать все необходимые преобразования. Рисунок 18 – Модельная конструкция Шаг 4: Выделить детали из конструкции, оформить комплект лекал с необходимыми припусками на швы, подгибы; нанести долевые нити, засечки, символы, атрибуты; проставить размер, рост модели, детали описания, пояснения. 106 Рисунок 19 - Оформленный комплект Шаг 5: Открыть раскладку и вывести на печать. Рисунок 20 – Раскладка на печать Шаг 6: Разложить лекала на ткань, вырезать и отшить макет пробного образца; сделать примерку, оценить конструкцию визуально. Рисунок 21 – Разложенные лекала на ткани Шаг 7: Внести необходимые изменения в базовую конструкцию, при необходимости - и в модельную. 5. Обзор перспектив развития САПР одежды Основными задачами совершенствования современных систем автоматизированного проектирования швейных изделий в настоящее время являются [5]: 1) разработка сквозной интеграции и параметризации процесса проектирования швейных изделий от разработки эскиза до технологической подготовки производства на основе модульного проектирования; 2) переориентация процесса автоматизации на преобразования объектов, а не процесса проектирования; 3) разработка комплексных САПР от элементов чертежа эскиза, конструкции до элементов технологического потока при организации и передаче потоков между ними позволят пользователю управлять процессом проектирования без дополнительных затрат времени на новую проработку всех стадий; 4) разработка и организация САПР на основе единой информационной системы, интегрирующей и управляющей всеми этапами проектирования; 107 5) применение интеллектуальных технологий, в том числе и использование искусственного интеллекта экспертных систем. В настоящие время в швейной промышленности пользуются трёхмерными дититайзерами, они используются в качестве систем трёхмерного боди-сканирования. Автоматическая установка 3D-сканирования WB4 позволяет «измерить» все размерные признаки, путем сканирования поверхности тела человека в полный рост всего за 12 сек. Данные устройства автоматического измерения поверхности фигуры человека позволяют интенсифицировать процесс обмера, но в отечественной промышленности их использование весьма проблематично, в том числе и за счет высокой стоимости оборудования. Вследствие чего появляется интерес разрабатывать в настоящее время комплексы бесконтактной антропометрии на основе системы технического зрения. Рисунок 22 - 3D- bodyscan В последние годы значительно совершенствуются системы геометрического моделирования. Активно используются технологии параметризации, позволяющие пользователю вносить изменения на любом этапе проектирования. Появляются средства трехмерного поверхностного и твердотельного моделирования. Значительно улучшился интерфейс ведущих САПР швейных изделий. Выводы В статье приведён анализ проектирования одежды в дизайнерской практике и – практике САПР. Рассмотренная на примере система предлагает ряд функций, обеспечивающая быструю, эффективную работу. Данная система может быть использована обычными студентами, так и специалистами, работающими на швейной фабрике. Выполнен анализ перспектив развития САПР одежды. Литература 1. http://www.cniishp.ru/articles/use-computer-technologies.html - Использование компьютерных технологий в швейной промышленности. 2. http://www.liketka.com/moda/item/stili-odezhdy-ot-avangarda-do-klassiki-ot-granzha-do-glamura Стили одежды. 3. http://www.atlanticrus.ru/content/metody-proektirovaniya-v-dizaine-odezhdy?page=show – методический процесс. 4. Г.И. Сурикова, О.В. Сурикова, Н.И. Ахмедулова, А.В. Гниденко -Разработка Конструкций одежды в САПР ”ГРАЦИЯ” Учебное пособие. 5. http://studopedia.org/4-62060.htmlПерспективы развития Автоматизированного проектирования одежды. 6. Ещенко В.Г. САПР “Грация”: Руководство к пользованию.- Харьков: Издательство фирмы “ИНФОКОМ”, 2003.- 83с. 7. Коблякова Е.Б. и др. Конструирование одежды с элементами САПР. – М.: Легпромбытиздат, 1988. - 463с. 8. Конструктивное моделирование одежды: Учеб. пособие для вузов / А.И. Мартынова, Е.Г. Андреева. –М.: МГАЛП, 1999. – 216с. 108 9. Конструирование женской одежды: Учеб пособие /Л.И. Трутченко, А.В. Пантелеева, О.Н. Каратова и др. – Мн.: Выш.шк., 2001. –303с. 10. Компьютерные технологии конструирования швейных изделий. Разработка чертежей конструкций швейных изделий в САПР. Методические указания по курсу «САПР швейных изделий» /Сост. Г.И. Сурикова, Н.В. Китаева. – Иваново: ИГТА, 2002. -36с. Власюк А.В., Григорьев А.В. Анализ функциональных возможностей и перспектива развития САПР одежды. В статье описан термин «Одежда», основные этапы проектирования одежды в практике дизайнеров и в практике САПР. Приведён пример известной популярной САПР «Грация», описан её функционал и пошаговое проектирования изделия. Проанализированы основные перспективы развития САПР и новшества систем на данный промежуток времени. Ключевые слова: САПР одежды, САПР «Грация», проектирование, одежда, изделие, развитие. Vlasyuk AV, Grigoryev AV Analysis of the features and the prospect of the development of CAD clothing. This article describes the term "clothes", the basic stages of designing clothes designers in practice and in the practice of CAD. An example of the well-known popular CAD "Grace", describes its functionality and product design step by step. We analyzed the main perspectives of CAD development and innovation systems in a given period of time. Keywords: CAD garment CAD "Grace", design, clothing, product development. 109 УДК 004.896 Анализ функциональных возможностей и перспектив развития систем автоматизации проектирования и производства мебели С.И. Гончарук, А.В. Григорьев Донецкий национальный технический университет fleshed914@gmail.com, grigorievalvl@gmail.com Гончарук С.И., Григорьев А.В. Анализ функциональных возможностей и перспектива развития систем автоматизации проектирования и производства мебели. В статье раскрыта тематика развития систем проектирования и управления производством мебели. Описана предметная область, специфика процесса проектирования мебели, а также особенности процессов производства мебели и виды производств. Приведены характеристики существующих программных средств. Введение Актуальность работы: В последнее время наблюдаются тенденции к росту количества мебельных предприятий в связи с улучшением покупательской способности на рынке, что в свою очередь сказывается на большом спросе на мебельную продукцию различных сегментов. В настоящее время сегменты мебели можно поделить на такие сегменты (так же указано процентное соотношение сегментов относительно других): Эконом класс (70% всей производимой мебели); Средний класс (20% всей производимой мебели); Премиум класс (10% всей производимой мебели). Потребность в мебели является одной из главных потребностей человека; при этом она характеризуется длительным сроком эксплуатации и высокой ремонтопригодностью. Таким образом, при снижении общей платежеспособности, человек может безболезненно отказаться от приобретения новых предметов мебели за счет увеличения срока эксплуатации старой. Как объект предпринимательства мебель представляет интерес в первую очередь для субъектов малого и среднего бизнеса. Наиболее часто на сегодняшний день предприниматели выбирают производство корпусной (модульной) мебели – кухонных гарнитуров, шкафов-купе и т.д. Такое производство отличается относительной технологической простотой по сравнению, например, с мягкой мебелью. На сегодняшний день в России производством мебели занимаются, по различным оценкам, от 5100 до 5800 предприятий, из которых примерно 500 – крупных и средних. Основная масса производств сосредоточена в Центральном и Приволжском федеральных округах, на долю которых приходится более половины суммарного объема производства по стране. Прогноз развития рынка мебели (2016 – 2020) таков. По оценке экспертов в 2016 году падение рынка мебели продолжится, а, начиная с 2017 года, рынок будет показывать небольшие темпы роста. К 2020 году рынок вернется на уровень 2011-2012 гг. Взяв за основу прогноз развития рынка, можно сделать вывод, что разработка новых систем автоматизации проектирования и производства мебели будет рентабельно. Цель работы: исследование существующих автоматизированных систем автоматизации проектирования и производства мебели, а также определение перспектив их развития. 1. Специфика методик проектирования мебели Мебель – разряд мобильных или интегрированных продуктов для обстановки жилых и общественных помещений и различных зон для жизни человека. Изготовление любого мебельного продукта начинается с создания чертежа (эскиза). Чертежи можно выполнять в ручную и с помощью пакетов моделирования. Процесс выполнения чертежа в ручную выглядит так: 1) Задаются условные размеры (см. рис. 1). 110 Рисунок 1 – Задание условных размеров 2) В зависимости от используемых материалов размеры изделия корректируются и дополняются другими измерениями (см. рис. 2). Рисунок 2 – Корректировка размеров 3) На чертеж наносятся фронтальные детали и их размеры и получают готовый чертеж (см. рис. 3). Рисунок 3 – Конечный чертёж Но гораздо качественнее и более быстрого результат можно добиться при помощи средств автоматизации проектирования (САПР), таких как: bCad; autoCAD; 3DS MAX; PRO100. Рассмотрим для примера функциональные возможности CAD системы bCAD. bCAD — САПР с возможностью проектирования в 2-м и 3-м измерениях, созданная компанией из России: ПроПро Группа. bCAD представляет из себя продукт для выполнения чертежей, создания моделей и визуализации. Продукт приобрел большую популярность в отрасли создания мебели, bCAD Мебель на сегодняшний день одна из лучших и часто встречаемых САПР в отрасли создания мебели на рынке стран СНГ. Характеристики bCAD[17]: 1. Плоское (2D) черчение. 2. Использование стандартов ЕСКД и произвольная настройка форматов вывода документации. 3. Произвольное трехмерное (3D) моделирование. 4. Параметрическое моделирование произвольных мебельных панелей. 5. Параметрическое моделирование профильных деталей 6. Параметрическое моделирование готовых мебельных объектов с возможность последующего произвольного редактирования. 7. Импорт 3D моделей и 2D контуров из других систем проектирования (AutoCAD, 3DMAX, SolidWorks и др.). 8. Обширные библиотеки материалов, профилей, крепежа и комплектующих с возможностью добавления ПРОИЗВОЛЬНЫХ элементов. 111 9. Автоматическое получение отчетно-производственной документации (отчеты, сметы, спецификации, чертежи деталей, карты раскроя панелей и профиля, схемы сборки, сборочные чертежи и т.д.). 10. Передача данных в системы учета и управления (ИТМ, 1С, Excel, Accesse, другие системы через форматы XML, DBF, CSV, TXT), другие системы проектирования, на станки с ЧПУ. 11. Организация работы в мебельных салонах. 12. Проектирование интерьеров помещений и торгово-выставочных павильонов. 13. Реалистичная визуализация проектов. На рис. 4 изображено проектирование мебели в программе bCad. Рисунок 4 – Проектирование мебели в программе bCad 2. Процесс производства мебели 2.1. Общая методика производства мебели. Процесс проектирования мебели, проведенный в CAD-системах, имеет естественное продолжение в системах управления ее производством. В английской нотации речь идет о CAM-системах. Для управления нынешним процессом производством мебели, подбора эффективных планов производства и их изменения, требуется узконаправленное ПО, в которых будут использоваться такие модули как: Включение заказа в обработку; Моделирование дизайна; В зависимости от типа изделия - выбор фурнитуры; Изменение сроков производства; Распределение заказов на свободные мощности. Руководители мебельных предприятий заинтересованы в программах, обладающих подобным функционалом, поэтому очень часто заключают договора с разработчиками. Создание мебельных изделий связывает 2 действия: создание корпусной мебели и создание мягкой мебели. Количество и типы производимой мебельной продукции обуславливаются предоставляемой номенклатурой. Изготовление мебели регламентируется такими ГОСТами[19]: 16371-93: Мебель. Общие технические условия. 19917-93: Мебель для сидения и лежания. Технические условия. 112 26800.4-86: Мебель для административных помещений. Функциональные размеры отделений шкафов. 19882-91: Мебель корпусная. Методы испытаний на устойчивость, прочность и деформируемость. 28136-89: Мебель корпусная настенная. Методы испытания на прочность. 28105-89: Мебель корпусная и столы. Методы испытаний выдвижных ящиков и полуящиков. 21640-91 Мебель для сидения и лежания. Мягкие элементы. Метод определения мягкости. 19120-93 Мебель для сидения и лежания. Диваны-кровати, диваны, кресла-кровати, кресла для отдыха, кушетки, тахты, скамьи, банкетки. 2.2. Варианты организации производства мебели. Существует три варианта организации производства мебели: 1) Небольшой бизнес Частный предприниматель на единой системе налогообложения. Объемы и реализация – мелкосерийное производство на заказ. На одной площади располагается склад готовых изделий, и само производство. Мебель хранится минимальный срок, после создания поступает к заказчику. Для оборудования предприятия потребуется: • ручной фрезер, • шлифовальная машинка, • торцевая электропила, • электролобзик, • шуруповерт, • электродрель, • промышленный фен, • перфоратор, • набор ручного инструмента типа, • набор режущего инструмента: фрезы, сверла, коронки, ножи,- пристрелочные пистолеты (для пружин-амортизаторов и ткани), • швейная машинка, • струбцины, стусло, измерительные приборы. Для обеспечения эффективного рабочего процесса производства необходимо 3-4 человека, из которых 2-3 изготавливают мебель, а 1 занимается работой с клиентами, замерами, проектированием. 2) Среднее производство. Для серийного производства мебели понадобиться 6-10 рабочих, а организационная форма зависит от формы сбыта: заказчики и поставщики предпочитают работать с юридическими фирмами, а налогообложение меньше и ведение учета проще для ИП. Так как такое предприятие специализируется не только на индивидуальных заказах, а и сериях (от 10 штук и больше одного вида изделия), есть смысл в приобретении полуавтоматического оборудования, которое позволит ускорить сроки выполнения заказов, и, соответственно, оборот и прибыль: форматно-растроечный станок; кромкооблицовочный станок; сверлильно-присадочный станок; станок для обработки углов; ручной кромко-фрезерный станок для снятия свесов; фрезерно-копировальный станок (для сверления отверстий под петли, замки неправильной формы; гравировки декоративных элементов на фасадах); оборудование для удаления стружки и пыли. Для полноценной работы одного раскроечного станка производительностью в 120 м2/смену потребуется не менее 500 м2 площади для размещения оборудования, хранения материалов и готовой мебели. 3) Массовое производство. Крупные фабрики, способные переработать от 1000 листов ДСП в смену, могут иметь производственные площади и более 5 000 м2. Для таких объемов целесообразно применение автоматических ЧПУ-станков – механизмов, гарантирующих минимум брака, четкость раскроя и точность отверстий, а главное – быстроту процесса. Самые большие фабрики работают по принципу полного цикла, заготавливая материалы для собственных производственных нужд, что позволяет значительно снизить себестоимость изделий. Сырье и комплектующие для производства мебели. 113 Основа для изготовления мебели зависит от её класса. Это могут быть плиты ДСП, ДВП, МДФ, фанера, мебельный щит. Качество сырья оценивается по следующим показателям: цена; твердость (для плит – послойная плотность); влагоустойчивость (склонность к разбуханию и деформациям); сколообразование; структура и цвет натуральной древесины. Фурнитура различается на конструктивную (крепления с функциональной нагрузкой) и элементы декора. К фурнитуре для изготовления мебели относят: замки и закрывающие системы; шарниры, колесики, петли, крючки, ручки, профильные планки; системы шкафов, полок, стеллажей; системы опорных элементов; фурнитуру для раздвижных дверей и откидных створок; направляющие для выдвижных ящиков; системы освещения мебели; декоративную фурнитуру; различные крепежные материалы. 2.3. Материалы для формирования элементов мягкости и обивки мягкой мебели Упругость современной мебели достигается различными способами. Для диванов и кресел используются пружинные проволоки, блоки из двухконусных, цилиндрических пружин, чередуясь со слоями прокладочного материала. Для мягких стульев и кресел – блоки или слои упругого прокладочного материала, который может быть натуральным или синтетическим. Для формирования элементов мягкости наиболее распространена синтетика и смесь синтетического материала с натуральным: эластичный поропласт полиуретановый (поролон); синтепон; ватин, ватник, ватилин – материалы из слоев синтетической и хлопчатобумажной ваты; ППУ – пенополиуретан холодного формования; пенорезина (смесь синтетического и натурального каучука); гуммированное волокно (конский волос, койра). Качество и срок эксплуатации мебели для сидения во многом зависят от плотности прокладочного материала. Так, минимальная плотность поролона для спинок – 25 кг/м3, для сидений – от 30 кг/м3, ППУ – от 25 кг/м3. Для изделий премиум класса используется вулканизированный натуральный каучук, растительные волокна, морскую траву, шерсть животных. В качестве обивочных материалов применяют: натуральные ткани на основе хлопка, шелка, льна, велюра, шерсти с малоусадочной, грязеотталкивающей и водонепроницаемой обработкой; жаккарды (гобелены) – ткани, изготовленные методом переплетения нитей с неодинаковым шагом, благодаря чему достигается высокая плотность полотна; синтетические ткани – капрон, нитрон, лавсан, шинипп; флок (флок-велюр) – синтетический ворс, который клеится на тканую основу; кожа натуральная или искусственная; искусственный мех. 2.4. Стандартные этапы производства мебели. Стандартный процесс создания мебельного изделия выглядит так: 1. Создание ДСП/ДВП; 2. Распил по размерам при помощи фрезерного станка; 3. Подача распиленной детали на поклейку кромки; 4. Присадка – подготовка и сверление соединительных отверстий и пазов; 5. Сбор корпуса с использованием ручного инструмента или фурнитур; 6. Покрытие необходимых деталей лаком; 7. Установка элементов мягкости, обивка защитными слоями и отделка кожей или тканью. 8. Финишная сборка мебели и упаковка готового изделия. 114 На рис. 5 можно увидеть стандартный процесс создания мебельного изделия. 3. Обзор функциональных возможностей конкретных CAM систем Будем выполнять анализ функциональных возможностей систем автоматизации производства мебели на примере двух наиболее распространенных систем Microsoft Dynamics NAV и MES. 3.1. Общие возможности системы Microsoft Dynamics™ NAV Microsoft Dynamics NAV - Система предоставляет компактный, отлаженный интегрированный функционал для координирования финансов, администрированием предприятия, ведением планов, промышленным изготовлением и обслуживанием, регулирования отношений с заказчиками. Отраслевое решение "ERPC. Управление мебельным бизнесом"[15] – программно-технологический комплекс, предназначенный для автоматизации мебельного бизнеса. Решение "ERPC. Управление мебельным бизнесом" разработано на платформе системы управления предприятием класса ERP Microsoft Dynamics™ NAV и ориентировано на производителей мягкой и корпусной мебели и дистрибуторов мебельной продукции, с возможностью управления как потоковым производством так и производством мебели «под заказ». За счет гибкого планирования ресурсов, и контроля выполнения работ, в режиме реального времени, система позволяет избежать простоев в производственном процессе. Возможности решения для управления мебельной промышленностью: Рисунок 5 – Стандартный процесс создания мебели. Управление продажами: Регулирование взаимоотношений с заказчиками; Контроль финансовых возможностей предприятия; Улучшение работы менеджеров компании, Отслеживание сделки; Интегрирование систем моделирования. В связи с тем, что создание мебели представляет собой отчасти творческий процесс – разнообразие выпускаемой продукции представляет собой огромное количество уникальных экземпляров, что в свою очередь сказывается в потребности создания новых дизайнов и элементов для новой мебели. На рис. 6 продемонстрирован интерфейс приема заказа. 115 Рисунок 6 – интерфейс приема заказа Благодаря модулю «Дизайн» обеспечивается возможность создания новых дизайнерских эскизов, которые в последующем запускаются в производство. Создавать дизайн мебели можно благодаря популярным интегрированным отраслевым средствам моделирования. На рис. 7 продемонстрирована интеграция с дизайнерскими системами. Рисунок 7 – интеграция с дизайнерскими системами При помощи программного блока "Производство" организовывается регистрация результатов работы и оборота денежных средств, а так же управление процессом производства. В состав основных задач входят: возможность описания технологии создания, разработка плана изготовления исходя из загруженности работников и возможном количестве выпускаемых изделий, отчетность по показателям производства, формирование документов для рабочих мест, просмотр состояния выполняемости плана по производству. Функциональные средства модуля позволяют [15]: Создавать динамические спецификации и маршруты; Анализировать емкость и загрузку производственных мощностей; Осуществлять распределение сменного задания; Контролировать цепочку выполнения производственных заказов; Осуществлять интеллектуальное перераспределение заданий между производственными мощностями; 116 Осуществлять выпуск готовой продукции с реальной единичной себестоимостью. Процесс производства мебельных изделий базируется в результате поступающих от заказчиков информации. При регистрации заказа пользователь описывает материалы и получает цену продукта.Это позволяет наиболее точно вести отчетность, рассчитывать стоимость производства и определять какую заработную плату выплачивать работникам предприятия. 3.1.2. Управление загрузкой производственных мощностей Осуществляется контроль текущей, и возможной загрузки производственных мощностей (дополнительно предоставляется возможность просмотра в графическом представлении). Это существенно минимизирует сложность определения узких мест из-за того, что посмотрев на график загрузки легко понять, когда существует необходимость в еще одной смене, объявлении сверхурочной работы или пересмотре графика. Планирование мощностей помогает определять, какой из рабочих центров наиболее подходящим образом может выполнять работу. Если операция привязана к группе рабочих центров, система оценивает весь перечень входящих в группу центров и выбирает наименее загруженный или наиболее подходящий для операции данного типа. На рис. 8 изображена процесс контроля загрузки оборудования. Рисунок 8 – контроль загрузки оборудования 3.1.3. Управление финансами и отчетность Финансовое направление Microsoft Dynamics Nav, на платформе которой базируется продукт ERPC Furniture, полностью встроен со всеми системными модулями. У пользователя существует возможность анализа результатов работы в необходимых масштабах. При анализе результатов продаж производимых продуктов пользователь может просмотреть информацию об определенном клиенте, поставке. Благодаря постоянному мониторингу работы можно с высокой точностью определять достижение бизнес - цели и правильность выбора стратегии развития предприятия. На рис. 9 изображено управление отчетностью. 117 Рисунок 9 – управление отчетностью 3.2. Общие возможности системы MES MES - специализированное ПО, направленное на управления процессом создания и контроля выпускаемых изделий в границах определенного производства. Эти системы ориентированы на управление отдельным цехом. Так же могут выполняться задачи контроля деятельности конкретной фирмы в общем целом. Среди основных задач MES выделяются [18]: 1. Активация производственных мощностей на основе детального пооперационного планирования производства. 2. Отслеживание производственных мощностей. 3. Сбор информации, связанной с производством, от: систем автоматизации производственного процесса, датчиков, оборудования, персонала, программных систем. 4. Отслеживание и контроль параметров качества. 5. Обеспечение персонала и оборудования информацией, необходимой для начала процесса производства. 6. Установление связей между персоналом и оборудованием в рамках производства. 7. Установление связей между производством и поставщиками, потребителями, инженерным отделом, отделом продаж и менеджментом. 8. Реагирование на: Требования по номенклатуре производства, Изменение компонентов, сырья и полуфабрикатов, применяемых в процессе производства, Изменение спецификации продуктов, Доступность персонала и производственных мощностей. 9. Гарантирование соответствия применимым юридическим актам, например нормам Food and Drug Administration (FDA) США. 10. Соответствие вышеперечисленным индустриальным стандартам. На рис. 10 изображено рабочее окно программы MES. 118 Рисунок 10 – рабочее окно системы MES 4. Перспективы развития систем Перспективы развития рынка ПО в данной области в первую очередь зависят от уровня развития рынка сбыта мебели, что в свою очередь зависит от покупательской способности людей. Чем выше будет показатель рынка сбыта мебели, тем больший интерес у инвестора будет вызывать успешная автоматизация предприятия. В связи с тем, что методы производства всегда совершенствуются – разработка новых модулей или изменение старых возникает всегда. К основным направлениям развития можно отнести: 1. Улучшение качества и скорости проектирования новых изделий; 2. Улучшение качества и скорости создания новых изделий; 3. Более дружественный к пользователю процесс приема заказа на предприятие и процесс доставки заказа; 4. Создание и применение более продвинутых в плане качества и затрат технологий, для управления процессом создания мебели. Выводы В статье проведен анализ существующих автоматизированных систем управления, работающих на предприятиях связанных с производством мебели. Проведен анализ предметной области. По результатам изучения предметной области на данный момент можно сделать вывод, что разработка ПО в данной области рентабельна. Определены перспективы развития программных продуктов в этой области. Литература 1) Краев В. Н. Ползунова Н. Н., Исследование систем управления. М.: Академический проект, 2004. 2) Либерзон В И, Основы управления проектами. М.: Нефтяник, 1997.PMI, Руководство к своду знаний по управлению проектами (Руководство PMBOK). M.: Институт Управления Проектами, 2004. 3) Карл И. Вигерс, Разработка требований к программному обеспечению. М.: Русская Редакция, 2004. 4) Ричард Ньютон, Управление проектами от А до Я. М.: Альпина Паблишерз, 2009. 5) Ньюэлл Майкл В., Управление проектами для профессионалов. Руководство по подготовке к сдаче сертификационного экзамена. М.: КУДИЦ-ПРЕСС, 2008. 6) David Rubinstein, "Standish Group Report: There's Less Development Chaos Today," SD Times, 1 марта 2007. 119 7) Архипенков С. (2010, Март) Лекции по управлению программными проектами. [Online]. http://www.arkhipenkov.ru/resources/sw_project_management.pdf. 8) Поллис Гари, Огастин Лиз, Лоу Крис, and Мадхар Джас, Разработка программных проектов на основе Rational Unified Process (RUP). М.: Бином-Пресс, 2005. 9) Филипп Крачтен Пер Кролл, Rational Unified Process - это легко. Руководство по RUP для практиков. М.: КУДИЦ-Образ, 2004. 10) Майкл С. В. Тернер, Основы Microsoft Solution Framework. Сп-Б.: Русская Редакция, Питер, 2008. 11) IBM. (2010, март) Шаблоны RUP для MS Word. [Online]. http://www.it4business.ru/docs/hub/rup_wd_tmpl.zip. 12) Анализ рынка мебельного производства [Online]. http://www.openbusiness.ru/biz/business/obzorrynka-proizvodstvo-mebeli/ 13) Прогноз развития рынка мебельного производства [Online]. http://www.eo.ru/research/furniture_market.htm. 14) Тонкости производства офисной мебели [Online]. http://vproizvodstvo.ru/proizvodstvennye_idei/izgotovlenie_ofisnoj_mebeli/. 15) ERPC Управление мебельным бизнесом [Online]. http://erpc.com.ua/industries/furniture.html. 16) bCad Вики [Online]. https://ru.wikipedia.org/wiki/BCAD. 17) bCad оф.сайт [Online]. http://bcad.ru. 18) MES Вики [Online]. https://ru.wikipedia.org/wiki/MES 19) Тонкости бизнес процесса изготовления мебели [Online]. http://vproizvodstvo.ru/proizvodstvennye_idei/izgotovlenie_ofisnoj_mebeli/ Гончарук С.И., Григорьев А.В. Анализ функциональных возможностей и перспектива развития систем автоматизации проектирования и производства мебели. В статье раскрыта тематика развития систем проектирования и управления производством мебели. Описана предметная область, специфика процесса проектирования мебели, а так же особенности процессов производства мебели и виды производств. Приведены характеристики существующих программных средств. Ключевые слова: автоматизированная система управления, мебель, мебельное производство, интегрированная среда моделирования. Goncharuk S., Grigoriev A. An analysis of the characteristics and prospects of development of design automation systems and furniture manufacturing. The article deals with the theme of designing and managing the production of furniture. Described the subject area, the specific process of furniture design, as well as - especially furniture production processes and products. Including characteristics of the existing software. Key words: automated control system, furniture, furniture manufacture, integrated simulation environment. 120 УДК 004.5 Анализ систем автоматизированного проектирования трубопроводов различного назначения М.В.Жусупов, Григорьев А.В. Донецкий национальный технический университет zhusupovmax1996@gmail.com Жусупов М.В., Григорьев А.В. Анализ систем автоматизированного проектирования трубопроводов различного назначения. В статье выполнен анализ функциональных возможностей ряда наиболее востребованных на территории СНГ систем автоматического проектирования трубопроводов различного назначения, определены особенности их структуры и основные свойства. Рассмотрены критерии для выбора лучших систем и определены перспективы их развития. Ключевые слова: сравнительный анализ, САПР, Bentley Plant,CADWorx Plant , PLANT-4D, PDMS, PDS. Введение Проектирование, строительство и эксплуатация различного рода трубопроводов (газопроводов, нефтепроводов, водопроводов и т.д.) является важной научной и практической задачей на территории стран СНГ. Т.о., задача разработки и адаптации систем автоматизации проектирования (САПР) трубопроводов различного назначения это так же важная и актуальная задача. В целом САПР трубопроводов могут быть охарактеризованы как с общих позиций эффективности САПР вообще, так и – с точки зрения специфики их применения. С точки зрения общих подходов, характеризующих САПР трубопроводов, можно сказать следующее. В настоящее время в деятельность изыскательских и проектных организаций быстро проникает компьютеризация, поднимающая проектную работу на качественно новый уровень, при котором резко повышаются темпы и качество проектирования, более обоснованно решаются многие сложные инженерные задачи, которые раньше рассматривались лишь упрощенно. Во многом это происходит благодаря использованию эффективных специализированных программ, которые могут быть как самостоятельными, так и в виде приложений к общетехническим программам. Деятельность по созданию программных продуктов и технических средств для автоматизации проектных работ имеет общее название - САПР. САПР [1] (англ. CAD, Computer-Aided Design) - программный пакет, предназначенный для проектирования (разработки) объектов производства (или строительства), а также оформления конструкторской и/или технологической документации. Компоненты многофункциональных систем САПР традиционно группируются в три основных блока CAD, САМ, САЕ. Модули блока CAD (Computer Aided Designed) предназначены в основном для выполнения графических работ, модули САМ (Computer Aided Manufacturing) - для решения задач технологической подготовки производства, модули САЕ (Computer Aided Engineering) - для инженерных расчетов, анализа и проверки проектных решений. Существует большое количество пакетов САПР разного уровня. Значительное распространение получили системы, в которых основное внимание сосредоточено на создании "открытых" (т.е. допускающих расширение) базовых графических модулей CAD, а модули для выполнения расчетных или технологических задач (соответствующие блокам САМ и САЕ) остаются для разработки пользователям или организациям, специализированным на соответствующем программировании. Такие дополнительные модули могут использоваться и самостоятельно, без CAD-систем, что очень часто практикуется в строительном проектировании. Они сами могут представлять крупные программные комплексы, для которых разрабатываются свои приложения, позволяющие решать более узкие задачи. Таким образом, САПР трубопроводов должен иметь полноценную, развитую структуру, включая CAD, САМ, САЕ – подсистемы. Целью статьи является: сравнительный анализ систем автоматизированного проектирования (САПР) трубопроводных систем, которые положительно зарекомендовали себя на территории СНГ, определение наиболее оптимального состава качеств таких систем, определение дальнейших перспектив их развития. 121 Анализ САПР Bentley Plant Система Bentley Plant включает модули разработки схем, 3D-моделирования, расчеты, генерацию чертежей, спецификаций и изометрических схем. Она интегрирована с системой управления инженерным документооборотом и архивом Bentley ProjectWise. В линейке Bentley Plant представлены 2 семейства продуктов - AutoPLANT, использующее в качестве графической платформы AutoCAD, и PlantSpace на платформе MicroStation. Эти продукты являются взаимозаменяемыми. Компания взяла курс на объединение двух линеек на основе AutoPLANT. В свою очередь, в состав линейки AutoPLANT входят также решения для разнообразных расчетов: НДСТ - AutoPIPE, гидравлических расчетов - PlantFlow, расчет на прочность узлов врезки штуцеров/патрубков сосудов и аппаратов - WinNOZL, расчет пульсаций потоков в трубопроводах PULS. Продукты AutoPIPE и AutoPLANT имеют двунаправленный интерфейс передачи данных, что ускоряет итерационный процесс «проектирование-расчет». Помимо линейки Bentley Plant Bentley Systems Inc. предлагает решения для всех задач проектирования в промышленном и гражданском строительстве - архитектурных, задач изысканий и генплана, проектирования инженерных сетей и т. д., а также задач проектного документооборота - с помощью системы управления проектными данными и инженерным документооборотом ProjectWise. Модуль Bentley ProjectWise обеспечивает возможность распределять проекты и выполнять их администрирование. Анализ САПР CADWorx Plant В программном комплексе CADWorx Plant [2] реализованы инструменты для проектирования трубопроводов, оборудования, металлоконструкций, систем отопления и вентиляции, кабельных трасс, а также динамические связи с базой данных. Исторически CADWorx развивался как графический интерфейс к известному программному продукту для расчета напряженно-деформированного состояния CAESAR II (также COADE), со временем обретя самостоятельное значение. Этим объясняется отлаженная двусторонняя связь между CADWorx и Caesar II, что позволяет в значительной мере упростить процесс создания проекта. CADWorx не имеет аналогов по легкости пополнения библиотек элементов - работа ведется на уровне редактирования текстового файла, т.е. администрирование работы над проектом сводится к минимуму и может осуществляться любым опытным пользователем. В программе реализована возможность совместной работы различных организаций над одним проектом в сети Internet. В нефтегазовой отрасли также применяется еще один продукт компании COADE - PVElite для расчета оборудования. Анализ САПР PLANT-4D Система PLANT-4D работает на основе объектно-ориентированного параметрического ядра, и включает систему коллективной работы над проектом. PLANT-4D позволяет работать с трехмерными твердотельными моделями проектируемых систем, автоматизирует разработку технологических схем, моделей трубопроводов, нестандартного оборудования, металлоконструкций. Полностью автоматически или в интерактивном режиме PLANT-4D позволяет выпускать различные технологические схемы, рабочие чертежи (планы, разрезы, узлы, монтажные изометрические чертежи с размерами и спецификациями, различные ведомости, отчеты, спецификации и многое другое). Когда приходится решать классы задач, включающих поддержку всего цикла от строительства через эксплуатацию до реконструкции проектируемого объекта, нужно рассматривать системы, изначально ориентированные не только на комплексную поддержку разделов проектирования, но и на создание и использование единой модели данных всего объекта. К таким системам на сегодняшний день можно отнести PDMS (AVEVA) и PDS (Intergraph), а также не так давно появившийся комплекс SmartPlant 3D компании Intergraph. Эти два производителя предлагают полный комплекс решений для проектирования промышленных предприятий, проектирование трубопроводных систем - лишь их часть. Анализ САПР PDMS Компания AVEVA [3] является разработчиком семейства интеллектуальных систем VANTAGE, обеспечивающих работу и контроль на всех этапах жизненного цикла предприятия: • VPE - разработка технологической части проекта, электрики, КИПиА. • VPD (PDMS) - разработка детального проекта, выпуска проектной документации, обслуживания при эксплуатации промышленного объекта; • VPRM - управление логистикой, контроль закупок, поставок и складирования, контроль за монтажными и пуско-наладочными работами; 122 • VNET - интеграция и управление всеми проектными данными, на основе современной Webпортальной технологии. Все системы семейства VANTAGE полностью интегрированы между собой и имеют интерфейсы с ведущими системами 2-х и 3-х мерного проектирования, расчетными системами, системами документооборота, управления проектами, системами ERP. Так же системы семейства VANTAGE позволяют обмениваться информацией с любыми внешними базами данных. VPD (PDMS) - многопользовательская среда для проектирования с централизованным хранением данных на основе собственной объектно-ориентированной базы - DABACON. PDMS позволяет осуществлять совместную работу проектного коллектива в режиме реального времени с проверкой на коллизии, что исключает любые неувязки в проекте. Необходимо заметить, что система не имеет ограничений на размер и детальность проработки проекта. VPD (PDMS) содержит следующий набор интегрированных инженерных приложений: • проектирование оборудования, в том числе нестандартного; • проектирование трубопроводов; • проектирование металлоконструкций, узлов металлоконструкций; • проектирование лестниц, стремянок, площадок обслуживания оборудования; • проектирование архитектурной части: панелей и плит, стен и полов, окон, дверей, узлов; • проектирование опор и подвесок; • проектирования систем вентиляции и кондиционирования; • проектирование кабельных конструкций. Проектная документация выдается автоматически непосредственно по данным 3D модели в соответствии нормами оформления. Встроенная функция контроля ревизий позволяет отслеживать все изменения между выпусками чертежей. Система поставляется c базами данных по деталям трубопроводов, металлоконструкциям, элементам зданий, отопления и вентиляции, опор и подвесок, выполненных по ГОСТ, а так же по международным стандартам, что позволяет выполнять как российские, так и международные проекты. Базы данных могут создаваться и редактироваться с помощью удобного графического интерфейса, использование которого не требует навыков программирования. Для компаний, которые отдают части проекта на субподряд или участвуют в совместных проектах, компания AVEVA разработала PDMS Global для распределенного проектирования, которое позволяет эффективно вести и контролировать проекты, выполняемые одновременно силами нескольких проектных организаций. Анализ САПР PDS и SmartPlant 3D Компания Intergraph [4] предлагает не только комплексную, но и полностью интегрированную технологию проектирования, управления поставками на этапе строительства и дальнейшего информационного сопровождения промышленных предприятий. PDS - мощная система, охватывающая основные аспекты проектирования промышленных предприятий, для которой не существует пределов на объем выполняемых проектов. Она изначально была рассчитана на поддержку работы команды специалистов различного профиля над проектами крупных электростанций или заводов. САПР SmartPlant, способная обеспечить проектирование трубопроводов, построен на основе PDS. Комплексное решение SmartPlant включает в себя две основные составляющие: 1) набор специализированных средств проектирования, каждое из которых, по мнению разработчиков, входит в ряд наиболее передовых в своем классе. • Система разработки функционально-технологических схем SmartPlant P&ID. • Система проектирования КИПиА SmartPlant Instrumentation. • Система проектирования электроснабжения SmartPlant Electrical. • Система трехмерного проектирования SmartPlant 3D • Система комплексной трехмерной визуализации SmartPlant Review. • Система управления материально-техническим обеспечением строительства MARIAN. • Системы от других разработчиков ПО (компании Aspentech, в частности). 2) SmartPlant Foundation - единая система управления всей технической информацией на протяжении всего жизненного цикла объекта. Эта система управляет как документами, так и технической информацией и в то же время является платформой, интегрирующей различные САПР и системы класса ERP. SmartPlant 3D вобрала в себя наиболее интересные и перспективные наработки из системы PDS и из других систем трехмерного проектирования. Система оперирует "умными" объектами, которые зависят друг от друга и автоматически меняются при изменении других объектов. Вся выходная документация выдается в автоматическом режиме, включая не только изометрички и отчеты, но и монтажные чертежи с автоматически расставленными размерами и обозначениями. 123 Выводы При определении границ использования той или иной САПР необходимо учитывать особенности объектов проектирования и ведения проектных работ на предприятии. Потребителями могут быть как проектные организации, так и ПКО (ПКБ) заводов. Проектные организации чаще заняты проектированием объектов «с нуля» и крупных промышленных объектов целиком, тогда как в рамках заводов ведутся, в основном, работы по реконструкции существующих систем или проектирование отдельных установок. Поэтому целевыми нишами продуктов высшего уровня PDMS, PDS и SmartPlant 3D в большей степени являются проектные институты. Что касается выбора по техническим особенностям продуктов, удобству интерфейса, соответствию конкретным задачам предприятия и т. д., то такие вопросы решают технические специалисты организации после знакомства с работой продуктов. Немаловажным критерием является стоимость программного продукта. Наиболее доступными являются модули семейства CADWorx, а наиболее дорогостоящими - системы компаний AVEVA и Intergraph, что компенсируется наибольшими функциональными возможностями. Помимо стоимости самого продукта, необходимо учитывать также стоимость необходимого программного обеспечения - графической платформы, СУБД, а также затраты, входящие в стоимость владения продуктом - обучение, обновление лицензий, техническая поддержка и т.д. Если продукт не имеет собственной графической платформы и встроенной СУБД, на их приобретение потребуются дополнительные затраты. Все системы среднего уровня - Bentley Plant, CADWorx и Plant-4D используют стандартные СУБД Oracle, MS SQL Server, MS Access. Кроме того, в Bentley Plant может использоваться MSDE (ядро системы MS SQL Server), что не требует оплаты дополнительных лицензий для СУБД. PDS и SmartPlant 3D используют СУБД Oracle или MS SQL Server. А вот компания AVEVA пошла по пути разработки и использования собственной объектноориентированной базы данных DABACON. Одной из важнейших характеристик программных продуктов является, также, возможность обмена данными с другими САПР. Большинство представленных продуктов имеют модульную структуру, что позволяет потребителю формировать индивидуальные рабочие места под конкретные задачи. Среди задач, решаемых при проектировании трубопроводных систем, типовыми являются: • создание технологических схем; • расстановка оборудования; • проектирование трубопроводов; • создание изометрических чертежей • проектирование в части КИПиА (в том числе проектирование кабельных лотков); • создание металлоконструкций (лестницы, площадки, опоры, подвески, и т.д.). Кроме того, при 3D-проектировании появляются возможности для автоматической проверки проекта на возможные пересечения и его визуализации. Поэтому в число стандартных задач включены: • проверка проекта на коллизии; • визуализация проекта (в том числе «облет» объекта и создание демонстрационных роликов). В качестве важных признаков соответствующих модулей выделены следующие моменты: 1) Язык интерфейса. Так, наиболее мощные возможности по проектированию дают системы PDMS, PDS и SmartPlant 3D, но у них отсутствует русифицированный интерфейс. 2) Графическая платформа. Тип платформы, на которой работают системы, определяет возможности организации единой среды проектирования и работы предприятия со смежными организациями. 3) Обучение и его минимальная длительность. Для качественного внедрения САПР важны обучение и техническая поддержка. Литература 1. Малюх Владимир Введение в современные САПР; ДМК Пресс - Москва, 2010. - 192 c. 2 Малюх Владимир Введение в современные САПР; ДМК Пресс - Москва, 2012. - 192 c. 3. Райан Д. Инженерная графика трубопровод в САПР; Мир - Москва, 2012. - 391 c. 4 Судзиловский В. Ю. Моделирование трубопроводов в САПР; Книжный клуб 36.6 - , 2015. - 270 c. Zhusupov M.V., Grigoriev A.V. Analysis of automatic design of piping systems for various purposes. This article gives an analysis of the functionality of some of the most sought-after in the CIS automatic design of piping systems for various purposes, defined the characteristics of their structure and basic properties. We consider the criteria for selecting the best systems and identified the prospects of their development. Keywords: comparative analysis, CAD, Bentley Plant, CADWorx Plant, PLANT-4D, PDMS, PDS. 124 УДК 004.5 Исследование методов разработки графических редакторов в CADсистемах на примере САПР трубопроводов И.О. Зимонин, А.В. Григорьев Донецкий национальный технический университет zimoninigor@gmail.com Зимонин И.О., Григорьев А.В. Исследование методов разработки графических редакторов в CAD-системах на примере САПР трубопроводов. Основы и принципы создания. Состав и структура. Анализ существующих САПР систем. Описание ObjectARX SDK и JavaScript API. Преимущества и недостатки использования данного подхода в разработке САПР трубопроводов. Введение В настоящее время идёт активное развитие конкурентоспособных систем автоматизированного проектирования [1], целью которых является сокращение трудоёмкости и сроков производства на этапах планирования и проектирования, вследствие этого сокращение себестоимости и повышение качества результатов. Поэтому в сфере САПР постоянно вводятся новые технологии для расширения возможностей существующих и разработки новых систем и подсистем автоматизированного проектирования, что даёт существенный толчок к разработке качественно новых методов разработки САПР, анализируя уже существующие. Ранее авторами была поставлена задача построения современного САПР трубопроводов и определены инструментальные средства для разработки. Для разработки собственной подсистемы автоматизированного проектирования трубопроводов были выбраны технологии ObjectARX SDK и JavaScript API. Целью предлагаемой статьи есть полноценное и всестороннее обоснование данного выбора инструментальных средств. 1. Основные вопросы, подлежащие решению Для качественной разработки системы или подсистемы автоматизированного проектирования необходимо: - проанализировать принципы создания, состав и структуру САПР; - проанализировать существующие программные продукты; - выявить стратегии дальнейшей разработки оптимального комплекса методов построения CADсистемы в САПР трубопроводов - выполнить оценку эффективности выбранного комплекса; - выполнить обоснование выбранных методов и технологий разработки актуальной современной системы. 2. Общие сведения и принципы создания САПР В первую очередь необходимо определиться, что такое проектирование [2]. Под проектированием подразумевается процесс создания некоторого описания для построения модели ещё не существующего объекта в определённых условиях на основе первичного описания этого объекта. Если этот процесс осуществляется пользователем при взаимодействии с компьютером, то он называется автоматизированным. Следовательно, САПР является комплексом средств для автоматизации проектирования, взаимосвязанных с пользователями. Для процесса проектирования существует семь основных стадий [3]: 1) Предпроектные исследования; 2) Техническое задание; 3) Эскизный проект; 4) Технический проект; 5) Рабочий проект; 125 6) Изготовление, отладка, испытание; 7) Ввод в эксплуатацию. Первая стадия служит для исследования потребностей целевой аудитории пользователей данной системы, предмет автоматизации, составляется отчёт о результатах исследований, в котором также производится анализ существующих отечественных и зарубежных аналогов. На второй стадии пишется техническое задание на разработку САПР, в котором формируются цели, обосновывается оптимальный вариант системы проектирования, указываются сроки, исполнители и этапы создания. Последующие стадии относятся к внутреннему проектированию. На третьей стадии разрабатываются принципиальные решения по созданию САПР. На четвертой стадии разрабатываются и утверждаются окончательные решения по созданию САПР и формам проектной документации. Пятая стадия подразумевает создание документации по САПР в целом и её подсистемам в частности. На шестой стадии предполагается изготовление, отладка и испытание компонентов САПР, а также различных вспомогательных инструментов (например, для стыковки периферийного оборудования и т.п.). На заключительной стадии осуществляется сдача проекта в промышленную эксплуатацию, обучение персонала, комплексная отладка САПР, проведение приёмочных испытаний. От общих сведений о проектировании перейдём к принципам создания системы автоматизированного проектирования. В технической литературе обычно выделяют 4 принципа создания САПР: 1) Системного единства; 2) Совместимости; 3) Типизации; 4) Развития. Первый принцип отвечает за целостность системы и иерархию взаимодействия элементов проектирования. Второй принцип обеспечивает функционирование составных частей САПР и их взаимодействие. Третий принцип служит для унификации повторяющихся элементов САПР, которые имеют перспективу многократного применения. Последний принцип обеспечивает расширяемость и обновляемость системы, а также взаимодействие с другими системами различного назначения. 3. Состав и структура Системы автоматизированного проектирования состоят из подсистем, в которых при помощи различных технологических средств выполняется решение задач в определённой последовательности. Каждая подсистема основана на различных взаимосвязанных средствах автоматизации, которые можно условно разделить на семь типов или, как их называют, видов обеспечения САПР: 1) Математическое обеспечение; 2) Программное обеспечение; 3) Информационное обеспечение; 4) Техническое обеспечение; 5) Лингвистическое обеспечение; 6) Методическое обеспечение; 7) Организационное обеспечение; Первый вид обеспечения базируется на алгоритмах, которые используются в разработке ПО САПР. Они зависят от особенностей объектов проектирования и могут быть как узконаправленными, так и инвариантными. Второй вид имеет два подвида: общесистемное ПО и специальное. К первому подвиду относятся операционные системы, а специфическое программное обеспечение (к примеру, оценка характеристик почвы и т.п.) – к специальному. Третий вид представляет собой совокупность данных, которые используются для проектирования. Это могут быть промежуточные решения, параметры изделия и т.д. К четвертому виду относятся не только компьютеры, а вообще все устройства, которые необходимы для процесса проектирования. Лингвистическое обеспечение (пятый вид) основывается на проблемно-ориентированных языках, предназначенных для описания процедур автоматизированного проектирования. Под методическим обеспечением (шестой вид) подразумевается набор документов об эксплуатации системы. Документы, касающиеся разработки, сюда не входят. Последний вид обеспечения представляет собой комплекс документов, касающихся структуры отделов, эксплуатирующих САПР, взаимодействие эти отделов между собой. В набор организационных документов входят приказы, расписания, квалификационные требования и т.д. 126 4. Анализ существующих САПР-систем В это разделе будут описаны функциональные возможности следующих систем [4]: 1) ADEM; 2) T-Flex; 3) Компас 3D; 4) AutoCAD; 5) Autodesk Inventor; 6) CATIA; 7) SolidWorks. 4.1. Анализ САПР ADEM Рисунок 1 – Интерфейс ADEM Отечественная интегрированная CAD/CAM/CAE система ADEM (рис.1) [5] предназначена для автоматизации конструкторско-технологической подготовки производства. Это единый программный комплекс, в состав которого входят инструменты для автоматизации: проектирования, конструирования и моделирования изделий; оформления чертежно-конструкторской документации в соответствии с требованиями ЕСКД; проектирование техпроцессов и оформления технологической документации в соответствии с требованиями ЕСТД; программирования оборудования с ЧПУ; управления архивами и проектами; реновации накопленных знаний (бумажных чертежей, перфолент). Можно сказать, что ADEM эквивалентен комплексу из шести профессиональных специализированных систем, которые имеют единые математическое ядро и инфраструктуру. Еще одной важной компонентой системы является более чем тридцатилетний опыт автоматизации отечественных и зарубежных машиностроительных предприятий, который в сплаве с современными информационными технологиями определяет высокую надежность и эффективность системы. В части проектирования и конструирования система ADEM имеет самый современный инструментарий объемного и плоского гибридного моделирования. Система содержит обширные библиотеки отечественных и зарубежных стандартов оформления конструкторской документации и стандартных изделий. Благодаря постоянному сотрудничеству с передовыми производителями и поставщиками станков и инструментов, такими как: HANDTMANN, TRUMPF, KUKA Robot Group, УМК «ПУМОРИ-СИЗ», СФТехнологии, HAIMER, ISCAR, SANDVIK, Скиф-М, Rost Group, и др. в системе постоянно совершенствуются методы подготовки ЧПУ программ для самого современного отечественного и зарубежного оборудования. ADEM позволяет программировать следующие технологии обработки: фрезерные 2-5x, в том числе и многопозиционные; токарные, в том числе и многошпиндельные и многотуретные; лазерные 2-5x; электроэрозионные 2-4x; 127 листоштамповку и вибровысечку; а также их комбинации. Для автоматизации проектирования технологических процессов система ADEM поддерживает практически все существующие виды технологий, включая технологии механообработки, сборки, сварки, термической обработки и прочие. При этом выпуск технологической документации может осуществляться как на стандартных картах и формах (ГОСТ), так и на картах и формах предприятия (СТП). В качестве важного дополнения выступают подсистемы нормирования и оснащения, а также библиотеки материалов, оборудования и инструментов. Особую роль интегрированная система ADEM играет для подготовки технических кадров, так как охватывает все важнейшие этапы конструкторско-технологической подготовки производства от первого эскиза до выпуска детали на станке. Опыт внедрения системы в авиастроении, аэрокосмической, приборостроительной и атомной промышленности показывает высокую эффективность использования оборудования, кратчайшие сроки его запуска и быструю окупаемость уже с первых дней эксплуатации системы ADEM. 4.2. Анализ САПР T-Flex Рисунок 2 – Интерфейс T-Flex T-Flex (рис.2) - это комплекс программных средств автоматизации, позволяющих охватить все этапы конструкторско-технологической подготовки производства. Все системы, входящие в комплекс, полностью интегрированы между собой. Комплекс содержит передовые российские разработки в соответствующих областях автоматизированного проектирования, которые учитывают специфику российского производства (стандарты, технические условия, оборудования и т. д.). Каждая из систем может работать в комплексе, в любой комбинации или в автономном режиме, что позволяет гибко и поэтапно решать задачи автоматизации подготовки производства любого предприятия. Важным фактором является стоимость комплекса. При одинаковой функциональности стоимость российских систем значительно ниже, чем западных. Решает задачи: автоматизация выпуска конструкторско-технологической документации; создание твердотельных моделей деталей и сборок; моделирование динамического поведения сборок; подготовка управляющих программ для станков ЧПУ; проектирование штампов, пресс-форм, режущего инструмента и приспособлений; расчет и построение оптимальных схем раскроя деталей на листе; автоматизация задач технического документооборота, управление проектами и ведение состава изделий. 128 4.3. Анализ САПР Компас 3D Рисунок 3 – Интерфейс Компас 3D Основная задача, решаемая системой КОМПАС-3D (рис.3) - моделирование изделий с целью существенного сокращения периода проектирования и скорейшего их запуска в производство. Эти цели достигаются благодаря возможностям: быстрого получения конструкторской и технологической документации, необходимой для выпуска изделий (сборочных чертежей, спецификаций, деталировок и т.д.); передачи геометрии изделий в расчетные пакеты; передачи геометрии в пакеты разработки управляющих программ для оборудования с ЧПУ; создания дополнительных изображений изделий (например, для составления каталогов, создания иллюстраций к технической документации и т.д.). Основные компоненты КОМПАС-3D - собственно система трехмерного твердотельного моделирования, чертежно-графический редактор и модуль проектирования спецификаций. Система трехмерного твердотельного моделирования предназначена для создания трехмерных ассоциативных моделей отдельных деталей и сборочных единиц, содержащих как оригинальные, так и стандартизованные конструктивные элементы. Параметрическая технология позволяет быстро получать модели типовых изделий на основе однажды спроектированного прототипа. Многочисленные сервисные функции облегчают решение вспомогательных задач проектирования и обслуживания производства. 4.4. Анализ САПР AutoCAD Рисунок 4 – Интерфейс AutoCAD AutoCAD (рис.4) [6] — двух- и трехмерная система автоматизированного проектирования, разработанная компанией Autodesk. Программа включает в себя полный набор средств, обеспечивающих комплексное трёхмерное моделирование, в том числе работу с произвольными формами, создание и редактирование 3D-моделей тел и поверхностей, улучшенную 3D-навигацию и эффективные средства выпуска рабочей документации, реализована поддержка параметрического черчения. Ниже описаны некоторые функциональные возможности современной версии: Инструменты работы с произвольными формами позволяют создавать и анализировать сложные трехмерные объекты. Их формирование и изменение осуществляются простым перетаскиванием поверхностей, граней и вершин. Трехмерная печать. Можно создавать физические макеты проектов через специализированные службы 3D-печати или персональный 3D-принтер. Использование динамических блоков позволяет создавать повторяющиеся элементы с изменяемыми параметрами без необходимости перечерчивать их заново или работать с библиотекой элементов. 129 Функция масштабирования аннотативных объектов на видовых экранах или в пространстве модели. Запись операций позволяет формировать последовательности команд даже без опыта программирования. Записываемые операции, команды и значения ввода регистрируются и отображаются в отдельном окне в дереве операций. После остановки записи можно сохранить команды и значения в файле макроса операций с целью последующего воспроизведения. При коллективной работе макросы могут быть доступны всем. Диспетчер подшивок организует листы чертежей, упрощает публикацию, автоматически создает виды, передает данные из подшивок в основные надписи и штемпели и выполняет задания таким образом, чтобы вся нужная информация была в одном месте. Инструменты упрощенной трехмерной навигации: «видовой куб» позволяет переключаться между стандартными и изометрическими видами — как предварительно заданными, так и из выбранной пользователем точки; «штурвал» объединяет в одном интерфейсе несколько различных инструментов навигации и предоставляет быстрый доступ к командам вращения по орбите, панорамирования, центрирования и зумирования. Инструмент «аниматор движения» предоставляет доступ к именованным видам, сохраненным в текущем чертеже и организованным в категории анимированных последовательностей. Его можно применять как при создании презентации проекта (анимированные ролики), так и для навигации. Интерфейс пользователя поддерживает возможность настройки под потребности конкретной отрасли. Изменяются установки по умолчанию для различных функциональных возможностей AutoCAD, включая шаблоны чертежей, содержимое инструментальных палитр, рабочее пространство. 4.5. Анализ САПР Autodesk Inventor Рисунок 5 – Интерфейс Autodesk Inventor Рассмотренный ниже пакет инженерного моделирования твердотельных машиностроительных изделий Inventor позволяет свободно работать как с плоскими, так и с пространственными моделями. Возможность работать и с плоскими, и с пространственными моделями – вот качество, выгодно отличающее Inventor (рис.5) от прочих САПР. Переход от плоской модели к трёхмерной возможен на любой стадии разработки. Inventor решает задачи твердотельного моделирования деталей, сборок, выпуска конструкторской документации – причем с его помощью эти задачи решаются гораздо быстрее и удобнее. Основное назначение Inventor – предоставить пользователям инструментарий, максимально отвечающий их требованиям, создать условия для высокопроизводительной работы, гарантировать возможность создания сложных форм, обеспечить соответствие реальным требованиям рынка в области 2D/3D-проектирования. Инструментальные средства Inventor обеспечивают полный цикл конструирования и создания конструкторской документации К преимуществам можно отнести: адаптивное конструирование, которое позволяет инженерам машиностроительного профиля проектировать естественным для себя образом, именно так, как они привыкли думать; адаптивная компоновка; встроенный конструктор элементов; системы поддержки и сопряжения процесса конструирования; пакет легок в освоении и имеет встроенные средства мультимедийной помощи. Интерфейс включает в себя проектирование на уровне эскиз-объект, систему обучения и помощи, включающую в себя интерактивные видеовставки; возможность проектирования сверху вниз (от проектирования сборочного узла до проектирования деталей, которые в него входят), или проектирование снизу вверх, проектируя по одной детали в каждый момент времени. Конструктор может использовать одновременно уже спроектированные 130 детали и схематичные зависимости в трёхмерном пространстве, чтобы можно было заранее увидеть, как всё будет работать до разработки конечной версии взаимосвязей деталей; при моделировании сверху вниз (от концептуального дизайна к проработке конечного изделия) имеется возможность зеркального отражения и размножения массивами базовых тел и рабочих элементов (плоскости, оси и точки) – с тем, чтобы в дальнейшем использовать их при создании реальной модели изделия; обладает инструментом адаптивных сборок. При работе с крупными сборками применяется адаптивная технология подкачки данных; всё это происходит автоматически, без указания деталей в сборке для их обновления после редактирования. Пакет инженерного моделирования Inventor имеет удобный пользовательский интерфейс, позволяющий работать на интуитивном уровне, используя имеющиеся на экране графические пиктограммы и подсказки, выводимые программой. Стандарты интерфейса, используемые в Inventor, аналогичны стандартам Microsoft Windows. Inventor позволяет работать и с плоскими, и с пространственными моделями. Переход от плоской модели к трёхмерной возможен на любой стадии разработки. Также в любой момент возможен возврат к плоской модели, её редактирование и сохранение. При этом происходит автоматическая перестройка трёхмерной модели. Inventor обеспечивает создание сложных форм с помощью понятной и удобной инструментальной палитры, а также лёгкость сборки деталей. 4.6. Анализ САПР CATIA Рисунок 6 – Интерфейс CATIA Система CATIA (Computer Aided Three-dimensional Interactive Application) (рис.6) - одна из самых распространенных САПР высокого уровня. Это комплексная система автоматизированного проектирования (CAD), технологической подготовки производства (CAM) и инженерного анализа (САЕ), включающая в себя передовой инструментарий трёхмерного моделирования, подсистемы программной имитации сложных технологических процессов, развитые средства анализа и единую базу данных текстовой и графической информации. Система позволяет эффективно решать все задачи технической подготовки производства - от внешнего (концептуального) проектирования до выпуска чертежей, спецификаций, монтажных схем и управляющих программ для станков с ЧПУ. Основные возможности системы CATIA: функции работы с поверхностями; возможность трассировки внутренней проводки, трассировки систем; совместное проектирование (если участвует более 1 разработчика); продуманная система отображения структуры сборки; подготовку к стадии быстрого прототипирования, поддерживается конвертация в STL; имеется система проектирования деталей, гнутых из листового металла возможность кинематического анализа механизмов; имеется возможность эргономического анализа, как позы, так и движения, контроль поля зрения, зон досягаемости, усилий управления; продуманный и достаточно удобный интерфейс. 131 4.7. Анализ САПР SolidWorks Рисунок 7 – Интерфейс SolidWorks SolidWorks (рис.7) – система автоматизированного проектирования, инженерного анализа и подготовки производства изделий любой сложности и назначения. Она представляет собой инструментальную среду, предназначенную для автоматизации проектирования сложных изделий в машиностроении и в других областях промышленности. SolidWorks является системой гибридного (твердотельного и поверхностного) параметрического моделирования, она предназначена для проектирования деталей и сборок в трёхмерном пространстве (3-D проектирования), а также для оформления конструкторской документации. Система относится к САПР "среднего класса". SolidWorks разработан для работы на персональных компьютерах в системе Microsoft Windows. Он имеет стандартный графический пользовательский интерфейс Windows, максимально использует все преимущества системы Microsoft Windows, такие как контекстные меню, режим copy-and-paste, режим drag-and-drop, быстрый просмотр, поиск и открытие файлов с помощью проводника, возможность "отката" и др. SolidWorks эффективно взаимодействует с Windows-приложениями, как Excel, Word и др. Очевидными достоинствами системы являются ее полная русификация и поддержка ЕСКД. В рассматриваемой системе поддерживаются все основные стандарты представления и обмена данными. В состав базового пакета SolidWorks входит более 20 трансляторов для экспорта и импорта. 4.8. Итоги сравнения САПР-систем Проанализировав функциональные возможности представленных систем автоматизированного проектирования можно сделать вывод, что все они поддерживают проектирование как в 2D, так и в 3D пространствах с небольшим расхождением по функционалу. Однако особо крупные комплексные решения поддерживают анимацию (AutoCAD), узкоспециализированное проектирование (ADEM), совместное проектирование (CATIA) и другие возможности. На основе полученных данных для создания САПР трубопроводов было решено использовать современные технологии разработки ObjectARX SDK и JavaScript API на платформе AutoCAD, которая предоставляет основные возможности работы с объектами в пространстве, а также их сохранение и загрузку. 5. ObjectARX SDK и JavaScript API Среда программирования ObjectARX используется для адаптации и расширения функциональных возможностей AutoCAD и продуктов на его основе. Она обеспечивает непосредственный доступ к структурам базы данных AutoCAD, графической системе и определениям встроенных команд. С помощью объектноориентированных интерфейсов программирования на языке C++ разработчики могут создавать приложения для AutoCAD и других продуктов, входящих в это семейство – например, AutoCAD Architecture, AutoCAD Mechanical и AutoCAD Civil3D [7]. ARX-приложения могут напрямую обращаться к базе данных рисунка и геометрическому ядру, позволяет создавать собственные команды, аналогичные стандартным командам AutoCAD. Впервые пакет ObjectARX был реализован для AutoCAD R13. Что касается JavaScript API – данный программный интерфейс был добавлен в AutoCAD относительно недавно (AutoCAD 2014), поэтому является интересной темой для рассмотрения. Данный интерфейс был добавлен целенаправленно для того, что позволить пользователям [8]: 1) Управлять пользовательским интерфейсом, такой как запрос пользовательского ввода и показ временной; 2) Управлять текущим видом: зумирование, панорамирование, переключение визуальных стилей, и т.д. 3) Выполнять реализацию диалогов пользовательского интерфейса с помощью HMTL5, которые подключаются к AutoCAD с помощью JavaScript. Таким образом, JavaScript является «связующим интернет-языком», который позволяет ориентироваться 132 на web-технологии. Помимо этого, JavaScript API поддерживает работу с довольно крупными графическими библиотеками, написанными на JS (например, Tree.js), а значит, уменьшает порог вхождения в разработку различных подсистем в AutoCAD для web-разработчиков. Кроме того, JavaScript API и ObjectARX SDK могут обмениваться информацией и управлять друг другом, что позволяет при помощи скрипт-языка получать доступ к базе данных рисунков и структурам БД. Из недостатков можно отметить, что JavaScript API может иметь небольшие отклонения в работе некоторых не основных функций поскольку является достаточно «молодой» технологией. ObjectARX SDK в свою очередь проверен годами, однако программирование на языке C++ подразумевает наличие уверенных знаний у разработчика как самого языка программирования, так и алгоритмизации при работе с 2D и 3D пространствами [9]. 6. Преимущества и недостатки использования данного подхода в разработке САПР трубопроводов При разработке САПР трубопроводов планируется использовать JavaScript API для разработки гибкого удобного интерфейса, т.к. палитры AutoCad при помощи этого нововведения поддерживают HTML5 разметку со стилями[10], которая является очень удобным инструментом для проектирования и реализации пользовательского интерфейса и последующей связи его с командами AutoCAD через ObjectARX. Данный подход обеспечит высокую скорость работы алгоритмов с объектами сцены, т.к. язык C++ и JavaScript оптимизированы достаточно хорошо, а также позволит системе быть переносимой, расширяемой и совместимой с другими решениями на этой платформе. Вывод В данной статье были описаны основные принципы, состав и структура систем автоматизированного проектирования, а также проанализированы существующие программные продукты и определена стратегия разработки оптимального комплекса методов построения CAD-системы САПР трубопроводов. По предварительным оценкам возможностей технологий ObjectARX SDK, JavaScript API, их преимуществ и недостатков, а также самого ядра платформы AutoCAD, расширением к которому будет являться данная система, можно сказать, что данная разработка будет востребованной, актуальной и современной. Литература Программы T-FLEX — комплексная автоматизация в современных условиях [Электронный ресурс] Режим доступа: http://www.tflex.ru/about/publications/detail/index.php?ID=1187. 2. Понятие САПР [Электронный ресурс] - Режим доступа: http://life-prog.ru/1_10018_ponyatie-sapr.html 3. Промышленные САПР [Электронный ресурс] - Режим доступа: http://www.studfiles.ru/preview/987763/. 4. Анализ CAD/CAM/CAE систем [Электронный ресурс] Режим доступа: http://icvt.tubryansk.ru/index.php?option=com_content&view=article&id=46:-cadcamcae-&catid=11:-5-&Itemid=31 5. ADEM – система автоматизации конструкторско-технологической подготовки производства [Электронный ресурс]: http://pro-spo.ru/-cad-cam-windows/789-adem. 6. AutoCAD [Электронный ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/AutoCAD. 7. Разработка приложений для AutoCAD [Электронный ресурс] Режим доступа: http://www.autodesk.ru/adsk/servlet/index%3Fid%3D22740301%26siteID%3D871736. 8. Getting Started with JavaScript API on AutoCAD 2014 [Электронный ресурс] - Режим доступа: http://adndevblog.typepad.com/autocad/2013/04/getting-started-with-javascript-api-on-autocad-2014.html 9. AutoCAD 2014 для разработчиков [Электронный ресурс] - Режим доступа: http://adn-cis.org/autocad-2014dlya-razrabotchikov.html. 10. Connect AutoCAD to the Web with HTML5 and JavaScript [Электронный ресурс] - Режим доступа: http://au.autodesk.com/au-online/classes-on-demand/class-catalog/2014/autocad/sd5009. 1. Zimonin I.О., Grigoriev A.V. Researching methods for developing graphical editors in the example of Pipeline’s CAD-systems. Fundamentals and principles of development. The composition and structure. Analysis of existing CAD systems. ObjectARX SDK and JavaScript API description. Advantages and disadvantages of using this approach in the development of CAD pipelines. Keywords: article, CAD, ObjectARX, JavaScript, graphics, pipelines. 133 УДК 004.5 Анализ назначения и функциональных возможностей современных роботов Коваленко Г.Р. Григорьев А. В. Донецкий национально технический университет kovalenkohd@gmail.com Коваленко Г.Р., Григорьев А.В. Анализ функциональных возможностей современных роботов. В статье представлены промежуточные результаты анализа современных методик проектирования роботов различного назначения. Для чего выполнено исследование темы роботостроения, исходя из различных источников. Для чего: рассмотрена существующая классификация, основные компоненты, типы, способы перемещения роботов; проанализированы существующие системы управления роботами; рассмотрены средства и методы работы с роботами в системах автоматизированного проектирования. Ключевые слова: робот, классификация, САПР, системы управления, типы. Введение Актуальность работы: Роботы – это часть нашей жизни, каждый день мы пользуемся ими. С развитием науки, роботы все больше заменяют человека. Робот - автоматическое устройство, созданное по принципу живого организма, предназначенное для осуществления производственных и других операций, которое действует по заранее заложенной программе и получает информацию о внешнем мире от датчиков, робот самостоятельно осуществляет производственные и иные операции, обычно выполняемые человеком. При этом робот может как иметь связь с оператором (получать от него команды), так и действовать автономно. Внешний вид и конструкция современных роботов могут быть весьма разнообразными. Слово «робот» было придумано чешским писателем Карелом Чапеком и его братом Йозефом [1]. Цель работы: Исследовать тему роботостроения, исходя из различных источников. Для чего: - Рассмотреть существующую классификацию, основные компоненты, типы, способы перемещения роботов; - Проанализировать существующие системы управления роботами; - Рассмотреть средства и методы работы с роботами в системах автоматизированного проектирования. 1. Классификация роботов Роботы делятся на два класса — манипуляционные и мобильные роботы. 1) Манипуляционный робот – это машина, установленная на подвижном или не подвижном основании (см. рис. 1). Она состоит из: 1) основания, 2) манипулятора, 3) рабочего органа, 4) устройства программного управления [2]. Рисунок 1 - Манипуляционные роботы 134 Представим человекоподобного робота, который сидит на стуле и закручивает болты одной рукой. Основание такого робота — туловище. На нем закреплены все остальные части робота. Оно выполняет функцию удержания всей системы. Манипулятором служит часть руки от плеча до запястья. Она ориентирует и перемещает рабочий орган в пространстве. В нашем примере это переход от одного винта к другому. Рабочим органом служит часть руки от запястья до кончиков пальцев. Она выполняет требуемую операцию — закручивание болтов с помощью ключа. Устройством программного управления служит мозг. Там происходят все операции, связанные с перемещением манипулятора, движением рабочего органа, определением координат и сил, необходимых для решения поставленной задачи. Если после выполнения задачи робот встанет и перейдет в другое место, то можно будет сказать, что он выполнен на подвижном основании. 2) Мобильный робот — автоматическая машина, в которой имеется движущееся шасси с автоматически управляемыми приводами (см. рис. 2). Такие роботы могут быть колёсными, шагающими и гусеничными (существуют также ползающие, плавающие и летающие мобильные робототехнические системы) [2]. Рисунок 2 - Интеллектуальный мобильный робот 2. Основные компоненты роботов Приводы: это «мышцы» роботов. В настоящее время самыми популярными двигателями в приводах являются электрические, но применяются и другие, использующие химические вещества или сжатый воздух [2]. Варианты приводов: 1) Электрические двигатели: 1.1) Двигатели постоянного тока: Самый мощный двигатель, можно использовать практически в любом типе робота. Рисунок 3 – Пример двигателя постоянного тока 1.2) Серводвигатели: Используется в роботах с весом менее 2,5 кг. и в типах роботов с ногами. 135 Рисунок 4 – Пример серво - двигателя 1.3) Шаговые электродвигатели: Как можно предположить из названия, шаговые электродвигатели не вращаются свободно, подобно двигателям постоянного тока. Они поворачиваются пошагово на определённый угол под управлением контроллера. Это позволяет обойтись без датчика положения, так как угол, на который был сделан поворот, заведомо известен контроллеру; Пожалуй самые слабые, используются в небольших и легких роботах. Рисунок 5 – Шаговый двигатель 2) Пьезодвигатели: Современной альтернативой двигателям постоянного тока являются пьезодвигатели, также известные как ультразвуковые двигатели. Принцип их работы весьма оригинален: крошечные пьезоэлектрические ножки, вибрирующие с частотой более 1000 раз в секунду, заставляют мотор двигаться по окружности или прямой. Преимуществами подобных двигателей являются высокое нанометрическое разрешение, скорость и мощность, несоизмеримая с их размерами. Пьезодвигатели уже доступны на коммерческой основе и также применяются на некоторых роботах. Рисунок 6 - Пьезодвигатель 3) Воздушные мышцы: Воздушные мышцы — простое, но мощное устройство для обеспечения силы тяги. При накачивании сжатым воздухом мышцы способны сокращаться до 40 % от своей длины. Причиной такого поведения является плетение, видимое с внешней стороны, которое заставляет мышцы быть или длинными и тонкими, или короткими и толстыми. Рисунок 7 – Воздушные мышцы роботов 136 4) Электроактивные полимеры: Электроактивные полимеры — это вид пластмасс, который изменяет форму в ответ на электрическую стимуляцию. Они могут быть сконструированы таким образом, что могут гнуться, растягиваться или сокращаться. 5) Эластичные нанотрубки: Это — многообещающая экспериментальная технология, находящаяся на ранней стадии разработки. Отсутствие дефектов в нанотрубках позволяет волокну эластично деформироваться на несколько процентов. Человеческий бицепс может быть заменён проводом из такого материала диаметром 8 мм. Подобные компактные «мышцы» могут помочь роботам в будущем обгонять и перепрыгивать человека. Рисунок 8 – Эластичная нано-трубка 3. Способы перемещения роботов [2] Имеются следующие способы перемещения роботов: 1) Колёсные и гусеничные роботы: Наиболее распространёнными роботами данного класса являются четырёхколёсные и гусеничные роботы. Создаются также роботы, имеющие другое число колёс — два или одно. Такого рода решения позволяют упростить конструкцию робота, а также придать роботу возможность работать в пространствах, где четырёхколёсная конструкция оказывается неработоспособна. Рисунок 9 – Гусеничный робот 2) Шагающие роботы Рисунок 10 – Шагающий робот 3) Прыгающие роботы 137 Рисунок 11 – Робот - кенгуру В 1980-х годах профессором Марком Рейбертом Массачусетского технологического института был разработан робот, способный сохранять равновесие посредством прыжков, используя только одну ногу. Движения робота напоминают движения человека на тренажёре. Впоследствии алгоритм был расширен на механизмы, использующие две и четыре ноги. Подобные роботы продемонстрировали способности к бегу и способность выполнять сальто. Роботы, перемещающиеся на четырёх конечностях, продемонстрировали бег, перемещение рысью, скачками. Адаптивные алгоритмы поддержания равновесия. В основном базируются на расчете отклонений мгновенного положения центра масс робота от статически устойчивого положения или некоей наперед заданной траектории его движения. В частности. 4) Летающие роботы. Большинство современных самолётов являются летающими роботами, управляемыми пилотами. Автопилот способен контролировать полёт на всех стадиях — включая взлёт и посадку Рисунок 12 – Робот - летун 5) Ползающие роботы. Существует ряд разработок роботов, перемещающихся подобно змеям, червям, слизням. Предполагается, что подобный способ перемещения может придать им возможность перемещаться в узких пространствах; в частности, предполагается использовать подобных роботов для поиска людей под обломками рухнувших зданий. Рисунок 13 – Ползающий робот 6) Плавающие роботы. Существует много разработок роботов, которые перемещаются в воде, подражая движениям рыб. По некоторым подсчётам, эффективность подобного движения может на 80 % 138 превосходить эффективность движения с использованием гребного винта. Кроме того, подобные конструкции производят меньше шума, а также отличаются повышенной манёвренностью. Рисунок 14 – Пример плавающего робота 4. Анализ систем управления роботами [2] По типу управления робототехнические системы подразделяются на: 1) Биотехнические: 1.1) командные - кнопочное и рычажное управление отдельными звеньями робота; 1.2) копирующие - повтор движения человека, возможна реализация обратной связи, передающей прилагаемое усилие; 1.3) полуавтоматические - управление одним командным органом, например, рукояткой всей кинематической схемой робота; 2) Автоматические: 2.1) программные - функционируют по заранее заданной программе, в основном предназначены для решения однообразных задач в неизменных условиях окружения; 2.2) адаптивные - решают типовые задачи, но адаптируются под условия функционирования; 2.3) интеллектуальные - наиболее развитые автоматические системы; 3) Интерактивные: 3.1) автоматизированные - возможно чередование автоматических и биотехнических режимов; 3.2) супервизорные - автоматические системы, в которых человек выполняет только целеуказательные функции; 3.3) диалоговые - робот участвует в диалоге с человеком по выбору стратегии поведения, при этом как правило робот оснащается экспертной системой, способной прогнозировать результаты манипуляций и дающей советы по выбору цели. 5. Функциональное назначение роботов Типы роботов по отношению к моделированию человека [1]: 1) Андроид (человекообразный робот); Рисунок 15 – Пример робота-андроида 139 2) Биоробот — человек или животное, у которого вместо мозга вставлен имплантат (процессор), всё остальное тело — органическое. В зависимости от функционального назначения, выделяют следующие типы роботов: 1) Промышленный робот. В промышленности роботы заменяют людей, на больших заводах с помощью роботов работает 15-20 человек, остальное все делают роботы. Роботы выполняют сложные производственные операции по 24 часа в сутки и не устают, что свойственно для человека. Выпускаемая роботами продукция имеет высокое качество, роботы не болеют, не нуждаются в обеденном перерыве и отдыхе. Роботы не бастуют, не требуют повышения заработной платы и пенсии. Роботы не подвержены воздействиям окружающей среды, опасных для жизни человека Рисунок 16 – Промышленный робот 2) Транспортный робот - автоматическая машина, представляющая собой совокупность манипулятора, перепрограммируемого устройства управления и ходового устройства. Рисунок 17 – Транспортный робот 3) Подводный робот – небольшой робот или устройство, используемое для выполнения разнообразных задач под водой и на морском дне. Работает автономно, преимущество в том что робот или устройство может опускаться на те глубины, которые человеку или подводной лотки опасны. Рисунок 18 - Манипуляционные роботы 140 4) Бытовой робот. Одним из первых бытовых роботов была «собачка», также выпускают человекоподобных роботов, которые способны дать справку, следить за помещением, узнавать лица, понимать некоторые фразы. Также популярны роботы-уборщики, к примеру робот пылесос, который автоматически убирает мусор и следит за чистотой и самостоятельно подзаряжается. Рисунок 19 – Бытовой робот - уборщик 5) Боевой робот. Боевые роботы используют в разведке, разминировании, в боевых действиях (авиационные беспилотные с дистанционным управлением, подводные аппараты и надводные корабли) Рисунок 20 - Манипуляционные роботы 6) Робот-хирург. В медицине используют также роботов, больше всего создают хирургических роботов. Роботы – помощники хирургов, неуклонно расширяют свое присутствие в больницах Рисунок 21 – Современный робот-хирург 141 7) Аптечный робот. Аптечных роботов используют в аптеках, они помогают хранить и доставка необходимых медицинских препаратов на рабочее место провизора. Медицинские центры по всему миру все чаще и чаще прибегают к помощи аптечных роботов. Рисунок 22 – Робот для аптечных нужд 8) Микроробот. Микроботы - это область микроробототехники, в частности проектирование мобильных роботов с характерными размерами менее 1 мм. Это название также может быть использовано для роботов, способных к работе с компонентами размером в микрометры [19]. Рисунок 23 – Микроробот - комар 9) Наноробот. Нанороботы, или наноботы — роботы, размером сопоставимые с молекулой (менее 100 нм), обладающие функциями движения, обработки и передачи информации, исполнения программ. Нанороботы, способные к созданию своих копий, то есть самовоспроизводству, называются репликаторами [18]. Рисунок 24 – Наноробот 142 10) Персональный робот. Персональный робот — тип роботов, которые в отличие от промышленных роботов будут компактны, недороги и просты в использовании. Прямая аналогия с понятием персональный компьютер [17]. Рисунок 25 – Робот - партнер 11) Робот-артист. Рисунок 26 – Робот - художник 12) Робот-игрушка. Рисунок 27 – Робот - игрушка 13) Робот-официант. Бортовая интеллектуальная система управления робота позволяет ему безошибочно ориентироваться в помещении и находить маршрут из одной точки в другую. Обучение робота производится единожды путем проведения его по маршруту в ручном режиме. База знаний может быть переписана с одного робота на другого [6]. 143 Рисунок 28 – Робот - официант 14) Робот-программа. Робот, или бот, а также интернет-бот, www-бот и т. п. — специальная программа, выполняющая автоматически и/или по заданному расписанию какие-либо действия через те же интерфейсы, что и обычный пользователь. При обсуждении компьютерных программ термин употребляется в основном в применении к Интернету [16]. 15) Робот-экскурсовод. При помощи двухколёсного привода, роботы ростом 120 см и массой 60 кг могут развивать скорость до 20 м/мин. Для точной навигации внутри музея, робот оборудован 12-ю ультразвуковыми датчиками, 12-ми датчиками давления, гироскопом, системой космической навигации GPS. Без подзарядки батарей робот может работать 6 часов. Функция роботов – проводить посетителей музея по постоянному экскурсионному маршруту (как это обычно делают гиды). А также принимать участие в проводимых в музее тематических робот-классах [7]. Рисунок 29 – Робот – экскурсовод 16) Социальный робот. Социальный робот — робот, способный в автономном или полуавтономном режиме взаимодействовать и общаться с людьми в общественных местах или дома. Это роботы: няни и сиделки (Wakamura, RIBA, PaPeRo, Hubo), дворецкие (Pepper, Cubic), роботы телеприсутствия (Romo,Double, Даша, R.Bot, Webot, Promobot), роботы-учителя (андроид Пушкин) и помощники для детей с аутизмом (Nao) и т. д. 15]. Wakamura amura Рисунок 30 – Социальный робот 144 17) Шаробот. Шаробот — подвижный робот, использующий для передвижения единственное сферическое колесо (т.е. шар), и постоянно самобалансирующий на нём как в движении, так и в покое. Благодаря единственной точке контакта с поверхностью, шаробот одинаково легко передвигается во всех направлениях, являясь чрезвычайно подвижным, манёвренным, и естественным в движениях, по сравнению с обычным наземным транспортом [8]. Рисунок 31 – Подвижный шаро-робот 18) Роботы для обеспечения безопасности. Активно используют роботов в полиции, спасательных операциях, в пожаротушении. В штате Калифорния заступили на стражу правопорядка автономные роботы-полицейские. Роботы патрулируют торговые центры и другие общественные места. Они пока не могут самостоятельно предотвращать преступления или задерживать преступников, зато без устали слоняются по заданному периметру и могут заснять попытку совершения преступления или опознать подозрительную активность [9]. Рисунок 32 – Робот - полицейский 19) Роботы-ученые. Ученые-роботы наравне с учеными-людьми будут вскоре работать над поиском новых научных знаний. Об этом независимо друг от друга утверждают профессор Ход Липсон из Корнельского университета США и профессор Росс Кинг из Университета Уэльса В частности, Липсон в своей статье сообщил, что робот сумел вывести основные законы механики на основании наблюдений за движением маятников. В свою очередь, Кинг описал робота, самостоятельно организовавшего, осуществившего и проанализировавшего эксперимент по поиску генов, кодирующих ферменты пекарных дрожжей. Липсон надеется, что продемонстрированная ими способность машин находить взаимосвязи между различными типами переменных в огромных массивах данных, получаемых с помощью современного научного оборудования, может быть использована для поиска универсальных закономерностей в биологических системах, изучение которых «вручную» чрезвычайно сложно. Робот, получивший имя «Адам», сумел сформулировать 20 гипотез о причастности тех или иных генов к кодированию 13 ферментов, и получить данные, говорящие том, что 12 из 20 гипотез могут быть справедливыми. Группа Кинга надеется в будущем, опираясь на прототип «Адам» создать нового робота, имя которому ученые уже придумали – «Ева». «Ева», по замыслу создателей, будет еще более мощным техническим средством, способным существенно облегчить рутинную работу многих ученых по поиску новых лекарственных средств [14]. 145 Также роботов-ученых используют в исследовании местности в научных целях где проходимость для человека невозможна(вентиляционных шахт). Рисунок 33 – Ученый - робот 20) Роботы-учителя. Роботы-учителя будут давать теоретические и практические знания. Начало учебного года. Вместе с детьми в школу идут роботы, но не в качестве учеников, а в качестве учителей. С развитием робототехники все более актуальным становится внедрение машин в систему общего образования. Так в школе Гарлема PS 76 робот Nao французского происхождения помогает студентам развивать математические способности. Машина способна распознавать разные языки и воспроизводить речь. Сидя на письменном столе, Nao не решает задачи, а дает подсказки, которые помогают студентам находить правильные решения [10]. Рисунок 34 – Робот - преподаватель 6. Роботы в системах автоматизированного проектирования Комбинация Mastercam и Robotmaster Что такое Mastercam ? CAM-система Mastercam предназначена для создания управляющих программ для станков с ЧПУ (Числовое программное управление)фрезерной, токарной, токарно-фрезерной, электроэрозионной групп, а также для деревообрабатывающего оборудования [12]. Robotmaster: С помощью Robotmaster производители могут программировать роботизированные ячейки быстро и эффективно, используя проверенные мировой индустрией CAD/CAM-технологии Mastercam. Необходимость в инновационных технологиях, повышение требований к гибкости производства – вот факторы, которые помогают роботам стремительно заменять собою такие привычные в цехах средства, как фрезерные станки с ЧПУ. Сегодня роботы, когда-то выполнявшие примитивные операции типа «возьми и положи», сильно продвинулись в своих возможностях, улучшили свои характеристики точности и жесткости, и их всё чаще применяют для задач, связанных с удалением материала. Присущая решениям на базе роботов гибкость 146 позволяет производить изделия быстрее, с более высоким качеством и с меньшими затратами – то есть, повышается конкурентоспособность предприятий [11]. Robotmaster позволяет эффективно объединить 3D-моделирование, создание точных траекторий на основе 3D-модели и генерацию УП непосредственно из среды Mastercam. Мультипрограммный подход обычных офлайн-средств для программирования роботов подразумевает использование разного ПО: одного – для подготовки траекторий инструмента, другого – для того, чтобы преобразовать эти траектории в соответствующие положение суставов робота, третьего – чтобы симулировать движения манипулятора и проверить их правильность [11]. Интегрированное решение обеспечивает: – быстрое создание траекторий, их проверку и генерацию УП; – простоту и удобство при внесении изменений. В среду Robotmaster встроен постпроцессор, который обеспечивает: – выпуск УП в соответствии с синтаксисом, который понимает конкретный робот – автоматическую проверку траектории на коллизии перед генерацией УП – автоматическое разбиение УП на подпрограммы, если её объем превышает максимально допустимое значение [11]. В среде Mastercam с помощью мощных средств подготовки траекторий создается последовательностьтехнологических операций обработки. При этом технолог использует привычную методику и приемы, зарекомендовавшие себя в деле программирования станков с ЧПУ. Когда операции обработки подготовлены, технолог активизирует функции Robotmaster для того, чтобы выбрать конкретный вариант исполнения роботизированной ячейки и навесной агрегат, а затем указать ряд специфичных параметров. После этого выполняется симуляция и проверка движений на виртуальной ячейке. При необходимости можно провести оптимизацию или тонкую отладку параметров. Когда все операции обработки отлажены, осуществляется выпуск УП [13]. Вывод: То есть данная система выполняет три функции: CAD/CAM/CAE. Рисунок 35 – Среда программирования роботов 7. Языки программирования роботов Используют такие языки программирования: Arduino — торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Ассемблер (assembler) — транслятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке. А также языки , С++, С#, java и т. д. Выводы Роботы чаще всего заменяют людей в выполнении нудной и однообразной работы. Еще несколько лет назад роботы казались для нас чем то невероятным, а уже сейчас роботы заменяют человека почти во всем: в промышленности, медицине, социальной жизни человека и т. д. Основная роль робота - это облегчить жизнь человека, сделать её более комфортной, улучшить условия труда, высвободить рабочие руки ,увеличить производительность. В статье представлены промежуточные результаты анализа современных методик проектирования роботов различного назначения. Для чего выполнено исследование темы роботостроения, исходя из различных источников. Для чего: рассмотрена существующая классификация, основные компоненты, типы, способы 147 перемещения роботов; проанализированы существующие системы управления роботами; рассмотрены средства и методы работы с роботами в системах автоматизированного проектирования. Перспективы работы состоят в выявлении и классификации методик проектирования роботов. Литература 1. https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%BE%D1%82. 2. https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%BE%D1%82%D0%BE%D1%82.%D0%B5 %D1%85%D0%BD%D0%B8%D0%BA%D0%B0. 3. http://www.yaplakal.com/forum2/topic199210.html. 4. http://robot-develop.org/archives/1590. 5. https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE.%D1%80 %D1%82%Dhttp://pixanews.com/auto/ropits-transportnyj-robot-ot-hitachi.html. 6. http://robin.dynsoft.ru. 7. http://roboting.ru/1639-robot-ekskursovod-v-koree.html. 8. https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%80%D0%BE%D0%B1%D0%BE%D1%82. 9. https://geektimes.ru/post/276158/ . 10. http://hi-news.ru/technology/5-robotov-kotorye-uzhe-rabotayut-v-shkolax.html. 11. http://www.mastercam-russia.ru/robotmaster_doc_131.html. 12. http://machinery.ascon.ru/software/developers/items/?prpid=1188. 13. http://www.mastercam-russia.ru/robotmaster_doc_130.html. 14. https://focus.ua/society/38083/. 15. https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD %D1%8B%D0%B9_%D1%80%D0%BE%D0%B1%D0%BE%D1%82. 16. https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%BE%D1%82_(%D0%BF%D1%80%D0%B E%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0). 17. https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB %D1%8C%D0%BD%D1%8B%D0%B9_%D1%80%D0%BE%D0%B1%D0%BE%D1%82. 18. https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%BD%D0%BE%D1%80%D0%BE%D0%B1%D0%BE %D1%82. 19. https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%80%D0%BE%D0%B1 %D0%BE%D1%82. Коваленко Г.Р., Григорьев А.В. Анализ функциональных возможностей современных роботов. В статье представлены промежуточные результаты анализа современных методик проектирования роботов различного назначения. Для чего выполнено исследование темы роботостроения, исходя из различных источников. Для чего: рассмотрена существующая классификация, основные компоненты, типы, способы перемещения роботов; проанализированы существующие системы управления роботами; рассмотрены средства и методы работы с роботами в системах автоматизированного проектирования. Ключевые слова: робот, классификация, САПР, системы управления, типы. Kovalenko G.R., Grigoryev A.V. Analysis of the functional capabilities of modern robots. The article presents the interim results of the analysis of modern methods of designing robots for various purposes. What used to study the topics of robotics, according to different sources. Why: The existing classification of the main components, types, ways of moving robots; analyzed the existing robot control system; discussed ways and means of working with robots in computer-aided design systems. Keywords: robot, classification, CAD, control systems, types. 148 УДК 002.53:004.89 Перспективы интеграции технологии коллективного семантического поиска и формата rdf Д.Ю. Кравченко, А.А. Новиков, В.А. Козачков Федеральное государственное автономное образовательное учреждение высшего образования «Южный федеральный университет» kravchenkodanil122@gmail.com Кравченко Д.Ю., Новиков А.А., Козачков В.А. Перспективы интеграции технологии коллективного семантического поиска и формата rdf. В статье рассмотрены основы модели RDF, свойства, практические примеры, основы работы технологии коллективного семантического поиска и перспективы интеграции CSS и RDF . Актуальность данной темы обусловлена возрастающим интересом к данной технологии и применением её в большинстве приложений. Модель RDF позволяет значительно упростить поиск нужных материалов в Интернете и передачу данных между пользователями. Данная модель реализуется в базах данных, поисковых системах и социальных сетях. Технология CSS выполняет семантические поиски разрозненных источников данных. Данная технология реализуется в семантических сетях и онтологиях. Ключевые слова: Семантический поиск, поисковый запрос, графы, базы данных, интернет. Введение С момента появления интернета и первых поисковых систем прошло много времени и в данный момент мы имеем огромную сеть с неограниченным потоком данных. Эти данные хранятся в различных моделях и форматах и доступ к ним можно получить с помощью обычного поискового запроса. Проблема заключается в том, что поисковый запрос не всегда выдаёт нужный результат и уже довольно долго идёт разработка новых технологий для улучшения качества поисковых запросов. Одной из таких технологий является формат данных RDF, который упрощает поисковые запросы с помощью специальных описаний и словарей. Также в статье рассматривается технология коллективного семантического поиска (CSS), способная поддерживать возможность документировать и разделять цели поиска и результаты, и её перспективы интеграции с форматом данных RDF. Основные понятия RDF RDF или resource description framework (“среда описания ресурса”) – формат данных для представления информации во всемирной паутине. Ресурсом в RDF может быть любая сущность – информационная (изображение или веб-сайт) или неинформационная (человек, машина, город и т.д.). Утверждение, которое высказывается о ресурсе, имеет вид «субъект-предикат-объект» или «подлежащее-дополнение-сказуемое» и называется триплетом (рис.1). В качестве примера можно привести фразу «небо голубого цвета», где субъект «небо», предикат - «имеет цвет», объект – «голубой». Для обозначения субъектов, объектов и отношений в RDF используются универсальные идентификаторы ресурсов URI. Предикат Объект Субъект Рисунок 1 - Триплет RDF Множество подобных утверждений образует ориентированный граф, в котором субъекты и объекты являются вершинами, а рёбра отображают отношения. RDF сам по себе является лишь абстрактной моделью данных, которая описывает структуру, способы обработки и интерпретации данных. Для хранения и передачи информации, находящейся в модели RDF, существует целый ряд форматов записи, таких как: 1) RDF/XML – запись в виде XML-документа; 2) RDF/JSON – запись в виде JSON-данных; 3) RDF in attributes (RDFa) – запись внутри атрибутов; 4) N-Triples, Turtle, N3 – компактные формы записи утверждений. 149 Для хранения RDF-данных используются два основных вида хранилищ: специализированные (native, «родные») и не специализированные. Специализированные хранилища позволяют достичь большей степени оптимизации, но более трудоёмки в проектировании, так как строятся специально для работы с RDF. Остальные хранилища более просты в проектировании, но менее оптимизированы под работу с RDF. К основным специализированным хранилищам, пригодным для производственного использования, относятся: 1)решения от Oracle; 2)сервер приложений Virtuoso; 3)4Store; 4)Stardog; 5)GraphDB; 6)Allegrograph. При использовании данной модели можно получить: 1)Логический вывод новых фактов 2)Обеспечения семантического поиска 3)Гибкость модели данных 4)Экстремальная легкость обмена данными между системами Основной смысл данной модели заключается в том, что модель RDF обеспечивает формальные описание, с помощью которых поисковый агент может искать факты и знания. На этих формальных описаниях основывается семантический поиск, который отличается возможностью находить нужные пользователю данные благодаря точному описанию, пропуская при этом данные имеющие словосочетания, содержащиеся в запросе пользователя. Также для выражения семантики требуются словари, таксономии и онтологии и наличие в рассматриваемом графе связей с ними. Так как модель RDF строится на триплетах, она является более гибкой и легкой для изменений. В неё легко можно добавлять новые сущности, действия и утверждения, так как вся модель устроена достаточно просто. Есть два взаимодополняющих способа рассматривать информацию, представленную в RDF. Первый способ – считать её набором утверждений. Второй способ – считать её графом (рис.2). Граф имеет сильное сходство с сетью. Граф состоит из узлов, соединённых рёбрами. Например, в Интернете узлы- это компьютеры, а рёбра – соединяющие их сетевые шнуры. В RDF узлы - это имена(но не сами сущности), а рёбра – утверждения. Например: Рисунок 2 - Представление модели RDF в виде графа Здесь каждая стрелка (ребро) – это RDF –утверждение: имя у начала стрелки – это субъект, имя у конца стрелки- объект, и имя у самой стрелки – предикат. Когда RDF представлен в виде графа, он содержит всю ту же информацию, что и выписанный в виде триплетов, но графическое представление позволяет легче увидеть структуру описываемых данных. Пример использования и применения RDF В данный момент RDF используется при оформлении баз знаний или представлении их данных в рамках различных проектов. Поисковые системы предлагают веб-мастерам использовать RDF и аналогичные языки разметки страниц для повышения информативности ссылки на их сайт в результатах поиска. Социальные сети предлагают веб-мастерам использовать RDF для описания свойств страниц, так же позволяющих красиво оформить ссылку на неё в записи пользователя социальной сети. Формат RDF широко используется для краткого представления перечня новых записей на периодически пополняющихся сайтах. В формате RDF представляют данные для анализа и интеграции в информационных системах предприятий, что даёт возможность исследовать их с помощью SPARQL, а при опоре на отраслевой стандарт, позволяет унифицировано обмениваться данными различных предприятий на уровне отрасли. 150 RDF это технология, которая лучше всего подходит для сведения распределенной информации в общую систему. Рассмотрим пример: есть база данных о продуктах различных поставщиков и оценках этих продуктов различными экспертами. Взять на себя ответственность за поддержание общей центральной базы данных крайне не выгодно, так как эта база содержала бы информацию о конкурентах, и возможно, отрицательные оценки собственной продукции. Также будет происходить нехватка ресурсов у экспертов для постоянного поддержания в общей базе данных актуальной информации. RDF отлично подходит для решения данной задачи. Каждый поставщик и каждый эксперт размещают на собственно веб-сервере RDF-файл (рис.3). Поставщики выбирают для своих продуктов URI, и эксперты используют эти URI, когда публикуют свои оценки. Тогда поставщики не вынуждены выбирать общую схему наименования для своих продуктов, и эксперты не привязаны к форматам данных, выбранным поставщиками. RDF позволяет и поставщикам, и экспертам использовать те инструменты, которые им удобнее, и никто не заставляет никого пользоваться каким-то определенным языком. Рисунок 3 - Вид RDF-файлов, которыми обмениваются поставщики и эксперты Вопрос с обменом этими файлами оставим в стороне, это отдельная тема. Как только приложение получает эти файлы, у него появляется достаточно информации, чтобы соотнести продукты, цены, оценки и шифры изделий. Этот пример показывает, насколько гибок RDF: данная модель не накладывает никаких ограничений и всё же позволяет приложениям моментально соотносить распределённую информацию. В данной модели поставщикам и экспертам не приходилось идти на компромиссы: они договорились использовать RDF, и всё. Также , в плане взаимной совместимости, можно выделить тот момент, что не было целенаправленного вырабатывания общего формата, необходимо всего лишь использовать триплеты, которые использовались изначально. Эффективность применения формата данных RDF при обработке нерегламентированных поисковых запросов может быть повышена за счет интеграции с технологиями коллективного семантического поиска (collaborative semantic search). Это обусловлено дополнительными возможностями, такими как: 1) создание и разделение поисковых задач; 2) заполнение поисковой задачи; 3) просмотр связанных поисковых задач. Использование CSS для семантического поиска Приложение CSS технологий - сетевое поисковое приложение предприятия, построенное на Lucene.Net. CSS выполняет предназначенные семантические поиски разрозненных источников данных, используя различные типы вводов данных пользователем и/или определенных пользователями онтологий. Технология CSS применяет основанный на онтологии анализ текста и методы обработки естественного языка в извлечении знания из структурированных и неструктурированных текстовых источников. Технология CSS отличается от большинства поисковых систем двумя ключевыми способами: 1) Поддержка как структурированных, так и неструктурированных данных: Как правило, предприятия имеют доступ и к неструктурированным данным в файловой системе, и к структурированным данным в базах данных. CSS может обрабатывать оба типа данных, тем самым осуществляя поиск в различных источниках данных. Применение может внести в указатель и искать, напротив, текстовое содержание SQL сервера и баз данных Oracle® в дополнение к документам в файловой системе. 2) Поддержка сложных входных типов: CSS принимает целый ряд различных типов пользовательского ввода вне основных ключевых слов. Чем больший ввод пользователь предоставляет, тем более точным является процесс формулирования запросов и, следовательно, более смысловое содержание может быть извлечено строителем запроса. Это приводит к результатам поиска, которые соответствуют задаче поиска пользователя более точно. Различные типы ввода, поддерживаемые приложением CSS, показаны на рисунке 2 и включают в себя: 151 1) Ключевые слова: Как все поисковые системы, CSS позволяет пользователю непосредственно вводить отдельные условия, которые он ищет. Пользователь также имеет возможность присвоения веса для каждого термина, а также может указать, имеются ли термины "должен", "следует", или "не должен" в выходных данных. Пользователь также имеет возможность указать точное соответствие фразы. 2) Пример текста: Пользователь может также предоставить пример текста, который обсуждает на естественном языке, понятия о том, что пользователь ищет. Этот текст может быть столь же коротким как единственное предложение или как весь документ или весь каталог документов. Пример текста анализируется построителем запросов, который генерирует взвешенный список важных символов для поиска. 3) Онтологии: Онтология захватывает важные понятия и отношения, относящиеся к области поиска задачи пользователя. При применении технологии CSS, пользователь может улучшить процесс поиска с использованием онтологий, которые идентифицируют термины, представляющие особый интерес в рамках домена. Модели онтологии часто предоставляют информацию, которая связывает контекст с определенным поиском и может использоваться, чтобы снять неоднозначность условий и обеспечить базовое знание, которое могло бы помочь в интерпретации содержания. Например, термин "запуск" будет иметь различное значение у музыкального руководителя, астронома и веб-предпринимателя. Использование модели онтологии для оказания помощи поиска влияет как на содержание, так и на взвешивание списка терминов, произведенной построителем запросов. 4) Сокращенные Списки и Словари: Наконец, пользователь может поставить набор сокращенного списков и/или глоссариев, чтобы увеличить поиск. Оба этих входа предоставляют дополнительную информацию об определенных важных условиях, которые могут появиться во входах поиска или в выходных данных. Построитель запросов использует эту информацию, чтобы увеличить веса и содержание термина списка, который он генерирует. Заключение Дальнейшие перспективы данной интеграции зависят от повышения эффективности и улучшения оптимизации данных технологий. Более 10 лет концепция Semantic Web, частью который является RDF, развивается, является предметом споров и обсуждений, и сегодня ее все активнее поддерживает сообщество в своих приложениях, так как с помощью RDF можно серьёзно упростить передачу данных и работу поисковых запросов в Интернете. Литература 1. Joshua Tauberer. «What is RDF and what is good for?», 2008. 2. W3C Recommendation. «SPARQL Query Language for RDF»,2008. 3. https://habrahabr.ru/post/94707/ 4. Toby Segaran, Colin Evans, Jamie Taylor. Programming the Semantic Web. — O’Reilly Media, 2009. 5. John Hamilton, Belita Gopal, Perakath Benjamin Enabling Technology for Collaborative Semantic Search Д.Ю. Кравченко, Новиков А.А., Козачков В.А. Перспективы интеграции технологии коллективного семантического поиска и формата rdf. В статье рассмотрены основы модели RDF, свойства, практические примеры, основы работы технологии коллективного семантического поиска и перспективы интеграции CSS и RDF . Актуальность темы обусловлена возрастающим интересом к данной технологии и применением её в большинстве приложений. Модель RDF позволяет значительно упростить поиск нужных материалов в Интернете и передачу данных между пользователями. Данная модель реализуется в базах данных, поисковых системах и социальных сетях. Технология CSS выполняет семантические поиски разрозненных источников данных. Технология реализуется в семантических сетях и онтологиях. Ключевые слова: Семантический поиск, поисковый запрос, графы, базы данных, интернет. Kravchenko D.Y, Novikov A.A, Kozachkov V. A.Prospects for integration technology collaborative semantic search (css) and rdfThe article describes the basics of RDF models, properties, practical examples, the basics of collective semantic search technology and prospects CSS and RDF integration. The relevance of this topic is due to the growing interest in this technology and applying it in most applications. The RDF model can significantly simplify the search for the right materials in the Internet and data transmission between users. This model is implemented in the databases, search engines and social networks. CSS technology performs semantic searching disparate data sources. This technology is implemented in semantic networks and ontologies. Keywords: Semantic search, search query, graphs, databases, Internet. 152 УДК 681.3.06:658.51.011.5 Гибридный метод при решении задачи компоновки схем с учетом критерия энергопотребления Т.Ю. Кудрякова, Н.С. Семушина, Е.Ю. Семушин Южный Федеральный университет kudryakova.tanya@sfedu.ru Кудрякова Т.Ю., Семушина Н.С., Семушин Е.Ю. "Гибридный метод при решении задачи компоновки схем с учетом критерия энергопотребления". Статья посвящёна разработке метода решения задачи компоновки на основе гибридизации генетического и роевого алгоритмов. Сформулирована постановка задачи компоновки блоков схемы ЭВА, как задача разбиения графа на части по критерию минимизации числа внешних рёбер. Разработана структурная блок-схема алгоритма компоновки. Ключевые слова: генетический алгоритм, пчелиный алгоритм, ЭВА. Введение Одной из центральных комбинаторных проблем теории графов является проблема разбиения графов на подграфы. Решение этой проблемы важно не только для самой теории графов, но и для многих практических приложений. Алгоритмы разбиения графов на подграфы необходимы при решении многих прикладных задач и, в частности, при автоматизации проектирования и контроля, при автоматическом анализе содержания документов и т.д. [1]. При решении задач проектирования конструкций современной ЭВА, задач распределения алгоритмов и программ в коллективах вычислителей и микроконтроллерных сетях возникает необходимость разбиения (декомпозиции) аппаратуры на отдельные части, соответствующие унифицированной конструктивно-технологической базе, а также выделения программных блоков, размещаемых в вычислителях с заданными характеристиками. Решение указанных задач требует декомпозиции сложных объектов проектирования (аппаратуры, программ) на блоки по заданным критериям оптимизации и при наличии ограничений [1]. В последнее время для решения различных «сложных» задач, к которым относятся и задачи разбиения, всё чаще используются способы, основанные на применении методов искусственного интеллекта. Особенно наблюдается стремительный рост интереса к разработке алгоритмов, инспирированных природными системами. В основе большинства этих алгоритмов лежат идеи, заимствованные в природе, а также базовые постулаты универсальности и фундаментальности, присущие самоорганизации природных систем [2]. Одним из новых направлений таких методов являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта. Коллективная система способна решать сложные динамические задачи по выполнению совместной работы, которая не могла бы выполняться каждым элементом системы в отдельности в разнообразных средах без внешнего управления, контроля или координации. В таких случаях говорят о роевом интеллекте (Swarm intelligence), как о замысловатых способах кооперативного поведения, то есть стратегии выживания. Оптимизация с использованием роя частиц (Particle Swarm Optimization, PSO) – это метод поиска, который базируется на понятии популяции, и моделирует поведение птиц в стае и косяков рыб [3]. Рой частиц может рассматриваться как многоагентная система, в которой каждый агент (частица) функционирует автономно по очень простым правилам. В противовес почти примитивному поведению агентов, поведение всей системы получается на удивление разумным. В работе излагается метод решения задачи разбиения на основе роевого интеллекта и генетической эволюции. Постановка задачи компоновки с учетом критерия энергопотребления Под компоновкой понимают процесс формирования конструктивов высших иерархических уровней из конструктивов низших иерархических уровней. Под компоновкой также понимают разрезание на части большой схемы, которая может быть структурная, функциональная, логическая, электрическая принципиальная, на части. Наиболее известными параметрами, используемыми при разрезании схемы на части (модули), являются: число модулей, число связей между модулями, число терминалов, электромагнитная совместимость элементов, тепловая совместимость элементов. Однако в настоящее время, в связи с увеличением точности технологического процесса изготовления СБИС, геометрические размеры транзисторов сократились до 0.09 153 микрон! В настоящее время промышленностью выпускается широкая номенклатура СБИС, суперкристаллов, содержащих миллионы элементов на кристалле 25х25мм. Неуклонное повышение степени интеграции СБИС привело к тому, что в них более 60% общей временной задержки сигнала приходится на задержки в межсоединениях. Рост размера области, отводимой для межсоединений, опережает рост размера области, предназначенной для активных элементов. В чипе, содержащем 10 миллионов транзисторов и использующем 4 слоя металлизации, около 40% площади отводится под межсоединения [2]. Печатные проводники проходят на достаточно близком расстоянии друг от друга и имеют относительно малые линейные размеры сечения. С увеличением быстродействия ЭВМ все большее значение приобретают вопросы учета параметров проводников и высокочастотных связей между ними. Рассмотрим определение основных характеристик печатных проводников [4]. Сопротивление проводника определяется выражением: R=ρl/(bt), (1), где ρ - удельное объемное электрическое сопротивление проводника; l - длина проводника; b - ширина проводника; t - толщина проводника. Величина ρ различается для проводников, изготовленных различными методами. Так, для медных проводников, полученных электрохимическим осаждением, ρ равно 0,02-0,03 мкОм/м, а для медных проводников, полученных методом химического травления ρ равно примерно 0,0175 мкОм/м. Длина цепи nj в такой модели определяется по формуле: L(n j ) | xi xc | | yi yc | i n j где xi,yi - координаты контакта ui, xc, yc - координаты средней точки контактов nj, которые являются средними значениями координат x и y всех контактов (рис. 1) [5]. Ud(xd,yd) Up(xp,yp) ld,i Ui(xi,yi) Uq(xq,yq) Рисунок 1 - Модель цепи для оценки временной задержки между контактами цепи Оценка задержки на участке цепи: D(n j ) rc * L(n j ) , где r – сопротивление проводника на единицу длины; с – емкость проводника на единицу длины. Гибридный алгоритм Предложим гибридный алгоритм компоновки с учетом энергопотребления. Идея пчелиного алгоритма заключается в том, что все пчелы на каждом шаге будут выбирать как элитные участки для исследования, так и участки в окрестности элитных, что позволит, во-первых, разнообразить популяцию решений на последующих итерациях, во-вторых, увеличить вероятность обнаружения близких к оптимальным решения. Таким образом, пчелиный алгоритм можно описать следующей последовательностью операций (рис. 2): 1° В соответствии с постановкой задачи разбиения и исходными данными формируется популяция пчёл (хромосом). 154 2° Отправка пчёл-исследователей. Определение месторасположения источников нектара vi. Для каждой пчелы случайным образом задается начальная позиция xi; 3° Оценка ЦФ пчёл в популяции. Выбор источника нектара пчелой-исследователем с определённой вероятностью, в зависимости от его качества. Для каждой пчелы определяется лучший (элитный) участок, который она посещала с начала первой итерации, и значение целевой функции fiti на этом участке. Участки е, на которых значения ЦФ больше (элитные участки) отбираются для поиска решений в их окрестностях. 4° Выбор пчёл с лучшими значениями ЦФ с каждого источника. 5° Если решение на исследуемом участке не улучшается с течением нескольких итераций переход к п.6, иначе п.3. 6° Отправка пчёл-разведчиков, осуществляющих случайный поиск и оценка их ЦФ. 7° Формирование новой популяции пчёл, в состав которой будут входить как пчелы с лучшими значениями ЦФ с элитных участков, так и пчелы со случайными значениями ЦФ. 8° Конец работы алгоритма. Начало 11 Внешняя среда 1 Создание начальной популяции пчел 2 Определение окрестности поиска нектара 3 Оценка ЦФ в соответствии с найденными ими участками 4 Ранжирование пчел в популяции 5 Выбор элитных участков е для поиска решений в их окрестности 6 Поиск решений в окрестности элитных участков 7 ГА 9 Копирование лучшего решения в популяцию Да 8 Нет Улучшение достигнуто? 10 Отправка пчел-разведчиков. Принятие случайно полученного решения Конец Рисунок 2 - Гибридный алгоритм компоновки На 1 шаге алгоритма случайным образом задаётся пространство поиска решений. На 2 шаге N пчёл располагаются случайно на поверхности (в окрестности) m участков. По аналогии с эволюционными стратегиями, колонию пчел можно трактовать как популяцию, а отдельную пчелу как индивида (хромосому). Это дает возможность построения гибридной структуры поиска решения, основанной на сочетании эволюционно-генетического поиска с методами роевого интеллекта. Связующим звеном такого подхода является структура данных, описывающая решение задачи в виде хромосомы. Если каждая пчела в колонии представлена как хромосома, то число генов в хромосоме равно числу вершин гиперграфа. В этом случае возникают некоторые требования к структуре хромосомы и значениям генов: 1) Значения генов могут быть непрерывными или дискретными; 2) Значения генов должны быть независимыми друг от друга, то есть хромосомы должны быть гомологичными. На 3 шаге определяются ЦФ участков. 155 Далее те участки е, на которых значения ЦФ больше (элитные участки) отбираются для поиска решений в их окрестностях с большей вероятностью, причём на этих участках проводятся более детальные исследования, т.е. отправляются больше пчёл, чем на каждый из m−е участков. На 4 шаге проводится оценка значений ЦФ и выбираются лучшие пчёлы в соответствии со значениями ЦФ исследуемых ими участков. Если по истечении заданного количества итераций решение на данном участке не улучшается, то он исключается из дальнейшего рассмотрения (шаг 5). А пчёлы-исследователи данного участка становятся пчёлами-разведчиками и отбор решений осуществляется случайно (шаг 6). Эти пчёлы доформировывают новую популяцию решений, которая будет участвовать в следующей итерации алгоритма. Данная операция продолжается до тех пор, пока не будет достигнут критерий останова алгоритма. В конце работы алгоритма популяция решений будет состоять из двух частей: пчёлы с лучшими значениями ЦФ элитных участков, а также группа пчёл-разведчиков со случайными значениями ЦФ. Заключение В статье рассмотрена актуальная на сегодняшний день задача компоновки схем с учетом критерия энергопотребления. В ходе выполнения работы были рассмотрены проблемы решения задачи компоновки. Разработан гибридный алгоритм на основе последовательной работы роевого алгоритма, основанного на поведении пчелиной колонии и генетического алгоритма. Литература 1 Норенков И.П. Основы автоматизированного проектирования [Текст] / И.П. Норенков – М.: Изд-во МГТУ имени Н.Э.Баумана, 2006.-360с. 2 Курейчик В.В. Эволюционные методы решения оптимизационных задач [Текст] : Монография / В.В. Курейчик. – Таганрог: Изд-во ТРТУ, 2009. – 99 с. 3 Лебедев Б.К. Методы поисковой адаптации в задачах автоматизированного проектирования СБИС [Текст] / Б.К. Лебедев. – Таганрог: Издательство ТРТУ, 2007. – 192 с. 4 Лежебоков А.А Проблемы учета временных задержек в задачах конструкторского проектирования. [Текст] / А.А. Лежебоков, А.Н. Дуккардт // Известия ЮФУ. Технические науки. №7, 2011 г., С. 108-113. 5 Дуккардт А.Н. Методы Генетического поиска для мультихромосомных представлений [Текст] / А.Н. Дуккардт // VII Всеросийская научная конференция студентов и аспирантов «Техническая кибернетика, радиоэлектроника, и системы управления», Таганрог, 2004. - 108 с. Кудрякова Т.Ю., Семушина Н.С., Семушин Е.Ю. Гибридный метод при решении задачи компоновки схем с учетом критерия энергопотребления. Статья посвящёна разработке метода решения задачи компоновки на основе гибридизации генетического и роевого алгоритмов. Сформулирована постановка задачи компоновки блоков схемы ЭВА, как задача разбиения графа на части по критерию минимизации числа внешних рёбер. Разработана структурная блок-схема алгоритма компоновки. Ключевые слова: генетический алгоритм, пчелиный алгоритм, ЭВА. Kudryakova T.Y., Semushina N.S., Semushin E.Y. The hybrid method for solving the problem layout schemes, taking into account the criterion of energy. The article is dedicated to the development of a method for solving the layout problem based on genetic hybridization and swarm algorithms. Formulate the layout of circuit blocks EVA tasks, as the problem of the partition of the graph on the criterion of minimizing the number of external fins. A structural block diagram of a layout algorithm. Keywords: genetic algorithm, bees algorithm, EVA. 156 УДК 623.2.045.772.12 Решение задачи компоновки эволюционным методом И.О. Купов, В.А. Козачков, В.В. Царегородцев Южный Федеральный университет i.kupov@sfedu.ru Купов И.О., Козачков В.А., Царегородцев В.В. Решение задачи компоновки эволюционным методом. В статье рассмотрена ключевая проблема решения задачи компоновки блоков ЭВА, т.е. разбиение коммутационной схемы на части. Это связанно с тем, что решение данной задачи позволяет значительно сократить временные затраты. Подробно рассмотрена одна из важнейших задач этапа конструкторского проектирования, а именно задача компоновки блоков электронно-вычислительной аппаратуры, качество решения которой напрямую влияет на качество размещения и трассировки схем и их тепловых, временных, энергетических характеристик. Определена постановка задачи компоновки блоков ЭВА.В работе разработан модифицированный эволюционный поиск решения задачи компоновки блоков ЭВА, основанный на основе эволюционной модели Поппера. В предложенном алгоритме используются модифицированные генетические операторы. Ключевые слова: Компоновка, ЭВА, блок, эволюция, метод. Введение В настоящее время создание комплексных систем поддержки жизненного цикла изделий определяются подсистемами компьютерного - интегрированного производства (КИП). В компьютерные системы для автоматизации жизненного цикла продукции включаются системы автоматизации проектирования (САПР(CAD)), автоматизированные системы технологической подготовки производства (АСТПП(CAM)), автоматизированные системы управления технологическими процессами (АСУТП(CAE)) [1]. Для того, чтобы получить решение задачи за приемлемое время, при условиях, когда размещение полной информации об объекте в памяти компьютера невозможно, в современных системах проектирования применяется иерархический подход [1]. Суть иерархического подхода – разбиение задачи проектирования СБИС на несколько последовательных этапов. Именно на этапе конструкторского проектирования САПР ЭВА достигаются те результаты, которые наибольшим образом отражаются в процессе производства. Поэтому автоматизация конструкторского проектирования является актуальной и важной задачей, связанной с непрерывным изменением технологий производств и появлением новых элементов с большой степенью интеграции (более 109). Основные этапы конструкторского проектирования ЭВА — это разбиение (компоновка), размещение, планирование, трассировка, сжатие топологии и верификация [1]. Среди этих задач компоновка блоков ЭВА, т.е. разбиение коммутационной схемы на части занимает особое место. Это связанно с тем, что решение данной задачи позволяет значительно сократить временные затраты. Так что разработка новых и модифицированных эволюционных методов компоновки с полиномиальной временной сложностью является актуальной и важной задачей сегодняшнего дня. Постановка задачи компоновки Компоновка - одна из первоначальных процедур, выполняемых на этапе конструкторского проектирования ЭВА. Процедура перехода от принципиальной электрической схемы к конструктивному распределению имеющихся элементов на группы, согласные конструктивам различных уровней. Другими словами, компоновка это процедура преобразования функционального описания аппаратуры в конструктивное. Задачу компоновки схемы блоков ЭВА можно сформулировать, как задачу разбиения графа G=(X,U) на части Gi = (Xi,Ui), Xi X, Ui U, i I={1,2,...,l}, где, l – число частей, на которое разбивается граф. 157 Другими словами, совокупность частей P(G)={G1, G2, Gi, ..., Gl} является разбиением графа G, если любая часть из этой совокупности не пустая, если для любых двух частей из P(G) пересечение множества вершин пустое, пересечение множества ребер может быть не пустым, а также если объединение всех частей l равно графу G. |Ui,j|=Ki,j называется числом соединительных ребер частей Gi и Gj графа G. Число соединительных ребер всех частей графа [2]. 1 n n K K i , j , 2 i 1 j 1 (ij). (1) Задачей разбиения графа G=(X,U) является нахождение такой совокупности частей, чтобы число соединительных ребер графа G удовлетворяло заданному критерию оптимальности. Обычно за критерий разбиения принимают величину K. Тогда целью оптимизации является K→min. Отметим, что это аналогично стремлению к максимуму числа внутренних ребер разбиения [2-4]. (|U|-K)→max. (2) Назовем отношение суммарного числа внутренних ребер к суммарному числу соединительных ребер коэффициентом разбиения d(G) графа G. d(G)= (|U|-K)/K. (3) Коэффициент разбиения d(G) служит для оценки разбиения графа G на части. Этот коэффициент можно также использовать как критерий для сравнения различных алгоритмов разбиения графа. Задача разбиения графа G на части относится к задачам комбинаторно-логического типа, получение оптимального решения которых связано с большим перебором различных вариантов разбиения [5-6]. Разработка модифицированной схемы эволюционного поиска Модифицированная архитектура схемы разбиения графа на части на основе эволюционной модели Поппера представлена на рис. 1. Здесь в блоке 1 строится начальная популяция, т.е. определяется заданное подмножество разбиений В1, В2, ..., Вk. Отметим, что такая популяция (подмножество решений) может быть получена точным, эвристическим, случайным, направленным или комбинированными методами. При наличии большого количества элементов наиболее предпочтительными будут эвристические, конструктивные, итерационные, случайные и поисковые алгоритмы для получения текущей популяции решений. В качестве ЦФ выберем К. Для каждого элемента текущей популяции вычисляется и определяется среднее значение ЦФ на данной популяции. Блок 4 осуществляет сортировку популяции на основе ЦФ. Здесь могут быть применены все существующие методы сортировки. Сначала расставляются элементы с наименьшим значением К и т.д. по возрастанию. Также блок 5 выполняет селекцию популяции для получения родительских пар. Селекция выполняется одним из методов, описанных далее. Простейшим случаем селекции может являться последовательный метод выбора наилучших (в смысле функции К) хромосом после сортировки. Блок 5 осуществляет реализацию ГО и их модификаций. Блок 6 осуществляет проверку условия выхода, сохранение и выбор лучшего решения из текущей популяции. Блоки 7 и 8 осуществляют построение новой популяции решений. Далее для каждой хромосомы из новой популяции вычисляется К и выживают те элементы из старой и новой популяции, у которых К < Кср. При этом в стандартном случае, количество элементов в новой популяции не должно превышать число элементов в старой популяции. Блок 9 содержит информацию о внешней среде, которая влияет на процесс формирования популяции. Здесь задаются параметры допустимости решений (ограничения), конструкторские и топологические ограничения, параметры проводников для модели Эльмора. 158 Начало 1 9 Создание начальной популяции Внешняя среда 2 Оценка решений (расчет ЦФ) 3 8 Реализация различных моделей эволюции Создание новой популяции 4 Сортировка и выбор хромосомы для ГО 5 Модифицированные ГО (ОК, ОМ, ОИ) 7 Редукция 6 нет Анализ условия окончания? да Конец Рисунок 1 – Модифицированная схема генетического поиска В ходе выполнения алгоритма для каждой хромосомы определяются ЦФ. Алгоритм поиска, описанный выше, для числа итераций, определяемых пользователем. ГА использует устоявшийся подход, в котором генерации определяются для исследования эволюции и накопления статистики. Это позволяет частично решать проблему предварительной сходимости. Заключение В статье был рассмотрен очень важный этап в начале конструкторского проектирования. Это задача компоновки блоков ЭВА с учетом функциональных критериев. В ходе выполнения работы были рассмотрены и проанализированы проблемы решения задачи компоновки блоков ЭВА. Литература 1 Норенков И.П. Основы автоматизированного проектирования [Текст] / И.П. Норенков – М.: Изд-во МГТУ имени Н.Э.Баумана, 2006.-360с. 2 Курейчик В.М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР [Текст] / В. М. Курейчик. – М: Радио и связь, 2010. – 352 с. 3 Курейчик В.М. Генетические алгоритмы и их применение [Текст]: Монография /В.М. Курейчик. – Таганрог: Изд-во ТРТУ, 2012. 4 Курейчик В.В. Эволюционные, синергетические и гомеостатические методы принятия решений [Текст]: Монография / В.В.Курейчик. – Таганрог: Изд-во ТРТУ, 2011. – 221 с. 5 Курейчик В.В. Построение и анализ генетических алгоритмов раскраски графа на основе моделей искусственных систем [Текст] / В.В Курейчик // Труды международного конгресса IСАI-2011, Искусственный интеллект в 21-веке. – М.: Физмалит. –2011. – С. 665 – 675. 6 Дуккардт А.Н. Методы Генетического поиска для мультихромосомных представлений [Текст] / А.Н. Дуккардт // VII Всеросийская научная конференция студентов и аспирантов «Техническая кибернетика, радиоэлектроника, и системы управления», Таганрог, 2004. - 108 с. 159 Купов И.О., Козачков В.А., Царегородцев В.В. Решение задачи компоновки эволюционным методом. В статье рассмотрена ключевая проблема решения задачи компоновки блоков ЭВА, т.е. разбиение коммутационной схемы на части. Это связанно с тем, что решение данной задачи позволяет значительно сократить временные затраты. Подробно рассмотрена одна из важнейших задач этапа конструкторского проектирования, а именно задача компоновки блоков электронно-вычислительной аппаратуры, качество решения которой напрямую влияет на качество размещения и трассировки схем и их тепловых, временных, энергетических характеристик. Определена постановка задачи компоновки блоков ЭВА.В работе разработан модифицированный эволюционный поиск решения задачи компоновки блоков ЭВА, основанный на основе эволюционной модели Поппера. В предложенном алгоритме используются модифицированные генетические операторы. Ключевые слова: Компоновка, ЭВА, блок, эволюция, метод. Kupov I.O., Kozachkov V.A., Tsaregorodtcev V.V. Solution of the problem partitioning evolutionary methodsarrangement. The article deals with the key problem of solving the problem layout blocks EVA, ie partitioning a portion of a circuit diagram. This is due to the fact that the solution of this problem can significantly reduce the time spent. Details considered one of the most important tasks of the design development phase, namely the task of linking units of computer equipment, the quality of decisions that directly affect the quality of the placement and routing schemes and their thermal, time, energy characteristics. Formulation of the problem is defined layout blocks EVA.V work developed a modified evolutionary search for solutions to the problem layout blocks EVA, based on the basis of Popper's evolutionary model. The proposed algorithm uses a modified genetic operators. Keywords: partitioning, EVA block evolution method. 160 УДК 623.2.045.772.12 Разработка гибридного алгоритма решения задачи компоновки СБИС Е.О. Лебедева, Полякова (Кравцова) А.А., Терещенко Д.Ю. Южный Федеральный университет e.o.lebedeva@sfedu.ru Лебедева Е.О., Полякова (Кравцова) А.А., Терещенко Д.Ю. "Разработка гибридного алгоритма решения задачи компоновки СБИС". В статье рассмотрена ключевая проблема решения задачи компоновки. Подробно рассмотрена одна из важнейших задач этапа конструкторского проектирования, а именно задача компоновки компонентов сверхбольших интегральных схем, качество решения которой напрямую влияет на качество компоновки, а также трассировки схем и их тепловых, временных, энергетических характеристик. В работе рассмотрен гибридный алгоритм решения задачи компоновки СБИС с учетом функциональных критериев. Одним из новых направлений решения задачи компоновки являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта. Представлена постановка задачи компоновки, маршруты проектирования СБИС. Основная идея данного подхода заключается в последовательной работе роевого и генетического алгоритмов. Ключевые слова: гибрид, алгоритма, компоновка, СБИС Введение В последнее время для решения различных «сложных» задач, к которым относятся и задачи компоновки, всё чаще используются способы, основанные на применении методов искусственного интеллекта. Особенно наблюдается стремительный рост интереса к разработке алгоритмов, инспирированных природными системами. В основе большинства этих алгоритмов лежат идеи, заимствованные в природе, а также базовые постулаты универсальности и фундаментальности, присущие самоорганизации природных систем [1-3]. Одним из новых направлений таких методов являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта. Коллективная система способна решать сложные динамические задачи по выполнению совместной работы, которая не могла бы выполняться каждым элементом системы в отдельности в разнообразных средах без внешнего управления, контроля или координации. В таких случаях говорят о роевом интеллекте (Swarm intelligence), как о замысловатых способах кооперативного поведения, то есть стратегии выживания. Оптимизация с использованием роя частиц (Particle Swarm Optimization, PSO) – это метод поиска, который базируется на понятии популяции, и моделирует поведение птиц в стае и косяков рыб [2]. Рой частиц может рассматриваться как многоагентная система, в которой каждый агент (частица) функционирует автономно по очень простым правилам. В противовес почти примитивному поведению агентов, поведение всей системы получается на удивление разумным. В работе излагается метод решения задачи компоновки на основе роевого интеллекта и генетической эволюции. Постановка задачи Под компоновкой понимают процесс формирования конструктивов высших иерархических уровней из конструктивов низших иерархических уровней. Под компоновкой также понимают разрезание на части большой схемы, которая может быть структурная, функциональная, логическая, электрическая принципиальная, на части. Наиболее известными параметрами, используемыми при разрезании схемы на части (модули), являются: число модулей, число связей между модулями, число терминалов, электромагнитная совместимость элементов, тепловая совместимость элементов. Однако в настоящее время, в связи с увеличением точности технологического процесса изготовления СБИС, геометрические размеры транзисторов сократились до 0.09 микрон! В настоящее время промышленностью выпускается широкая номенклатура СБИС, суперкристаллов, содержащих миллионы элементов на кристалле 25х25мм. Неуклонное повышение степени интеграции СБИС привело к тому, что в них более 60% общей временной задержки сигнала приходится на задержки в межсоединениях. [4]. 161 а) б) Рисунок 1 – Разбиение графа на три части а) Граф G=(X,U); б) Разбиение графа G на три подграфа B1, B2, B3. На рис. 1 число межблочных цепей F всех трех кусков графа G составляет F=7. Основными критериями оптимизации являются [5]: - число межблочных соединений; - длина задержки сигнала; - число конструктивно законченных блоков. В качестве ограничений, которые накладываются на задачу разбиения, могут быть [6]: - число модулей разбиения; - число элементов в каждом модуле; - максимальное число внешних связей. Задача разбиения относится к задачам дискретной условной оптимизации. Количество методов решения таких задач довольно велико, хотя эффективные алгоритмы популярны лишь для специальных классов задач (например, линейного, квадратичного или выпуклого программирования). Следовательно, большинство методов не может быть использовано в задаче разбиения в связи с её дискретностью. Поэтому, данные задачи выделяют в особый класс комбинаторных задач. Решение задачи разбиения полным перебором даже с учётом ограничений недопустимо, из-за очень большого объёма вычислительной работы. В предоставленной работе решается задача компоновки элементов. Роевой алгоритм компоновки В основном под задачей компоновки подразумевается определение взаимного расположения элементов на плоскости в соответствии с заданным критерием или несколькими критериями. На основе критериев предлагается целевая функция. Сформулируем задачу компоновки. Пусть задано множество элементов и множество позиций на коммутационном поле (КП) [1,5,6]. Необходимо назначить элементы в позиции в соответствии с критерием (критериями) таким образом, чтобы целевая функция имела значение наиболее приближенное к оптимальным. В качестве модели представления цепи был выбран звездный граф. Центром графа является вершина находящаяся наиболее близко к геометрическому центру области, описывающей все вершины графа. В алгоритме компоновки каждое решение представляется в виде точки (позиции) xs в многомерном пространстве, где каждая координата позиции xi представляет собой один параметр функции Fs, которую надо оптимизировать. Каждая позиция является аналогией источника нектара. Количество нектара содержащегося в некотором источнике определяется координатами соответствующей позиции. Найденное количество нектара представляет собой значение целевой функции в этой точке. Разработка поведенческой модели самоорганизации колонии пчёл, заключаются в разработке методов и механизмов: - формирования роя агентов разведчиков и роя агентов фуражиров; - поиска перспективных позиций разведчиками; - выбора базовых позиций среди перспективных для исследования их окрестностей; - передачи информации между разведчиками и фуражирами; - выбора фуражирами базовых позиций; - выбора фуражирами позиций в окрестности базовой позиций; - общей структуры оптимизационного процесса [2]. Рассмотрим организацию поисковой процедуры на основе моделирования адаптивного поведения пчелиной колонии. Весь процесс формирования показан на рис. 2. 162 1 3 6 2 5 7 4 9 8 Окрестности решения л разв 1 3 6 2 5 7 4 9 8 9 пче едчи к 9 1 F 10, f ( x1 ) 10 0 пчел 0 ра 6 3 5 7 2 8 9 4 1 F 8, f (x1) 8 f ( x2 ) з ве дч ик 1 F 5 1 2 3 4 5 6 7 8 9 разв едчи к 4 пче л 5п че л 1 F 1 Улей разведчик f (x4 ) 1 f ( x1 ) F 4 1 f (x3) F Рисунок 2 - Схема поиска и определение окрестности Ввод схемы и параметров алгоритма. Посадочные места под компоненты имеют фиксированные габариты в виде прямоугольников. Вначале вводиться параметры поля x и y , где x - количество посадочных мест по горизонтали, y - количество посадочных мест по вертикали. После чего вводятся количество деталей размещенных в этих ячейках. Количество посадочных мест должно быть меньше чем количество компонентов. Также вводиться матрица связности. В нашем случае можно выбрать вариант: генерировать матрицу связности случайным образом (random), или корректировать в ручном режиме. Матрица связности определяет привязку компонентов к посадочным местам. Схема генерируется случайным образом, поскольку задачи связывать программу с какой-то конкретной схемой, не стоит. Так же вводим данные для биониспирированного алгоритма. Это число итераций, число разведчиков и число фуражиров (пчелы сборщики). Разведка формирование случайных решений R . Разведчики вылетают из улья, тем самым формируют строку решения для каждой целевой функции, в области поиска. После чего они возвращаются в улей и сообщают фуражирам о найденных решениях (значение целевой функции в нашей задачи это минимальное число связей между элементами). После чего пропорционально значению целевой функции вылетают фуражиры. Разработка гибридного алгоритма решения задачи компоновки Предложим гибридный алгоритм компоновки с учетом функциональных критериев. Идея гибридного алгоритма заключается в том, что все пчелы на каждом шаге будут выбирать как элитные участки для исследования, так и участки в окрестности элитных, что позволит, во-первых, разнообразить популяцию решений на последующих итерациях, во-вторых, увеличить вероятность обнаружения близких к оптимальным решения. Таким образом, гибридный алгоритм можно представить следующей последовательностью операций: 1°В соответствии с постановкой задачи разбиения и исходными данными создаётся популяция пчёл (хромосом). 2°Отправка пчёл-исследователей. Определение месторасположения источников нектара vi. Для каждой пчелы случайным образом задается начальная позиция xi; 3° Исследование окрестности источника с нектаром. 4°Оценка ЦФ пчёл в популяции. Выбор источника нектара пчелой-исследователем с определённой вероятностью, в зависимости от его качества. Для каждой пчелы устанавливается лучший (элитный) участок, который она посещала с начала первой итерации, и значение целевой функции fiti на этом участке. Участки е, на которых значения ЦФ больше (элитные участки) отбираются для поиска решений в их окрестностях; 5°Выбор пчёл с лучшими значениями ЦФ с каждого источника; 6°Задание размера окрестности для поиска О; вводится управляющий параметр от 1 до 100. 7° Осуществляется поиск решений в окрестности элитных участков; 8° Формирование популяции на основе анализа элитных участков. 9° Переход от популяции источников к популяции хромосом. 10° выполнение генетического алгоритма. Генетических операторов кроссинговера и мутации. 11° Редукция лучших решений. 12° Проверка критерия останова (количество итерация, время работы алгоритма). 13° Конец работы алгоритма. 163 Заключение В статье рассмотрена актуальная на сегодняшний день задача компоновки схем с учетом функциональных критериев. Были рассмотрены проблемы решения задачи компоновки. Разработан гибридный алгоритм на основе последовательной работы роевого алгоритма, основанного на поведении пчелиной колонии и генетического алгоритма. Литература 1 Норенков И.П. Основы автоматизированного проектирования [Текст] / И.П. Норенков – М.: Изд-во МГТУ имени Н.Э.Баумана, 2006.-360с. 2 Курейчик В.М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР [Текст] / В. М. Курейчик. – М: Радио и связь, 2010. – 352 с. 3 Лебедев Б.К. Методы поисковой адаптации в задачах автоматизированного проектирования СБИС [Текст]: Монография / Б.К. Лебедев. – Таганрог: Издательство ТРТУ, 2010. – 192 с. 4 Курейчик В.М. Генетические алгоритмы и их применение [Текст]: Монография /В.М. Курейчик. – Таганрог: Изд-во ТРТУ, 2012. 5 Курейчик В.В. Эволюционные, синергетические и гомеостатические методы принятия решений [Текст]: Монография / В.В.Курейчик. – Таганрог: Изд-во ТРТУ, 2011. – 221 с. 6 Курейчик В.В. Построение и анализ генетических алгоритмов раскраски графа на основе моделей искусственных систем [Текст] / В.В Курейчик // Труды международного конгресса IСАI-2011, Искусственный интеллект в 21-веке. – М.: Физмалит. –2011. – C. 665 – 675. Лебедева Е.О., Полякова (Кравцова) А.А., Терещенко Д.Ю. Разработка гибридного алгоритма решения задачи компоновки СБИС. В статье рассмотрена ключевая проблема решения задачи компоновки. Подробно рассмотрена одна из важнейших задач этапа конструкторского проектирования, а именно задача компоновки компонентов сверхбольших интегральных схем, качество решения которой напрямую влияет на качество компоновки, а также трассировки схем и их тепловых, временных, энергетических характеристик. В работе рассмотрен гибридный алгоритм решения задачи компоновки СБИС с учетом функциональных критериев. Одним из новых направлений решения задачи компоновки являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта. Представлена постановка задачи компоновки, маршруты проектирования СБИС. Основная идея данного подхода заключается в последовательной работе роевого и генетического алгоритмов. Ключевые слова: гибрид, алгоритма, компоновка, СБИС Lebedeva E.O., Polyakova (Kravtcova) A.A., Tereshenko D.Y. The development of a hybrid algorithm for solving the problem of VLSI layout. The article deals with the key problem of solving the problem layout. Details considered one of the most important tasks of the design development phase, namely the task of linking the components of VLSI, the quality of decisions that directly affect the quality of the accommodation and trace circuits and heat, time, energy characteristics. In this paper we consider a hybrid algorithm for VLSI layout based on functional criteria. One of the new directions for solving the problem layout is multi-agent intelligent optimization techniques based on modeling of collective intelligence. Presented formulation of the problem layout, routes VLSI design. The basic idea of this approach is consistent work streams and genetic algorithms. Keywords: hybrid, algorithm, layout, VLSI 164 УДК 004.023 Композитный алгоритм компоновки А.А. Лежебоков, А.В. Ковтун, Е.В. Туйсус Южный Федеральный университет legebokov@sfedu.ru Лежебоков А.А., Ковтун А.В., Туйсус Е.В. Композитный алгоритм компоновки. В статье проводится рассмотрение проблемы композитного алгоритма компоновки, заключающейся в минимизации числа внешних связей между блоками элементов сверхбольших интегральных схем. Подробно рассматривается одна из главных задач конструкторского проектирования– задача компоновки. Решение, полученное в ходе выполнения этой задачи, оказывает влияние на последующие этапы конструкторского проектирования и влияет на такие ключевые параметры, как временные задержки, общая длина соединений и т.д. Проводится экспериментальное исследование сравнения композитного алгоритма с итерационным и эволюционным. Ключевые слова: последовательный алгоритм, итерационный алгоритм, эволюционный алгоритм, популяция, мутация. Введение Одной из основных задач конструкторского проектирования является задача компоновки. В наше время СБИС состоять из сотен миллионов транзисторов и с каждым годом их сложность только увеличивается. Для решения этой проблемы производится разбиение схемы на блоки согласно заданным критерия.С целью получения приемлемых результатов за допустимые промежутки времени появляется необходимостьв постоянной разработке новых алгоритмов компоновки. Одним из возможных вариантов может быть композитный алгоритм. Наиболее эффективным, на сегодняшний день, является использование различных алгоритмов, имитирующих природные процессы. Примерами таких алгоритмов могут быть: генетически, роевой, эволюционный и т.д. Они позволяют находить решения, приближенные к оптимальным, за приемлемые промежутки времени [1]. Постановка задачи С точки зрения математики задача компоновки (разбиения) имеет следующую формулировку. Дан граф G(X,U), где Х – множество вершин, отображающее множество элементов схемы; U – множество ребер, показывающее количество связей между элементами. Необходимо разбить граф G на k подграфов (G1, G2,…,Gk) таким образом, чтобы число вершин в подграфах не превышало заданное, а число ребер, между подграфами, имело минимальное значение [2]. Композитный алгоритм Композитный алгоритм представляет собой комплекс алгоритмов, использующихся последовательно и параллельно, с целью нахождения оптимального решения. Такой подход позволяет повысить скорость нахождения оптимального решения, приводит к снижению вероятности попадания в локальный оптимум и зачастую приводит к более качественным решениям, нежели чем при использование каждого алгоритма по отдельности [3,4,5]. На начальном этапе используется последовательного алгоритма. На его основе производится начальное разбиение начального множества элементов на блоки. Следующий этап представляет собой улучшение полученного начального решения средствами итерационного и эволюционного алгоритмов. Рассмотрим подробней последовательный алгоритм. Он представляет собой наиболее простой алгоритм компоновки. Входными параметрами являются количество элементов и число подграфов (блоков). Принцип его работы состоит в последовательном расположение элементов по блокам в зависимости от значения их локальной степени (числа связей). Полученное решение имеет низкое качество и требует последующего улучшения [2,6,7]. 165 Начало Входные данные Последовательный алгоритм Итерационный алгоритм Эволюционный алгоритм Условие остановки? да нет Вывод решения Окончание Рисунок 1 – Структурная схема композитного алгоритма Проведем рассмотрение итерационного алгоритма. Принцип работы это алгоритма заключается в многократной перестановке элементов или групп элементов. При перестановке элементов парами проводится расчет числа связей до и после перестановки. Затем производится выбор пары элементов, при перестановке которых максимально уменьшает число внешних связей между подграфами. Алгоритм будет выполнять итерации до выполнения критерия остановки или при достижение максимального улучшения. Метод групповых перестановок схож с парными перестановками, но заключается в перестановке групп, а не пар элементов. В этом методе производится временная перестановка элементов между подграфами с целью нахождения групп элементов при перестановки которых будет произведено уменьшение число внешних связей [2,6,7]. Выполним рассмотрение эволюционного алгоритма. Этот алгоритм моделирует процесс эволюции в живой природе. Его отличительной особенностью является использование различных операторов, моделирующих естественные процессы, таких как скрещивание, селекции, мутации и отбора. После окончания работы итерационного алгоритма улучшение осуществляется средствами эволюционного алгоритма. Принцип эволюционного алгоритма заключается в выборе пар хромосом для их последующего скрещивания. Выполнения случайных изменение в хромосоме по средствам мутации с заданной вероятностью. Расчет целевой функции и отбор, на основание ее значения, лучших решений [2,8]. Была проведена разработка программной реализации композитного алгоритма компоновки, интерфейс которой представлен на рис. 2. 166 Рисунок 2 – Интерфейс программной реализации В ходе проведения экспериментальных исследований были получены следующие результаты. Начальные параметры: количество элементов – 100; число подграфов – 2; вероятность мутации – 10%; время работы –10 с. Используемый алгоритм Итерационный Эволюционный Композитный 100 33 22 19 200 82 65 61 Таблица 1. – Сравнение алгоритмов по значению ЦФ. Количество связей 500 1000 2000 227 462 956 196 417 865 184 399 841 Рисунок 3 – Зависимость ЦФ от общего числа связей Можно заметить, что композитный алгоритм предоставляет нам наилучшее решения компоновки элементов по блокам. Его результаты являются схожими с результатами эволюционного алгоритма. Также видно падение эффективности итерационного алгоритма с ростом числа связей по сравнению с другими 167 рассмотренными алгоритмами. В ходе наблюдений композитный алгоритм показал 5-10% прирост в эффективности решения по сравнению с эволюционным алгоритмом и 20-30% по сравнению с итерационным. Заключение В представленной работе выполнен подход к одной из основных задач конструкторского проектирования – задаче компоновки. Полученное решение поставленной задачи оказывает непосредственное влияния на последующие этапы конструкторского проектирования. За счет оптимального решения поставленной задачи происходит снижение общей длины соединений между элементами, снижаются временные задержки. Правильное компонование элементов приводит к улучшению тепловой и электромагнитной совместимость. Было предложено решить поставленную задачу путем использования композитного алгоритма. Литература 1. Курейчик В. В., Курейчик В. М., Родзин С. И. Теория эволюционных вычислений. – М.: ФИЗМАТЛИТ, 2012. 2. Курейчик В.В. Композитные бионические алгоритмы в компоновке блоков. - Известия ЮФУ. Технические науки. – 2006. № 8 (63). С. 41-46. 3. Bova V.V., Lezhebokov A.A., Gladkov L.A. Problem-oriented algorithms of solutions search based on the methods of swarm intelligence, World Applied Sciences Journal. 2013. Т. 27. № 9. С. 1201-1205. 4. Кравченко Ю.А., Марков В.В. Принятие решений в интегрированных информационных моделях на основе метода анализа иерархий, Известия ЮФУ. Технические науки. 2012. № 11 (136). С. 212-216. 5. Бова В.В., Курейчик В.В., Лежебоков А.А. Многоуровневый алгоритм решения задач транспортной логистики на основе методов роевого интеллекта, Вестник Ростовского государственного университета путей сообщения. 2013. № 3 (51). С. 113-118. 6. Кулиев Э.В., Лежебоков А.А., О гибридном алгоритме размещения компонентов СБИС, Известия ЮФУ. Технические науки. 2012. № 11 (136). С. 188-192. 7. Кулиев Э.В., Лежебоков А.А., Дуккардт А.Н. Подход к исследованию окрестностей в роевых алгоритмах для решения оптимизационных задач, Известия ЮФУ. Технические науки. 2014. № 7 (156). С. 1525. 8. Бова В.В., Курейчик В.В., Лежебоков А.А. Проблемно ориентированный генетический алгоритм упаковки разногабаритных элементов, Вестник Ростовского государственного университета путей сообщения. 2014. № 3 (55). С. 52-59. Лежебоков А.А., Ковтун А.В., Туйсус Е.В. Композитный алгоритм компоновки. В статье проводится рассмотрение проблемы композитного алгоритма компоновки, заключающейся в минимизации числа внешних связей между блоками элементов сверхбольших интегральных схем. Подробно рассматривается одна из главных задач конструкторского проектирования– задача компоновки. Решение, полученное в ходе выполнения этой задачи, оказывает влияние на последующие этапы конструкторского проектирования и влияет на такие ключевые параметры, как временные задержки, общая длина соединений и т.д. Проводится экспериментальное исследование сравнения композитного алгоритма с итерационным и эволюционным. Ключевые слова: последовательный алгоритм, итерационный алгоритм, эволюционный алгоритм, популяция, мутация. Legebokov A.A., Kovtun A.V., Tuysus E.V. Composite algorithm of layout. The article addressing the issue of composite layout algorithm is to minimize the number of external connections between the blocks elements of VLSI. Details considered one of the main tasks of construction engineering - the problem layout. The solution obtained in the course of this task, has an effect on the subsequent stages of construction engineering and influences key parameters such as time delays, the total length of connections, etc. It is conducting a pilot study comparing the composite algorithm with an iterative and evolutionary. Keywords: sequential algorithm, iterative algorithm, evolutionary algorithm, population, mutation. 168 УДК 004.896 Модуль интеграции данных для экспертной оценки результатов процессов проектирования А.А. Лежебоков, Е.В. Туйсус, А.В. Ковтун Южный Федеральный университет legebokov@sfedu.ru Лежебоков А.А., Туйсус Е.В., Ковтун А.В. Модуль интеграции данных для экспертной оценки результатов процессов проектирования. В работе рассмотрена экспертная оценка результатов процесса проектирования на примере задачи компоновки, выделены критерии, используемые для оценки качества результатов решения этой задачи и данные задачи, которые необходимо интегрировать в экспертную систему для последующей экспертной оценки. Выполнена разработка архитектуры, структуры базы данных и алгоритма работы модуля для интеграции данных о задаче компоновки. Также в работе рассмотрены уровни интеграции данных, особости интеграции данных в сервисно-ориентированых приложениях, рассмотрена архитектура типовой экспертной системы. Ключевые слова: интеграция, экспертная система, проектирование. Введение Работа с интегрированными данными позволяет производить анализ полученных результатов, вести статистику, а также производить сравнительный анализ нескольких сходных этапов проектирования, проверять улучшились или ухудшились результаты для проектирования топологии одних СБИС и сравнивать их для других, а также возможно последующая интеграция этих данных в другие информационные системы. Такой обмена информацией применим во множестве сфер человеческой деятельности. Например, в научной деятельности, данными являются результаты научных исследований, инженерных и технических расчетов, эти данные могут быть получены в одних системах, и интегрированные в другие системы для последующего изучения и анализа. Такое использование данных позволяет сравнивать несколько данных различного вида, в одной системе, или переносить данных из систем, изначально не предназначенных для анализа данных [1]. Целью данной работы является создание архитектуры, структуры базы данных и алгоритма работы модуля интеграции данных для экспертной оценки результатов процесса конструкторского проектирования и для хранения результатов этой оценки. Процесс проектирования Проектирование — процесс определения архитектуры, компонентов, интерфейсов и других характеристик системы или её части. Проектирование технического объекта – создание, преобразование и представление в принятой форме образа этого еще не существующего объекта. Образ объекта или его составных частей может создаваться в воображении человека в результате творческого процесса или генерироваться в соответствии с некоторыми алгоритмами в процессе взаимодействия человека и электронной вычислительной машины (ЭВМ) [2]. Для современных СБИС выделяют три основных независимых части проектирования [3]: логическое проектирование, тестирование и верификация, синтез топологии. В данной работе наибольший интерес представляет этап конструкторского проектирования. В контексте проектирования СБИС, исходными данными для конструкторского проектирования являются электрические схемы, в итоге конструкторского проектирования получается топология схемы [3]. В ходе конструкторского проектирования выполняются следующие этапы: разбиение, планирование, размещение, трассировка, компакция, верификация. Рассмотрим эти этапы подробней. 169 Разбиение. На этом этапе происходит разбиение компонентов схемы в блоки. Критериями разбиения является множество факторов: размер блоков, число блоков, число межсоединений между блоками. В итоге формируется множество блоков и межсоединений между ними. Планирование. На этом этапе определяется взаимное расположение блоков друг относительно друга. Критерии планирования: Длина связей между блоками, распределение связей по полю кристалла, число изгибов соединений, временные задержки, площадь и размеры кристалла. Размещение. В ходе этого этапе определяется конкретное место для каждого блока на кристалле. Для задачи размещения принимаются такие же критерии, что и в задаче планирования. Трассировка. Этап заключается в конструктивной реализации связей элементов между собой. В настоящее время используется двухуровневая трассировка: глобальная и детальная (Канальная) [3]. Глобальная трассировка. Заключается в предварительном распределении соединений по областям трассировки без определенной геометрии топологии. Для глобальной трассировки используется следующие данные: информация о размещении блоков, выводов на их границах, расположении выводов на границе чипа, а также список указанием соответствующих цепей, которые подходят выводам блоков [4]. Детальная (канальная) трассировка. Основная задача канальной трассировки – нахождение минимально возможной ширины канала, для размещения в нём необходимых соединений и назначение их на магистрали. Также, необходимо минимизировать суммарную длину соединений (цепей), число переходных отверстий и т.п. Также в ходе канальной трассировке следует соблюдать следующие ограничения [3]: цепи не могут накладываться друг на друга; точки касания цепей отсутствуют; в одной точке пересекаются не более двух цепей. Компакция. Этап сводится к уменьшению общей площади кристалла. Верификация. На этом этапе производятся проверки параметров влияющих на работу (например, геометрические размеры, временные задержки, ограничения) итоговой топологии схемы. Архитектура модуля Созданная архитектура имеет 4 контролера для связи между пользователем и слоем доступа к данным и несколько вспомогательных служб, рассмотрим эти компоненты подробнее. Контроллер формы интеграции данных: отвечает за связь между представлением формы интеграции и слоем хранения данных, контроллер позволяет принимать POST-запросы от формы и обрабатывать их и передавать в соответствующие модели. Контроллер также связан со службой экспертной оценки. Контроллер алгоритмов САПР, предоставляет функционал для работы с алгоритмами, внесенными в систему, также контроллер позволяет вносить и сохранять в систему новые алгоритмы. Контроллер схем, позволяет работать с интегрированными в систему схемами, в случае компоновки, с данными задачи компоновки и её грифовым представлением. Контроллер результатов, предназначен для работы с результатами, полученными в ходе работы ЭС, также с этим контроллером связана работа служба экспертной оценки. Служба экспертной оценки, предназначена для проведения оценки и проведения оценки работы алгоритмов. Программная реализация алгоритмов представляет собой отдельные службы, реализующие один интерфейс, а служба экспертной оценки является классом фабрикой, которая использует нужные службы алгоритмов и возвращает обобщённый результат. На рис. 1 показано её графическое представление Рассмотрим слой хранения данных, для данной архитектуры используется структура БД показанная на рис. 2. В модуле структура реализуется в виде следующих моделей: Алгоритм САПР – сущность алгоритма САПР используемого в системе для оценки, новые алгоритмы можно добавлять через панель администрирования модуля. Для алгоритма можно задать название, псевдоним, используемый при работе ЭС и указать класс, в котором будет содержаться программная реализация алгоритма – служба алгоритма. Категория алгоритма – категория задачи решаемого алгоритмом, например компоновка. Схема компоновки – сущность содержащая данные задачи компоновки. Результат компоновки – сущность содержащая данные результата компоновки, сущность связана со схемой компоновки и алгоритмом САПР. Вершина – вершина графового представления данных задач проектирования, коллекция таких вершин представляет собой граф, связанный с сущностью схемы. 170 Рисунок 1 – Архитектура разрабатываемого модуля Рисунок 2 – Структура БД 171 Алгоритм работы На рис. 3 показан алгоритм работы модуля интеграции данных, для примера выбран этап компоновки. Рассмотрим алгоритм работы подробней. На первом и втором этапе происходит ввод данных задачи конструкторского проектирования. После ввода данные задачи интегрируются в систему, также для задачи компоновки происходит построение графовой модели задачи. Далее происходит построение предварительных результатов, при необходимости происходит прогон задачи по некоторым (или всем) алгоритмам, если предварительная оценка невозможна. После построение оценок происходит их анализ, и итоговые данные интегрируются в систему для последующего анализа и хранения. В итоге пользователю предоставляются результаты оценок с рекомендациями, по использованию алгоритмов для компоновки. Рисунок 3 – Алгоритм работы модуля интеграции данных Заключение В результате работы была разработана архитектура, структура базы данных, схема и алгоритм работы для модуля интеграции данных для экспертной оценки результатов процесса проектирования. Архитектура построена принципам MVC архитектуры, и включает в себя представления интерфейса, модели баз данных, контроллеры для связи между ними, а также вспомогательные службы необходимые для работы модуля. Также выполнена программная реализация этого модуля на языке высокого уровня PHP с использованием фреймворка Zend Freamwork. Разработанный модуль является частью экспертной системы для оценки результатов процессов проектирования и позволяет производить интеграцию данных в экспертную систему для дальнейшего хранения и анализа. Экспертная система работает посредством веб-интерфейса, что позволяет использовать ЭС вне зависимости от операционной системы или устройства, также, использование клиент-серверной архитектуры позволят предоставлять удаленный доступ к ЭС для её пользователей. 172 Литература 8.Черняк Л. Интеграция данных: синтаксис и семантика [текст] / Л. Черняк // «Открытые системы», № 10, 2009. 9.Норенков И. П. Основы автоматизированного проектирования: Учебное пособие для вузов [Текст] / И. П. Норенков Москва: Изд-во МГТУ имени Н.Э. Баумана, 2009. – 430с. 10. Кравченко Ю.А., Марков В.В., Принятие решений в интегрированных информационных моделях на основе метода анализа иерархий, Известия ЮФУ. Технические науки. 2012. № 11 (136). С. 212-216. 11. Кравченко Ю.А., Лежебоков А.А., Запорожец Д.Ю., Способы интеллектуального анализа данных в сложных системах, Известия Кабардино-Балкарского научного центра РАН. 2012. № 3. С. 52-57. 12. Лежебоков А.А., Бова В.В., Шугушхов Х.М., Средства и технологии виртуального прототипирования для поддержки процессов автоматизированного проектирования, Известия Кабардино-Балкарского научного центра РАН. 2013. № 5 (55). С. 17-21. 13. Кудаев А.Ю., Лежебоков А.А., Нагоев З.В., Виртуальное прототипирование в интегрированных сапр машиностроения и электроники на основе онтонейроморфогенетического моделирования, Известия ЮФУ. Технические науки. 2013. № 7 (144). С. 29-35. 14. Запорожец Д.Ю., Кудаев А.Ю., Лежебоков А.А., Многоуровневый алгоритм решения задачи параметрической оптимизации на основе биоинспирированных эвристик, Известия Кабардино-Балкарского научного центра РАН. 2013. № 4 (54). С. 21-28. 15. Bova V.V., Lezhebokov A.A., Gladkov L.A., Problem-oriented algorithms of solutions search based on the methods of swarm intelligence, World Applied Sciences Journal. 2013. Т. 27. № 9. С. 1201-1205. Лежебоков А.А., Туйсус Е.В., Ковтун А.В. Модуль интеграции данных для экспертной оценки результатов процессов проектирования. В работе рассмотрена экспертная оценка результатов процесса проектирования на примере задачи компоновки, выделены критерии, используемые для оценки качества результатов решения этой задачи и данные задачи, которые необходимо интегрировать в экспертную систему для последующей экспертной оценки. Выполнена разработка архитектуры, структуры базы данных и алгоритма работы модуля для интеграции данных о задаче компоновки. Также в работе рассмотрены уровни интеграции данных, особости интеграции данных в сервисно-ориентированых приложениях, рассмотрена архитектура типовой экспертной системы. Ключевые слова: интеграция, экспертная система, проектирование. Legebokov A.A., Tuysus E.V., Kovtun A.V. Module data integration for peer evaluation of the design process. The paper considers the results of expert assessment of the design process by the example of the layout problems, highlighted the criteria used to assess the quality of the results of this task and the task data that must be integrated into an expert system for the subsequent peer review. Completed development of the architecture, database structure and algorithm of the module for the integration of the layout of the task data. Also in the paper the levels of data integration, a special data integration serviceorientation applications, the architecture of a typical expert system. Keywords: integration, expert system design. Keywords: system, information, accounting, record, research intensity. 173 УДК 004.82 Об одном модуле визуализации результатов экспериментов А.А. Лежебоков, Э.С. Цырульникова, А.Е. Лебединский Южный Федеральный университет tsirulnikova@sfedu.ru Лежебоков А.А., Цырульникова Э.С., Лебединский А.Е. Об одной модуле визуализации результатов экспериментов. В статье рассмотрена проблема визуализации результатов экспериментов, которая заключается в создании модуля для интегрированной инструментальной среды поддержки процедур эволюционного поиска, с помощью средств веб-разработки. Представлен подход к решению одной из задач процесса компьютерного моделирования, а именно задачи визуализации результатов научных исследований, обеспечивающих анализ и правильную интерпретацию результатов вычислений, а также дальнейшую работу с вычислительной моделью. Подробно рассмотрена архитектура модуля визуализации и алгоритм его работы. Ключевые слова: визуализация, компоновка, генетический алгоритм. Введение Визуальное представление численных данных, являющихся результатами научных исследований или прикладных, инженерных и технологических расчетов, на сегодняшний день представляет собой важнейшую отрасль знания и технологического развития. Без использования современных концепций, методов и программных средств научной визуализации, изложенных в работе [1] и в научной статье [2] невозможно провести полный и достоверный анализ результатов численного моделирования сложных физических и технологических процессов, проводимый на современной вычислительной технике. Еще до появления компьютерной техники, то есть в период традиционной, “бескомпьютерной” (или “докомпьютерной”) визуализации, к основным функциям визуализации относили иллюстративную и коммуникативную функции. Но из иллюстративного инструмента визуальное представление данных эксперимента превратилось в полноправный инструмент познания окружающего мира, добавив к своему перечню функций когнитивную. Получить и понять научный результат становится возможным зачастую только с помощью совокупности методов и концептуальных подходов визуального представления численных данных. Это новое качество визуального представления численных полей называют научной визуализацией [3]. Визуализация является существенной частью процесса численного моделирования [4-5], обеспечивающей анализ и правильную интерпретацию результатов вычислений, а также дальнейшую работу с вычислительной моделью, что крайне важно в области систем автоматизированного проектирования, где почти все задачи являются NP-трудными и результаты которых, особенно в условиях с большим количеством данных, сложно интерпретировать безошибочно. Архитектура модуля визуализации Модуль визуализации представляет собой часть интегрированной инструментальной среды поддержки процедур эволюционного поиска, позволяет работать с данными не только экспертам в области САПР, но и обычным пользователям. После занесения экспертом данных, либо вручную, либо из внешнего файла, пользователь может их анализировать, пользуясь удобством и итеративностью графиков и диаграмм. Внутреннее устройство модуля визуализации (рис. 1) представляет собой набор взаимосвязанных блоков. Модуль имеет веб-интерфейс и ввод/вывод осуществляется через веб-браузер, обеспечивающий абсолютную кроссплатформенность, будь то стационарный компьютер или мобильное устройство, что на данный момент является крайне популярным видом используемой компьютерной техники. Блок авторизации, т.е. предоставления определённому лицу прав на использование функционала модуля. Блок ввода исходных данных представляет собой занесение пользователем данных для визуализации в таблицы. 174 Рисунок 1 - Архитектура модуля визуализации Блок импорта, не реализованный на данный момент, с помощью, JS-библиотеки Highcharts, позволяет загружать данные из CSV-файлов, HTML-таблиц или Google-таблиц. Управление экспериментами дает возможность выбора параметров и особенностей ЭВМ на которой проводились эксперименты, выбора статуса эксперимента, а так же управление входящими в эксперимент таблицами данных, их редактирование. Блок управление бенчмарками позволяет создавать и редактировать бенчмарки. Настройки параметров таблиц включают в себя размерность таблицы, описание строк и столбцов, описание данных хранимых на их пересечении. Блок экспорта реализует экспорт графиков в форматах: PNG, JPEG, PDF, SVG, для дальнейшей работы с ними вне модуля визуализации. Блок визуализации осуществляется с помощью выбранной в главе 1 JS-библиотек и представляет собой процесс преобразования табличных данных в графики. Модуль имеет базу данных (БД) для хранения данных о пользователях, созданных экскрементах, бенчмарках, таблицах данных. Алгоритм работы модуля Алгоритм работы модуля пошагово раскрывает все его возможности и дает достаточное представление о его функционале (рисунок 2). Блок №1 — авторизация предоставляет зарегистрированным пользователям доступ к использованию функционала модуля. Если же пользователь не зарегистрирован, то для доступа необходимо пройти процедуру регистрации. Блок №2 — возможность перехода на создание бенчмарка или если нет в нем необходимости переход на блок 4. Блок №3 — создание бенчмарка (занесение эталонных значений). Блок №4 — для внесения данных в таблицы необходимо создать «эксперимент», который объединяет одной темой серию полученных результатов исследований. Блок №5 —создание эксперимента. Блок №6 — для внесения данных необходимо создать таблицу, в которую заносятся полученные данные результатов исследований. Блок №7 — для создания таблицы необходимо заполнить все обязательные поля, такие как название таблицы, описание, дата, название столбцов, строк, выбрать число столбцов, строк, и значения ячеек, которые будут на пересечении заголовок строк и столбцов. Блок №8 — добавление данных, которые далее будут визуализированы в виде графиков. Блок №9 — внесение данных возможно из внешних источников (CSV-файлов, HTML-таблиц или Google-таблиц). Блок №10 — собственно загрузка файла с данными. Блок №11 — внесение данных в таблицу, созданную на 5ом шаге, при создании таблицы осуществляется переход на следующую страницу, где сформирована таблица, на основании введенных ранние данных. Блок №12 — имеется возможность редактирования внесенных вручную данных - важная функция, т.к. здесь человеческий фактор играет большую роль и вероятность ошибки велика. Блок №13 — редактирование доступно для всех таблиц, в которых было введено хотя бы одно значение. Блок №14 — если есть необходимость сравнения с бенчмарком, переход на блок 15, если нет, на блок 16. Блок №15 — при выборе бенчмарка происходит добавление строк в исходную таблицу, для последующей совместной визуализации. Блок №16 — если нужно провести анализ данных, включающий выбор типа графика для визуализации и саму визуализацию, то переход к блоку 17, иначе к блоку 22. Блок №17 — выбор типа графика/диаграммы, подходящего под конкретные данные и нужды. 175 Рисунок 2 - Алгоритм работы модуля визуализации Блок №18 — собственно визуализация, отображение внесенных данных в графическом виде. Блок №19 — после внесения и визуализирования данных, пользователь может видеть составленные графики/диаграммы и экспортировать их отдельно к себе на устройство. Блок №20 — экспорт графиков возможен в формате PNG, JPEG, PDF, SVG. Блок №21 — стандартное сохранение файла с интернет страниц, выбор места сохранения на запоминающем устройстве. Блок №22 — если работа завершена и больше нет необходимости внесения/изменения/анализа данных, то выход из системы - конец работы алгоритма, иначе возвращается ко 2му шагу. Заключение В работе представлен подход к решению одной из задач процесса компьютерного моделирования, а именно задачи визуализации результатов научных исследований, обеспечивающих анализ и правильную интерпретацию результатов вычислений, а также дальнейшую работу с вычислительной моделью. Авторами было предложено решить задачу визуализации и в ходе работы были рассмотрены основные методы визуализации, дано обоснование выбора подхода к реализации процесса визуализации, проведен обзор и анализ средств визуализации. В работе отмечается важность и актуальность процесса визуализации результатов научных исследований и практическое применение визуализации для задач конструкторского проектирования. Разработана архитектура, структура базы данных и алгоритм работы модуля визуализации данных. Программная реализация модуля выполнена на языке высокого уровня PHP с использованием фреймворка Symfony, а также с помощью языка JavaScript и JavaScript-библиотек jQuery – для упрощения 176 написания кода и Highcharts – для визуализации данных. И так как модуль имеет веб-интерфеса были использованы возможности языка разметки — HTML5 и каскадных таблиц стилей – CSS3. Произведена демонстрация работы модуля на примере задачи компоновки. Литература 16. А.Е. Бондарев, В.А.Галактионов Научная визуализация в задачах вычислительной физики: концепции, методы, перспективы // Институт прикладной математики им. М.В.Келдыша РАН. 17. К.А. Шаропин, О.Г. Берестнева, Г.И. Шкатова Визуализация результатов экспериментальных исследований // Известия Томского политехнического университета. Т.316, N 5, 2010, стр 172-176. 18. Авербух В.Л. К теории компьютерной визуализации [Текст] / В.Л. Авербух // Вычислительные технологии, 2005. С 21-51. 19. Heermann Ph. D. Production Visualization for the ASCI One TeraFLOPS Machine // Proceedings of the 9th Annual IEEE Conference on Visualization, Oct 18-23 1998, ACM Press, New York, 1998, pp. 459-482. 20. Самарский А.А. Математическое моделирование и вычислительный эксперимент [Текст] / А.А. Самарский // Вестник АН СССР, 1979. C. 38-49. 21. Bova V.V., Lezhebokov A.A., Gladkov L.A., Problem-oriented algorithms of solutions search based on the methods of swarm intelligence, World Applied Sciences Journal. 2013. Т. 27. № 9. С. 1201-1205. 22. Кравченко Ю.А., Лежебоков А.А., Запорожец Д.Ю., Способы интеллектуального анализа данных в сложных системах, Известия Кабардино-Балкарского научного центра РАН. 2012. № 3. С. 52-57. 23. Кравченко Ю.А., Марков В.В., Принятие решений в интегрированных информационных моделях на основе метода анализа иерархий, Известия ЮФУ. Технические науки. 2012. № 11 (136). С. 212-216. Лежебоков А.А., Цырульникова Э.С., Лебединский А.Е. Об одной модуле визуализации результатов экспериментов. В статье рассмотрена проблема визуализации результатов экспериментов, которая заключается в создании модуля для интегрированной инструментальной среды поддержки процедур эволюционного поиска, с помощью средств веб-разработки. Представлен подход к решению одной из задач процесса компьютерного моделирования, а именно задачи визуализации результатов научных исследований, обеспечивающих анализ и правильную интерпретацию результатов вычислений, а также дальнейшую работу с вычислительной моделью. Подробно рассмотрена архитектура модуля визуализации и алгоритм его работы. Ключевые слова: визуализация, компоновка, генетический алгоритм. Legebokov A.A., Tsyrulnikova E.S., Lebedinsky A.E. On a visualization module of the experimental results. In the article the problem of visualizing the results of experiments, which is to create a module for an integrated tool environment support evolutionary search procedures using web development tools. An approach to solving one of the problems of computer simulation of the process, namely the problem of visualization of research results, providing analysis and correct interpretation of the results of calculations, as well as further work with the computer model. The article details the architecture visualization module and algorithm of its work. Keywords: visualization, layout, genetic algorithm. 177 УДК 004.051 Разработка PDM-подсистемы САПР сайта научного журнала Новиков Е.Т., Андрюхин А.И. Донецкий национальный технический университет jenyanovikov2014@yandex.ua, alexandruckin@rambler.ru Новиков Е.Т., Андрюхин А.И. Разработка PDM-подсистемы САПР сайта научного журнала. В работе предлагается решение задачи автоматизации документооборота. Приведен обзор используемого процесса создания моделей. Данная работа нацелена на исследование современных технологий и методов, используемых для автоматизации документооборота, а также освящение современных программных продуктов, реализующих эти технологии. Введение Электронный документооборот - высокотехнологичный и прогрессивный подход к существенному повышению эффективности работы. Чем выше количество различных документов и файлов, тем сложнее становиться их использовать. Система управления базами данных предоставляет полный контроль над процессом определения данных, их обработкой и использованием. Совместное использование систем электронного делопроизводства и хранилищ информации позволяет систематизировать и объединять информацию, что облегчает ее анализ и составление отчетов и дальнейшее использование. Информационные безбумажные технологии облегчают процесс управления знаниями. Они создают основу решений, обеспечивающих автоматизированный и централизованный обмен знаниями, и получают только необходимую информацию из всех доступных источников. Общая постановка проблемы РНР — это серверный язык создания сценариев, разработанный специально для Web. В HTMLстраницу можно внедрить код РНР, который будет выполняться при каждом ее посещении. Код РНР интерпретируется Web-сервером и генерирует HTML или иной вывод, наблюдаемый посетителем страницы. Таким образом, можно задать последовательность действий, которая будет выполнена над загружаемым документом. Документу можно поменять имя, которое будет автоматически присвоено разработанным модулем. Это нужно для последующей сортировки и управления потоками документов. Так же по данному имени файла он будет автоматически выгружен на сайт научных статей. Предусмотрен контроль над типом загружаемого файла и его размером, что бы избежать загрузки неверных файлов. Все загруженные документы должны быть обработаны и автоматически сохранены в базу данных, из которой они и будет выгружены на сайт [1]. В информационной системе предусмотрены три уровня управления: 1) управление файлами, осуществляемое в процессе их генерации и эксплуатации. Основными операциями являются открытие и закрытие, переименование, реорганизация, восстановление баз данных, снятие отчетов по базам данных; 2) управление записями, которое включает чтение, добавление, удаление и составление записей; 3) управление полями записей[2]. Классификация структуры БД MySQL - это система управления реляционными базами данных, очень часто применяемая в сочетании с PHP [3]. База данных представляет собой структурированную совокупность данных. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и является ПО MySQL. В реляционной базе данных данные хранятся в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросив плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных. В таблице приведена сравнительная характеристика способов обращения к данным для различных структур баз данных [3]. 178 Технические возможности СУБД MySQL MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API). Мы также поставляем сервер MySQL в виде многопоточной библиотеки, которую можно подключить к пользовательскому приложению и получить компактный, более быстрый и легкий в управлении продукт. Cтруктура MySQL трехуровневая: базы данных — таблицы — записи. Базы данных и таблицы MySQL физически представляются файлами с расширениями frm, MYD, MYI. Логически - таблица представляет собой совокупность записей. А записи - это совокупность полей разного типа. Имя базы данных MySQL уникально в пределах системы, а таблицы - в пределах базы данных, поля - в пределах таблицы. Один сервер MySQL может поддерживать сразу несколько баз данных, доступ к которым может разграничиваться логином и паролем. Ниже приведена таблица сравнения характеристики и способов обращения к данным для различных структур баз данных и схема последовательности работы клиент-сервер[4]. Таблица 1 - Сравнение характеристики и способов обращени к данным Рисунок 1 – Схема последовательности работы клиент-сервер 179 Методы решения задачи При проектировании архитектуры системы за основу была принята технология клиент-сервер. В основе этой концепции лежит идея о том, что кроме хранения файлов базы данных, центральный сервер должен выполнять основную часть обработки данных. Пользователи обращаются к центральному серверу с помощью специального языка структурированных запросов (SQL, Structured Query Language), на котором описывается список задач, которые выполняются сервером. Запросы пользователей принимаются сервером и порождают в нем процессы обработки данных. СУБД MySQL является реляционной. В реляционных базах данных информация храниться в одной или нескольких таблицах. Связь между таблицами осуществляется с помощью значений одного или нескольких совпадающих полей. Каждая строка таблицы в реляционных базах данных уникальна. Для обеспечения уникальности строк используется индексация по одному или нескольким полям таблицы. [5] Страница для загрузки файлов может быть реализована при помощи специальной формы, которая выглядит так: <form enctype="multipart/form-data" action="__URL__" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <!-- Название элемента input определяет имя в массиве $_FILES --> Отправить этот файл: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> Глобальный массив $_FILES содержит всю информацию о загруженных файлах. $_FILES['userfile']['name'] Оригинальное имя файла на компьютере клиента. $_FILES['userfile']['type'] Mime-тип файла, в случае, если браузер предоставил такую информацию. Пример: "image/gif". Этот mime-тип не проверяется в PHP, так что не полагайтесь на его значение без проверки. $_FILES['userfile']['size'] Размер в байтах принятого файла. $_FILES['userfile']['tmp_name'] Временное имя, с которым принятый файл был сохранен на сервере. $_FILES['userfile']['error'] Код ошибки, которая может возникнуть при загрузке файла[6]. Когда форма отправляется на сервер, управление данными передается программе, заданной атрибутом action тега <form>. Предварительно браузер подготавливает информацию в виде пары «имя=значение», где имя определяется атрибутом name тега <input>, а значение введено пользователем или установлено в поле формы по умолчанию [8]. PHP-скрипт, принимающий загруженный файл, должен реализовывать логику, необходимую для определения дальнейших действий над принятым файлом. Например, вы можете проверить переменную$_FILES['userfile']['size'], чтобы отсечь слишком большие или слишком маленькие файлы. Также вы можете использовать переменную $_FILES['userfile']['type'] для исключения файлов, которые не удовлетворяют критерию касательно типа файла, однако, принимайте во внимание, что это поле полностью контролируется клиентом, используйте его только в качестве первой из серии проверок. Также вы можете использовать $_FILES['userfile']['error'] и коды ошибок при реализации вашей логики. Независимо от того, какую модель поведения вы выбрали, вы должны удалить файл из временной папки или переместить его в другую директорию. В случае, если при отправке формы файл выбран не был, PHP установит переменную $_FILES['userfile']['size'] значением 0, а переменную $_FILES['userfile'] ['tmp_name'] - пустой строкой. none [8]. По окончанию работы скрипта, в случае, если принятый файл не был переименован или перемещен, он будет автоматически удален из временной папки. Приведенные методы позволят реализовать предлагаемую систему по автоматизированному управлению потоками документов: проверка на корректность, переименование, сохранение, последующая выгрузка на сайт в заданный раздел. Все это делается автоматически, без затраты человеческих ресурсов, что позволяет экономить много времени на рутинных действиях с которыми может справиться компьютер [9]. Исследования В ходе работы выделены основные возможности SQL: выполнять запросы к базе данных; извлекать данные из базы данных; добавить записи в базу данных; обновить записи в базе данных; удалить записи из базы данных; создавать новые базы данных; создавать новые таблицы в базе данных; 180 создавать хранимые процедуры в базе данных; настроить разрешения для таблиц . Предлагаемая база данных состоит из одной таблицы содержащей столбцы и строки в которых помещается информация о присылаемом файле. Алгоритм совершаемых действий над присылаемым файлом можно свести к нескольким шагам: Прием файла и проверка его на корректность; Переименование файла в зависимости от конечной цели; Сохранение файла в созданную БД, а так же всей информации которая идет с файлом; Размещение файла на сайте в заданном виде. Данная модель позволяет работать с большим количеством документов, а так же изменять свой функционал в зависимости от конечной цели. Предлогаемая система вмещает в себя ряд различных языков и методов для ее реализации: PHP – задействован метод передачи файлов POST; HTML – необходим для разработки графической части системы; MySQL – необходим для создания базы данных, в которой хранятся файлы.; Преимущества Представленная идея автоматизированной системы управления документооборотом позволит автоматизировать сбор, обработку, сохранение и размещение присланных документов. Преимущество предлагаемой системы состоит в том, что для управления такой системой необходимо тратить минимум времени. Так же система легко адаптивна. Если потребуется функциональное изменение для решения новых задач, то данная система имеет возможность изменения. Такой подход предлагается реализовать на языке серверной разработке PHP. Так же будет задействован язык гипертекстовой разметки HTML. Выводы В данной работе были рассмотренные наиболее актуальные методы реализации автоматизированной системы управления документами. Рассмотрен язык программирования PHP. В ходе разработки применен метод передачи файлов POST. Рассмотрены различные средства реализации баз данных. Был выбран самый подходящий для данной задачи клиент-сервер. Реализован интерфейс, поля ввода и внешний вид формы средствами HTML. Литература 1.PHP.SU [Электронный ресурс]. - Режим доступа к ресурсу: http://www.php.su/php/?php. к ресурсу: http://elearning.sumdu.edu.ua/free_content/lectured:89b3d175c06a6b137e410cb14821d0e94549ad5a/20151030211833/ 44150/index.html. 2. Информационные системы работы с базами данных [Электронный ресурс]. - Режим доступа к ресурсу: http://bibliograph.com.ua/deyatelnost-predpriyatiya-2/20.htm 3. Справочное руководство по MySQL [Электронный ресурс] - Режим доступа к ресурсу: http://www.mysql.ru/docs/man/MySQL-PostgreSQL_ features.html 4. Википедия - свободная энциклопедия [Электронный ресурс]. - Режим доступа к ресурсу: https://ru.wikipedia.org/wiki/MySQL. 5. Информационные системы и базы данных [Электронный ресурс]. - Режим доступа. 6. Википедия - свободная энциклопедия [Электронный ресурс]. - Режим доступа к ресурсу: https://ru.wikipedia.org/wiki/PHP. 7. Методы создания оптимальной модели баз данных [Электронный ресурс] - Режим доступа к ресурсу: http://ua.textreferat.com/referat-8069-1.html 8. Локальный сервер на Windows [Электронный ресурс] - Режим доступа к ресурсу: https://habrahabr.ru/post/150972/. 9. Работа с данными в базе данных [Электронный ресурс] - Режим доступа к ресурсу: http://www.programmersforum.ru/showthread.php?t=108739. Novikov E. T., A. I. Andryukhin Development of PDM system for CAD of the website of the scientific journal. This paper proposes a solution to the problem of workflow automation. Given an overview of the process of creating models. This work aims to study the modern technologies and methods used to automate the workflow, as well as the consecration of modern software products that implement these technologies. Keywords: HTML, CAD, PHP, MySQL, client-server. 181 УДК 004.5 Анализ и сравнение современных MIDI-секвенсоров как проблемноориентированных САПР Погорелов Д.Д. , Григорьев А.В. Донецкий национальный технический университет dmitriy_pogorelov@outlook.com Погорелов Д.Д., Григорьев А.В. Анализ и сравнение современных MIDI-секвенсоров как проблемно-ориентированных САПР. В статье производится анализ современных MIDIсеквенсоров, поиск в них функционала типичного САПР. Выполнен обзор наиболее актуальных на сегодняшний день MIDI-секвенсоров Ключевые слова: САПР, секвенсор, анализ инструментальные средства композитора. Введение Актуальность работы: в последнее время аудио-секвенсоры всё больше используют для написания музыки, не только современно направленной, но и классической. В будущем каждый музыкант и композитор должен будет уметь использовать данные программы, что бы быть актуальным на музыкальном рынке. Секвенсор – это аппаратное или программное устройство для записи в реальном времени и воспроизведения музыки, как совокупности нот и характеристик их исполнения, представляемых в различных формах, например CV-Gate или MIDI-сообщений. Принцип работы секвенсера заключается в том, что записываются MIDI-сообщения от устройств во внутреннюю программную память для последующего воспроизведения. Таким образом, секвенсор по своим функциям аналогичен магнитофону, за исключением того, что он записывает не звуковые данные, а программные команды для различных MIDI-устройств Типичный секвенсор включают в себя полный в той или иной мере набор инструментов для композитора, включая: генерация нотных данных; сохранение во всех видах муз-данных; подключение миди-инструментов; редактирование звуков; генерация нотных данных, сохранение во всех видах муз-данных, подключение мидиинструментов и редактирование звуков. Приведённые ниже программы включают в себя полный в той или иной мере набор для композитора. Исходят из функций, конкретных операций, возможностей и результатов работы, можно сказать, что секвенсор – это проблемно-ориентированный САПР музыкальных произведений. Соответствие анализ такого рода систем можно проводить с точки зрения полноты функциональности его как САПР. Это позволит точнее исследовать полноту его функциональности, возможности технологии и выявления проблем и перспектив развития. Цель работы: - Анализ и сравнение современных MIDI-секвенсоров с точки зрения представления их как типичного САПР, т.е. поиск в них: CAD, CAM CAE элементов; - Выявление перспектив развития секвенсоров. 1. Структура и функции типичного САПР В соответствии с ГОСТ[1][2], в структуре САПР выделяют следующие элементы: КСАП САПР — комплекс средств автоматизации проектирования САПР; подсистемы САПР, как элемент структуры САПР, возникают при эксплуатации пользователями КСАП подсистем САПР; КСАП-подсистемы САПР — совокупность ПМК, ПТК и отдельных компонентов обеспечения САПР, не вошедших в программные комплексы, объединённая общей для подсистемы функцией; ПТК — программно-технические комплексы; компоненты обеспечения ПТК САПР; ПМК — программно-методические комплексы; компоненты обеспечения ПМК САПР; компоненты обеспечения САПР, не вошедшие в ПМК и ПТК; 182 Совокупность КСАП различных подсистем формируют КСАП всей САПР в целом. 2. Обзор наиболее актуальных на сегодняшний день аудио- секвенсоров. 2.1. Анализ FL Studio FL Studio – это мощная студия для редактирования музыки на вашем компьютере. FL Studio, которая раньше называлась Fruity Loops, была преобразована из MIDI-секвенсора в полноценное приложение для редактирования звука. Есть множество причин скачать FL Studio и начать использовать ее, чтобы писать музыку на компьютере. Как она выглядит? Давайте взглянем на интерфейс FL Studio (рис. 1). Пользователи, знакомые с FL Studio, сразу узнают темно-зеленый цвет и окно со скругленными краями, которые были в предыдущих версиях. Однако для нового пользователя структура программы может быть трудной для понимания. Окно проводника слева содержит все файлы, которые вам понадобятся – от пресетов до проектов и партитур. При нажатии на ресурс откроется окно, где можно выбрать отдельный элемент. Эту библиотеку, где уже содержится внушительное количество плагиноввроде DirectWave, EQUO или Fruity Squeeze, можно наполнить своими семплами. В FL Studio есть "умный" поиск, который позволяет быстро найти любой трек, инструмент или эффект. Рисунок 1 – Интефейс программы FL Studio Как использовать FL Studio Для редактирования треков в FL Studio вы можете использовать окно с паттернами, где находятся все инструменты, которые вы выбрали. Для каждого инструмента вам нужно будет создать необходимые паттерны. Также вы можете использовать окно плейлиста, которое разделено на область паттернов (сверху) и аудио-треков (снизу). В этом окне есть удобный инструмент "кисточка", при помощи которого можно раскрашивать паттерны в разные цвета. Также вы можете редактировать треки при помощи окна фортепианной клавиатуры, что может быть удобно, если у вас подключена midi-клавиатура. Первоначально FL Studio может показаться запутанной, но если вы знакомы с секвенсорами, то у вас не должно возникнуть проблем. Все инструменты и семплеры работают в стерео-режиме, поэтому чтобы получить несколько выходов, необходимо создать нужное количество элементов. Для тех, кто хочет подсоединить настоящие инструменты, в FL Studio есть поддержка нескольких midiвходов и педали сустейна. В микшере FL Studio есть большое количество пресетов, что поможет вам очень точно настроить звучание трека. FL Studio – отличный секвенсор для тех, кто хочет создавать биты. Удобное окно проводника и такие окна редактирования, как плейлист, фортепианная клавиатура или окно паттернов помогут вам работать так, как вам удобно. Благодаря микшеру с точными настройками и большой библиотеке плагинов FL Studio является отличным приложением для редактирования звука. Функция Сhop позволяет генерировать мелодии относительно стиля и темпа (см. рис. 2.): 183 Рисунок 2 – Добавлекние нотных данных в программу FL Studio Рисунок 3 – Пример генерации нотных данных программы FL Studio Достоинства и недостатки Преимущества FruityLoops: Приятный, оригинальный интерфейс, Полная автоматизация почти всех элементов управления, Поддержка интерфейсов MIDI, DirectX, ASIO, VST(i), ReWire, Поддержка файлов формата MIDI, Wave, AIFF, MP3, Ogg Vorbis, FastTracker, Гигантская (по сравнению с другими аналогичными программами) коллекция виртуальных синтезаторов, самплеров, ромплеров, контроллеров, эффектов, Отличная студия для записи рока, синтпоп и хип-хоп, для проведения экспериментов. Недостатки FruityLoops: Программа не стабильна, и может зависнуть в любой не подходящий момент, Программа потребляет слишком много ресурсов при работе с драйверами DirectX и MIME с посторонними генераторами и эффектами, Программа потребляет слишком много ресурсов при работе с драйверами DirectX и MIME с посторонними генераторами и эффектами, Цена: 299 долларов. В качестве вывода отметим: что в программе FL Studio присутствуют CAD-технологии. Кроме того в программе присутствуют CAE-элементы. Это утверждение выходид из набора функционала программы. В частности, функция “Chop” – демонстрирует возможности синтеза и моделирования нотных данных. Программа отлично подходит для новичков и самостоятельного обучения, но не является профессиональной. 2.2. Анализ Reason Reason — программа для создания и записи музыки (рис 3) (цифровая звуковая рабочая станция), разработанная шведскойкомпанией Propellerhead Software. Эмулирует рэковую стойку с установленными в 184 неё аналоговыми синтезаторами, семплерами, сигнальными процессорами, секвенсорами и микшерами. Может использоваться или как самостоятельная виртуальная студия звукозаписи, или как набор виртуальных музыкальных инструментов для живого выступления, или для записи при помощи внешних секвенсоров Как она выглядит? Рисунок 3 – Интерфес программы Reason Как использовать Reason Идеей Reason является студия закрытого типа, с несколькими основными синтезаторами и самплерами, которые звучат обобщённо и могут имитировать звучание синтезаторов и самплеров прошлого. Для больших возможностей существует гигантская, умопомрачительная коллекция Звуковых банков для Причины, именуемая Рефиллами (Refill). Достоинства и недостатки Преимущества Reason: Невероятная стабильность, даже при полной загрузке, Удобный своеобразный интерфейс в виде стойки с оборудованием и проводами, Встроенные генераторы, эффекты и коллекция звуковых образцов и петель обеспечивает выполнение любых музыкальных задач, Особое звучание, имитирующее аналоговое оборудование, Поддержка образцов и петель в форматах Wave, AIFF, Rex, SoundFont, AKAI (при установке некоего дополнительного модуля), Собственный формат передачи данных ReWire для синхронизации с другими программами (С теми же Фруктами, например), бесчисленное количество звуковых банков (в основном, со звукозаписями), подходит для создания любой электронной музыки, любой «акустической» музыки, для экспериментов. Недостатки Reason: Закрытый интерфейс, нельзя подключить свой VSTi/DXi - подключаемый модуль, Цена: 399 Евро В качестве вывода отметим: Что программа Reason также имеет необходимый набор СADтехнологий. Программа в полный мере реализует себя при работе в студии. В связи с этим программа не подходит для домашнего использования. 2.3. Анализ Cubase Компания Steinberg в начале 2009 года анонсировала пятую версию популярного секвенсора Cubase (рис 4). Речь идет о трех вариантах аудио/MIDI редактора: Cubase, Cubase Studio и Cubase Essential. В продаже на российском рынке полный вариант Cubase стоит от $750. Для владельцев предыдущих версий имеется 185 возможность апгрейда за меньшую сумму в $300. Кроме того, возможен переход на полную версию Cubase 5, с урезанных Cubase Studio 4/5 или Cubase SX/SL. Как она выглядит? Рисунок 4 – Интерфейс программы Cubase Как использовать Cubase Cubase имеет несколько рабочих окон, предназначение которых совершенно разное. Окно Проекта основное окно программы. Здесь происходит монтаж вашей композиции, так как это своего рода мультитрековая среда. Здесь добавляются нужные миди, аудио треки, здесь происходит запись партий, здесь назначаются каналы и на треки подключаются VST инструменты - это ничто иное, как секвенсор. Окно клавишного редактора - это как бы другой уровень, уровень редактирования конкретной партии. Поскольку в миди редакторе, преимущественно мы имеем дело с миди событиями, то и редактирование партий происходит на уровне миди сообщений. Но чтобы нам было понятней, что как и куда - все редактирование представлено в виде отпечатков нот в клавишном редакторе. Здесь нужно оперировать такими понятиями, как длительность ноты, её высота, громкость. Другими словами, если в Окне проекта мы имеем дело с частями партии, то здесь с нотами. Следующие окна есть также немаловажными, например, окно редактирования аудио, предназначенное именно для для работы с аудио: обрезка, удаление шумов, деструктивная обработка - это все здесь. Но Cubase, прежде всего, это редактор midi, поэтому сначала нужно разобраться именно с этой частью программы. Вот как бы три основных рабочих окна. Окно для работы с нотами (Scores) - этой вкладкой есть смысл пользоваться лишь тогда, когда дело доходит до распечатывания партитур, а для редактирования нот вполне хватает Клавишного редактора. Окно Dram Map Setap в меню MIDI - на начальном этапе, пока вы не освоили клавишный редактор, нет смысла трогать. Предназначение этой вкладки - создать свою карту для барабанной установки, то есть можно запрограммировать вашу миди клавиатуру таким образом, что каждой отдельной клавише будет соответствовать тот или иной барабанный семплер. Таким образом, вы можете создать свою ударную установку из разных наборов ударных инструментов и управлять её. Очень подробно об этом, как создавать такие карты, объясняет Роман Борнысов в своем видеокурсе, так что - рекомендую. Впрочем в его видеоуроках можно почерпнуть не только эту информацию. Как работать в клавишном редакторе, как пользоваться настройками КВАНТАЙЗА, как пользоваться миди контролерами и т.д. и т.д. Поэтому, кто испытывает затруднения в изучении работы в Cubase - лучше всего прикупить себе этот курс и спокойно, без напрягов пройти его за 2-3 дня. Тогда перед вами выстроится вся целостная картина, а это очень важно, так как фишек и наворотов в Cubase немерено, поэтому нужно знать не только что и как, но и когда их использовать. Программа Cubase позволяет на выходе получать ноты (рис. 5). 186 Рисунок 5 – Нотные данные Достоинства и недостатки Достоинства Cubase: Невероятная стабильность, даже при полной загрузке Удобный своеобразный интерфейс в виде стойки с оборудованием и проводами, Встроенные генераторы, эффекты и коллекция звуковых образцов и петель обеспечивает выполнение любых музыкальных задач, Особое звучание, имитирующее аналоговое оборудование, Поддержка образцов и петель в форматах Wave, AIFF, Rex, SoundFont, AKAI (при установке некоего дополнительного модуля), Собственный формат передачи данных ReWire для синхронизации с другими программами (С теми же Фруктами, например), Бесчисленное количество звуковых банков (в основном, со звукозаписями), Подходит для создания любой электронной музыки, любой «акустической» музыки, для экспериментов. Недостатки Cubase: Закрытый интерфейс, нельзя подключить свой VSTi/DXi - подключаемый модуль, Цена: 399 Евро. В качестве вывода отметим: Что программа Cubase имеет полный набор CAD-технологий. Подходит для работы в домашних и студийных условиях. Имеет хороший набор CAE-элементов, генерирует нотные данных для дальнейшего использования. Выводы В данной статье проведен анализ современных MIDI-секвенсоров как проблемно ориентированных САПР. Провели анализ программа, выявили их достоинства и недостатки. Как перспективные пути развития и проблемы технологии в целом можно назвать: - достройка пакетов до полноценного состава САПР, т.е. – наличие в них необходимого пакета компонентов CAD/CAM/CAE/PDM; - развития отдельных компонент секвенсоров до уровня возможностей наиболее развитых частей САПР в других пакетах, в разряде «более подвинутых» предметных областей. . Литература 1. 2. 3. 4. http://www.rishamanis.com/uroki-muzyki/sekrety-elektronnoj-muzyki/flstudio-reason-i-cubase-chtoluchsche/ Справочник MIDI-секвенсоров. http://fl-studio.ru/- Главная страница официального сайта FL-Studio Документация. http://cubase5.ru/- Главная страница официального сайта Cubase5 Документация. https://www.propellerheads.se/reason-Справочник по программе- Reason. 187 Погорелов Д.Д., Григорьев А.В. Анализ и сравнение современных MIDI-секвенсоров как проблемно-ориентированных САПР. В статье производится анализ современных MIDIсеквенсоров, поиск в них функционала типичного САПР. Выполнен обзор наиболее актуальных на сегодняшний день MIDI-секвенсоров Ключевые слова: САПР, секвенсор, анализ инструментальные средства композитора. Pogorelov D.D. Grigoriev A.V. Analysis and comparison of modern-the MIDI sequencer as a problemoriented CAD. In the article, an analysis of modern MIDI-sequencers, search in their typical CAD functionality. A review of the most relevant today MIDI-sequencers Keywords: CAD, sequencing, analysis tools composer. 188 УДК 004.051 Эффективность применяемого алгоритма построения моделей с ограничениями в различных САПР Е.А. Роговец, А.В. Григорьев Донецкий национальный технический университет pro100puls@mail.ru, grigorievalvl@gmail.com Роговец Е.А., Григорьев А.В. Эффективность применяемого алгоритма построения моделей с ограничениями в различных САПР. В работе предлагается решение задачи параметризации, использован вариативный метод создания параметрической модели. Приведен обзор используемого процесса создания моделей. К ознакомлению представлен математический метод построения моделей. Данная работа нацелена на исследование современных технологий и методов решения задачи параметризации, а также освящение современных программных продуктов, реализующих эти технологии. Введение Зачастую, при проектировании, в чертёж приходится вносить изменения, вызванные недостатками конструкции или модификации, и порой даже незначительные корректировки в размерах одной детали приводят к редактированию значительной части чертежа. Различные САПР предлагают для использования огромное множество зависимостей и алгоритмов, основными являются два вида налагаемых зависимостей: геометрические и размерные. Углубление в изучение параметризации позволит более гибко настраивать модели, а также автоматизировать процесс построения объектов в системе. Общая постановка проблемы Параметрические операции — это ключевые методы построения геометрических фигур в процессе их моделирования. Основным элементом для большинства операций есть 3D-профиль, при движении которого осуществляется формообразование. Параметрическое моделирование существенно отличается от обычного двухмерного черчения или трехмерного моделирования. Конструктор, в случае параметрического проектирования, создает математическую модель объектов с параметрами, при изменении которых происходят изменения конфигурации детали, взаимные перемещения деталей в сборке и т.п. Таким образом, параметризация предполагает автоматическое построение и последующее решение соответствующей системы уравнений, обеспечивающих перерасчет подмножества параметров модели объекта по части параметров, изменивших свое значение. Подробная схема актуальности использования параметризации для модели обусловлено также и частыми изменениями параметров объекта, это показано на рис. 1. Т.о., типичная задача параметризации состоит в модификации, реконструкции полученного ранее решения. Специфика конкретных задач параметризации зависит от специфики предметной области и типа задачи: создание нового объекта, модификация известного решения. Разработка средств параметризации для специфических условий применения в той или иной проблемно-ориентированной САПР – это важная и актуальная задача.[1] Классификация САПР Существует классификация САПР, различающаяся полнотой систем: тяжелые, легкие и средние САПР: Тяжелые. Основная особенность этого типа состоит в том, что их большие функциональные возможности, высокая производительность и стабильность получены в результате длительного развития. Все они довольно стары: CATIA появилась в 1981 г., Pro/Engineer — в 1988-м, Unigraphics NX, вышла совсем недавно, является результатом слияния двух весьма важных систем — Unigraphics и I-Deas, приобретенных вместе с компаниями Unigraphics и SDRC. Несмотря на то что такие системы значительно дороже других типов систем, затраты на их приобретение окупаются, особенно когда речь идет о сложном производстве, например, кораблестроении, двигателестроении, машиностроении и аэрокосмической промышленности. Сейчас 189 производители средств автоматического проектирования возлагают большие надежды на предприятия среднего и малого бизнеса, которых намного больше, чем промышленных гигантов. [7] Средние. Ведущими компаниями этого типа являются системы SolidEdge (разработанная фирмой Intergraph, позже перекупленная и теперь принадлежащая UGS PLM Solutions (EDS)), SolidWorks одноименной компании (в настоящее время — подразделение Dassault Systemes), а также главным лидером и самым популярным продуктом является Inventor и Mechanical Desktop корпорации Autodesk. Это далеко не полный перечень средних САПР. Их популярность среди пользователей постоянно растет, и именно поэтому данная область очень динамично развивается. В результате по функциональным возможностям средний класс постепенно догоняет своих более дорогостоящих и тяжелых конкурентов. Однако совершенно не всем пользователям нужно такое разнообразие функций. Тем, кто работает с двумерными чертежами, прекрасно подойдет система легкого типа, которая стоит гораздо дешевле. Легкие. Программы легкого сегмента служат для простого черчения в формате 2D, поэтому их обычно называют электронной чертежной доской. Хотя стоит сказать, что к настоящему времени этот тип и обрел некоторые трехмерные возможности. Рисунок 1 – Актуальность использования параметризации Методы решения задач параметризации Программирование в ограничениях и недоопределенные модели. Программирование в ограничениях (constraint programming) - достаточно новое направление в декларативном программировании. Появилось оно во многом в результате развития систем символьных вычислений, искусственного интеллекта и исследования операций. Программирование в ограничениях является по своей сути максимально декларативным и основано на описании модели задачи, а не алгоритма ее решения. То есть программирвание в ограничениях - это своего рода програм-мирование в терминах "постановок задач". В общем случае постановка задачи - это конечный набор переменных x[1], ..., x[n], соответствующих им конечных (перечислимых) множеств значений X = {X[1], ...,X[n]}, и набор ограничений С = {C[1],...,C[m]}. Ограничения представлены как утверждения, в которые входят в качетсве "параметров" переменные из некоторого подмножества X[j],j=1..m набора X. [5] Решение такой задачи - набор значений переменных, удовлетворяющий всем ограничениям C[j]. Такая постановка задачи называется проблемой удовлетворения ограничений, а для ее решения используются различные алгоритмы и методы. Теория «Концептуального програм-мирования». Этот алгоритм базируется на типе данных «неопределенное значение». Данный тип используется для описания переменных, которые пока что не определены не по типу, не по значению. Семантические модели задают переменные и отношения, имя модели задается в операторе задачи. В отношении задаются все возможные пути расчета всех переменных через прочие переменные, входящие в некоторое математическое выражение. Различаются: входные переменные (значения задаются), выходные переменные (значения вычисляются), слабо связанные переменные (иногда задаются, иногда рассчитываются), сильно связанные (значения меняются отношением), определяющие переменные (значения определяют применимость отношения). Имеются разрешимые и неразрешимые задачи, для которых путь построить невозможно. Затем генератор программ формирует программу как линейный вызов базовых функций, связанных по данным, в совокупности реализующих требуемый путь расчетов. 190 Относящийся к этому направлению аппарат недоопределенных моделей используется в широком спектре приложений и предоставляет принципиально новые возможности для решения задач в таких областях, как математические расчеты, инженерия знаний, проектирование, планирование. Недоопределенная модель. В Н-моделях переменной сопоставляется недоопределенное значение (или Н-значение), являющееся оценкой реального значения-денотата на основе доступной нам в данный момент информаци. Н-значение является промежуточным между полной определенностью (точное значение) и полной неопределенностью (весь универсум) и может уточняться по мере получения более точных данных. В процессе уточнения, т.е. при поступлении более точных данных, Н-значение становится все более определенным и в пределе может стать точным, т.е. равным денотату данной недоопределенной переменной (Н-переменной). Это означает, что для Н-переменной, вне зависимости от ее типа, следует различать два значения реальное неизвестное нам значение-денотат, которое она представляет, и ее текущее Н-значение, являющееся доступной оценкой этого реального значения.[4]. Недоопределенность может характеризовать не только значения параметров существующих объектов или процессов, но и виртуальных объектов, находящихся в процессе создания. В этом случае Н-значение выступает в качестве ограничения на вычисляемое значение. Исследования Все связи, именуемые параметрическими, можно условно разделить на категории: • геометрические (параллельность, перпендикулярность, взаимоотношения и т.д.); • топологические; • математические (связь параметров разных элементов, блоков и уравнений); • размеры.[2] Предлагаемая вариационная параметризация базируется на построении макета или эскиза, а также накладывании ограничений, зависимостей параметров и связей на объекты. Алгоритм построения параметрической модели вариационного вида можно свести к нескольким шагам: Создание эскиза для нужного действия, впоследствии на который и накладывают параметрические связи; Далее уточняются параметры, размеры и значения. Определяются переменные и задаются зависимости; Производится выбранное действие, в котором значения параметров и операций уже имеет значение и влияние; В случае необходимости создания сборки взаимное положение компонентов сборки задаётся путём указания сопряжений между ними. Вариационная параметризация позволяет легко изменять форму эскиза или величину параметров операций, что позволяет удобно модифицировать трёхмерную модель.[3] Предлагаемая вычислительная модель M=(X=( X1, Xi, X0), R) состоит из ряда параметров: Х – множество параметров, значения которых могут принимать различный вид: X1 – определяет одно точное значение; Хi – интервальное значение параметра; X0 – обозначает не определенное значение; R – множество отношений между параметрами.[6]. Преимущества Представленная идея вариационной параметрической модели позволит создавать проекты, которые будут иметь взаимосвязанные параметры. Возможность параметризировать трехмерную модель может значительно упростить создание объектов и оптимизировать работу над существующими проектами. Математическая модель будет изменять параметры автоматически подстраиваясь под внесенное редактирование уже готового объекта. Такой подход предлагается реализовать на языке LISP и интегрировать в среду САПР AUTOCAD.[11] Выводы В данной работе были рассмотренные последние достижения и разработки в области решения задачи параметризации, как Российских, так и зарубежных. Приведен обзор наиболее актуальных технологий. Программирование в ограничениях стало за последнее десятилетие самым перспективным и быстро развивающимся направлением на стыке искусственного интеллекта и вычислительной математики. Как видно, наиболее актуальной технологией в этой сфере является программирование в ограничениях, парадигма которого была предложена Российским ученым Нариньяни А.С. Эта технология широко применяется для решения разнообразного класса задач, включая задачи САПР и др. [12] 191 Литература 1. Параметрическое моделирование [Элект-ронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Параметрическое_моделирование. 2. Параметризация [Электронный ресурс]. - Режим доступа: http://www.sapr .ru/article.aspx ?id=8064&iid=325. 3. Нариньяни А.С., Телерман В.В., Ушаков Д.М., Швецов И.Е. Программирование в ограничениях и недоопределенныемодели //Информационные технологии №7, 1998. М., Издательство “Машиностроение”. - C. 13-22. 4. Григорьев А.В. Методы построения функций в специализированной оболочке для создания интеллектуальных САПР // Искусственный интеллект. – Донецк, 2001 – №3 – C. 40–53. 5. Журнал «Сапр и графика». SprutCAD: особенности национальной параметризации, // http://www.sapr.ru/article.aspx?id=7889&iid=319. 6. Программирования в ограничениях и недоопределенные модели, А.С.Нариньяни, В.В. Телерман, Д.М. Ушаков, И.Е. Швецов // http://www.raai.org/about/persons/nariniani/N-MODEL2.doc. 7. Статья. Инструментарий компьютерного моделирования. // http://rvles.ieie.n sc.ru/par inov/taomodel/2.htm. 8. Клещев А. С., Артемьева И. Л.. Математические модели онтологий предметных областей. Часть 1. Существующие подходы к определению понятия «онтология». // Научно – техническая информация, серия 2 «Информационные процессы и системы», 2001, № 2, с. 20 – 27. 9. Т. А. Гаврилова, В. Ф. Хорошевский. Базые знаний интеллектуальных систем. – С.-Пб.: Питер, 2001. 10. Кутателадзе С.С. Параметризация выпуклых изометрических задач. Сибирский журнал индустриальной математики, 1998. Том 1, № 1. 11. Роговец Е.А., Григорьев А.В. Разработка программных средств, повышающих эффективность решения задачи параметризации в САПР AUTOCAD // Информатика, управляющие системы, математическое и компьютерное моделирование ИУСМКМ– 2016. 12. Роговец Е.А. Нечеткая математика и параметризация в САПР // Компьютерная и программная инженерия - Донецк, 2015 - С. 184. Роговец Е.А., Григорьев А.В. Эффективность применяемого алгоритма построения моделей с ограничениями в различных САПР. В работе предлагается решение задачи параметризации, использован вариативный метод создания параметрической модели. Приведен обзор используемого процесса создания моделей. К ознакомлению представлен математический метод построения моделей. Данная работа нацелена на исследование современных технологий и методов решения задачи параметризации, а также освящение современных программных продуктов, реализующих эти технологии. Ключевые слова: autocad, САПР, алгоритм, программирование в ограничениях, параметризация. Rogovets EA Grigoriev AV The effectiveness of the applied algorithm for constructing models with constraints in CAD. The paper proposes a solution to the parameterization problem of variability used method for creating parametric model. An overview of the process used to create models. To educate is represented by a mathematical method for constructing models. This work focuses on the study of modern technologies and methods for solving the parameterization of the task, as well as the consecration of modern software products that implement those technologies. Kye-words: autocad, CAD, algorithm, constraint programming, parameterization. 192 УДК 658.512.2.011.5 Роевой алгоритм размещения компонентов СБИС с учетом временных характеристик Е.Ю. Семушин, И.О. Купов, В.В. Царегородцев Южный Федеральный университет evgen.sem@sfedu.ru Семушин Е.Ю., Купов И.О., Царегородцев В.В. Роевой алгоритм размещения компонентов СБИС с учетом временных характеристик. В работе рассматривается задача размещения компонентов СБИС с учетом временных задержек сигнала. Предложена постановка задачи размещения, учитывающая временную задержку сигнала. Разработан роевой алгоритм размещения с учетом временных задержек. Проведены экспериментальные исследования разработанного роевого алгоритма размещения. Ключевые слова: Размещение, СБИС, роевой алгоритм, временные задержки. Введение В настоящее время аналоговая техника стремительно вытесняется более надежной цифровой, которая вся основывается на сверхбольших интегральных схемах (СБИС). С каждым днём площадь кристаллов СБИС становится всё меньше, а степень их интеграции всё больше [1]. Стоимость кристаллов СБИС складывается из стоимости их проектирования (постоянные затраты) и стоимости производства (переменные затраты). Основная задача автоматизации проектирования – обеспечение бездефектного проектирования, снижение материальных затрат, сокращение сроков проектирования и ликвидация роста количества инженерно-технических работников, занятых проектированием [1]. На сегодняшний день эффективным направлением в эволюционном моделировании являются вероятностные алгоритмы, основанные на процессах, происходящих в живой природе. Моделирование развития и совершенствования природы позволяет перейти к построению интеллектуальных систем. Проецируя закономерности окружающего мира на определенные сферы деятельности человека, мы получаем эффективный инструмент для решения задач проектирования СБИС [2]. Роевой интеллект (англ. Swarm intelligence) описывает коллективное поведение децентрализованной самоорганизующейся системы. Системы роевого интеллекта, как правило, состоят из множества агентов (многоагентная система) локально взаимодействующих между собой и с окружающей средой. Сами агенты обычно довольно просты, но все вместе, локально взаимодействуя, создают так называемый роевой интеллект. Примером в природе может служить колония муравьев, рой пчел, стая птиц, рыб [3]. Таким образом, разработка алгоритмов, позволяющих находить квазиоптимальные решения за полиноминальное время, является важной и актуальной проблемой, стоящей перед разработчиками САПР. Постановка задачи размещения Для задачи размещения вершин графа в узлы координатной сетки постановка задачи имеет следующий вид: задан граф G ( X ,U ) , где X {xi | i 1,2,..., n} - множество вершин, U {u j | j 1,2,..., l} - множество ребер и П {пi | i 1,2,..., c} - множество узлов на координатной сетке. Узел представляет собой квадратную ячейку. Для каждого узла заданы координаты, которые соответствуют центру узла. Для размещения всех вершин графа необходимо, чтобы выполнялось условие c n . Произвольное размещение всех вершин в позициях представляет собой перестановку P p(1), p(2),..., p(i ),..., p(n) , где P(i ) задает координаты узла, в которую назначена вершина xi . В зависимости от выбранного критерия для оценки результатов размещения вводится целевая функция F (P) [4]. Целевая функция может быть выражена следующим выражением: L F ( P) D j , где D j оценка задержки цепи j j 1 Задача оптимизации заключается в минимизации значения целевой функции: F(P)→min. 193 Роевой алгоритм размещения компонентов СБИС Основной трудностью решения оптимизационных задач является предварительная сходимость алгоритмов. Основными входными параметрами роевого алгоритма являются количество агентов R, максимальное количество итераций T max, начальное количество агентов-разведчиков Fxstart, ограничение максимального количества агентов-разведчиков Fxmax. В начальный момент времени все агенты расположены в "улье". В процессе поиска агенты связываются друг с другом косвенно. Каждый агент делает ряд локальных перемещений, и таким образом постепенно составляет решение задачи [5]. Процесс поиска является итеративной процедурой. Первая итерация считается законченной, тогда и только тогда, когда агенты найдут хотя бы одно допустимое решение. После чего лучшее решение сохраняется, а затем происходит переход к следующей итерации. Далее процесс поиска решений продолжается по достижению заданного числа итераций. На каждой итерации алгоритма выполняется два этапа. На первом этапе производится запуск агентов разведчиков (случайным образом размещаются в пространстве поиска). На втором этапе осуществляется отправка агентов - фуражиров, которые прикреплены к определённым источникам ресурса. Задача агентов разведчиков заключается в формировании окрестности поиска решений, в то время как агенты - фуражиры ведут поиск оптимальных решений непосредственно в найденных разведчиками окрестностях [3]. Представим на рис. 1 алгоритм роевого интеллекта для задачи размещения. Исходя из вышесказанного, опишем разработанный алгоритм. 1. Формирование начального множества источников. Данный блок отвечает за генерацию источников с нектаром. Каждый источник является решением со своей популяцией (начальным решением). 2. Оцениваем целевую функцию источников. Пчелой - исследователем выбирается источник нектара с некоторой вероятностью (Р), в зависимости от качества источника. Каждая пчела находит лучший участок, из посещенных с начала работы алгоритма (с первой итерации) и значения ЦФ на этом участке. Участки, на которых целевая функция будет больше, отбираются для дальнейшего поиска решений в их окрестностях. 3. Отбор источников с лучшими ЦФ. 4. Производим поиск решений в окрестностях элитных решений. 5. Производим отбор (редукцию). Формируем базовое множество участков, лучшие решения сохраняются, а также добавляется множество решений пчелами-разведчиками. 6. Если количество итераций пройдено меньше заданного количества окрестностей, то переходим к блоку 2, в ином случаи конец алгоритма. Начало 1 7 Формирование начального множества источников 2 Внешняя среда Оценка ЦФ источников (начальных решений) 3 Отбор источников с лучшими ЦФ 4 Поиск решений в окрестностях элитных участков 5 Редукция 6 нет Проверка условия останова да Конец Рисунок 1 - Работа пчелиного алгоритма 194 Экспериментальные исследования Основная цель экспериментальных исследований состоит в нахождение набора параметров поставленной задачи, при котором обеспечивается процесс нахождения оптимальных решений за минимальное время. В качестве объекта исследования используется разработанный роевой алгоритм размещения компонентов СБИС. При проведении анализа и исследования характеристик разработанного алгоритма были использованы схемы с различным количеством элементов. Целью проведения экспериментов было установление временной сложности алгоритма (ВСА). Для определения ВСА алгоритма был проведён ряд экспериментов для разного набора тестовых примеров, различающихся количеством элементов в схеме. Усредненные результаты экспериментов отражены на рис. 2. Рисунок 2 - График зависимости времени работы от количества элементов Результаты исследований позволяют сделать вывод о том, что временная сложность разработанного роевого алгоритма, не выходит за пределы полиномиальной зависимости, и может быть выражена формулой: O(nlogn)- O(n2), где n – число элементов схемы. Заключение В работе определена постановка задачи размещения компонентов СБИС, учитывающая критерий временных задержек. Предложен роевой алгоритм размещения компонентов СБИС, основанный на адаптивном поведении пчелиной колонии. Проведенные экспериментальные исследования для разного набора тестовых пример, позволяют сделать вывод, что временная сложность разработанного роевого алгоритма не выходит за пределы полиномиальной зависимости. Литература 1. Курейчик В.В., Полупанова Е.Е. Эволюционная оптимизация на основе алгоритма колонии пчел //Известия ЮФУ. Технические науки. – 2009. – №12 (101). – С. 41-46. 2. Запорожец Д.Ю. Роевой алгоритм в задачах оптимизации. [Текст] / Д. Ю. Запорожец, В. В. Курейчик // Известия ЮФУ. Технические науки. Тематический выпуск "Интеллектуальные САПР". – Таганрог: Изд-во ТТИ ЮФУ. – 2010. 3. Курейчик В.В. Применение роевого алгоритма для решения задачи размещения элементов СБИС. [Текст] /В.В. Курейчик, Д. Ю. Запорожец // Труды конгресса по интеллектуальным системам и информационным технологиям «AIS– IT’10» – М.: Физматлит, 2010 4. Курейчик В.В., Курейчик В.М. Перспективные технологии для решения оптимизационных задач. IEEE AIS-03, CAD-2003. Интеллектуальные системы, интеллектуальные САПР т.1. М.: Физматлит, 2003, с 5967. 5. Э.В. Кулиев, Генетический алгоритм решения задачи размещения элементов СБИС [Текст] / Кулиев Э.В. // IX Всероссийская научная конференция молодых ученых, аспирантов и студентов «Информационные технологии, системный анализ и управление». Таганрог: Изд-во ТТИ ЮФУ, 2012.-Т.2. – С. 55-59 195 Семушин Е.Ю., Купов И.О., Царегородцев В.В. Роевой алгоритм размещения компонентов СБИС с учетом временных характеристик. В работе рассматривается задача размещения компонентов СБИС с учетом временных задержек сигнала. Предложена постановка задачи размещения, учитывающая временную задержку сигнала. Разработан роевой алгоритм размещения с учетом временных задержек. Проведены экспериментальные исследования разработанного роевого алгоритма размещения. Ключевые слова: Размещение, СБИС, роевой алгоритм, временные задержки. Semushin E.Y., Kupov I.O., Tsaregorodtcev V.V. Swarm algorithm for VLSI placement of components based on timing. We consider the problem of accommodation of VLSI components, taking into account the time delay of the signal. A statement of the location problem, taking into account the time delay of the signal. A swarm placement algorithm based on time delays. Experimental studies designed accommodation swarm algorithm. Keywords: Placement, VLSI, swarm algorithm time delays. 196 УДК 004.023 Размещение компонентов СБИС на основе биоинспирированного метода Н.Э. Страхов, Кулиев Э.В., О.А. Логинов Южный федеральный университет strahov@sfedu.ru Страхов Н.Э., Кулиев Э.В., Логинов О.А. Размещение компонентов СБИС на основе биоинспирированного метода. В работе рассматривается модифицированный гибридный алгоритм размещения компонентов СБИС. Описан принцип работы популяционного алгоритма, основанный на поведение косяка рыб. Представлена область поиска альтернативных решений, а также ранжированная популяция альтернативных решений. Рассмотрена архитектура биоинспирированного алгоритма. Ключевые слова: Размещение, генетический алгоритм, адаптация, алгоритм на основе поведения косяка рыб, эволюционный алгоритм, популяция, селекция. Введение В наше время сверхбольшие интегральные схемы (СБИС) состоят из сотен миллионов транзисторов и с каждым годом их сложность только увеличивается возникает необходимость в разработке новых подходов, стратегий, алгоритмов, направленных на улучшение качества решений на этапе конструкторского проектирования. Наиболее эффективным, на сегодняшний день, является использование различных алгоритмов, имитирующих природные процессы. Примерами таких алгоритмов могут быть: генетически, роевой, эволюционный и т.д. Они позволяют находить решения, приближенные к оптимальным, за приемлемые промежутки времени. Рассмотрим популяционный алгоритм оптимизации, основанный на поведении косяка рыб. Входными параметрами в данном алгоритме являются: функция приспособленности (функция, для которой необходимо найти экстремумы), область исследования этой функции и параметры работы алгоритма (о них чуть позже). Область поиска представляет собой аквариум, в котором плавают агенты (рыбы). Как известно, в условиях поиска пищи рыбы плавают косяком, поэтому в нашем случае конечной целью является смещение всех агентов в область экстремума функции. Схема работы алгоритма в общем случае следующая: 1. Инициализация популяции (равномерное распределение рыб в аквариуме). 2. Миграция агентов к источнику пищи (аналогия: чем больший шаг агенты совершили в направлении области экстремума функции, тем больше еды они получили). 3. Завершение поиска. Стадия «Миграция агентов» выполняется поитерационно, и в каждой из итераций выполняются операторы двух групп: 1.Операторы плавания, обеспечивающие миграцию агентов в пределах аквариума. 2.Операторы кормления, фиксирующие успех исследования тех или иных областей аквариума [1-3]. Постановка задачи размещения Задача размещения может быть представлена следующим образом. Дано множество элементов (модулей) с расположенными на них терминалами (выводами) элементарная сеть, связывающая терминалы модулей. Задано коммутационное поле, на котором могут размещаться элементы. Необходимо разместить элементы на коммутационном поле с оптимизацией некоторых критериев качества. Входная информация включает описание модулей, в котором указывается форма, размеры, расположения терминалов на модулях, список цепей, указывающий на межсоединения модулей и описание коммутационного поля. Выходная информация представляет собой список xy – координат на коммутационном поле для всех модулей. Для задачи размещения вершин графа в узлы координатной сетки постановка задачи будет иметь следующий вид. Пусть имеем некоторое множество элементов. Представим исходные данные в виде графовой модели. Тогда, пусть задан граф G ( X ,U ) , где X {xi | i 1,2,..., n} 197 - множество вершин, а U {u j | j 1,2,..., l} П {п | i 1,2,..., c} i - множество ребер и множество узлов на координатной сетке. Узел представляет собой квадратную ячейку. Для каждого узла заданы координаты, которые соответствуют центру узла (рис.1). Xi,Yi ni Рисунок 1 - Пример рабочего поля c n . Произвольное размещение всех вершин в узлах представляет собой перестановку P p(1), p(2),..., p(i),..., p(n) , где P(i ) - задает x координаты узла, в которую назначена вершина i . В зависимости от выбранного критерия для оценки Для размещения всех вершин графа необходимо выполнения условия результатов размещения вводится целевая функция F (P) . Необходимо найти оптимальное значение функции F на множестве перестановок P . Основными известными критериями при размещении являются: минимальная суммарная длина связей; минимальная длина самой длинной связи; минимум числа возможных пересечений; минимум числа изгибов соединений; минимальная площадь кристалла; Все эти критерии косвенно способствуют решению основной задачи: максимизировать число реализованных соединений. В большинстве случаев выбирается один главный критерий, в наилучшей степени учитывающий многочисленные конструктивные и технологические требования. Классическим критерием является критерий минимума суммарной длины соединений, т.к. минимизация общей длины межсоединений ведет к уменьшению временных задержек, возникающих в длинных цепях, и в связи с этим к увеличению скорости обработки информации в чипе, а также повышается надежность и снижается трудоемкость изготовления печатных плат. С учетом этого, целевая функция имеет вид: l F d j j 1 где dj Длина , - длина uj uj ребра ребра. dj находится по следующей формуле: d j | xi1 xi 2 | | yi1 yi 2 | где ( xi1 , yi1 ) и ( xi 2 , y i 2 ) , – соответственно координаты одной и другой вершин инцидентных ребру Задача оптимизации – минимизация целевой функции F min . uj . Разработка модифицированного биоинспирированного алгоритма Для решения задачи размещения была произведена разработка модифицированного биоинспирированного алгоритма, представленного на рис. 2. Первым делом происходит формирование начальной популяции решений (Блок №1) на основе заданной целевой функции производится селекция («отбор») среди имеющихся альтернативных решений (Блок № 3). После этого осуществляется выполнение ГА (Блок № 4). Основным генетическим оператором, как известно, является оператор кроссинговера, мутации и инверсии, в результате чего создается новое множество 198 альтернативных решений. При этом для каждой особи (решения) вычисляется оценка приспособленности. В предлагаемом генетическом алгоритме добавлены блоки эволюционной адаптации (Блок №5), блок отвечающий за анализ неперспективных решений (Блок №7) и блок роевого интеллекта (Блок №8). Блок эволюционной адаптации предназначен для выбора и реализации различных стратегий и механизмов адаптации, а также изменении порядка использования и применения различных генетических операторов и схем поиска. Результаты работы блока эволюционной адаптации оказывают непосредственное влияние на процесс перестройки текущей популяции альтернативных решений и создания на ее основе новой популяции [4-6]. Начало 1 Формирование начальной популяции 2 Оценка начальной популяции 8 Блок популяционного алгоритма 3 6 Отбор лучших популяций Создание новой популяции 5 4 Блок эволюционной адаптации 7 Анализа неперспективных решений ГА Окончание Рисунок 2 – Схема алгоритма В предложенной архитектуре дополнительным блоком является блок анализа неперспективных решений (Блок №7). Данный блок собирает и анализирует решения, получаемые в процессе выполнения генетического алгоритма. Каждому решению (индивиду) в результате проведенного анализа присваивается определённый ранг (перспективное, неперспективное, тривиальное и др.). Важной составляющей является блок популяционного алгоритма (Блок №8) основанный на алгоритме поведения косяка рыб. Число итераций задается в исходных данных. По достижению этого параметра производится фиксация лучших значений. Осуществляется поиск наилучшего решения целевой функции в новых точках. Минимальное значение целевой функции из всех найденных является критерием отбора. После производится формирование матрицы решений целевой функции и начинается новая итерация поиска решения. Использование гибридных биоинспирированных алгоритмов позволяет ощутимо повысить эффективность поиск лучших решений. Дает возможность регулировать направление поиска. Литература 1. Карпенко А.П. «Популяционные алгоритмы глобальной поисковой оптимизации. Обзор новых и малоизвестных алгоритмов» [Текст]/ «Информационные технологии» - 2012. -№7. – С. 13-15. 2. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы вдохновленные природой : учебное пособие [Текст] / А.П. Карпенко. – Москва: Изд-во МГТУ им. Н.Э. Баумана, 2014. – 446 с.: ил. 3. Частикова В.А. Исследование эффективности алгоритма поиска косяком рыб в задаче глобальной оптимизации. [Текст] / В.А. Частикова, М.А. Дружинина, А.С. Кекало – Пенза: Издательство: Издательский Дом “Академия Естествознания”, 2014. 199 4. Курейчик В.М. Кажаров А.А. Использование роевого интеллекта в решении NP-трудных задач. Известия ЮФУ. Технические науки. Тематический выпуск «Интеллектуальные САПР». – Таганрог: Изд-во ТТИ ЮФУ, 2011, № 7 (120), С. 30-37. 5. Курейчик В.М. Биоинспирированный поиск с использованием сценарного подхода [Текст] / Известия ЮФУ. Технические науки. Тематический выпуск «Интеллектуальные САПР». –Таганрог: Изд-во ТТИ ЮФУ, 2010. -№7(108). С. 7-12. 6. Курейчик, В.М. Модифицированные генетические операторы [Текст] / Известия ЮФУ. Технические науки. Тематический выпуск «Интеллектуальные САПР». –Таганрог: Изд-во ТТИ ЮФУ, 2009. -№12(101). С. 714. Страхов Н.Э., Кулиев Э.В., Логинов О.А. Размещение компонентов СБИС на основе биоинспирированного метода. В работе рассматривается модифицированный гибридный алгоритм размещения компонентов СБИС. Описан принцип работы популяционного алгоритма, основанный на поведение косяка рыб. Представлена область поиска альтернативных решений, а также ранжированная популяция альтернативных решений. Рассмотрена архитектура биоинспирированного алгоритма. Ключевые слова: Размещение, генетический алгоритм, адаптация, алгоритм на основе поведения косяка рыб, эволюционный алгоритм, популяция, селекция. Strahov N.E., Kuliev E.V., Loginov O.A. Placement of VLSI components based on bioinspired method. The paper deals with modified hybrid algorithm accommodation VLSI components. The principle of working population of the algorithm based on the behavior of shoals of fish. Submitted by area search for alternative solutions, as well as the population's ranking of alternative solutions. The architecture bioinspired algorithm. Keywords: Accommodation, genetic algorithm, the adaptation algorithm based on the behavior of shoals of fish, evolutionary algorithm, population, selection. 200 УДК 004.023 Модифицированный алгоритм решения задачи размещения компонентов СБИС Н.Э. Страхов, Н.В. Кулиева, Н.С. Семушина Южный федеральный университет strahov@sfedu.ru Страхов Н.Э., Кулиева Н.В., Семушина Н.С. Модифицированный алгоритм решения задачи размещения компонентов СБИС. В работе рассматривается модифицированный биоинспирированный алгоритм решения задачи размещения компонентов СБИС. Описан принцип работы популяционного алгоритма, основанный на поведение косяка рыб. Рассмотрена схема биоинспирированного алгоритма и приведено его сравнение с классическим генетическим алгоритмом. Ключевые слова: Размещение, генетический алгоритм, адаптация, алгоритм на основе поведения косяка рыб, эволюционный алгоритм, популяция, селекция. Введение Одной из сложнейших и наиболее важных задач при создании средств микроэлектронной техники является синтез топологий сверхбольших интегральных схем (СБИС). Синтез – создание проектного решения в виде его конструктивных особенностей, функциональной или структурной [1]. Отличительной особенностью современного этапа является высокая сложность и размерность проектирования устройств. Методы автоматизированного проектирования, технологической подготовки проектирования и конструирования позволяют создавать высоконадежные сверхбольшие интегральные схемы в короткие сроки и при сравнительно низких затратах. Проектирование СБИС производится на нанометровом диапазоне, что требует новых методов и подходов. Одним из таких подходов является эволюционный поиск и биоинспирированный подход. именно роевые алгоритмы решения оптимизационных задач. Большую роль в стратегию развития эволюционного поиска внесли такие учёные, как: Гольдберг Д.Е., Растригин Л., Холланд Д.Х., Курейчик В.М., Норенков И.П., Букатова И.Л., Батищев Д.И., и др. Генетические алгоритмы, эволюционные алгоритмы, а также алгоритмы роевого интеллекта являются фундаментальными направлениями научных исследований в области случайно- направленного поиска. Целью создания биоинспирированных алгоритмов является нахождение наилучшего, а не оптимального варианта размещения [2]. Важным вопросом при решении задачи размещения элементов СБИС с большим количеством локальных оптимумов является предварительная сходимость алгоритмов. Иначе говоря, попадание решения в локальный оптимум. В связи с этим, необходимо разрабатывать методы и архитектуры поиска решения. Применение методов эволюционного моделирования, генетического поиска, принципов адаптации и самоорганизации, используют для повышения эффективности решения задач проектирования. В последнее время активно развивается научное направление Natural Computing, основанное на принципах природных механизмов принятия решений и включающее генетические алгоритмы, нейросетевые вычисления, муравьиные алгоритмы, метод роящихся частиц, табуированный поиск и др. ACO-алгоритмы обладают способностью находить более высококачественные решения за приемлемое время [3]. На сегодняшний день эффективным направлением в эволюционном моделировании являются вероятностные алгоритмы, основанные на процессах, происходящих в живой природе. Проецируя закономерности окружающего мира на определенные сферы деятельности человека, мы получаем эффективный инструмент для решения задач проектирования СБИС. Системы роевого интеллекта, как правило, состоят из множества агентов (многоагентная система) локально взаимодействующих между собой и с окружающей средой. Сами агенты обычно довольно просты, но все вместе, локально взаимодействуя, создают так называемый роевой интеллект. Примером в природе может служить рой пчел. Современные ЭВ на основе ССБИС и СБИС реализуют качественное решение проблемы межсоединений на всех уровнях. Этап конструкторского проектирования является важным этапом автоматизации СБИС, включающий в себя: типизацию, компоновку, размещение, планирование кристалла, сжатие, трассировку и верификацию. Ввиду вышеизложенного, разработка алгоритмов, позволяющих найти приемлемое по качеству и по трудоемкости решение задачи размещения, является важной и актуальной проблемой, стоящей перед разработчиками САПР. 201 Популяционный алгоритм решения задачи размещения Рассмотрим популяционный алгоритм оптимизации, основанный на поведении косяка рыб. Входными параметрами в данном алгоритме являются: функция приспособленности (для которой необходимо найти экстремумы), область исследования данной функции и параметры работы. Область поиска является аквариум, в котором плавают агенты (рыбы). В поисках пищи рыбы плавают косяком, поэтому в нашем случае конечной целью является смещение всех агентов в область экстремума функции. Схема работы алгоритма в общем случае следующая: 1. Инициализация популяции. 2. Миграция агентов к источнику. 3. Завершение поиска. Стадия «Миграция агентов» выполняется по-итерационно, и в каждой из итераций выполняются операторы двух групп: 1. Операторы плавания, обеспечивающие миграцию агентов в пределах аквариума. 2.Операторы кормления, фиксирующие успех исследования тех или иных областей аквариума [4-6]. Для решения задачи размещения была произведена разработка модифицированного биоинспирированного алгоритма представленного на рис. 1. В основе данного алгоритма лежит использование классического генетического алгоритма и алгоритма на основе поведения косяка рыб. Начало Популяционный алгоритм 1 6 Ввод данных 2 Создание начальной популяции Формирование окрестности источника ГА 7 3 Оценка ЦФ 8 Оператор кормления Селекция 9 Оператор плавания 4 5 Отбор лучших решений Нет Исследование окрестности 10 Формирование популяции агентов 11 Проверка условия Да остановки 12 Вывод результата Конец Рисунок 1 – Схема алгоритма Входе выполнения работы был разработан программный продукт, реализующий вышеописанный алгоритм. Также была произведена оценка работы эффективности алгоритма на примере сравнения с генетическим и случайным алгоритмами размещения. Ниже представлены результаты сравнения (Таблица 1) и для лучшей наглядности их графическое представление (рис. 2). Таблица 1. Оценка эффективности алгоритмов. Количество элементов Алгоритм 1000 2500 5000 7500 10000 Случайный 65,3 114,9 138,5 149,1 198,9 Генетический 50 102,1 123,3 142,8 190,8 Биоинспирированный 58,8 79,8 94,6 122,1 143,5 202 Рисунок 2 – Оценка эффективности алгоритма Как видно использование гибридного биоинспирированного алгоритма дает заметно лучший результат. Использование подобных алгоритмов позволяет ощутимо повысить эффективность поиск лучших решений и предоставляет возможность регулировать направление поиска. Литература 1. Гладков Л.А., Курейчик В.В., Курейчик В.М., Сороколетов П.В. Биоинспирированные методы в оптимизации. – М.: ФИЗМАТЛИТ, 2009. – 384 с. 2. Курейчик В.М. Биоинспирированный поиск с использованием сценарного подхода [Текст] / Известия ЮФУ. Технические науки. Тематический выпуск «Интеллектуальные САПР». –Таганрог: Изд-во ТТИ ЮФУ, 2010. -№7(108). С. 7-12. 3. Курейчик, В.М. Модифицированные генетические операторы [Текст] / Известия ЮФУ. Технические науки. Тематический выпуск «Интеллектуальные САПР». –Таганрог: Изд-во ТТИ ЮФУ, 2009. -№12(101). С. 714. 4. Карпенко А.П. «Популяционные алгоритмы глобальной поисковой оптимизации. Обзор новых и малоизвестных алгоритмов» [Текст]/ «Информационные технологии» - 2012. -№7. – С. 13-15. 5. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы вдохновленные природой : учебное пособие [Текст] / А.П. Карпенко. – Москва: Изд-во МГТУ им. Н.Э. Баумана, 2014. – 446 с. : ил. 6. Частикова В.А. Исследование эффективности алгоритма поиска косяком рыб в задаче глобальной оптимизации. [Текст] / В.А. Частикова, М.А. Дружинина, А.С. Кекало – Пенза: Издательство: Издательский Дом “Академия Естествознания”, 2014. Страхов Н.Э., Кулиева Н.В., Семушина Н.С. Модифицированный алгоритм решения задачи размещения компонентов СБИС. В работе рассматривается модифицированный биоинспирированный алгоритм размещения компонентов СБИС. Описан принцип работы популяционного алгоритма, основанный на поведение косяка рыб. Рассмотрена схема биоинспирированного алгоритма и приведено его сравнение с классическим генетическим алгоритмом. Ключевые слова: Размещение, генетический алгоритм, адаптация, алгоритм на основе поведения косяка рыб, эволюционный алгоритм, популяция, селекция. Strahov N.E., Kulievа NV., Semushina N.S. " "A modified algorithm for solving the location problem of VLSI components ". The paper deals with the modified algorithm bioinspired accommodation VLSI components. The principle of working population of the algorithm based on the behavior of shoals of fish. Considered bioinspired flowchart and given its comparison with the classical genetic algorithm. Keywords: Accommodation, genetic algorithm, the adaptation algorithm based on the behavior of shoals of fish, evolutionary algorithm, population, selection. 203 УДК 623.2.045.772.12 Об одной информационной системе учета наукоемких показателей Э.С. Цырульникова, А.Е. Лебединский, Ю.А. Кравченко Южный Федеральный университет tsirulnikova@sfedu.ru Цырульникова Э.С., Лебединский А.Е., Кравченко Ю.А. Об одной информационной системе учета наукоемких показателей. Работа посвящена разработке информационной системы учета и анализа научных показателей. Проанализированы основные определения наукометрических показателей. В статье рассмотрена актуальная задача разработки информационной подсистемы учета наукометрических показателей (ИПУНМП), в которой является важной частью подсистема анализа информации. Разработан модуль анализа данных на основе вебтехнологий, обеспечивающих модуль такими задачами, как: удобная регистрация и авторизация; интуитивно понятный интерфейс создания карточки публикации, а также определения прав доступа; удобный блок ее редактирования; удобная система управления базой данных. Разработанная ИПУНМП поддерживает современные интернет технологии; при написании программного кода использовался скриптовый язык PHP и СУБД MySQL. Ключевые слова: Система, информация, учет, показатель, наукоемкость. Введение Сегодня для оценивания результативности научной деятельности совместно с экспертными заключениями все чаще используют и наукометрические показатели, основанные на количестве публикаций автора и на количестве ссылок на его работы [1]. В настоящее время существует проблема объективной оценки научно-исследовательской деятельности, поэтому для повышения уровня объективности оценки результатов научных исследований, на практике применяется методика количественно-качественной оценки результатов с использованием так называемых наукометрических показателей, построенных на основе содержательных нормативных критериев, отражающих степень воздействия определенных показателей на уровень научной значимости результата [2]. Возросший интерес к наукометрическим показателям вызван в первую очередь возможностью автоматизации процесса оценивания благодаря развитию электронных библиографических баз данных и возможностей автоматического расчета соответствующих индексов с использованием программных средств баз данных WebofScience, Scopus, Российской научной библиотеки (elibrary.ru) [3]. Актуальность создания и применения такой системы, которая бы вела учет результатов научной деятельности внутри университета, обуславливается дешевизной и быстротой проверки, отсутствием человеческого фактора, а так же желанием самих преподавателей и студентов занимающихся научной деятельностью иметь наглядное представление о всех сведенных в одном месте результатах и заслугах. Однако применение наукометрических показателей встречает много трудностей, а также сильное противодействие, в первую очередь, самих преподавателей, указывающих на невозможность количественного измерения значимости научного результата, неполноту и подверженность любого индекса манипулированию со стороны заинтересованных лиц, и только лишь профессиональная экспертиза может дать всестороннюю объективную оценку научных результатов и заслуг, наукометрические же показатели служат инструментом поддержки принятия решений [4]. Разработка подсистемы анализа данных Ниже представлена информационно-логическая модель подсистемы анализа данных (рис. 1). 204 Преподаватель Статья Тезис Доклад Ввод информационной карточки Расширенный поиск Вывод результатов Классификация Стандартизация Отсортированный список Представление данных Комментирование Просмотр и редактирование комментариев Руководитель Рисунок 1 - Инфологическая модель Преподаватель загружает статью, тезис либо доклад, предварительно введя соответствующую информацию в карточке работы. Блок «Классификация» позволяет произвести классификацию уже имеющихся в профиле работ по каким-либо критериям, которые задает пользователь. В блоке «Представление данных» - выполняется подготовка информации к сохранению в базе данных, а именно ее представление (описание) на языке работы с БД SQL. Сохранение одной карточки публикации может потребовать изменения содержимого нескольких связанных таблиц, именно поэтому данный блок осуществляет всю необходимую подготовительную работу. С помощью функции расширенного поиска можно найти интересующую работу по ключевому слову либо фамилии автора. Стандартизация – применение принятых международных стандартов к описанию карточки научного ресурса (в том числе к оформлению статей, описанию метаданных). Использование блока стандартизации позволит повысить расширяемость разработанной подсистемы по интеграции с внешними источниками информации о научных публикациях. Функция комментирования предоставляет пользователям возможность обратной связи, (оставление каких-либо комментариев под работами разных авторов). Вывод результатов подразумевает выдачу информации для руководителя после совершения какого-либо из действий. Блок «Отсортированный список» - в нем происходит построение определенного списка по заданному критерию, определенного пользователем. Так же имеется возможность просмотра и редактирования комментариев. Разработка архитектуры подсистемы На рис. 2 изображена архитектура подсистемы аналитики, статистики и отчетов. В режиме профиля автора предоставляется доступ к профилю автора статей, тезисов, докладов, с помощью которого мы можем вести работу с системой. Краткое описание: Профиль руководителя предоставляет доступ к профилю с помощью которого руководитель подразделения имеет возможность работы в системе. Сохраненные запросы – механизм интуитивного поиска, когда в поле ввода данных отображаются предыдущие совершенные запросы. В отчете «Активности автора» можно вывести сводные данные за выбранный период (допустим год), и у нас выведется информация: всего публикаций, из них в РИНЦ, из них в ВАК, из них в Scopus, из них в WebOfScience, из них со студентами. В детализированном же отчете уже видно список конкретных работ по каждой группе, и имеется возможность перехода к карточке работы. В отчете «Активности подразделения», руководитель подразделения может построить отчет по всему подразделению. Отчет «Список трудов» представляет собой стандартную форму списка работ автора (определенных типов) за выбранный промежуток времени. Печатная форма может быть сразу использована для печати и заверения научным руководителем, например для дальнейшего представления в ученом совете, в различного рода заявках на гранты и участия в конкурсах. Отчет «Рейтинг подразделения» - этот отчет доступен руководителю института или отдельного научного подразделения. По институту формируется рейтинг кафедр на основании выбранного критерия за указанный промежуток времени. Отчет по кафедре содержит сводный рейтинг сотрудников. 205 Подсистема администрирования и ввода данных Интерфейс администратора Подсистема аналитики, статистики и отчетов Интерфейс редактора Интерфейс автора Интерфейс руководителя Общие настройки системы Ввод новой научной работы Профиль автора Профиль руководителя Справочники Корректировка научной работы Сохраненные запросы Сохраненные запросы Подразделения и сотрудники Загрузка файлов (оригиналы pdf) Отчет «Активность автора» Отчет «Активность подразделения» Резервное копирование Поиск двойников Отчет «Список трудов» Отчет «Рейтинг подразделений» Блок экспорта отчетов Блок импорта информации База данных Отчет Отчет Отчет Рисунок 2 - Подсистема аналитики, статистики и отчетов Блок экспорта отчетов позволяет после работы с системой генерировать отчеты в различных форматах (PDF, DOC). Заключение В ходе выполнения работы было дано определение наукометрического показателя: понятие наукометрического показателя, классификация наукометрических показателей, разновидности наукометрических показателей. Было выявлено, что достаточно актуальной является разработка информационной подсистемы учета наукометрических показателей (ИПУНМП), в которой является важной частью подсистема анализа информации. В результате разработан модуль анализа данных на основе веб- технологий, обеспечивающих модуль такими задачами, как: удобная регистрация и авторизация; интуитивно понятный интерфейс создания карточки публикации, а также определения прав доступа; удобный блок ее редактирования; удобная система управления базой данных. Разработанная ИПУНМП обладает следующими характеристиками: является кроссплатформенной; имеет многопользовательский режим; поддерживает современные интернет технологии; при написании программного кода использовался скриптовый язык PHP и СУБД MySQL. Литература 1. С. Д. Штовба, Е. В. Штовба / Обзор наукометрических показателей для оценки публикационной деятельности ученого / Журнал: Управление большими системами. Специальный выпуск 44: «Наукометрия и экспертиза в управлении наукой» – М., 2013. 2. Vine, Rita (January 2006). «Google Scholar». Journal of the Medical Library Association 94 (1): 97– 9.Краснова, Г.А. Технологии создания электронных обучающих средств - 2-е издание, М.: МГИУ, 2009. 3. Информационная система // Википедия. [2015—2015]. Дата обновления: 16.02.2015. URL: http://ru.wikipedia.org/?oldid=68621960 (дата обращения: 16.02.2015).Готская И.Б. Аналитическая записка «Выбор системы дистанционного обучения» - Москва: Информационно-издательский дом «Филин». – 2005. 4. Наукометрия // Википедия. [2015—2015]. Дата обновления: 25.02.2015. URL: http://ru.wikipedia.org/?oldid=68855205 (дата обращения: 25.02.2015). 206 Цырульникова Э.С., Лебединский А.Е., Кравченко Ю.А. Об одной информационной системе учета наукоемких показателей. Работа посвящена разработке информационной системы учета и анализа научных показателей. Проанализированы основные определения наукометрических показателей. В статье рассмотрена актуальная задача разработки информационной подсистемы учета наукометрических показателей (ИПУНМП), в которой является важной частью подсистема анализа информации. Разработан модуль анализа данных на основе вебтехнологий, обеспечивающих модуль такими задачами, как: удобная регистрация и авторизация; интуитивно понятный интерфейс создания карточки публикации, а также определения прав доступа; удобный блок ее редактирования; удобная система управления базой данных. Разработанная ИПУНМП поддерживает современные интернет технологии; при написании программного кода использовался скриптовый язык PHP и СУБД MySQL. Ключевые слова: Система, информация, учет, показатель, наукоемкость. Tsyrulnikova E.S, Lebedinsky A.E, Kravchenko Y.A. A knowledge-based information system of accounting rates. The work is dedicated to the development of information system for recording and analysis of scientific indicators. Analyzes the basic definition of scientometric indicators. In the article the actual problem of development information subsystem accounting scientometric indicators (IPUNMP), which is an important part of the subsystem analysis. Data analysis module was developed based on web technologies for module tasks such as: easy registration and authorization; intuitive creation interface card publication and determination of access rights; convenient unit to edit it; easy database management system. Developed IPUNMP support modern Internet technologies; when writing code used scripting language PHP and database MySQL. Keywords: System, information, accounting, record, research intensity. 207 СЕКЦИЯ «КОМПЬЮТЕРНАЯ ИНЖЕНЕРИЯ» УДК 681.3 Применение инфракрасного отражателя TCRT5000 в системе ориентирования в пространстве Н.А. Горин, В.Н. Струнилин Донецкий национальный технический университет, г. Донецк кафедра компьютерной инженерии MegaNikolai@yandex.ua Горин Н.А., Струнилин В.Н. Применение инфракрасного отражателя TCRT5000 в системе ориентирования в пространстве. Выполнена разработка электронного устройства, отслеживающего при помощи модуля GY-531 и инфракрасного отражателя TCRT5000 положение объекта и генерирующего сигналы управления для корректировки работы двигателей при движении робота по заданному маршруту. Ключевые слова: отражатель. микроконтроллер, акселерометр, гироскоп, драйвер, инфракрасный Постановка проблемы При взаимодействии роботизированной техники с окружающими объектами возникает необходимость в системах ориентирования в пространстве. Эти системы позволяют достоверно оценивать перемещение управляемого объекта в пространстве и его взаимодействие с другими объектами. Актуальной является также автоматизация работы складов, заводов и других промышленных объектов, в которых роботы-грузчики передвигаются по заранее указанным маршрутам. Маршруты наносятся на поверхность движения яркой краской в виде линий, и роботы должны двигаться строго по указанным линиям, не отклоняясь от них. Следовательно, исследование и разработка систем ориентирования в пространстве остаётся актуальной и является продолжением более ранних работ [1, 2]. Цель статьи – разработка электронного устройства, отслеживающего при помощи акселерометра и гироскопа положение объекта в пространстве, а при помощи инфракрасных отражателей - отклонение робота от заданного маршрута, а также генерирующего управляющие сигналы для корректировки работы двигателей. Выбор платформы Разработка системы ориентирования в пространстве выполнена на платформе ArduinoUno (рис.1). Данная платформа построена на основе микроконтроллера ATmega328 [3]. Платформа имеет 14 цифровых входов/выходов (шесть из которых могут использоваться как выходы широкополосной импульсной модуляции), шесть аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB либо подать питание при помощи адаптера AC/DC или батареи [3]. Рисунок 1 – Внешний вид ArduinoUno Платформа программируется посредством программного программирования устройств Arduino основан на C/C++ [4, 5]. 208 обеспечения Arduino. Язык Для программирования микроконтроллера используется среда разработки Arduino 1.0.5. Микроконтроллер ATmega328 поставляется с встроенным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Главным элементом модуля GY-531 является микросхема MPU6050, которая содержит акселерометр, гироскоп и температурный сенсор. Помимо этой микросхемы на плате модуля расположена необходимая обвязка MPU6050, в том числе подтягивающие резисторы интерфейса I2C, а также стабилизатор напряжения на 3,3 вольта с малым падением напряжения и фильтрующими конденсаторами. Также на плате располагается SMD светодиод с ограничивающим резистором, выполняющие функцию индикации питающего напряжения [6]. Обоснование выбора инфракрасного отражатель TCRT5000 Инфракрасный отражатель TCRT5000 представляет собой сборку в одном корпусе инфракрасного излучателя (диода) и инфракрасного приемника (транзистора), разделённых перегородкой. Данный датчик излучает инфракрасный сигнал и затем ловит отражение этого инфракрасного сигнала от поверхности (рис. 2). В зависимости от типа и цвета поверхности меняется интенсивность отраженного сигнала. По этой интенсивности можно приблизительно судить об оттенках цвета поверхности. Данный датчик также может использоваться как датчик Холла для определения скорости перемещения робота. Датчик состоит из светодиода, излучающего свет в инфракрасном диапазоне, и фототранзистора. Рабочая дистанция до 12 мм. Рисунок 2 – Принцип действия инфракрасного отражателя TCRT5000 Математический аппарат Данные, приходящие с гироскопа, определяются следующими зависимостями: d guro _ x _ scalled xgyro ; dt d guro _ y _ scalled ygyro ; dt d guro _ z _ scalled zgyro , dt где guro_x_scalled, guro_y_scalled и guro_z_scalled – это переменные, в которые библиотечная функция MPU6050_ReadData() заносит значения, считанные с гироскопа с учётом калибровки. В дальнейшем будем рассматривать все расчёты на примере оси x. Для расчета угла необходимо проинтегрировать переменную gyro_x_scalled. Для реализации дискретного интегрирования будем использовать метод Эйлера. Математически интегрирование методом Эйлера можно записать следующим образом: xgyro (t n ) gyro _ x _ scalled * T xgyro (t n1 ) ; T tn tn1 , где n={1, 2, 3…} – количество итераций. Предполагаем, что начальные углы относительно осей x, y, z после калибровки равны 0, 0 и 90 градусов соответственно, так что для итерации n=0: xgyro (t0 ) 0 , ygyro (t0 ) 0 , zgyro (t0 ) 90 . Из-за неидеальной калибровки гироскопа gyro_x_scalled никогда не принимает нулевое значение. Кроме того, ее значения со временем изменяются. Для решения данной проблемы проводится расчет угла с 209 помощью акселерометра и полученные значения сравниваются с углом гироскопа. Так как модуль MPU6050 располагается горизонтально, ускорение по оси z равно 1g (т.е. 9,81 м/с2). Используем этот вектор ускорения и его проекцию на ось y для расчета угла между осями x и y. Угол, который рассчитывается с помощью акселерометра, определятся зависимостями: accel _ x _ scalled ; xaccel tan1 accel _ y _ scalled 2 accel _ z _ scalled 2 yaccel tan 1 accel _ y _ scalled . accel _ x _ scalled 2 accel _ z _ scalled 2 Основными проблемами при определении угла наклона с помощью акселерометра являются сильная зашумленность сигнала и очень сильная чувствительность к вибрациям, без которых ни один механизм не работает. Более того, при перемещении MPU6050 вдоль одной из осей координат, полученные значения угловых скоростей будут мешать расчету угла. Для лучшего результата углы с гироскопа и акселерометра обрабатываются с помощью фильтра: x Filter _ gain * xgyro (1 Filter _ gain) * xaccel . Окончательно уравнение для определения угла наклона принимает вид: xgyro (t n ) gyro _ x _ scalled * T x (t n1 ) . В дальнейших расчётах использовался коэффициент усиления 0,95. В зависимости от динамики системы, можно его повышать, но не до единицы, так как значения будут сильно отклоняться от истинных. Принцип работы системы Разработанная система ориентирования в пространстве должна определять угол подъёма или спуска движущегося объекта и в зависимости от этого генерировать управляющие сигналы для увеличения/уменьшения напряжения, подаваемого на двигатели. Если объект преодолевает подъём, то система определяет угол подъёма и увеличивает напряжение, подаваемое на двигатели, чтобы не утратить скорость движения. Если объект преодолевает спуск, то система определяет угол спуска и уменьшает напряжение на двигатели, чтобы предотвратить неконтролируемый разгон объекта. Инфракрасные отражатели TCRT5000, установленные на расстоянии друг от друга не больше, чем ширина линии маршрута (должно соблюдаться условие, что оба датчика будут попадать на линию маршрута), будут подавать сигналы на микроконтроллер. Сигналы будут приравниваться к логическому нулю или единице в зависимости от уровня освещённости фототранзистора. Если линия маршрута будет белая на тёмном фоне, то максимальная освещённость фототранзистора будет приравниваться к логической единице, минимальная освещённость – логическому нулю при отклонении от маршрута. Схема подключения модуля GY-531 в системе ориентирования в пространстве представлена в [2]. Подключение инфракрасных отражателей TCRT5000 производится при помощи двух резисторов к выходу +5В и GND, информационный выход SIGNAL подключается для левого датчика к контакту А0, а правый датчик подключается к контакту А1 (рис. 3). А0 и А1 – это аналоговые входы/выходы платформы Arduino Uno [7]. Рисунок 3 – Схема подключения инфракрасного отражателя TCRT5000 Следует отметить, что в данном проекте использовался акселерометр и гироскоп одновременно, чтобы повысить точность полученных данных. Это обусловлено разной спецификой работы акселерометра и гироскопа, а также определяемых ими параметров [9]. Двигатель будет управлять платформой при помощи микросхемы драйвера двигателей L293D [10]. 210 Выводы Выполнена разработка и моделирование электронного устройства, определяющего положение объекта в пространстве при помощи акселерометра и гироскопа. Устройство определяет углы подъёма или спуска и генерирует сигналы управления для корректировки работы двигателей. Полученная система ориентирования в пространстве простая в применении и дешёвая при сборке. Применение различных микросхем драйвера двигат