The core of Shapemaker is the combination of parametric design, structural analysis and cloud computing. These are the building blocks that let us speed up civil engineering from weeks to minutes. While speed is an important aspect, reliable and accurate structural analysis results are even more important.
As a cloud-based software company, our development team, consisting of civil engineers and software engineers, has the luxury of deploying changes and new features to our codebase rapidly. We grab that opportunity with both hands, and deploy code changes to production multiple times a day. This allows us to have a very short loop from user feedback to production - which often is as short as a few hours.
To be able to keep up our rapid development pace, while ensuring consistently high quality in the structural analysis results, we created the Shapemaker Structural Index (SSI).
The Shapemaker Structural Index
The SSI is an internal tool for automatically running structural analysis on a set of carefully constructed benchmark structures before summarizing and storing the results. We consider it the heartbeat of Shapemaker, as it pumps out the latest structural insights that empower our engineers to confidently iterate on the structural analysis algorithms and other parts of the product.
Specifically, it serves three important purposes:
Whenever we want to introduce a change to the codebase, we need to run the SSI. After analyzing the benchmark structures, the tool provides a summary of how the code changes affect the benchmark structures.
This enables the engineers to verify that the changes made to the structural calculations affect the structural analysis results as expected. It can also aid in catching unexpected changes before deploying the changes to our users.
Every time we deploy changes to our users, the structural index is run automatically on that change through our continuous integration system in GitHub Actions.
This allows us to visualize all the historical structural analysis results as a timeseries, and gives us an overview of how the results change over time. For most metrics, we want to see a trend where our results become less conservative.
Below is an example of a benchmark structure time series showing four of our metrics in a normalized format: wind force on structure, wind force on discrete ancillaries, utilization of main legs, and utilization of diagonals. The data indicates a slight rise in utilization and wind forces attributed to an increasingly optimized site-specific assessment.
Each data point in the time series hyperlinks to the GitHub commit on which the SSI was run, making it easy to trace back the code changes that had an impact on the metrics.
A message is also sent to a Slack channel with the latest summary of results, letting the entire team have a finger on the pulse and be alert if any structural analysis results are unexpected.
Running the SSI involves many parts of the Shapemaker software. This makes the SSI also act as an end-to-end test. If the results are summarized correctly, that means that all relevant parts of the system are working as they should. We also rely on other types of tests such as unit tests to make sure that the code and structural analysis is running as expected.
The future of engineering
The SSI has opened up a new dimension in our civil engineering software when it comes to reliability and traceability. At Shapemaker, we are passionate about civil engineering, innovation and continuously improving our product, and the SSI has proven to be a great tool to balance progress and precision.
Don’t hesitate to get in touch if you want to learn more about our cutting-edge and reliable product!