Code-Generierung für sicherheitsrelevante Anwendungen

Software ohne Fehler

20. Januar 2012, 14:25 Uhr | Von Dr. Darren Buttle
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Vermeiden von Mehrdeutigkeiten

Bild 3. Grafische Modelle schaffen Übersicht.
Bild 3. Grafische Modelle schaffen Übersicht.

Entscheidend ist, dass alle Beteiligten den Entwurf in der gleichen Art und Weise interpretieren. Hierbei sind zwei Aspekte zu beachten:

  • Effiziente Kommunikation zwischen Experten über Domänengrenzen hinweg.
  • Unmissverständliche Kommunikation zwischen Experten innerhalb einer Domäne.

 Ascet adressiert den ersten Punkt, indem es unterschiedliche syntaktische Repräsentationen der zu Grunde liegenden Modellierungssprache zur Verfügung stellt (Bild 3). Beispielsweise können Regelungstechniker Kontroll- und Datenflussdiagramme entwerfen, während Software-Entwickler Modelle aus der Sicht der Programmierung aufbauen können.

 

Bild 4. Festlegung der Berechnungsreihenfolge am Beispiel von Übergängen eines Zustandsautomaten.
Bild 4. Festlegung der Berechnungsreihenfolge am Beispiel von Übergängen eines Zustandsautomaten.

Aus dem zweiten Punkt ergeben sich Konsequenzen für die Modellierungssprache: Eine grafische Notation kann zu Problemen führen, weil die Reihenfolge von Berechnungen nicht – wie in einer textbasierten Notation – intuitiv gegeben ist. Eine Festlegung per grafischer Anordnung, zum Beispiel von oben nach unten oder von links nach rechts, kann in die Irre führen. Hinzu kommt, dass Änderungen in der Anordnung, welche etwa durchgeführt werden, um die Bewertung zu unterstützen, unbeabsichtigte Änderungen im Entwurf und im Verhalten einer Steuerung oder Regelung nach sich ziehen können. Die grafische Notation von Ascet trifft keine impliziten Annahmen über die Berechnungsreihenfolgen, sondern verlangt deren explizite Angabe in Form von Sequenznummern.

Daraus ergeben sich die folgenden Vorteile:

  • Ascet-Modelle sind per Konstruk­tion immer deterministisch.
  • Das Verhalten von Ascet-Modellen ist unabhängig von der grafischen Anordnung. Die Semantik hängt ausschließlich von den Beziehungen zwischen den Modellelementen ab.
  • Die Berechnungsreihenfolge wird im Modell dargestellt und in den Programm-Code bei dessen Generierung übertragen. Daraus ergibt sich automatisch ein Framework für Bewertungen. Bild 4 zeigt die Nummerierung der Berechnungsreihenfolge am Beispiel von Übergängen eines Zustandsautomaten.

 


  1. Software ohne Fehler
  2. Vermeiden von Fehlern im Software-Entwurf
  3. Modularität, Abstraktion und Kapselung
  4. Vermeiden von Mehrdeutigkeiten
  5. Sichere numerische Operationen
  6. Unterstützung von Echtzeit-Systemen
  7. Absicherung des Entwurfs in der Simulation
  8. Automatische Code-Generierung sorgt für reproduzierbare Ergebnisse
  9. Automatisches Einhalten von Spracheinschränkungen
  10. Vermeidung von Laufzeitfehlern
  11. Markieren von potentiellen Problemen bei der Kompilierung

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu ETAS GmbH

Weitere Artikel zu Funktionale Sicherheit/Safety