7 апреля, 18:10, ауд. 2128. — 7 апреля 2026 г. в 02:03:18.885
7 апреля, 18:10, ауд. 2128. Дягилев Макар Алексеевич, магистратура ФИТ Разработка фреймворка для построения С++-библиотек численного моделирования на основе явного задания вычислительных моделей предметной области Предлагается подход к разработке библиотек численного моделирования в различных предметных областях на языке C++, а также прототип C++-фреймворка, поддерживающий этот подход инструментально. Он основывается на описании предметной области в виде вычислительной модели: множества величин и множества вычислительных операций, связывающих величины, и определении таким образом ориентированного графа, задающего множество возможных алгоритмов, конструируемых из этих операций. Фреймворк реализует основные средства для создания библиотек на основе этого подхода, предоставляя их в базовых классах “Величина” (Quantity), “Операция” (Operation), “Модель” (Model). При использовании фреймворка разработчик библиотеки в конкретной предметной области определяет классы, реализующие величины и операции, в классах-наследниках базовых, определяя таким образом вычислительную модель. Пользователь разработанной таким образом библиотеки имеет возможность, задав начальное состояние модели, определить “Эксперимент” как набор воздействий на величины и получить новое состояние модели. Этот подход обеспечивает возможность реализации автоматического вывода комплексных алгоритмов в терминах известных, относительно простых, операций по постановкам задач вида <множество величин с заданными значениями, множество искомых величин>, простую интеграцию библиотек различных предметных областей в приложения благодаря унифицированному подходу к их проектированию. Логическое отделение концептуализации от низкоуровневой программной реализации также обеспечивает возможность автоматического контроля отдельных аспектов корректности модели, упрощает управление разработкой, отладку, документирование, понимание алгоритмов разработчиком на уровне модели предметной области. С другой стороны, пользователям разработанных библиотек в различных предметных областях предоставляется возможность работать с ними через один и тот же программный интерфейс.

