SMC: A Cloud-Deployable Modelica Frontend Service in Go
Hailong Wang, Qingda Xu, Enyang Zhang, Longsheng Sun, Rui Gao, Aiguo Xu
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.
Language & Tools
Modelica Technology & AI (R1001)