JuliaCon 2025

Automating Testing and Documentation Generation for JuliaSim
2025-07-25 , Main Room 5

This talk discusses our efforts to enhance the JuliaSim modeling platform with tools that make it easy for model developers to create high quality component libraries. This talk focuses on two aspects of building a quality component library, documentation and testing. Our approach is to provide tools that provide highly automated workflows to support regression testing and documentation generation and to do so in a way that mirrors best practices in the area of software development.


In JuliaSim, users can create a wide variety of component models across many different physical domains. Furthermore, they can assemble these components into fairly complex hierarchical subsystem and system models. An interesting consequence of making it so easy to create modeling content is that you wind up with a large collection of models. As a result, it could be potentially difficult to write and maintain documentation for all these models.

In addition to the work required to provide high quality documentation, another aspect of quality is ensuring that the models are sufficiently tested. It isn't simply a question of ensuring that a model is correct when you create it. It is important to ensure that as the models are changed, improvements to those model (new functionality, improved efficiency) don't cause existing models to stop working. So some form of regression testing is required to address this. Furthermore, in cases where the original models were actually incorrect, it is necessary to understand what impact that bug fix has across all existing models.

This talk will show how we tackle both of these problems. The JuliaSim toolchain allows model developers to not only automatically generate documentation for their existing component libraries but it also provides extensive support for regression testing that is not only integrated with Julia's builtin testing capabilities but also connects to the documentation system to provide visual representations of the model reference data against actual simulated results.

I am currently the Senior Directory of Product Management for JuliaSim at JuliaHub. I have built my whole career on my passion for modeling, simulation and software and before coming to work for JuliaHub I had the privilege of working on engineering software at companies like Ford, LMS, Dassault Systèmes and Ricardo.

This speaker also appears in: