Running complex simulations requires strong computational power of the computers. As the simulation software generally runs locally as a desktop application, it, therefore, relies strongly on the computational power of the user.
In order to reduce this dependence and improve the performance of their customers (users), our client wanted to create an independent and remote system (broker, server instance), capable of performing molding simulations.
The user keeps working with the injection molding simulation desktop app and instead of performing simulations locally, they can now submit tasks to the server instance for the execution of the simulation. During the execution, the user can continue to work independently, without interruptions.
The system was supposed to be capable of receiving multiple requests simultaneously and executing them one after the other, regardless of the user.
Solution and Technologies
We created a scalable system consisting of brokers (server instances) and agents (users) who execute simulations depending on previously defined conditions – software version, license, and other simulation parameters.
Multiple agents are allowed to work on separate machines so that more simulations get executed simultaneously.
We started working on the new system using .NET 5. In the meantime, we switched to .NET 6 since it provides more capabilities. The MS SQL Express was used for creating a database and Dapper for interaction with the database.
The front-end side was developed using Blazor technology. All asynchronous communication was handled by MQTT Broker protocol.
A delivery manager, a technical lead, and three full-stack developers were key roles in this project from our side.
.NET 5, .NET 6, ASP NET Core, EntityFramework Core, MS SQL Express, MQTT Broker
As we already had completed other projects successfully with this client, the collaboration was immediately very smooth. We applied the agile software development principles as we had done it before. Jointly with our client, we decided to stay with three-week iterative sprints.
Before each sprint, we had a backlog grooming in which we discussed with our client what exactly needs to be prioritized. As the team members from our client are tech-savvy, we could discuss also the technical details quickly and effectively.
At the end of each sprint, we reviewed all the user stories we have done. This helped us determine what we did well and what needed to be improved or fixed. After discussing it with the client, we were ready to proceed to the next step.
Overall, our team was accountable for performing the following tasks:
- Filling the backlog of work
- Writing user stories in coordination with our client
- Delegating tasks among our team members
- Estimating the amount of work and time
- Developing the software solution and testing it thoroughly
2021 – in progres
“We had excellent and very constructive communication with our client! I had the pleasure of working on different projects with them and it has always been a great experience!“
Miljko Miljković, Technical Lead and Software Architect at Creen
Results and Major Learnings
Working closely with the client, we developed a solution, capable of performing the following tasks:
- Sending simulation tasks and running model simulations without interrupting the local user
- Running several simulations simultaneously
- Comparing the simulation results and making model changes
- Increasing the overall speed of developing 3D models
Developing new and complex solutions such as this one brought a whole new experience to our team. During the project, we gained more skills in creating and implementing complex scalable systems.
Automated molding simulation remote system
Running simulations smoother through the power of the cloud
Start a project with creen
Have an idea? Let's discuss it!
Want to see more ?
Explore our case studies and find out how Creen’s team of proficient engineers has helped companies take advantage of our superb services. Feel free to explore all our projects and find out why great companies partnered with us.