Firmware – Entwicklung
Die Entwicklung hochwertiger, sicherheitsrelevanter oder sicherheitskritischer Software erfordert die Einhaltung von Sicherheitsnormen (z. B. IEC 61508, ISO 26262, DO-178C usw.) und erfordert den Einsatz strenger Qualitätssicherungsmaßnahmen.
Software – Entwicklung ist ein iteratives Verfahren, das auf einer geeigneten Entwicklungsmethodik (z. B. Agile, V-Modell usw.) basiert und mit der Erfassung der richtigen Anforderungen beginnt. Anforderungen sind nicht nur für die Verifizierung und Validierung, sondern auch für die Spezifikation der Softwarearchitektur unverzichtbar. Aus unserer Sicht wird dringend empfohlen, vor dem Schreiben vom Code so viel wie möglich zu planen – beispielsweise durch die Erstellung eines Architekturdokuments. In einem realen Projekt sind die Anforderungs- und Architekturspezifikationen sich entwickelnde Dokumente und unterliegen daher häufigen Änderungen. Dies ist ein normaler Vorgang, der jedoch manchmal sehr anspruchsvoll sein kann.
Auf unsere Expertise können Sie in folgenden Themenbereichen zählen:
Anforderungsspezifikationen
Wir können Ihnen bei der Erstellung von Anforderungsspezifikationen für eingebettete Software helfen, insbesondere bei einem Projekt, bei dem folgende Sicherheitsnormen eingehalten werden müssen:
-
- IEC 61508
- ISO 26262
- IEC 62061
- ISO 13849
Architekturspezifikation
„Softwarearchitektur ist eine Reihe von Entwurfsentscheidungen, die, wenn sie falsch getroffen werden, dazu führen können, dass Ihr Projekt abgebrochen wird.“ (Eoin Woods)
Unserer Ansicht nach sollte eine anständige Software-Architekturspezifikation mindestens Folgendes dokumentieren:
-
- der Aufbau des Softwaresystems erfolgt idealerweise auf mehreren Abstraktionsebenen
- das Zusammenspiel der Softwarekomponenten
- die Beschreibung der Schnittstellen zwischen den Softwarekomponenten
- die Designsentscheidungen (einschließlich Risiken) und Begründungen
- die Qualitätsziele
- die Stakeholder und Verantwortlichkeiten
Implementierung
Wir haben Erfahrung im Schreiben von hochwertigem eingebettetem C-Code für sicherheitsrelevante Systeme. In der Vergangenheit haben wir unsere Kunden bei der Implementierung von Softwaremodulen wie folgt unterstützt:
-
- Zeitgesteuerte Scheduler
- C-Bibliotheken (auch HALs genannt) für den Zugriff auf Hardwarekomponenten wie MCU-Peripheriegeräte, Speicher, Displays, Sensoren usw.
- Kommunikationsprotokolle
- Diverse Steuerungs- und Monitoringsaufgaben
In den meisten unserer Projekte verwenden wir bevorzugt 32-Bit-Mikrocontroller, in einigen Fällen, insbesondere für einfache Aufgaben, verwenden wir jedoch normalerweise 8- oder 16-Bit-Geräte.
Bei Softwareprojekten, bei denen unsere Ressourcen nicht mehr ausreichen, vertrauen wir auf unseren Partner, SafeTTy-Systems Ltd., mit dem wir seit vielen Jahren erfolgreich zusammenarbeiten.
Testen
Derzeit bietet ASRP-Systems keine Softwaretestdienste an. In Fällen, in denen unabhängige Softwaretests erforderlich sind, vermitteln wir Sie oder Ihre Organisation jedoch gerne an einen unserer Partner, der über die entsprechenden Erfahrungen und Ressourcen verfügt.
Beratung und Review
Gerne unterstützen wir Sie auch in Form von Beratungs- und Reviewleistungen im Zusammenhang mit den oben genannten Tätigkeiten. Sie können uns gerne kontaktieren.