Codierrichtlinien

MISRA C: 2012: Ideal geeignet für Avionik-Anwendungen

12.09.13 | Autor / Redakteur: Chris Tapp, Mark Pitchford * / Franz Graser

Das Cockpit des Airbus A380 zählt zu den modernsten Avioniksystemen weltweit. Der Codierungsstandard Misra C: 2012 unterstützt unter anderem die Programmierung solcher Systeme.
Das Cockpit des Airbus A380 zählt zu den modernsten Avioniksystemen weltweit. Der Codierungsstandard Misra C: 2012 unterstützt unter anderem die Programmierung solcher Systeme. (Wikimedia Commons (CC BY 2.0))

Die neueste MISRA-Version erlaubt Entwicklern die Nutzung von mehr Features der Programmiersprache C und hilft ihnen gleichzeitig, die Risiken in sicherheitskritischen Avionik-Anwendungen abzumildern.

Für C-Programmierer, die an sicherheitskritischen Applikationen arbeiten, kann es sich recht schwierig gestalten, die Restriktionen und Vorschriften zur Gewährleistung sicherer Codierungspraktiken zu beachten. Genau die Merkmale einer Programmiersprache, die den Programmierern eigentlich die Arbeit erleichtern oder ihnen das Umgehen von Hindernissen ermöglichen sollen, sind häufig identisch mit genau jenen Features, deren Anwendung die Vorschriften untersagen. Klar ist jedoch, dass Softwareprobleme das letzte sind, was man in Avionik-Anwendungen brauchen kann. Zu viel steht auf dem Spiel, als dass man Risiken

eingehen könnte.

Aus diesem Grund gehört das Einhalten der entsprechenden Codierungsregeln zu den zentralen Forderungen der EASA-Norm ED-12C und der FAA-Norm DO-178C. Diese Avionik-Standards regeln die Softwareentwicklung in Europa und den USA. Obwohl die ED-12C die Verwendung von MISRA C nicht vorschreibt, hat es sich als De-facto-Programmierstandard für jegliche sicherheitskritische Software etabliert. Die neueste Version von MISRA C bietet den Programmierern neue Hoffnung, indem sie eine flexiblere Anwendung der Sprache gestattet und gleichzeitig den Ruf von MISRA als die sicherste verfügbare C-Richtlinie wahrt.

Reduzierter Compliance-Aufwand lässt mehr Zeit für das eigentliche Programmieren

MISRA C ist eine Sprach-Untermenge für die Softwareentwicklung und wurde ursprünglich im Jahr 1998 (MISRA C: 1998) für C90 eingeführt. 2004 wurde die Norm durch die Version MISRA C: 2004 ersetzt, die mit einer Vielzahl von Ergänzungen und Verbesserungen gegenüber dem Original aufwartete.

Obwohl MISRA C kein Codierungsstandard, sondern eine Sprach-Untermenge ist, schafft es eine solide Basis für bewährte Programmierverfahren. Im Lauf der Jahre hat es MISRA C zu großer Verbreitung in sicherheits-, lebens- und missionsentscheidenden Anwendungen gebracht, so zum Beispiel auf dem Aerospace- und Rüstungssektor. Allgemein hat sich die Bezeichnung ‚MISRA-Standard‘ eingebürgert.

Mit dem neuen MISRA C wird das Ziel verfolgt, die Entwicklung auch über verschiedene Projekte oder Code-Elemente hinweg so vorhersagbar wie möglich zu machen, ohne dass es zu Interpretationsfehlern kommt. Reproduzierbarkeit und Vorhersagbarkeit sind die entscheidenden Triebfedern. Selbst ein verstreutes Entwicklungs-Team – zum Beispiel bei einem Hauptauftragnehmer und mehreren Subunternehmern – kann, wenn sich diese an die MISRA-Richtlinien halten, darauf vertrauen, dass der gesamte Code des Projekts konsistent ist.

Ergänzendes zum Thema
 
Beweggründe zur Einführung einer neuen MISRA-Version

Die Einhaltung der neuen Richtlinien, gleich ob diese als Regeln oder als Direktiven eingestuft sind, hilft den Programmierern bei der Abmilderung softwarebezogener Risiken in sicherheitskritischen Applikationen. Unter dem Strich können die Programmierer hierdurch mehr Zeit für das eigentliche Codieren verwenden, da sie weniger Zeit in Compliance-Maßnahmen investieren müssen.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben
Wird denn im Flugzeugbau Software auch noch von Hand geschrieben? Das erstaunt mich jetzt aber...  lesen
posted am 13.09.2013 um 18:53 von Olaf Barheine


Mitdiskutieren

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 42298144 / Software-Implementierung)

Embedded Software Engineering Report abonnieren

4 mal jährlich: Die kostenlose Pflichtlektüre für Embedded­-Software- und Systems-Entwickler, von Analyse bis Wartung und Betrieb

* Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung und AGB einverstanden.
Spamschutz:
Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein.