Открытый доступ Открытый доступ  Доступ закрыт Доступ предоставлен  Доступ закрыт Только для подписчиков

№ 5 (2024)

Обложка

Весь выпуск

Открытый доступ Открытый доступ
Доступ закрыт Доступ предоставлен
Доступ закрыт Только для подписчиков

ПАРАЛЛЕЛЬНОЕ И РАСПРЕДЕЛЕННОЕ ПРОГРАММИРОВАНИЕ

Теоретические основы математического аппарата реализации параллельных вычислений в системах автоматизированного проектирования

Конопацкий Е.

Аннотация

Цель работы – разработка математического аппарата и вычислительных алгоритмов реализации параллельных вычислений в системах геометрического моделирования и автоматизированного проектирования. Выполнен анализ существующих подходов к реализации параллельных вычислений в САПР. В результате установлено, что для большинства систем информационного моделирования и автоматизированного проектирования отсутствует поддержка параллельных вычислений на уровне геометрического ядра. Предложена концепция разработки геометрического ядра САПР, основанного на инвариантах параллельного проецирования геометрических объектов на оси глобальной системы координат, которая объединяет в себе потенциал конструктивных методов геометрического моделирования, способных обеспечить распараллеливание геометрических построений по задачам (message passing), и математического аппарата “Точечное исчисление”, способного реализовать распараллеливание по данным за счет покоординатного расчета (data parallel). Использование покоординатного расчета точечных уравнений позволяет не только распараллелить вычисления по координатным осям, но и обеспечить согласованность вычислительных операций по потокам, что значительно уменьшает простой вычислений и оптимизирует работу процессора для достижения максимального эффекта от использования параллельных вычислений.

Программирование. 2024;(5):3-13
pages 3-13 views

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

Минин П.В.

Аннотация

Предложена новая методология построения программ для встроенных систем реального времени. Программа, написанная на языке C/C++, исполняется без помощи операционной системы и позволяет реализовать как событийно-ориентированный подход, так и параллельное выполнение с помощью сопрограмм. Обработка событий и выполнение сопрограмм производится в ядре мягкого реального времени на уровне приоритета программных прерываний. Сопрограмма рассматривается как частный случай события, где возобновляемая функция сопрограммы выполняется в качестве обработчика события. Для возобновления сопрограммы после приостановки ее событие повторно отправляется на обработку, до тех пор пока возобновляемая функция не будет полностью выполнена. Таким образом, в ядре происходят как обработка простых событий, так и планирование выполнения сопрограмм. Событиям могут назначаться различные приоритеты обработки. Ядро мягкого реального времени может быть расширено для работы в симметричной многопроцессорной системе. Сочетание сопрограмм и простых событий позволяет реализовать технологию fork/join, а также средства параллельного программирования, сходные с инструментами языков Go и occam. Новая методология была воплощена на языке C++ в виде библиотеки DORSECC, адаптированной для различных процессоров ARM и Blackfin. С ее помощью были созданы встроенные вычислительные системы реального времени, применяемые в серийно выпускаемых машинах для сортировки банкнот. Эти системы используются как для распознавания образов методом каскада классификаторов, так и для управления датчиками и приводами механизма с применением автоматного программирования. Их общее количество в эксплуатации превысило 20000. Ядро мягкого реального времени в указанных системах обеспечивает среднюю длительность обработки события на уровне десятков микросекунд при субмикросекундных накладных затратах.

Программирование. 2024;(5):14-30
pages 14-30 views

КОМПЬЮТЕРНАЯ ГРАФИКА И ВИЗУАЛИЗАЦИЯ

Определение степени сложности объектов на изображениях

Бокшанский В.Б., Кулин В.А., Финякин Г.С., Харламов А.С., Шацкий А.А.

Аннотация

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

Программирование. 2024;(5):31-41
pages 31-41 views

Универсальный алгоритм дискретизации бихроматических двумерных графических кодов

Трубицын А.А., Шадрин М.В., Холкин С.И.

Аннотация

Представляются математические основы и алгоритмы распознавания бихроматических двумерных графических кодов вне зависимости от их вида (QR-коды, DataMatrix, GridMatrix и др.). Этапы достижения результата включают в себя обнаружение кода, локализацию его произвольным четырехугольником, трансформацию четырехугольника в канонический квадрат, построение сетки элементов (модулей) квадратного кода и заполнение ее последовательностью битов. Показано, что формулы преобразования перспективы позволяют трансформировать локализованные четырехугольные области в канонические квадраты с допустимым для дальнейшей обработки уровнем погрешности. Плоская сетка элементов квадратного кода формируется на основе поиска экстремумов производных от распределения интенсивности пикселей изображения квадрата по осям 0х и 0y. В алгоритме заполнения ячеек сетки (модулей кода) последовательностью 0 и 1 используется информация о средней интенсивности каждой такой ячейки. В завершение статьи проводится тестирование алгоритмов на множестве реальных изображений двумерных кодов, исследуются ограничения предложенных алгоритмов.

Программирование. 2024;(5):42-53
pages 42-53 views

ТЕОРИЯ ПРОГРАММИРОВАНИЯ: ФОРМАЛЬНЫЕ МОДЕЛИ И СЕМАНТИКА

Формальная спецификация и верификация требований в архитектуре и строительстве на основе языка моделирования EXPRESS

Семенов В.А., Морозов С.В., Аришин С.В., Кузина О.Н., Римшин В.И., Макиша Е.В.

Аннотация

В настоящее время цифровые технологии моделирования зданий, сооружений и инфраструктуры успешно применяются в международной и российской практике реализации сложных строительных проектов и масштабных программ. Вместе с тем, реализуемый во многих странах переход к машиночитаемым стандартам с целью повышения качества проектной документации и автоматизации ее проверки сталкивается с серьезными методологическими и инструментальными проблемами. Прежде всего они связаны со сложностью самих цифровых моделей, а также с разнообразием требований, формулируемых на естественных языках и предъявляемых к моделям на государственном, региональном, ведомственном и корпоративном уровне. Предпринимаемые попытки создания реестров требований и программных инструментов для их ведения и использования, как правило, носят специализированный характер и не обеспечивают необходимую полноту, нормализацию, согласованность, взаимосвязанность, однозначность, прослеживаемость и проверяемость описаний требований. Конструктивным, в связи с этим, представляется применение формальных методов спецификации и верификации требований, зарекомендовавших себя в системной и программной инженерии. В работе проводится сравнительный анализ программных инструментов для автоматизированной проверки нормативных требований в области строительства. Отмечается возросшая популярность инструментов, ориентированных на международные стандарты IFC (Industry Foundation Classes), IDS (Information Delivery Specification) и обеспечивающих контроль полноты объектного и атрибутного состава моделей, а также уточнение допустимых областей значений. Вместе с тем, стандарт IDS не формализован и не предусматривает задание требований, выражаемых произвольными алгебраическими условиями. Перспективным для формальной спецификации и верификации требований к цифровым моделям в строительстве представляется применение языка моделирования объектно-ориентированных данных EXPRESS, на котором специфицирована и информационная схема IFC. В качестве обоснования показывается представимость IDS спецификаций логическими выражениями и функциями EXPRESS, а также возможность задания произвольных алгебраических условий в виде декларативных правил языка EXPRESS. В качестве иллюстраций предлагаемого подхода приводятся примеры формализации строительных нормативов и сводов правил РФ, предъявляемых к безопасности зданий, сооружений и процессов. Также обсуждаются возможности гармонизации предлагаемого формального подхода со стандартом IDS в результате определения новых паттернов для представления локальных, уникальных и глобальных правил языка EXPRESS.

Программирование. 2024;(5):54-74
pages 54-74 views

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

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

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».