Известия ТРТУ
Специальный выпуск
УДК 681.324
Ю.В. Чернухин, М.Ю. Поленов
СРЕДА МУЛЬТИТРАНСЛЯЦИИ ДЛЯ СТРУКТУРНО-ПРОЦЕДУРНОГО
МОДЕЛИРОВАНИЯ
Основная идея предлагаемого подхода к расширению функциональных возможностей существующих и создаваемых моделирующих систем (МС) состоит в использовании структурно-процедурных методов программирования для синтеза внешних по отношению к таким системам моделей. При практическом использовании МС также большое значение имеет решение задачи импорта моделей, написанных на различных языках, что позволит использовать многочисленные существующие библиотеки моделей.
Для унификации процесса трансляции структурных и написанных на различных алгоритмических языках внешних процедурных программ был предложен и разработан многоязыковый мультитранслятор (МТ) продукционного типа, ядро которого не меняется при изменении входных языков программирования. Для обеспечения многоязыковой трансляции в мультитрансляторе предусмотрен набор грамматик для входных языков, реализующий функции распознавания и преобразования. Грамматики оформляются в виде грамматических модулей, используемых при генерации выходной программы. В настоящее время реализованы грамматические модули следующих языков: ACSL, Modelica, Pascal, Spice и языка структурного моделирования SML.
Мультитранслятор позволяет: создавать и редактировать грамматические модули для используемых входных языков; компилировать и отлаживать эти модули; генерировать коды частных трансляторов (с одного языка на другой) исполняемых без МТ файлов; транслировать программы с входных языков с отображением процесса трансляции и генерацией программы на заранее выбранном выходном языке.
Для проверки адекватности генерируемых мультитранслятором моделей исходным моделям была осуществлена трансляция программ процедурных и структурных моделей с различных языков (ACSL, Modelica, SML). Проверка моделей производилась при процедурном моделировании на ПК в различных средах и при структурном моделировании на многопроцессорном расширителе. Результаты экспериментальных исследований позволяют заключить, что все графики тестируемых моделей, транслированных МТ, полностью идентичны эталонным моделям. Незначительные расхождения в получаемых данных могут быть объяснены разнородной природой моделей и использованием ими разных методов интегрирования. В целом, можно сделать вывод о сохранении свойств моделей после их трансляции мультитранслятором и возможности их совместного использования в различных моделирующих средах.