В статье рассматривается поиск ошибок помеченных данных в исходном коде программ, т.е. ошибок, вызванных небезопасным использованием данных, полученных из внешних источников, которые потенциально могут быть изменены злоумышленником. В качестве основы использовался межпроцедурный статический анализатор Svace. Анализатор осуществляет как поиск дефектов в программе, так и поиск подозрительных мест, в которых логика программы может быть нарушена. Целью является найти как можно больше ошибок при приемлемой скорости и низком уровне ложных срабатываний (< 20–35 %). Для поиска ошибок Svace с помощью компилятора строит низкоуровневое типизированное промежуточное представление, которое подаётся на вход основному анализатору SvEng. Анализатор строит граф вызовов, после чего выполняет анализ на основе резюме. При таком анализе функции обходятся в соответствии с графом вызовов, начиная с листьев. После анализа функции создаётся её резюме, которое затем будет использовано для анализа инструкций вызова. Анализ имеет как высокую скорость, так и хорошую масштабируемость. Внутрипроцедурный анализ основан на символьном выполнении с объединением состояний в точках слияния путей. Для отсеивания несуществующих путей для некоторых детекторов может использоваться SMT-решатель. При этом SMT-решатель вызывается, только если есть подозрение на ошибку. Анализатор был расширен возможностью поиска дефектов, связанных с помеченными данными. Детекторы реализованы в виде плагинов по схеме источник-приёмник. В качестве источников используются вызовы библиотечных функций, получающих данные извне программы, а также аргументы функции main. Приёмниками являются обращение к массивам, использование переменных как шага или границы цикла, вызов функций, требующих проверенных аргументов. Реализованы детекторы, покрывающие большинство возможных типов уязвимостей, для непроверенных целых чисел и строк. Для оценки покрытия использовался проект Juliet. Уровень пропусков составил от 46.31% до 81.17% при незначительном количестве ложных срабатываний.
В статье рассматривается задача распознавания рукописных цифр с помощью искусственных нейронных сетей прямого распространения (перцептронов) с использованием корреляционного показателя. Предлагаемый метод базируется на математической модели нейронной сети как колебательной системы, аналогичной системе передачи информации. В статье используются теоретические наработки авторов по поиску глобального экстремума функции ошибки в искусственных нейронных сетях прямого распространения. Изображение рукописной цифры рассматривается как одномерный входной дискретный сигнал, представляющий собой смесь «идеального написания цифры» и шума, который описывает отклонение входной реализации от «идеального написания». Для формирования функции ошибки используется широко используемый в системах передачи информации критерий идеального наблюдателя (Котельникова), описывающий вероятность верного распознавания входного сигнала системой передачи информации. В статье проводится сравнительный анализ сходимости обучающей и экспериментально полученной последовательностей на основе корреляционного показателя и широко используемой в задачах классификации функции CrossEntropyLoss с использованием опимизатора и без него. На основе проведенных экспериментов делается вывод о преимуществе предлагаемого корреляционного показателя в 2-3 раза.
Модели изучения видов человеческой деятельности на основе онтологий играют жизненно важную роль в различных областях Интернета вещей, таких как умные дома, умные больницы и т.д. Основными проблемами онтологических моделей являются их статический характер и неспособность к самоэволюции. Модели нельзя разом построить полностью, и нельзя ограничить виды деятельности жителей умного дома. Кроме того, жители непредсказуемы по своей природе и могут выполнять «повседневную деятельность», не указанную в онтологической модели. Это порождает потребность в разработке интегрированной структуры, основанной на единой концептуальной основе (то есть онтологиях видов деятельности), обращаясь к жизненному циклу распознавания видов деятельности и создавая модели поведения в соответствии с распорядком дня жителей. В этой статье предложен процесс эволюции онтологии, в котором изучаются определенные виды деятельности из существующего набора видов деятельности в повседневной жизни. В этом процессе с помощью искусственной нейронной сети изучаются новые виды деятельности, которые не были идентифицированы моделью распознавания, добавляются новые свойства к существующим видам деятельности и выясняется новейшее поведение жителей при выполнении действий. Лучший уровень истинно-положительных срабатываний сети свидетельствует о распознавании видов деятельности с обнаружением искаженных сенсорных данных. Эффективность предложенного подхода очевидна из повышения скорости изучения видов деятельности, обнаружения видов деятельности и эволюции онтологии.
За последние годы автономная мобильная навигация была значительные усовершенствована; однако эта технология все еще не может быть эффективно интегрирована с мобильными системами, которые функционируют внутри производственных зданий и жилых домов, а также без абсолютной привязки к местности, обеспечиваемой, например, GPS. По этой причине в настоящей статье представлена методика, позволяющая интегрировать методы обнаружения объектов, такие как YOLO или R-CNN, с системами лазерного сканирования для измерения пространственных координат и инерциальной навигационной системой дли пространственного позиционирования путем привязки к позициям других объектов. В нашем подходе объединяется принцип динамической триангуляции и методика IKZ, которые позволяют получить приемлемое время автономного функционирования мобильного устройства перед тем, как потребуется повторное сканирование окружающих объектов.
Цифровые двойники процессов и устройств используют информацию, получаемую с датчиков, для синхронизации своего состояния с сущностями физического мира. Концепция потоковых вычислений позволяет эффективно обрабатывать события, генерируемые такими датчиками. Однако необходимость отслеживания состояния экземпляра объекта приводит к невозможности организации цифровых двойников в виде сервисов без сохранения состояния. Еще одной особенностью цифровых двойников является то, что некоторые задачи, реализованные на их основе, требуют способности реагировать на входящие события на скорости, близкой к реальному времени. В этом случае использование облачных вычислений становится неприемлемым из-за высокой временной задержки. Туманные вычисления решают эту проблему, перемещая некоторые вычислительные задачи ближе к источникам данных. Однако сложности в организации обработки состояния на базе контейнеризованных мироксервисных систем создает проблемы в обеспечении бесперебойной работы таких сервисов в условиях туманных вычислений. Таким образом, основная задача исследования заключается в создании методов контейнеризированной обработки потоков данных с сохранением состояния на основе микросервисов, для поддержки развертывания компонентов цифровых двойников на базе туманных вычислительных сред. В рамках этой статьи мы исследуем возможности живой миграции процессов обработки потоков данных с сохранением состояния и способы перераспределения вычислительной нагрузки между облачными и туманными узлами с использованием платформы Kafka и Kafka Stream DSL API.
Микросервисная архитектура позволяет разрабатывать распределенные системы с использованием набора независимых, легко связываемых, и пригодных к совместному использованию сервисов, удовлетворяющих насущным потребностям облачных вычислений. Каждый микросервис может быть реализован в различных технологиях с использованием общих каналов связи, что приводит к созданию гетерогенных распределенных систем, демонстрирующих высокую масштабируемость, эксплуатационную надежность, производительность и интероперабельность. В настоящее время существует множество вариантов построения микросервисов; некоторые из них основаны на паттернах, задающих общие структуры для решения повторяющихся задач. Тем не менее, поскольку микросервисы являются сравнительно новым трендом, взаимосвязи между атрибутами качества, метриками и паттернами четко не определены, что является проблемой с позиции программной инженерии, поскольку понимание этих взаимосвязей является фундаментом правильного проектирования систем с использованием этой архитектуры. Настоящая статья направлена на расширение знаний о проектировании микросервисных систем, представляя многопрофильный систематический обзор литературы о паттернах, касающихся микросервисов, и связывая их с атрибутами качества и метриками.
Подводная беспроводная сенсорная сеть (Underwater Wireless Sensor Network, UWSN) – это новая технология мониторинга водных объектов, которая часто используется для сбора информации под водой, отбора проб в океане, выявления неопознанных движущихся объектов, предупреждения стихийных бедствий и обнаружения подводных лодок. В последнее время сети UWSN привлекают большое внимание исследователей как из академических, так и из промышленных кругов. В результате было проведено несколько исследований с целью усовершенствования методов, инструментов, протоколов и архитектуры UWSN. В связи с этим существует острая необходимость в изучении и обобщения современных тенденций развития UWSN в рамках одного исследования. Для достижения этой цели в данной статье проводится систематический обзор литературы, в котором комплексно анализируются последние разработки в области UWSN. В частности, было отобрано и проанализировано 34 научных исследования, опубликованных в период 2012-2020 гг. в области UWSN. В результате чего были определены 21 актуальный протокол маршрутизации и 11 инструментов. Кроме того, в контексте UWSN представлены пять различных типов архитектуры и три технологии средств коммуникации. Наконец, был проведен сравнительный анализ протоколов маршрутизации на основе значимых оценочных показателей. По итогам анализа был сделан вывод о том, что существуют отвечающие требованиям подходы, протоколы и инструменты для мониторинга посредством UWSN. Однако возможности верификации текущих подходов недостаточны для удовлетворения растущих требований к UWSN. Выводы, сделанные в этой статье, закладывают прочную основу для дальнейшего усовершенствования нынешних инструментов и методов, используемых в UWSN, для их реализации в крупных и сложных сетях.
. Для работы научных приложений требуется выполнять в кратчайшее время обработку, анализ и передачу больших объемов данных из распределенных источников данных. Чтобы улучшить производительность таких приложений, требуется наличие определенных параметров качества обслуживания (QoS). С другой стороны, программно-определяемая сеть (SDN) представляет собой новую парадигму коммуникационной связи, которая упрощает управление коммуникационной инфраструктурой и, следовательно, позволяет динамически внедрять параметры QoS в приложения, работающие в сети такого типа. Учитывая обе парадигмы, мы выполнили данное исследование с целью найти ответы на следующие вопросы. Повышается ли производительность научных приложений, работающих в распределенных центрах данных, которые построены на основе SDN? Принимаются ли во внимание при планировании заданий сетевые параметры QoS? Методология исследования заключалась в ознакомлении со статьями из специализированных баз данных, содержащими ключевые слова «SDN», а также «высокопроизводительных вычисления и обработка больших объемов данных в научных приложениях». Затем мы проанализировали статьи, где эти ключевые слова пересекаются с некоторыми параметрами, связанными с QoS в сетях передачи данных. Кроме того, мы рассмотрели предложения по обеспечению качества обслуживания в SDN, чтобы выявить достигнутый прогресс в этой области исследований. По итогам исследования были получены следующие результаты: (i) внедрение QoS в научные приложения, работающие в SDN, все еще является открытой проблемой; (ii) мы определили проблемы, связанные с соединением обеих парадигм; (iii) мы представили стратегию обеспечения QoS научным приложениям, которые выполняются в распределенных центрах обработки данных на основе SDN.
В статье исследуется задача виртуализации сети на плоскости данных программно-конфигурируемой сети, моделируемой графом физических связей между узлами сети. Виртуальная сеть задается как множество упорядоченных пар хостов (отправитель, получатель), а реализуется множеством путей хост-хост, однозначно определяющим настройки коммутаторов. Возможности передачи пакетов ограничиваются весами (приоритетами) хостов: пакет может быть передан только от хоста к хосту с не меньшим приоритетом. Соответственно множество путей допустимое, если любое подмножество связываемых им пар хостов является допустимым. В работе показывается, что в отличие от случая, когда любая пара различных хостов является допустимой, в графе с приоритетами не для любого множества пар допустимых хостов существует допустимая реализация, т.е. реализация в виде допустимого множества путей. Кроме того, показывается, что в ряде случаев, когда такая реализация существует, она не всегда возможна без путей с циклами, т.е. путей, допускающих бесконечное движение пакетов по циклу, и без дублирующих путей, когда хост получает один и тот же пакет несколько раз. С использованием понятия совершенного множества путей сформулировано и доказано требование к графу с приоритетами, которое достаточно для допустимой реализации любого допустимого множества пар хостов без циклов с возможным дублированием.
Работа посвящена изучению главных направлений в усовершенствованных вычислительных и информационных технологиях для эффективного решения задачи идентификации дефектов в группе мобильных роботов в присутствии возмущений. Для решения этой задачи привлекаются скользящие наблюдатели. Это облегчает реализацию концепции «умных» элементов в рассматриваемой группе роботов в процессе обобщенного управления ими: «умных» датчиков окружающей среды, связь, обработку информации и хранение данных сканирования. Предложенный новый подход к построению скользящих наблюдателей базируется на построении модели пониженного порядка исходной системы. Это позволяет уменьшить сложность реализации скользящих наблюдателей и ослабить ограничения, накалываемые на систему.
В статье представлены новые средства инструментария Orlando Tools. Он используется в качестве основы интегрированного программного окружения для разработки распределенных пакетов прикладных программ. Дополнительные средства Orlando Tools ориентированы на смягчение различных типов неопределенностей, возникающих при распределении заданий в интегрированной вычислительной среде. Они обеспечивают непрерывную интеграцию, доставку и развертывание прикладного и системного программного обеспечения пакетов. Это помогает существенно снижать негативное влияние неопределенности на время решения проблем, надежность вычислений и эффективность использования ресурсов. Экспериментальный анализ результатов решения практических задач наглядно демонстрирует преимущества применения инструментария.
Направления развития облачных вычислений, такие как Software as a Service (SaaS), позволяют поставщикам размещать сложные приложения через Интернет, делая их доступными для внешних потребителей через интерфейсы прикладного программирования (API). Успех SaaS, как и в некотором смысле любой распределенной системы, во многом зависит от ее API. Наличие очень удобных в использовании API повышают эффективность и качество процесса разработки, хотя, конечно для программистов остаются существенными и другие аспекты API. Различные исследования показывают, что в процессе разработки API наиболее подходящим для решения проблем удобства использования является этап проектирования. При проектировании API удобство использования должно являться явным критерием качества. В настоящей статье мы предлагаем путеводитель по проектированию Web-API с акцентом на удобство использования, опираясь на лучшие методы проектирования удобных Web-API. Наш путеводитель по проектированию основано на адаптации методологии проектного подхода к исследованиям (Design Science Research Methodology, DSRM) и дополнено систематическим обзором литературы, а также анализом серой литературы по методам, методикам и инструментам, используемым для разработки удобных API.
Tamil talk – это приложение для преобразования устной речи в текст, разработанное с позиций языка и философии. В этой статье используется автохтонный подход к осмыслению дизайна и принятия пользователями приложения Tamil talk на основе анализа литературных источников. Используется междисциплинарный подход и исследуется влияние таких факторов, как смена языка, приверженность языку и философия в контексте принятия пользователем преобразования устной речи в текст. Как полагают авторы литературных источников, такое приложение может импонировать части носителей тамильского языка, но имеются сложные проблемы, которые требуют дальнейшего исследования. Дальнейшие исследования должны быть направлены на разработку приложения, соответствующего концептуальной модели и испытываемого большим числом носителей языка, чтобы прийти к более точному пониманию принятия пользователями этого приложения.
Работа посвящена применению внутренних стилометрических методов в задаче обнаружения текстовых заимствований для армянского языка. Мы исследуем два варианта постановки задачи: обнаружение изменения стиля в документе и обнаружение границ нарушений стиля. Для данных задач в рамках этой работы мы создаем синтетические примеры с заимствованиями для академического, художественного и новостного жанров текста, и на полученных примерах проверяем эффективность алгоритмов иерархической кластеризации и других моделей по обнаружению нарушений стиля из серии конференций PAN.
ISSN 2220-6426 (Online)