Embedded Software Engineering
Embedded Software, also eingebettete Software, wird immer wichtiger. Im Haushalt kommunizieren schon jetzt der Kühlschrank mit dem Smartphone und die Dusche mit der Heizung. Sogenannte Wearables, die direkt am Körper getragen werden, sind ebenfalls gefragt. Auch in der Industrie ersetzen Industrie 4.0 fähige Gegenstände und Maschinen mit bereits integrierter Software größere, externe Rechner.
Linux als Software der Wahl
Embedded Software findet sich in vielen Anwendungen wieder und führt dabei einfache Mechanismen aus. Wird es komplizierter, nutzen wir Linux. Mit Hilfe der Open-Source-Anwendungen Buildroot oder Yocto erstellen wir Software nach Kundenwünschen und direkt auf die Anforderungen zugeschnitten. Dabei implementieren wir zum Beispiel Mess-, Steuer-, Regelungs- und Kommunikationsfunktionen auf Standardhardware oder entwickeln gleichzeitig kundenspezifische Hardware - für ein Komplettsystem aus einer Hand.
Linux entfaltet seine Stärke insbesondere dort, wo Konnektivität mit anderen Geräten oder dem Internet gefordert ist. Als IoT-Gateway bündelt es die Informationen mehrerer Gegenstände und gibt diese via UMTS, LTE oder CAN zusammen nach außen. Auch die Einbindung von Multimedia-Devices ist mit Linux möglich. Mithilfe einer Qt-Oberfläche erstellen wir, je nach Bedarf, zum Beispiel ein Multimedia-Display, das die Bedienung und Nutzung Ihrer Geräte vereinfacht.
Sicherheit an erster Stelle
Sicherheit wird bei uns großgeschrieben. Für jeden Anwendungsfall kreieren wir ein eigenes, zugeschnittenes Sicherheitskonzept für Ausfälle oder Fehler. Selbstverständlich versorgen wir unsere Kunden regelmäßig mit relevanten Updates und nutzen verschlüsselte Verbindungen. Für unsere Produkte garantieren wir eine funktionale Sicherheit nach der IEC 61508-Norm.
Höchste Ansprüche für beste Qualität
Bei der Entwicklung von Software arbeiten wir mit höchstem Anspruch an die Qualität. Mehrstufige Kontrollen garantieren, dass der Kunde die Software bekommt, die er braucht. Dazu gehen wir in eine detaillierte Anforderungsanalyse mit dem Kunden und erfassen genau, welche Funktionalität, Sicherheits- und Implementierungsansprüche an die neue Software gestellt werden.
Nach der Anforderungsanalyse, die in enger Zusammenarbeit mit dem Kunden erfolgt, startet die Entwicklungsphase. Zur Steuerung der Entwicklung arbeitet das Projektmanagement mit etablierten Tools wie Confluence, Jira und Gitlab. Das Qualitätsmanagement fußt auf mehreren Säulen. Dabei werden mehrere Qualitätssicherungsebenen hintereinandergeschaltet, die die Software durchlaufen muss. Im ersten Schritt wird jeder entstandene Code in einem Review-Prozess im Vier-Augen-Prinzip gegengecheckt. Dadurch wird sichergestellt, dass der Code qualitativ hochwertig ist, dass potenzielle Fehler identifiziert und bewährte Methoden der Softwareentwicklung eingehalten werden. Die Ergebnisse und mögliche Korrekturen dokumentieren die Entwickler im Ticketsystem.
Die zweite Säule bilden die Continuous Integration (CI)- und Continuous Deployment (CD)- Pipelines, die in Verbindung mit Buildservern automatisiert Codeänderungen prüfen und Qualitätsberichte sowie die kompilierten Binärdateien bereitstellen. Bei jedem Code-Commit untersucht das System automatisch, ob alle Vorgaben beim Programmieren eingehalten wurden. Diese werden individuell auf jedes Projekt angepasst. Unit-Tests prüfen die funktionale Logik des Codes. Integrations- und HIL-Tests schauen, ob die neue Software zu bereits bestehenden Elementen im Produkt passt und funktional integriert werden kann.
Auch der Releaseprozess ist so automatisiert, dass nach erfolgreicher Durchführung der Tests die Buildartefakte direkt für die Produktionsumgebung vorbereitet und bereitgestellt werden. Damit unterliegt das Produkt von der ersten Anforderungsanalyse bis zum fertigen Produkt vielfältigen Kontrollen. Mit der Durchgängigkeit der qualitätssichernden von Maßnahmen erreicht aiXtrusion für seine Kunden die besten Softwarelösungen - individuell und nach Maß.
Smart Water
Auch im Badezimmer ist die digitale Welt angekommen. Die Aloys F. Dornbracht GmbH & Co. KG entwickelt mit Smart Water ein Steuerungsmodul, mit dem in der Dusche oder auch in der Küche verschiedene Nutzungsprofile abgerufen werden können. aiXtrusion entwirft spezifische Hard- und Softwarelösungen und die nutzerfreundliche Oberfläche. Smart Water speichert zum Beispiel Wassertemperatur und -menge individuell für jeden Nutzer.
- spezifische Hard- und Softwarelösung
- Oberflächenentwicklung mittels Qt
Als weiteres Produkt kommt in der Produktion von Smart Water unsere Datenbank daiXma zum Einsatz.