Lely is a Dutch company specializing in farming solutions, ranging from milking robots and feeding robots to cleaning robots. The company, founded in 1948, now has over 1.000 employees, customers in over 60 countries and a sales volume of € 400 million. The software used in their agricultural robotics has become increasingly complex and traditional design flow couldn’t cope well of enough with that anymore. They decided to start using model driven software engineering and Dezyne by Verum to improve software quality.
The limits of traditional software design flow
Lely evaluated Dezyne in the context of agricultural robotics after a three-month period. In particular it was applied to a subsystem of a Lely milking robots. Since the first milking robots were introduced by Lely in 1992, software has obviously grown dramatically. Because traditional software design flow does not cope well with their increasingly complex software, they started using model driven software engineering.
“MDSE has helped me to develop the system in a faster, more reliable, and fun way!” Emanuele Cannella, Software Engineer
Related: Why bother with formal methods when there’s Feng Shui for software development?
How to handle complex models and improve software quality
Because traditional software design flow couldn’t cope with their growing demands, Lely adopted model driven software engineering and started working with Verum’s Dezyne. After three months most of the considered subsystem was reimplemented using Dezyne and integrated in the existing code base.
The advantages of using Dezyne were clear straight away:
- Dezyne enforces a component based software architecture
- Formal verification in Dezyne checks all possible sequence of events, therefore hiding defects can be discovered
- Dezyne can handle complex models
- Deployment of the Dezyne-generated code in the existing code base is very easy
Related: How Moba used Dezyne to clean up legacy software
Goals for using model driven software engineering
At Lely they adopted model driven software engineering to achieve the following goals:
- Increase productivity
- Reduce design and implementation errors
- Improve maintainability
- Shorten time to market
- Reduce development costs
Download the full case study to see if they’ve met these goals.