EPSIASoftware development for complex systems · BerlinDE
Service

Takeover and modernisation of existing software

EPSIA takes over existing software for which knowledge, documentation or the original developers are no longer available. This includes systems written by former employees or previous service providers as well as applications that have grown over years and can no longer be reliably built, maintained or extended.

EPSIA first establishes a reproducible software baseline and a reliable development environment. The architecture, dependencies and known problems are then analysed. On this basis, EPSIA can investigate faults in a targeted way and plan modernisation or further development with a reliable estimate of effort.

What situation is this service designed for?

A takeover of existing software by EPSIA makes sense when an application is essential for ongoing operations but technical knowledge or a working development environment has been lost.

Typical situations are code bases from which no working version can be built any more, faults in live operation that are hard to trace, or upcoming modernisation projects whose technical scope and effort cannot initially be determined reliably.

How does EPSIA take over existing software?

EPSIA divides the takeover of existing software into clearly defined steps. Each step can be commissioned and invoiced independently:

  • Secure the code base and make it build reproducibly: EPSIA reviews and archives source code, dependencies and existing development tools and produces a reproducible release version from them.
  • Understand the software and the system: EPSIA analyses architecture, workflows, interfaces and dependencies and documents the existing system together with the operator.
  • Prove root causes: EPSIA analyses faults on the running plant or from existing log data. Where needed, additional diagnostic and analysis tools are developed to narrow down and prove root causes using measurable data.
  • Plan the modernisation: EPSIA draws up a technical plan for further development, porting or partial redevelopment and describes the scope, sequence and expected development effort.

Which programming languages and systems does EPSIA take over?

EPSIA has hands-on project experience with existing software systems from different technology generations. These include:

  • C and C++, including Qt, qmake, CMake and MinGW, for machine, plant and technical application software.
  • Embedded C and C++, including PlatformIO and microcontroller firmware.
  • C# and .NET, including Windows Forms for desktop applications.
  • PHP, JavaScript, TypeScript, Node.js and Electron for web, server and desktop applications.
  • Python for tools, data analysis and automation.
  • MariaDB, MySQL and MongoDB as database systems.
  • MVTec HALCON for industrial image processing, and Modbus, CANopen, EtherCAT and RS485 for communication with technical systems.
  • Linux and Windows, including older Windows systems from Windows 95 onwards.

After a technical assessment, EPSIA can also take over software in other programming languages. What matters for a takeover is not only the programming language used, but the ability to analyse unfamiliar source code, dependencies, interfaces and system behaviour in a structured way.

PLC programs in TIA Portal, CODESYS or TwinCAT are not part of EPSIA's service range.

What results has EPSIA achieved with takeover and modernisation?

Reference projects show how EPSIA brings existing software back under control, proves root causes and then develops systems further:

  • Machine software for wafer inspection systems: EPSIA took over the existing software for 134 systems of a semiconductor manufacturer and continued its development without series production having to be interrupted for the takeover. The alignment time per wafer fell from 7:44 minutes to 1:16 minutes.
  • Machine software for a sorting system: EPSIA restored a working version from a code base that could no longer be built and fixed existing faults with a purpose-built diagnostic version. EPSIA now develops the software continuously.
  • Root cause analysis on wafer inspection systems: EPSIA developed analysis tools for rotating log files and used them to prove a position error of 5 to 10 µm at the edge of the image field. The resulting change affects 134 systems.

How does a software takeover with EPSIA start?

The takeover of existing software starts with a clearly scoped assessment of the legacy system at an agreed fixed price. EPSIA takes over and analyses the existing code base and, as far as technically possible, first produces a reproducible working version.

The assessment documents the technical state of the software, relevant dependencies and risks, and the steps needed for further support or modernisation. On this basis, the effort for subsequent development can be determined.

The results of the assessment belong to the customer and can be used regardless of whether EPSIA is then commissioned with the implementation.

Who is this service not suitable for?

EPSIA does not take over PLC programs in TIA Portal, CODESYS or TwinCAT. Software systems for which EPSIA would bear sole responsibility for certification, for example under IEC 62304 or ISO 26262, are also outside this service area.

For pure data migrations between standard software products without custom software development, EPSIA is likewise not the right provider.