Modernization of OEM Lifecycle Optimization Software
About Our Client
The Client is a globally recognized provider of motion control solutions that serve as the backbone for high-precision industries, including laser and waterjet cutting, additive manufacturing, and robotics.
OEM Lifecycle Optimization Software Upgrade Needed
One of the Client’s key products is a package of software solutions for developing and managing motion control applications. It integrates with various motion control and automation components provided by the Client and other vendors. The software suite is widely used by original equipment manufacturers (OEMs) across different industries. In 2017, the Client decided to upgrade this product line and sought skilled .NET developers who would handle software optimization, evolution, and troubleshooting.
Support, Evolution, and Modernization of Legacy GUIs
Having 35 years of experience in software engineering and 20 years in C# and .NET development, ScienceSoft contributed its .NET expertise to various initiatives of the Client.
Troubleshooting the legacy software product
During the first two years of collaboration, ScienceSoft's main task was to troubleshoot the legacy version of the Client’s product. The software was built on Windows Forms and required performance tuning; it also had a long update cycle that the Client wanted to speed up. ScienceSoft's team identified and fixed the software issues, significantly enhancing its performance and accelerating the deployment of new features.
Delivering a new WPF-based product version
The Client decided to migrate the suite of software tools to Windows Presentation Foundation (WPF) to introduce more modern, visually appealing user interfaces. ScienceSoft's team designed and developed a new GUI for the product using WPF. The migration project necessitated a comprehensive understanding of a wide range of motion controllers, drives, PLCs, and I/O modules from different vendors. ScienceSoft's engineers gained an in-depth understanding of different equipment requirements, functionalities, and configurations, ensuring that the migrated suite of software tools would maintain and enhance the users’ ability to work with various hardware systems.
For the new WPF-based version of the software, our team adopted Model-View-ViewModel (MVVM) and Extensible Application Markup Language (XAML) approaches due to their benefits in terms of code organization, maintenance, and flexibility. Additionally, the Agile framework and CI/CD practices introduced by ScienceSoft ensured quicker and more reliable software changes and updates. Combined, these improvements significantly reduced the timeframe for delivering new software versions and products. Moreover, during three post-migration years, the software expanded by over 40% (from 19 modules to 27), showing high scalability and adaptability to new requirements.
Evolving the new product version
ScienceSoft's team assisted the Client with adding new functionality and integrations to the product, further enhancing its performance, capabilities, and effectiveness. For example, we helped implement a diagnostic tool for observing and analyzing motion in a three-dimensional space and a feature to maintain precise control over a laser's position and intensity in real time.
Enhancing software customization experience and efficiency
To contribute to a more efficient and user-friendly development environment for motion control apps, ScienceSoft created a C#-like notation of Extended Backus–Naur Form (EBNF) grammar for the Client’s internal Domain Specific Language and integrated it into the new version of the product. A renowned meta-syntax notation for defining context-free grammars, EBNF facilitates accurate code reading and interpretation by compilers.
(EBNF grammar. Source: Wikipedia)
The adoption of EBNF and its integration into the system introduced significant improvements, including:
- An enhanced error detection mechanism that visually highlights mistakes for immediate correction.
- Streamlined code navigation that allows developers to quickly locate and reference variable declarations.
- Advanced search functionality that understands the context of queries, improving output relevance.
- Context-based IntelliSense support: intelligent code completion suggestions based on the current coding context facilitate faster development.
These enhancements have significantly elevated the development experience, making it more intuitive and efficient for the Client’s development team.
Handling team-leading tasks, business analysis, and QA tasks beyond .NET development
Additionally, our team helped the Client with project management, business analysis, and quality assurance, particularly:
- Acting in roles comparable to Team Leads, engaging with dedicated teams across different project areas (development, QA, marketing, etc.), and leading feature improvements and software component delivery.
- Gathering information on new features and preparing comprehensive design documents and software requirement specifications.
- Creating test plans and conducting preliminary software tests.
Updated Motion Control Software Earns Industry Acclaim
Throughout six years of collaboration with ScienceSoft, the Client advanced the performance and quality of the OEM lifecycle optimization software. Additionally, a substantial boost in the product update frequency was achieved. The updated software suite has earned a stellar reputation among professionals needing high-performance motion control solutions. It is praised for its robust capabilities, user-friendliness, and reliable software support.
The development team’s expertise in business analysis, QA, and project management allowed the Client to avoid the need for extra resources in these functions.
Technologies and Tools
C#, WPF, XAML, MVVM, Avalonia UI, Microsoft Visual Studio, .NET Framework, .NET Core, Azure DevOps, UML diagrams.