EPSIASoftwareentwicklung für komplexe Systeme · BerlinEN
Leistung

Übernahme und Modernisierung bestehender Software

EPSIA übernimmt bestehende Software, für die Wissen, Dokumentation oder ursprüngliche Entwickler nicht mehr verfügbar sind. Dazu gehören Systeme ehemaliger Mitarbeiter oder früherer Dienstleister ebenso wie über Jahre gewachsene Anwendungen, die sich nicht mehr zuverlässig bauen, warten oder erweitern lassen.

EPSIA stellt zunächst einen reproduzierbaren Softwarestand und eine verlässliche Entwicklungsumgebung her. Anschließend werden Architektur, Abhängigkeiten und bekannte Probleme analysiert. Auf dieser Grundlage kann EPSIA Fehler gezielt untersuchen und eine Modernisierung oder Weiterentwicklung mit belastbarem Aufwand planen.

Für welche Ausgangslage ist diese Leistung gedacht?

Die Übernahme bestehender Software durch EPSIA eignet sich, wenn eine Anwendung für den laufenden Betrieb unverzichtbar ist, aber technisches Wissen oder eine funktionierende Entwicklungsumgebung verloren gegangen sind.

Typische Ausgangslagen sind Softwarestände, aus denen sich keine lauffähige Version mehr erstellen lässt, schwer nachvollziehbare Störungen im laufenden Betrieb oder anstehende Modernisierungen, deren technischer Umfang und Aufwand zunächst nicht zuverlässig bestimmt werden können.

Wie übernimmt EPSIA bestehende Software?

EPSIA gliedert die Übernahme bestehender Software in klar abgegrenzte Schritte. Die einzelnen Schritte können unabhängig voneinander beauftragt und abgerechnet werden:

  • Softwarebestand sichern und reproduzierbar bauen: EPSIA sichtet und archiviert Quellcode, Abhängigkeiten und vorhandene Entwicklungswerkzeuge und stellt daraus eine reproduzierbare Release-Version her.
  • Software und System verstehen: EPSIA analysiert Architektur, Abläufe, Schnittstellen und Abhängigkeiten und dokumentiert das bestehende System gemeinsam mit dem Betreiber.
  • Fehlerursachen nachweisen: EPSIA analysiert Störungen an der laufenden Anlage oder anhand vorhandener Logdaten. Bei Bedarf werden zusätzliche Diagnose- und Analysewerkzeuge entwickelt, um Fehlerursachen anhand messbarer Daten einzugrenzen und nachzuweisen.
  • Modernisierung planen: EPSIA erarbeitet einen technischen Plan für die Weiterentwicklung, Portierung oder teilweise Neuentwicklung und beschreibt Umfang, Reihenfolge und erwarteten Entwicklungsaufwand.

Welche Programmiersprachen und Systeme übernimmt EPSIA?

EPSIA verfügt über praktische Projekterfahrung mit bestehenden Softwaresystemen aus unterschiedlichen Technologiegenerationen. Dazu gehören:

  • C und C++, einschließlich Qt, qmake, CMake und MinGW für Maschinen-, Anlagen- und technische Anwendungssoftware.
  • Embedded C und C++, unter anderem mit PlatformIO und Mikrocontroller-Firmware.
  • C# und .NET, einschließlich Windows Forms für Desktopanwendungen.
  • PHP, JavaScript, TypeScript, Node.js und Electron für Web-, Server- und Desktopanwendungen.
  • Python für Werkzeuge, Datenanalyse und Automatisierung.
  • MariaDB, MySQL und MongoDB als Datenbanksysteme.
  • MVTec HALCON für industrielle Bildverarbeitung sowie Modbus, CANopen, EtherCAT und RS485 für die Kommunikation mit technischen Systemen.
  • Linux und Windows, einschließlich älterer Windows-Systeme ab Windows 95.

EPSIA kann nach einer technischen Bestandsaufnahme auch Software in anderen Programmiersprachen übernehmen. Entscheidend für die Übernahme ist nicht allein die verwendete Programmiersprache, sondern die Fähigkeit, unbekannten Quellcode, Abhängigkeiten, Schnittstellen und Systemverhalten strukturiert zu analysieren.

SPS-Programme in TIA Portal, CODESYS oder TwinCAT gehören nicht zum Leistungsbereich von EPSIA.

Welche Ergebnisse gibt es bei Übernahme und Modernisierung?

Referenzprojekte zeigen, wie EPSIA bestehende Software wieder beherrschbar macht, Fehlerursachen nachweist und Systeme anschließend weiterentwickelt:

  • Maschinensoftware für Wafer-Prüfanlagen: EPSIA übernahm die bestehende Software für 134 Anlagen eines Halbleiterherstellers und führte die Weiterentwicklung fort, ohne dass die Serienfertigung für die Übernahme unterbrochen werden musste. Die Einmesszeit je Wafer sank von 7:44 Minuten auf 1:16 Minuten.
  • Maschinensoftware einer Sortieranlage: EPSIA stellte aus einem nicht mehr baubaren Softwarebestand wieder eine lauffähige Version her und behob bestehende Fehler mithilfe einer eigens entwickelten Diagnoseversion. Heute wird die Software von EPSIA kontinuierlich weiterentwickelt.
  • Ursachenanalyse an Wafer-Prüfanlagen: EPSIA entwickelte Analysewerkzeuge für rotierende Logdateien und konnte damit einen Lagefehler von 5 bis 10 µm am Bildfeldrand nachweisen. Die daraus resultierende Änderung betrifft 134 Anlagen.

Wie beginnt eine Softwareübernahme mit EPSIA?

Die Übernahme bestehender Software beginnt mit einem klar abgegrenzten Befund zum Altsystem zu einem vereinbarten Festpreis. EPSIA übernimmt und analysiert den vorhandenen Softwarebestand und stellt, soweit technisch möglich, zunächst eine reproduzierbare lauffähige Version her.

Der Befund dokumentiert den technischen Zustand der Software, relevante Abhängigkeiten und Risiken sowie die notwendigen Schritte für eine weitere Betreuung oder Modernisierung. Auf dieser Grundlage kann der Aufwand für die anschließende Weiterentwicklung bestimmt werden.

Die Ergebnisse des Befunds gehören dem Kunden und können unabhängig davon genutzt werden, ob EPSIA anschließend mit der Umsetzung beauftragt wird.

Für wen passt diese Leistung nicht?

EPSIA übernimmt keine SPS-Programme in TIA Portal, CODESYS oder TwinCAT. Auch Softwaresysteme, bei denen EPSIA allein die Verantwortung für eine Zertifizierung beispielsweise nach IEC 62304 oder ISO 26262 übernehmen soll, gehören nicht zu diesem Leistungsbereich.

Für reine Datenmigrationen zwischen Standardsoftwareprodukten ohne individuelle Softwareentwicklung ist EPSIA ebenfalls nicht der passende Anbieter.