
Bisher kamen in Systemen für das Engineering funktionaler Sicherheitsapplikationen proprietäre, verschlüsselte Dateisysteme zum Einsatz. Diese schützten Applikationen vor unautorisierten Veränderungen, schlossen jedoch auch die Verwendung gängiger produktivitätssteigernder Softwarewerkzeuge und Methoden aus. Mit Safety+ präsentiert B&R einen zukunftsweisenden offenen Ansatz für die Programmierung von Sicherheitsfunktionen. Dieser ermöglicht es Entwicklern die neuesten Werkzeuge und Methoden des Software-Engineerings auch für Sicherheitsapplikationen nutzen. Außerdem können sie die Sprache und den Datentyp frei wählen. Eine innovative Datenstruktur mit digitalem Fingerabdruck macht den Quellcode frei zugänglich und erfüllt gleichzeitig die besonderen Anforderungen der funktionalen Sicherheit.
Digitaler Fingerabdruck
Bei Safety+ werden die Daten in einem frei zugänglichen Format gespeichert, wobei jede Änderung mitdokumentiert wird. Das Speichern der Quelldateien erfolgt in einem offenen textbasierten Code-Repository in Formaten wie XML oder JSON. Um trotz dieser Offenheit die Integrität des Programmcodes zu gewährleisten, erhält jede Datei einen digitalen Fingerabdruck, der anzeigt, wenn sich etwas ändert. Ergänzt um detaillierte Metadaten sorgt dies für Transparenz, wer was wann geändert hat.
Ein Novum bei Systemen für Sicherheitsprogrammierung ist, dass sich diese Metadaten nicht nur auf die gesamte Sicherheitsapplikation beziehen. Ingenieure können jetzt jede Änderung bis auf die Ebene von Funktionsbaustein und Parametersatz nachvollziehen und den Code gezielter verbessern. Dies führt zu einem agileren Engineering der Sicherheitsfunktionen, die sich leichter an verändernde Benutzeranforderungen anpassen lassen.
Mehr Optionenund Datentypen
Auch bei der Wahl der Programmiersprache sowie dem applikationsspezifischen Fine-Tuning beim Programmieren durch Datentypen bietet Safety+ ungewohnte Freiräume. Entwickler haben mit dem System keine eingeschränkte Wahl bei den Programmiersprachen und Datentypen bei funktionalen Sicherheitsapplikationen. Das wirkt sich positiv auf die Entwicklungszeit und die Flexibilität aus.
Safety+ bietet Ingenieuren eine große Auswahl an Programmieroptionen, einschließlich Funktionsbausteinen, Kontaktplänen und strukturierten Texten. Es unterstützt Elemente wie Arrays, Structs und reale Datentypen, die in der nicht-sicheren Programmierung Standard sind.
Neben der neuen Datenarchitektur erlaubt es die Offenheit von Safety+ Ingenieuren, Sicherheitsapplikationen mit Werkzeugen und Plattformen von Drittanbietern zu erstellen und zu verwalten. Durch die Integration der Sicherheitsprogrammierung in gängige Tools wie GitHub und Jenkins soll das Arbeiten für Entwickler flexibler werden, den Entwicklungsprozess vereinfachen sowie darüber hinaus die Zusammenarbeit und den Austausch innerhalb der Entwicklergemeinschaft fördern.
Für die automatische Build-Generierung und kontinuierliche Integration ist ein Kommandozeilen-Interface (CLI) verfügbar. So können Entwickler im sogenannten Headless-Betrieb direkt mit der Software interagieren und Programmcode