Speaker
Description
Задачами компьютерной науки являются разработка, анализ, применение и оценка различных характеристик алгоритмов, используемых для решения специализированных задач. При этом немаловажную роль в прикладных исследованиях играет стратегия формирования модели предметной области, в рамках которой будут проводиться ассоциации между исследуемыми понятиями, объектами и программными абстракциями [1].
Особенностью представленного в работе подхода является применение мультипарадигменных абстракций с развитой семантикой для разработки программ синтеза элементов микро-оптики с возможностью параллельных вычислений. Реализованные на языке С#, модели расчета элементов микро-оптики объединяют в себе процедурную, объектно-ориентированную и обобщенную парадигмы программирования, что позволяет, с помощью параметрического полиморфизма подтипов, специфицировать требования к аргументам алгоритмов в виде базовых абстракций с дальнейшей возможностью их применения к множеству типов данных.
Алгоритм решения обратной задачи дифракции на некоторой области оптического элемента структурно можно разделить на три этапа: чтение данных (обход входных диапазонов), операция расчёта требуемой фазовой функции в конкретной точке и запись полученного значения в результирующую структуру данных или систему хранения. Использование мультипарадигменного анализа позволило сформулировать критерии общности и изменчивости [2], специфичные для каждого этапа, в терминах которых были определены варианты поведения алгоритма.
На примере нескольких видов оптических элементов (дифракционная сферическая линза, дифракционная цилиндрическая линза, радиально-симметричный аксикон, киноформный аксикон, голографический аксикон) выполнено исследование возможности создания универсального обобщенного алгоритма синтеза микрорельефа с применением мультипарадигменного подхода. Проведена проверка возможности применения распараллеливания расчёта, во время которой для каждого типа элемента использовалась параллельная версия обобщенного алгоритма [3]. Разработанная программная архитектура позволила без осложнений ввести режим распараллеливания расчёта, что обеспечило многократное ускорение при увеличении апертуры элементов без потери качества итоговых изображений.
SUMMARY
Using several types of optical elements (diffractive spherical lens, diffractive cylindrical lens, radially symmetric axicon, kinoform axicon, holographic axicon) as an example, a study was conducted to determine the possibility of creating a universal generic algorithm for microrelief synthesis using a multi-paradigm approach. Testing was conducted to determine the possibility of using parallel calculation, during which a parallel version of the generic algorithm was used for each type of element [3]. The software architecture made it possible to implement a parallel computing mode without complications, with multiple acceleration when increasing the aperture of elements without loss of quality of the final images.
[1] Evans, E. Domain-Driven Design: Tackling Complexity in the Heart of Software – Addison-Wesley Longman Publishing Co., Inc., 2004.
[2] Coplien, J., Hoffman, D., Weiss, D. Commonality and variability in software engineering // IEEE Software, V.15, N.6. - 1998, pp. 37-45.
[3] Yablokova L., Lee A., Yablokov D.E. etc. Using a Parallel Approach to Calculating Micro-Optics Elements in DOERIS // 2024 10th International Conference on Information Technology and Nanotechnology, ITNT 2024. — 2024.