Software

Software- und Tool-Entwicklung

Gerade im Automotive-Bereich nimmt der Anteil an Software in Fahrzeugen rasant zu. Sie übernimmt heute viele Aufgaben und Funktionalitäten wie Steuern, Regeln und Überwachen. Ein zentrales Steuergerät im Fahrzeug ist das sog. Infotainment-System, eine Kombination aus Informations- und Entertainment-System. Alle Funktionen in diesem Steuergerät wie Navigation, Telefon, Internetverbindung, Radio, Mediaplayer, Onlinedienste etc. werden in Softwaremodulen realisiert, die miteinander und mit anderen Steuergeräten im Fahrzeug kommunizieren, um die entsprechenden Funktionen im Fahrzeug zur Verfügung zu stellen. Viele Steuergeräte im Bordnetz (Fahrzeugnetzwerk) wie z. B. das Fahrerassistenzsystem, E-Call usw. sind auf bestimmte Informationen des Infotainment-Systems angewiesen.

Embedded-Softwareentwicklung

Höchste Anforderungen an Benutzerfreundlichkeit, korrekte Funktion, Performance und Zuverlässigkeit erfordern individuelle Entwicklungsstrategien. Eine Gefährdung für den Benutzer – auch im Hinblick auf den Ausfall der Funktionen oder sogar Ausfall des Gesamtsystems muss dabei weitestgehend ausgeschlossen sein. Hinzu kommt die Berücksichtigung der begrenzten Ressourcen und die Wirtschaftlichkeit. Kosten, Speicher- und Energiebedarf müssen weitestgehend minimiert werden. Zur Aufgabe des Embedded Softwareentwicklers gehört es auch, die Fehlerrate einzugrenzen. Wir unterscheiden hier zwischen der klassischen Anwendungsprogrammierung und der Programmierung der Embedded Systeme. Denn im Gegenteil zu den PC-Anwendungen haben wir im Automotive-Bereich keine Möglichkeit einer Speichererweiterung oder eines Hardware-Upgrades über den gesamten Lebenszyklus eines Fahrzeugs nach der Auslieferung. Der Kunde setzt sich ins Fahrzeug und erwartet, das System sofort bedienen zu können. Das bedeutet sehr schnelle Aufstartzeiten und die Verfügbarkeit aller Funktionen in kürzester Zeit. Durch unsere langjährige Projekterfahrung im Bereich der Embedded Programmierung kennen wir sowohl die speziellen Anforderungen als auch die Probleme und Tücken auf diesem Gebiet. Wir sind daher in der Lage, die Entwicklung unter Berücksichtigung der Systemkapazitäten effizient zu planen.

Client-Server Architektur / Backend Entwicklung / Big Data Processing

In den Bereichen Datensammlung aus dem Fahrzeug, Übertragung der gesammelten Daten an Backend-Server, Bearbeitung der Fahrzeugdaten auf dem Backend und Rückübertragung der Resultate und Ereignisse an das Fahrzeug haben wir in vergangenen Projekten viele Erfahrungen gesammelt. Somit können wir die Softwareentwicklung sowohl clientseitig als auch backendseitig effektiv unterstützen.

Design und Entwicklung von Interfaces

Das Design und die detaillierte Spezifikation der Interfaces zwischen den Systemkomponenten sowie die exakte Definition des statischen und dynamischen Verhaltens der Komponenten bei der Kommunikation ist eine Herausforderung, die wir in Vergangenheit wahrgenommen und realisiert haben.

HMI Entwicklung

Bei einem Infotainment-System spielt die Schnittstelle zwischen dem Anwender und dem darunterliegenden System eine zentrale Rolle. Diese Schnittstelle besteht in der Regel aus grafischer Darstellung (bekannt als OEM-Visitenkarte) und der sogenannten „Business Logic“, die die Interaktionen der Anwender verarbeitet, diese in Ereignisse umwandelt und über die fest definierten Interfaces an die entsprechenden Komponenten zur Verarbeitung weiterleitet. Im Bereich Entwicklung eines „Business Logics“ waren wir bereits in mehreren Projekten beteiligt. Unser Entwicklungsteam kann Sie auch hier bestens beraten und unterstützen.

Funktionsentwicklung

Werden neue innovative Funktionen in einer Applikation geplant, erstellen wir in Zusammenarbeit mit Ihren Experten die technische Spezifikation für die Realisierung, führen eine Machbarkeitsstudie durch und verifizieren diese bei Bedarf mit Prototypen. Falls erwünscht, betreuen wir die Entwicklung neuer Funktionen und deren Auswirkungen in verschiedenen Fahrzeugvarianten bis hin zur Serienentwicklung.

Anwendungsentwicklung

Im Laufe der Entwicklung benötigen Ihre Entwickler PC-basierte Anwendungen (wie Simulationen, Tools zur automatisierten Fehleranalyse, Tools zur Performance-Messung etc.) welche die Arbeit erleichtern und dem Entwickler helfen, sich auf seine Hauptaufgaben zu konzentrieren. Wir erstellen maschinenunabhängige Entwicklertools nach Ihren speziellen Anforderungen.