В работе строится абстрактная модель распределенной сети, содержащей только хосты и коммутаторы, которая позволяет оценить классы задач, которые необходимо решать в такой сети, принимая во внимание, в том числе, нефункциональные параметры. Предполагается, что хосты предлагают пакеты определенных услуг (сервисов) и сообщения (запросы) между хостами пересылаются через промежуточные узлы по правилам коммутации. Правило определяет, каким соседним узлам пересылается принятое узлом сообщение в зависимости от того, откуда оно пришло, и от вектора параметров в его заголовке. Соответственно, настройка узлов определяет множество путей от хоста к хосту, по которым будут пересылаться пакеты. Ситуация моделируется с использованием графа, вершинами которого являются хосты и коммутаторы, а ребра соответствуют физическим связям между ними. Обычно предполагается, что в такой сети хосты только принимают, обрабатывают и посылают информацию другим хостам, но не занимаются коммутацией сообщений, эта функция возлагается на другие узлы – коммутаторы, но мы предполагаем, что при современных технологиях хост также может выполнять функции коммутации сообщений, то есть такой хост (как и коммутатор) содержит систему правил коммутации, указывающих, куда отправляется полученное сообщение, если почему-либо данный хост не может обработать данный запрос/сообщение. Предлагается модель сети, в которой функцию коммутации сообщений выполняет не только каждый коммутатор, но и каждый хост. Обсуждаются проблемы, связанные с нефункциональными параметрами распределенной сети, а именно, достижимость/недостижимость хостов, зацикливание сообщений, перегрузка сети сообщениями, немасштабируемость. Обсуждается возможность оптимизации рассматриваемых параметров сети на основе использования информации об услугах/сервисах, представляемых каждым из хостов, и алгоритмы самонастройки распределенной сети, оптимизирующие параметры сети, передачу сообщений по настроенной сети и инкрементальную (повторную частичную) настройку сети, не нарушающую функционирование сети.
В современную эпоху сильной взаимосвязанности данные и информация постоянно передаются по сетям. Обеспечение безопасности конфиденциальной информации и защиты компьютерных систем от сетевых угроз стало очень актуально. Поэтому важна разработка эффективной системы обнаружения вторжений в сеть (NIDS) с использованием оптимальных признаков. Эти признаки могут быть определены с помощью искусственного интеллекта путем изучения шаблонов и взаимосвязей методами машинного обучения (machine learning, ML). В статье представлена методика оптимизации типа «черепаха и заяц» для выбора оптимальных признаков. Для оценки используется набор данных UNSW-NB15. Результаты оптимизации достигают точности 94,12% для бинарной классификации и 93,92% для многоклассовой классификации, при этом из всего набора признаков выбираются 26 оптимальных. Чтобы улучшить подход, используется адаптивная стратегия на основе взаимной информации для управления количеством оптимальных признаков. Эта стратегия вместе с алгоритмом черепахи и зайца повышает точность, показывая 94,69% для бинарной классификации и 94,03% для многоклассовой классификации, при этом сокращая количество выбранных признаков до 9. Сравнительный анализ производительности показывает, что предлагаемый метод выбора признаков превосходит другие современные методы, обеспечивая более точные и надежные результаты при выявлении киберугроз. Кроме того, график связи количества оптимальных признаков и точности модели показывает, что выбор только 9 признаков является эффективным для достижения высокой точности обнаружения и прогнозирования кибератак.
Работа посвящена развитию смешанных методов анализа неточностей, возникающих при проведении компиляторных оптимизаций. Развитие этих методов важно для процессоров с широким командным словом (VLIW), построенных на архитектуре «Эльбрус» со статическим планированием. Проанализированы существующие подходы к выявлению неточностей в работе оптимизаций, выделены их недостатки. Авторами разработан метод обнаружения неточностей в работе двух важных для VLIW оптимизаций: конвейеризации циклов с аппаратной поддержкой (overlap) и оптимизации выноса участков цикла с малой вероятностью исполнения в создаваемый охватывающий цикл (nesting). Метод реализуется посредством инструментирования циклов в пользовательской программе и получения статической информации о работе циклов от компилятора. Предложенный метод был проверен на задачах из пакетов SPEC CPU 2006 и 2017 rate в режиме base (без использования профильной информации) на ЭВМ с процессором «Эльбрус-8С», где доказал свою эффективность. Метод позволил достичь ускорения до 70.7% на отдельных задачах при расстановке подсказок к оптимизации overlap и 4.71% на задаче 520.omnetpp при расстановке подсказок к оптимизации nesting.
Обнаружение мёртвого кода традиционно используется в компиляторах как один из видов оптимизации с целью его удаления. Мёртвые вызовы функций могут рассматриваться и как вид программных дефектов, которые могут указывать на серьёзные ошибки в реализации логики программы. В статье описывается реализация нового детектора, разработанного как часть инструмента статического анализа Svace, а также исследуются специфические случаи мёртвых вызовов, демонстрирующие особенности задачи поиска таких ситуаций в качестве программных ошибок по сравнению с формальным определением мёртвого кода.
Разработка программируемых и ресурсоэффективных аппаратных ускорителей для поиска по регулярным выражениям представляет собой актуальное направление в области сетевой безопасности, где критически важны высокая пропускная способность потоковой обработки данных и устойчивость к атакам типа ReDoS (Regular Expression Denial of Service). В настоящей работе представлен компилятор HOREC, применяемый в цикле высокоуровневого проектирования программируемого аппаратного ускорителя. В HOREC используется новое расширение детерминированного конечного автомата, позволяющее компактно описывать интервальные квантификаторы с большим числом повторений, типичные для правил в системах обнаружения вторжений. Рассмотрены алгоритмы, сокращающие число переходов в командах и уменьшающие общее число команд. Представлена программная модель ускорителя на основе интерпретатора сопоставления с скомпилированным образцом и задан набор параметров для поиска в пространстве архитектурных вариантов аппаратного ускорителя, в том числе: объем доступной памяти, формат команд и режимы сопоставления символов. Экспериментальное исследование проведено для 7234 регулярных выражений, извлеченных из правил ET OPEN. Результаты оценки демонстрируют высокую ресурсоэффективность предлагаемого решения: в память объемом 64K команд удалось разместить до 7000 выражений. При этом в 60% случаев число переходов на команду не превышает 4, а наличие глобальной таблицы множеств символов для 256 часто встречающихся элементов позволяет ограничить объем памяти локальной таблицы всего 10 множествами символов на программу.
Представленные результаты подтверждают применимость HOREC для аппаратной реализации поиска по РВ в задачах сетевой безопасности и показывают перспективность предложенного подхода для высокоуровневого проектирования ускорителей с низкими аппаратными затратами.
Семантический анализ кода – важный, но трудоемкий процесс, используемый во многих областях программирования. Целью данной работы является изучение метода автоматизации семантического анализа бинарного кода, который основан на разделении программ на семантические ядра с использованием частичных трасс выполнения или выделения подграфов графа вызовов и выделении их функциональности.
Миграция приложений – это процесс переноса программного обеспечения с одной платформы или версии прикладного интерфейса на другую. В условиях быстрого развития технологий и постоянных изменений в пользовательских предпочтениях эффективная миграция интерфейсов становится необходимостью для поддержания конкурентоспособности приложений. В статье представлен обзор современных методов миграции программных интерфейсов приложений, акцентирующий внимание на важности адаптации программного обеспечения к изменяющимся условиям и требованиям пользователей. Статья также классифицирует существующие подходы к миграции, включая использование автоматизированных инструментов, методов адаптации и рефакторинга кода на объектно-ориентированных языках программирования. Рассматриваются преимущества и недостатки различных методов, таких как адаптация пользовательских интерфейсов к новым платформам, миграция на основе шаблонов и использование адаптеров для обеспечения совместимости между устаревшими и новыми интерфейсами. Обсуждаются вызовы, с которыми сталкиваются разработчики при миграции, включая проблемы семантического преобразования и необходимость учета специфики целевых платформ. Данный обзор будет полезен как исследователям, так и практикам, работающим в области разработки программного обеспечения, предоставляя знания о методах и подходах к успешной миграции программных интерфейсов приложений.
В статье рассматривается развитие механизма конфигурации гибкой ролевой системы для приложений, которые требуют динамического разграничения прав пользователей в зависимости от бизнес-контекста или различных условий. Современные приложения становятся все больше и сложнее, что приводит к необходимости реализации эффективных механизмов контроля доступа. Описанный подход предполагает использование собственной ролевой модели, которая позволит точно настраивать права пользователей для различных сущностей в базе данных. Основное внимание уделено гибкости и масштабируемости модели, возможности настраивать доступ в зависимости от статусов объектов, ролей пользователей и нужд бизнеса. В качестве примера рассмотрена конфигурация интернет-магазина, с разграничением по ролям пользователей и учетом различий в статусах товара. Подробно описан процесс настройки доступов, приведён пример кода для проверки разрешений и динамического отображения полей. В заключение обсуждаются преимущества данного механизма и его недостатки.
Управление мастер-данными (Master-Data Management, MDM) – особый вид управления данными бизнес-организации, нацеленный на идентификацию, очистку, консолидацию и централизованное управление важнейшими данными компаний (golden dataset), которые обычно распределены по разным информационным системам и другим источникам. Ведущие мировые поставщики программных решений (IBM, Oracle, Informatica и многие другие) предлагают широкий спектр готовых продуктов по управлению мастер-данными (MDM-продукты). Однако внедрение MDM сопряжено с большими затратами: необходимо не только адаптировать эти продукты под особенности организаций, но и выполнить изменение бизнес-процессов, создать новые политики работы с данными, решить вопросы безопасности, решить другие вопросы. В связи с этим в России популярна итеративная стратегия внедрения MDM, подразумевающая поэтапную реализацию управления мастер-данными на основе реальных нужд организации-заказчика. В работе вводится понятие MDM-решения, которое является результатом внедрения MDM в организацию и включает помимо программной части также обработанные мастер-данные, налаженные организационные процедуры по сопровождению мастер-данных и прочее. Основным результатом статьи является функциональная модель управления мастер-данными, предназначенная для ранних стадий разработки MDM-решения в рамках итеративной стратегии. Целью данной модели является отобразить реальные потребности организации на язык MDM – важно понять, какие именно MDM-компоненты должны быть реализованы в первую очередь. В работе также приводится экспериментальное исследование, в котором уже реализованные MDM-решения анализируются с помощью предложенной модели.
Задача MaxSMT заключается в определении выполнимости формулы теории первого порядка с ограничениями. В статье представлен подход к решению этой задачи для случая бескванторных теорий, которые обычно разрешимы и востребованы на практике для генерации тестов к программному обеспечению. Подход включает в себя модифицированный MaxSAT-алгоритм PrimalDualMaxRes, в котором использование SAT-решателя заменено SMT-решателем, а также реализацию режима портфолио. Последний означает, что итоговый MaxSMT-алгоритм запускается параллельно с несколькими SMT-решателями, и в качестве конечного результата берется наилучший. В качестве SMT-решателей, на базе которых построен режим портфолио, были выбраны Z3, Yices и Bitwuzla. Подход реализован с использованием открытой Kotlin-библиотеки KSMT, реализующей инфраструктуру для работы с набором MaxSMT-решателей. В статье также представлен первый тестовый набор (benchmark) для MaxSMT-задачи. Проведенные эксперименты подтверждают эффективность предложенного решения. Разработанное портфолио MaxSMT-решателей справляется с примерами из тестового набора данных более, чем в четыре раза быстрее существующего MaxSMT-решателя νZ (проект Z3).
В статье представлена новая система трехмерной локализации в реальном времени на базе БПЛА, которая сочетает монокулярную камеру, лазерный дальномер на стабилизирующем подвесе и бортовые алгоритмы компьютерного зрения. В отличие от предыдущих подходов, основанных на допущениях, таких как известный размер объекта или плоский рельеф местности, и часто проверяемых только в симуляции, наш метод обеспечивает точную локализацию целей без предварительных знаний об окружающей среде. Система осуществляет слежение и локализацию полностью на борту дрона за счёт активного слияния данных от датчиков и управления подвесом. Разработанный нами метод реализован в универсальном программном обеспечении и протестирован в полевых условиях, где продемонстрировал высокую точность и устойчивость.
В статье описана именная словоизменительная система языка брошюры 1804 г. «Переводъ нѣкоторыхъ молитвъ и сокращеннаго катихизиса на Корельскїй языкъ» – первого печатного памятника тверской карельской письменности. Актуальность обусловлена отсутствием систематического лингвистического анализа источника, содержащего уникальный корпус данных по исторической грамматике и диалектологии карельского языка. Объем карельского текста составляет порядка 2,5 тысяч лексем, из которых более половины представлены именными частями речи. В работе подвергнуты анализу все грамматические категории имени: число, падеж, притяжательность. Исследование проведено с использованием инструментов лингвистической платформы LingvoDoc. Материалы источника сопоставлены с новописьменным вариантом тверского карельского языка, а также с данными по тверским говорам середины XX в. из диалектной базы Murreh.
Именная словоизменительная система перевода не демонстрирует существенных отличий от толмачевской группы говоров южного диалекта собственно карельского наречия, что подтверждает сделанный ранее вывод о диалектной принадлежности источника. В ходе исследования установлено, что язык памятника сохранил архаичные черты, утратившиеся в современных тверских карельских говорах. К числу таких архаизмов относятся: использование показателя множественного числа -й- с многосложными одноосновными именами на дифтонг, окончания множественного числа генитива -енъ, множественного числа партитива -ѧ, иллатива -же, адессива-аллатива -ла / -лѧ, инессива -са / -сѧ, абессива -тѧ, притяжательные суффиксы, а также употребление послеложных конструкций для передачи значений комитатива и аппроксиматива. Инновационным является распространение форманта множественности -лой- / -лїой- на одноосновные имена с гласной основой на -e, а также тенденция перехода от посессивных суффиксов к генитивным конструкциям.
В работе представлена ПЛИС-реализация адаптивного блока управления питанием для электромобилей, основанная на гибридной модели с использованием двунаправленной долгосрочной краткосрочной памяти и дерева решений. Разработка выполнена на платформе Zynq UltraScale+ MPSoC и предназначена для оценки состояния заряда аккумулятора и классификации условий вождения с целью оптимального распределения мощности между компонентами электроавтомобиля. Аппаратный стенд моделирует характеристики среднего электромобиля, генерируя данные о положении дросселя, скорости, напряжении/токе батареи и координатах каждые 30 секунд. Экспериментальные результаты показывают значительное улучшение энергоэффективности и сокращение задержки по сравнению с традиционными блоками управления батареей. Предложенная система потребляет около 0,98 Вт, обеспечивает задержку 5,6 мкс и достигает производительности 181,6 операций на ватт, значительно превосходя устройства с микроконтроллерами или сигнальными процессорами. Расчет запаса хода демонстрирует увеличение до 25% в условиях шоссе при использовании модели Bi-LSTM + дерево решений, что подтверждает эффективность предлагаемой адаптивной стратегии управление энергетикой электроавтомобиля.
Автоматизация рутинных операций, связанных с анализом медицинских снимков, представляет собой важную задачу, так как позволяет снизить нагрузку на рентгенологов. Выбор снимков компьютерной томографии, соответствующих уровням конкретных позвонков, для оценки состава тела пациента обычно осуществляется вручную, что требует дополнительных временных затрат. Цель исследования – разработка подхода к решению задачи локализации позвонков на срединных сагиттальных срезах компьютерной томографии для автоматического выбора аксиальных срезов, используемых для оценки состава тела. В основе разработанного подхода лежит применение модели мультиклассовой сегментации, имеющей архитектуру семейства U-Net, и методов компьютерного зрения для предобработки снимков и постобработки масок сегментации. С целью оценки влияния типов входных данных и архитектур моделей на точность сегментации рассмотрено 20 конфигураций подхода. Выявлено, что предлагаемый метод предобработки входных данных, основанный на формировании трёхканальных снимков, повышает точность мультиклассовой сегментации для четырёх архитектур из пяти рассмотренных (Dense U-Net демонстрирует максимальное значение коэффициента схожести Дайса – 0,8858). Также установлено, что предложенный метод расширения обучающей выборки, основанный на пропуске аксиальных срезов при формировании сагиттальных срезов, повышает точность мультиклассовой сегментации для моделей с архитектурами ResU-Net и Dense U-Net. На базе предложенного подхода реализован программный модуль, решающий задачи автоматического определения положений позвонков шейного, грудного и поясничного отделов позвоночника на срединном сагиттальном срезе компьютерной томографии, их визуализации и определения индексов аксиальных срезов, соответствующих центрам тел позвонков. Разработанный модуль интегрирован с программой для визуализации и анализа медицинских файлов DICOM. Разработанный модуль может применяться в качестве вспомогательного инструмента при решении диагностических задач.
ISSN 2220-6426 (Online)