JuliaSim Model Development: Bridging Visual and Code-Driven Approaches

By: Jasmine Chokshi

Re-posted from: https://info.juliahub.com/blog/juliasim-model-development

The development of high-fidelity computational models is crucial for engineering and scientific research. Traditional simulation and modeling processes often come with a tough choice – building models graphically in graphical user interfaces (GUIs), which is intuitive to those who view the system as a collection of physical parts, and code-based scripting environments, which allow behavior to be described succinctly and in a way that is easily version controlled.  If forced to choose one mode or the other, the user loses the benefits of the other mode.  For example, tools that offer an intuitive UI, often don’t consider the engineer and researcher’s need for version control, CI/CD pipelines and model deployment. 

JuliaSim takes a modern software-defined-machines approach that integrates a visual drag and drop interface with a full-featured Integrated Development Environment (IDE). The framework uses the JuliaSim Modeling Language(JSML) and ModelingToolkit.jl, enabling symbolic and numerical model transformations. The result is a composable, scalable, and high-performance environment, suited for applications in diverse engineering applications such as aerospace simulation, automotive design simulation, robotics, and industrial automation. 

A critical advantage of this Software-Defined Machines approach is the ability to maintain full traceability, version control, and synchronization across modeling workflows to ensure reproducibility and integration with CI/CD pipelines and Git-based collaboration tools. By treating hardware design and simulation with the same rigor as software development, JuliaSim allows an unmatched level of control and transparency in engineering simulations.

Furthermore, JuliaSim not only allows users to capture the behavior of the systems they are designing, it allows them to capture the workflows themselves and even to extend those workflows using all the capabilities of the Julia language and JuliaHub platform.

Visual Modeling: A Graphical Interface for System Representation

JuliaSim’s visual modeling interface is designed to facilitate system representation through a structured, graphical methodology.

Advantages of the Drag-and-Drop Modeling Interface

Structured System Representation – The interface allows users to construct models by selecting predefined components from domain-specific libraries and integrating them into a unified workflow.
Automated Code Generation – The underlying system translates graphical models into JSML, ensuring a seamless transition between visual and text-based representations.
Real-Time Simulation and Iteration – Models can be executed dynamically, with immediate feedback mechanisms that allow for rapid iteration and refinement.
Extensive Component Libraries – JuliaSim provides pre-built modules for applications such as battery systems, HVAC, multibody dynamics, and aerial vehicles, reducing development time and increasing reliability.

Code-Based Development: Symbolic Computation and Advanced Customization

For users requiring a deeper level of customization, JuliaSim provides an Integrated Development Environment (IDE) that leverages ModelingToolkit.jl to enable symbolic model representation and numerical computation.

Key Features of the JuliaSim IDE

Symbolic Representation of Equations – The framework employs symbolic computing to automatically optimize and simplify equations, enhancing numerical stability and solver efficiency.

Modular and Composable Design – JuliaSim supports a hierarchical modeling approach, where components can be defined, reused, and interconnected across multiple projects.

Scalability Through Parallel Execution – Unlike traditional solvers, which often operate sequentially, JuliaSim is designed for multi-core and GPU-accelerated execution, significantly improving computational efficiency.

Effortless Transition Between Visual and Code-Based Modeling – Users can combine graphical and script-based workflows, ensuring that the most appropriate tool is used for each stage of model development.

CI/CD Integration and Version Control – Git-based version tracking allows users to track changes, roll back modifications, and synchronize models across teams, ensuring a fully reproducible and auditable workflow.

JuliaSim maintains synchronization across simulation environments, allowing models to evolve systematically within software-defined hardware workflows—a feature crucial for regulatory compliance and large-scale deployment.

Real-World Applications: Case Studies in Industry

The hybrid modeling approach and software-defined-hardware capabilities implemented in JuliaSim have been successfully applied across multiple domains, demonstrating their effectiveness in addressing complex engineering challenges.

Instron: Computational Modeling in Material Testing

Instron, a leader in mechanical testing systems, has used JuliaSim to simulate material stress, strain, and deformation. The combination of graphical and symbolic modeling capabilities allows engineers to refine test conditions and optimize material behavior predictions. Additionally, the built-in version control ensures that testing protocols remain consistent and reproducible across teams.

Zipline: Flight Dynamics and Autonomous Control

Zipline’s drone delivery systems require high-fidelity modeling for aerodynamic and control models. By leveraging JuliaSim’s graphical and symbolic modeling workflows, engineers have simulated flight conditions, optimized battery usage, and developed adaptive flight control algorithms. With continuous integration and traceability, engineers were able to track system modifications and validate model updates before deployment.

Toward a Unified, Software-Defined Machines Framework

JuliaSim’s integration of drag-and-drop visual modeling with symbolic code-based methodologies represents a significant advancement in computational modeling. This hybrid approach eliminates the traditional trade-offs between ease of use and computational power, enabling researchers and engineers to develop, simulate, and optimize complex systems with unprecedented flexibility.

More importantly, JuliaSim’s software-defined machines approach ensures that models remain fully synchronized, traceable, and version-controlled—bringing the rigor of modern software development workflows to engineering simulation and system design. With an end-to-end modeling approach—from development to modeling refinement, model optimization, and deployment—is setting a new standard for engineering simulation and system design.