Automating Modelica Module Generation Using Large Language Models: A Case Study on Building Control Description Language
2509.14623v1
cs.SE, cs.AI, cs.PL, cs.SY, eess.SY
2025-09-20
Авторы:
Hanlong Wan, Xing Lu, Yan Chen, Karthik Devaprasad, Laura Hinkle
Резюме на русском
## Контекст
Развитие динамических энергетических систем и систем управления требует высокоточных моделей для проектирования и тестирования стратегий управления, включая супервизорные и резильентные по отношению к неисправностям. **Modelica** широко применяется в этой области, так как это универсальный язык, основанный на математических уравнениях. Однако разработка модулей управления в Modelica требует больших затрат времени и специализированных знаний. Это становится особенно актуально при работе с моделями управления в системах системных управления зданий (Building Control Description Language, BCDL). В данном исследовании рассматривается возможность использования **large language models (LLMs)** для автоматизации генерации модулей управления в BCDL в рамках Modelica Library. Целью подхода является уменьшение времени разработки и упрощение процесса для специалистов.
## Метод
Разработанная методология основывается на использовании **LLMs** стандартными **prompt-сценариями** и квалифицированным **library-aware grounding** (учет спецификации внутренних характеристик Modelica Library). Далее, для проверки кодов, генерируемых LLMs, разработана реализация **automated compilation** с использованием **OpenModelica**, и система **human in the loop** для оценки результатов. Использованы данные из 4 базовых логических задач (And, Or, Not, Switch) и 5 контрольных модулей (например, включение/выключение холодильника, регулировка вентилей, управление шахтами вентиляции). Этапы работы включают создание прототипов моделей, их автоматическую компиляцию и оценку результатов.
## Результаты
**GPT-4o** в zero-shot режиме не сумел генерировать работающий код Modelica. **Claude Sonnet 4**, с использованием созданных специально структурированных процессов, достиг в **basic logic blocks** успеха в 100%, а в задачах управления модулями - **83%**. В результатах, не удалось выполнить, инженеры уделяли усредненно 1-8 часов на устранение ошибок. Ошибки в выборе модулей (например, And вместо Or) были частыми при использовании **retrieval-augmented generation**, тогда как **hard rule search strategy** позволила избежать таких неточностей. Кроме того, система **human evaluation** показала более высокую точность по сравнению с **AI-based evaluation**, поскольку текущие LLMs не могут анализировать результаты симуляций или проверять корректность поведения системы. Несмотря на это, автоматизированный подход с **LLM-поддержкой** уменьшил среднее время разработки модулей с 10-20 часов до 4-6 часов, что составляет 40-60% экономии времени.
## Значимость
Логические модели, сгенерированные с помощью LLMs, могут применяться в сферах проектирования управляемых зданий, а также для моделирования и симуляции энергетических систем. Этот подход позволил существенно сократить время разработки моделей управления,
Abstract
Dynamic energy systems and controls require advanced modeling frameworks to
design and test supervisory and fault tolerant strategies. Modelica is a widely
used equation based language, but developing control modules is labor intensive
and requires specialized expertise. This paper examines the use of large
language models (LLMs) to automate the generation of Control Description
Language modules in the Building Modelica Library as a case study. We developed
a structured workflow that combines standardized prompt scaffolds, library
aware grounding, automated compilation with OpenModelica, and human in the loop
evaluation. Experiments were carried out on four basic logic tasks (And, Or,
Not, and Switch) and five control modules (chiller enable/disable, bypass valve
control, cooling tower fan speed, plant requests, and relief damper control).
The results showed that GPT 4o failed to produce executable Modelica code in
zero shot mode, while Claude Sonnet 4 achieved up to full success for basic
logic blocks with carefully engineered prompts. For control modules, success
rates reached 83 percent, and failed outputs required medium level human repair
(estimated one to eight hours). Retrieval augmented generation often produced
mismatches in module selection (for example, And retrieved as Or), while a
deterministic hard rule search strategy avoided these errors. Human evaluation
also outperformed AI evaluation, since current LLMs cannot assess simulation
results or validate behavioral correctness. Despite these limitations, the LLM
assisted workflow reduced the average development time from 10 to 20 hours down
to 4 to 6 hours per module, corresponding to 40 to 60 percent time savings.
These results highlight both the potential and current limitations of LLM
assisted Modelica generation, and point to future research in pre simulation
validation, stronger grounding, and closed loop evaluation.