← Back to Case Studies

Case study · Manufacturing

Migrating and maintaining a diesel engine performance system

A leading U.S. manufacturer of heavy-duty diesel engines used specialist software to retrieve operating and performance data under different working conditions, transfer it to PCs and generate reports that help keep engines running efficiently.

C++C#WinForms
Illustrative C++ to C# data-model comparison with field mapping, schema differences, validation status, and protected engine operating records.
Illustrative migration review workspace; not a production screenshot.
Client context
A leading U.S. heavy-duty diesel engine manufacturer
application migration
C++ to C#
initial recorded collaboration
3 years
maintenance and a new communications project
2 workstreams

The operating constraints

What the project needed to address

  • The ageing C++ application needed a technology upgrade without reducing its operational efficiency.
  • New engine products and Windows versions required continuous functional and compatibility updates.
  • Testing a new communications project required knowledge of electronic CAN hardware that was not available through a dedicated specialist tester.

Modernisation scope

Preserve engine monitoring while changing the application technology

Migrated the engine performance platform to C#, maintained it across changing Windows and product requirements, and expanded the collaboration into CAN-connected product development.

The monitoring software retrieved engine performance and operating data under different conditions, transferred it to a PC and generated analysis reports. The migration needed to preserve that workflow while reducing maintenance effort.

During the fourth year, the team split into two smaller groups: one maintained the monitoring system and the other worked on the communications product. The new product required CAN hardware knowledge, so manual and automated testing were combined.

Delivery and support

Migration, maintenance and a separate communications project

  1. Analysed the existing application and migrated core functionality from C++ and COM components to C# and WinForms.

  2. Preserved the workflow for collecting engine data, transferring it to PCs and producing analysis reports.

  3. Expanded from individual maintenance tasks to end-to-end requirements analysis, technical definition and implementation.

  4. Combined manual and automated testing so developers could validate CAN-related functionality and delivery quality.

Technology and delivery context

Tools and practices recorded for this engagement

C++C#WinFormsCOMSQL ServerCAN

The result

Recorded project outcomes

Migrated the monitoring application while maintaining its engine-data and reporting workflow.

Continued maintenance and feature changes as engine products and user needs evolved.

In the fourth year, the collaboration expanded into a separate communications project, using manual and automated testing for CAN-related functionality.

Need support for a similar system or workflow?

Tell us about your existing platform, operating requirements and delivery priorities.

Discuss Your Project