SMC: A Cloud-Deployable Modelica Frontend Service in Go

Authors

  • Hailong Wang Nanjing Yuansi SimTek Co., Ltd, China
  • Qingda Xu Nanjing Yuansi SimTek Co., Ltd, China
  • Enyang Zhang Nanjing Yuansi SimTek Co., Ltd, China
  • Longsheng Sun Nanjing Yuansi SimTek Co., Ltd, China
  • Rui Gao Nanjing Yuansi SimTek Co., Ltd, China
  • Aiguo Xu Nanjing Yuansi SimTek Co., Ltd, China

DOI:

https://doi.org/10.3384/ecp22349

Keywords:

Modelica, Go, frontend compiler, service-oriented, flattening

Abstract

Web-based modeling platforms and automated modelchecking workflows in CI/CD pipelines require remotely callable Modelica frontend services. This paper presents SMC (Simtek Modelica Compiler), a service-oriented Modelica frontend implemented in Go. SMC exposes model loading, structured queries, diagnostics, and flattening through a service API backed by a pipeline for parsing, instantiation, semantic analysis, connection processing, and flat-model generation. Drawing on the SMC implementation, we also discuss the engineering implications of Go for single-binary deployment, concurrent processing, representation of Modelica language constructs, and memory allocation. We demonstrate the prototype through integration with a web modeling platform. A common set of 606 comparable classes from the Modelica Standard Library (MSL) 4.0.0 is used both to assess frontend-result consistency against the OpenModelica Compiler (OMC) and to measure flattening time, memory allocation, and garbage-collection behavior. The evaluation covers frontend artifacts and in-process processing costs; backend processing, code generation, simulation, and FMU export are outside its scope.

Downloads

Published

2026-10-20