<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Eine industrielle Fallstudie zur teilautomatischen Erzeu- gung von Komponentenfehlerbäumen aus Simulink- Modellen</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Suryo Buono</string-name>
          <email>suryo.buono@berner-mattner.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Viktor Ramich</string-name>
          <email>viktor.ramich@googlemail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernhard Kaiser</string-name>
          <email>bernhard.kaiser@berner-mattner.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Justyna Zander</string-name>
          <email>justyna.zander@berner-mattner.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Berner&amp;Mattner Systemtechnik GmbH Gutenbergstr.</institution>
          <addr-line>15 10587 -Berlin</addr-line>
        </aff>
      </contrib-group>
      <fpage>41</fpage>
      <lpage>50</lpage>
      <abstract>
        <p>Kurzfassung: Seit mehreren Jahren wird an einer stärkeren Integration von modellbasierter Systementwicklung und Sicherheitsanalyse geforscht. In diesem Paper werden ein Ansatz und ein Werkzeug zur besseren und frühzeitigen Verzahnung zwischen der Systementwicklung und der Sicherheitsanalyse präsentiert. Im Vordergrund des Ansatzes steht die Verknüpfung der in der Industrie etablierten Werkzeuge für die Systemmodellierung (Matlab Simulink) und die Sicherheitsanalyse (Enterprise Architect). Ziel war es, die hierarchische Struktur von Komponenten-Fehlerbäumen (engl. Component Fault Trees/ CFTs) aus existierenden Simulink-Modellen zu generieren. Ein Transformationsalgorithmus, welcher die hierarchische Struktur und Signalflussinformationen von Simulink-Modellen analysiert und anschließend CFT-Rahmen mit möglichen Fehlermodi in Abhängigkeit von den in Simulink vordefinierten Signaltypen bildet, wurde im Rahmen einer Masterarbeit entwickelt. Anhand eines Fallbeispiels an einem vereinfachten elektrischen Antriebs für E-Fahrzeuge werden in diesem Paper die Vorgehensweise des Ansatzes sowie Erfolge und angetroffene Probleme erläutert.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Einführung</title>
      <p>dustrie eingesetzt. Zur Analyse der sicherheitskritischen Systeme kann der Ansatz der
Komponenten-Fehlerbäume (engl. Component Fault Trees/ CFT) [KLM03] verwendet
werden. Dieser Ansatz strukturiert den Fehlerbaum modular, entsprechend der
komponentenbasiert aufgebauten Systemarchitektur. Im Vergleich dazu sind klassische
Sicherheitsanalysemodelle wie FMEA oder FTA in ihrer Ausdrucksfähigkeit und Modellierung
eingeschränkt und können nicht ohne Weiteres das Potential von modular aufgebauten
Systemarchitekturen nutzen [DT09].</p>
      <p>Um die Sicherheitsanalyse enger mit dem Entwicklungsprozess zu verzahnen und somit
eine effizientere Analyse zu erreichen, wurde der Ansatz verfolgt, die im
Entwicklungsprozess erstellten Simulink-Modelle auch für die Sicherheitsanalyse zu nutzen. Ein
Transformationsalgorithmus wurde in der Masterarbeit von Ramich [Rv14] entwickelt.
Die Idee basiert darauf, mit Hilfe eines Algorithmus das in Simulink modellierte System
automatisch in CFT-Rahmen mit möglichen Fehlermodi zu transformieren.
Anschließende Analysen (qualitative sowie quantitative) können manuell durch den Benutzer
durchgeführt werden. Als Frontend für die grafische Oberfläche wird das etablierte
Werkzeug „Enterprise Architect (EA)“ eingesetzt. Die Erweiterung des Plugins in EA
für das Importieren von Simulink-Modellen ist in Kooperation mit dem Fraunhofer IESE
im Rahmen des Forschungsprojektes SPES-XT entstanden.</p>
      <p>Anhand eines vereinfachten elektrischen Antriebes wird die Vorgehensweise des
Ansatzes in Ramich [Rv14] beispielhaft verifiziert und validiert. Angetroffene Probleme und
Erfolge sowie zukünftige Verbesserungen werden in dieser Arbeit beschrieben.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Konzept der Transformationen</title>
      <p>Das Grundkonzept der teilautomatischen Erzeugung von Komponenten-Fehlerbäumen
aus Simulink-Modellen von Ramich [Rv14] beinhaltet die in Abbildung 1 dargestellten
Schritte. In (1) findet ein Import der Simulink-Modelldatei (*.mdl) statt, um den darin
enthaltenen Systemaufbau mit den Signal-/Datentypen der Ports zur Generierung der
CFTs (2) zu nutzen. Anschließend werden die erzeugten CFT-Rahmen in (3) angezeigt
sowie eine gegebenenfalls nötige Nachbearbeitung und das Einfügen von Fehlerbäumen
ermöglicht.</p>
      <p>Abbildung 1: Grundkonzepts des Transformationsalgorithmus [Rv14]</p>
      <sec id="sec-2-1">
        <title>2.1 Simulink-Modelldatei importieren</title>
        <p>In Zusammenarbeit mit dem Fraunhofer IESE wurde das entwickelte Plugin für
Enterprise-Architect um einen Menüeintrag zum Import von MDL-Dateien erweitert. Dies
ermöglicht den Import einer Simulink-Modelldatei und mit Hilfe eines Parsers der
OpenSource-Bibliothek Simulink Library für Java1 zu analysieren und relevante
Modellinformationen zur Verfügung zu stellen. Dabei werden die Daten in das
KomponentenDaten-Modell (engl.: Component-Data-Model (CDM)) transformiert, welches in
Abbildung 2 dargestellt ist. Darin wird für jedes Simulink-Subsystem mit den modellierten
Inund Outports und angehängten Verbindungen ein entsprechendes Komponenten-Objekt
(Component), Port-Objekt und Link-Objekt auf Basis des CDM erstellt. Über die
child/parent-Beziehung von Komponenten-Objekten wird die hierarchische Struktur des
Simulink-Systems im CDM abgebildet.</p>
        <p>Abbildung 2: Component-Data-Model (CDM) [Rv14]</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 CFT generieren</title>
        <p>Im nächsten Transformationsschritt werden die Modelldaten auf Basis des CDM in das
Component-Data-Model with Failure-Modes (CDMFM) überführt. Dabei werden,
abhängig vom Datentyp der Ports der zu übertragende Signale, festgelegte
StandardFehlermodi vorgeschlagen und dem jeweiligen Port des CFT angehängt.
Abhängig vom Datentyp (Double, Integer oder Boolean) des jeweiligen Ports werden bei
der CFT-Generierung jedem In- und Outport des Systems Fehlermodi auf Basis der
Veröffentlichungen [Dd11], [FM93] und [Pd99] zugeordnet. Eine zusammenfassende
Auflistung ist in Tabelle 1 aufgeführt. Es handelt sich dabei nicht um technische
Fehlermodi wie z.B. Kurzschluss, Drift etc. sondern um funktionale Fehlermodi.</p>
        <p>Tabelle 1: Abhängig vom Datentyp automatisch vorgeschlagene Fehlermodi [KLM03]
Um aus dem komponentenbasierten CDMFM die gewünschten CFTs zu generieren, ist
eine finale Transformation nötig. Die CFTs sind auf Basis des Open Safety Model
(OSM) [Rj13] zu erstellen, um eine Kompatibilität zu den vom Fraunhofer IESE
entwickelten Algorithmen zu erzielen. OSM ist ein Meta-Model, welches die Handhabung
von verschiedenen Sicherheitsanalysetechniken ermöglichen soll. Für weitere
Informationen zum komplexen Transformationsalgorithmus sei auf die detaillierte Ausführung in
[Rv14] verwiesen. Da der Algorithmus die funktionale Architektur des
Simulink1 http://www.cqse.eu/en/products/simulink-library-for-java/overview/
Modells exakt adaptiert, werden auch vorhandene Rückführkreise übernommen. Das
Vorhandensein einer Schleife innerhalb einer Fehlerbaum-Analyse widerspricht der
Definition von FTs bzw. CFTs. Diese muss zur Analyse unterbrochen werden. Innerhalb
der Arbeit von Ramich [Rv14] wird keine automatische Erkennung von Schleifen durch
den Algorithmus unterstützt. In [Vw02], [Yj97] und [Dd11] sind unterschiedliche
Methoden und Vorgehen zur Erkennung von Schleifen erläutert, welche in den Algorithmus
implementiert werden können.</p>
        <p>Abbildung 3: Zusammenfassung der Transformationsschritte zur Erzeugung von CFTs [Rv14]</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3 CFT visualisieren und Einordnung der Arbeit</title>
        <p>Um die erstellten CFTs in EA darzustellen, sind die dazu nötigen Informationen, die
Daten des erzeugten CFT-Objekts, von der Java-Anwendung zu EA zu übertragen. Der
Austausch findet mit Hilfe des von [Rj13] und [DT08] entwickelten Safety Exchange
Layers (dt.: Sicherheitsaustauschschicht) statt. Die kooperative Integration wurde im
Entwicklungsprojekt SPES-XT durchgeführt. Die Abbildung 3 stellt das Gesamtkonzept
dar.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Praktische Anwendung der teilautomatischen Erzeugung von CFT aus Simulink-Modellen</title>
      <sec id="sec-3-1">
        <title>3.1 Fallbeispiel eines vereinfachten elektrischen Antriebs in Simulink</title>
        <p>Als Fallbeispiel für die Verifizierung und Validierung der teilautomatischen Erzeugung
von CFT-Modellen aus Simulink-Modellen wird ein vereinfachter DC-Motor mit
Drehzahlregelung eingesetzt. Das System besteht aus Sensor, Regler, Leistungselektronik und
Motor. Es ist als geschlossener Regelkreis zu betrachten. Das mit der CFT Methode zu
analysierende Simulink-Modell des Systems ist in Abbildung 4 dargestellt. Die
Führungsgröße wird durch die Solldrehzahl am Eingang IN_w_target vorgegeben. Die
Regelgröße wird am Ausgang OUT_w ausgegeben. Das Subsystem w_Sensor ist durch
einen Gain-Block implementiert. Die Referenzgröße kann damit skaliert werden. Im
Subsystem PI_Control wird die Regelabweichung zwischen dem Sollwert (w_target)
und dem Istwert (w_act) der Drehzahl bestimmt. Ein PI-Regler-Block aus der Simulink
Library wurde für die Regelungsfunktion eingesetzt. Das Subsystem Power_Electronics
wurde vereinfacht und besteht aus einem Gain-Block mit einem Verstärkungsfaktor. Das
Modell des DC_Motors wurde aus Differentialgleichungen hinsichtlich der elektrischen
und mechanischen Zusammenhänge des DC-Motors hergeleitet. Für die Herleitung und
Umsetzung des Subsystems DC_Motor ist auf die Arbeit von Ramich [Rv14] verwiesen.</p>
        <p>Abbildung 4: Systemaufbau des Simulink-Modells des Fallbeispiels</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Erzeugung von Fehlerbäumen aus dem Simulink-Modell</title>
        <p>Die Darstellung der automatisch generierten CFT-Rahmen mit vorgeschlagenen
Fehlermodi erfolgt in dem etablierten Werkzeug „Enterprise Architect“. Wird die Simulink
Modelldatei importiert, so werden die in Kapitel 2 erklärten Transformationen
automatisch durchgeführt bis die CFT-Rahmen vorliegen.</p>
        <p>Das Fallbeispiel entspricht einem typischen Modell eines geschlossenen Regelkreises,
das einen Rückführkreis der Regelgröße und somit eine Schleife besitzt. Das Werkzeug
übernimmt die Schleifen aus dem Simulink-Systemmodell in die CFT-Rahmen. Die
automatisch generierten CFT-Rahmen sind in Abbildung 5 dargestellt. Da in
Fehlerbämen laut Definition keine Schleifen vorhanden seien dürfen, muss der Safety-Ingenieur
die Schleifen manuell auflösen. Dieses Entfernen der Schleifen wird z.B. durch das
Löschen der Feedback-Variable wie in (vgl. [Dd11]) beschrieben erreicht. Eine
automatische Erkennung von Schleifen wird vom entwickelten Werkzeug derzeit nicht
unterstützt. Im Fallbeispiel kann dies durch das Entfernen der Eingangsfehlermodi des
Drehzahlsensors w_Sensor erreicht werden. Dies entspricht dem Löschen der
FeedbackVariable.</p>
        <p>Abbildung 5: Durch das Werkzeug erzeugte CFT-Rahmen (Rückführkreis vorhanden)</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Anschließende Analysen der generierten Komponenten-Fehlerbäume in EA</title>
        <p>Nach der automatischen Generierung der CFT-Rahmen aus Simulink-Modellen sind
relevante Fehlermodi aus den automatisch vorgeschlagenen Fehlermodi durch den
Safety-Ingenieur auszuwählen. Die Auswahl ist abhängig vom betrachteten Kontext (z.B.
aus einer Gefahren- und Risikoanalyse). Innerhalb der Sicherheitsanalyse sollten
ausschließlich Fehler betrachtet werden, die nicht durch die Regelung kompensiert werden
und zu einer Gefährdung (engl. Hazard) führen können. Somit ist z.B. der Fehlermodus
„TooHigh“ als Abweichung vom Sollwert zu sehen, welcher eine Gefahr für das System
darstellt.</p>
        <p>Die Einordung und Auswahl relevanter Fehlermodi sollte parallel mit dem
Vervollständigen der CFT-Rahmen durch Fehlerbäume erfolgen, da beides Systemverständnis
voraussetzt. So kann im DC-Motor-Beispiel ein zu großes Ausgangssignal (u_TooHigh)
des Blockes PI_Control eintreten (siehe fett gedruckte Verbindungslinien in Abbildung
6), wenn der Drehzahlsollwert bereits fehlerhaft zu groß als Eingangsfehlermodus
anliegt (w_target_TooHigh) oder der aktuelle Drehzahlwert zu klein vom Sensor gemessen
wurde (w_act_TooLow). Des Weiteren kann z.B. ein Ausfall der Drehzahlmessung
(w_act_Omission) oder auch ein interner Fehler im Mikroprozessor ebenso ein
fehlerbedingt erhöhtes Ausgangssignal (u_TooHigh) verursachen. Diese anschließende Analyse,
u.a. die Entfernung von Schleifen und die Auswahl von relevanten Fehlermodi, fordert
die Analyse-fähigkeit des Safety-Ingenieurs.</p>
        <p>Abbildung 6: vervollständigter CFT mit Fehlerbäumen für die PI-Regelung</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4 Änderung des Simulink-Modells und Wiederverwendung von CFTs</title>
        <p>Bei einer Änderung des Simulink-Modells wurde die Wiederverwendung von bereits
erstellten CFT-Modellen untersucht. Das System des Fallbeispiels wurde durch einen
weiteren Sensor zur Drehzahlmessung erweitert (siehe Abbildung 7), um eine
fehlerbedingt zu hohen Drehzahl des Motors durch Redundanz der Sensoren zu erkennen und zu
verhindern. Die beiden Sensoren sollten dabei idealerweise mit unterschiedlichen
Messprinzipien arbeiten. Existiert eine Abweichung zwischen den Messwerten der Sensoren
(mit einer vorgegebenen Toleranz), so wird der Übergang in den sicheren Zustand
eingeleitet, in diesem Fall die Abschaltung der Versorgungsspannung des Motors. Das
Abschalten der Versorgungsspannung wird in der Praxis z.B. in der Leistungselektronik
umgesetzt. Innerhalb des Fallbeispiels geschieht dies zur Vereinfachung innerhalb des
Reglerblocks, um im Weiteren ausschließlich diesen Block betrachten zu müssen.</p>
        <p>Abbildung 8: CFT des erweiterten Reglerblocks
Zur Analyse wird das erweiterte Simulink-Modell erneut in Enterprise Architect
eingelesen, um die entsprechenden CFTs automatisch zu generieren. Nicht geänderte
Systemkomponenten, wie z.B. der DC-Motor können durch den bereits zuvor erstellten CFT
wiederverwendet bzw. der Fehlerbaum in die neue CFT-Instanz übernommen werden.
Selbst für geänderte Komponenten, wie z.B. das Subsystem PI_control mit dem
hinzugefügten Eingangsignals w_act_Sensor2, können Teilbereiche des bereits zuvor
analysierten CFT übernommen werden. Es ergibt sich z.B. der in Abbildung 8 dargestellte
CFT.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Zusammenfassung und Ausblick</title>
      <p>Ein Beitrag zur Verzahnung der klassischen Systementwicklung mit den
Sicherheitsaktivitäten (Safety) wurde bei Berner&amp;Mattner durch die entwickelte Vorgehensweise und
dem vorgestellten Werkzeug geleistet. Dies ermöglicht die teilautomatische Generierung
von Komponenten-Fehlerbäume (CFT), basierend auf der Systemarchitektur eines
Simulink-Modells. Vorteilhaft dabei ist, dass das Simulink-Modell, welches innerhalb der
Systementwicklung entwickelt wurde, mit Hilfe des entwickelten Werkzeuges auch für
die Sicherheitsanalyse verwendet und damit die Sicherheitsanalyse frühzeitig in das
Systemdesign einbezogen werden kann. Einsatzmöglichkeiten wurden an Fallbeispielen
zwecks Verifizierung und Validierung des Werkzeuges demonstriert. Dazu wurde in der
Fallstudie eine ‚Kriterium-Checkliste‘ zur Verifizierung des Algorithmus erstellt sowie
eine eingeschränkte Evaluation des Arbeitsresultates hinsichtlich des Erreichens der
definierten Ziele (effiziente Verzahnung der klassischen Systementwicklung mit den
Sicherheitsaktivitäten, frühzeitige Einbeziehung der Sicherheitsanalyse in das
Systemdesign, Modularisierung etc.) durchgeführt. Ausführliche Ergebnisse der Fallstudie sind in
der Arbeit von Ramich [Rv14] präsentiert.</p>
      <p>Es wurde gezeigt, dass die Wiederverwendung von CFTs von zuvor analysierten
Komponenten aus aktuellen oder vorherigen Projekten die Sicherheitsanalyse beschleunigt.
Dies trägt nicht nur zur Effizienzsteigerung, sondern auch zur Verbesserung der Qualität
des Ergebnisses bei und ermöglicht eine arbeitsteilige Analyse. Da bei einem
architekturnahen CFT nur die Ports der bestehenden Systemarchitektur zur automatischen
Generierung der Fehlermodi berücksichtigt werden, besteht nun bei der
Sicherheitsanalysemodellierung die Gefahr, dass nicht alle sicherheitsrelevanten Fehlermodi (v.a. durch
Umwelteinflüsse) berücksichtigt worden sind, weil ein in dieser Fehlermodi
zugeordnetes Signal im Systemmodell nicht modelliert wurde. Die elektromagnetische
Verträglichkeit sowie die Umwelttemperatur (zu hoch/ zu klein) werden beispielweise in der
Systemarchitektur oft nicht modelliert. Dies führt dazu, dass bei der teilautomatischen
Erstellung der CFT-Rahmen mögliche Fehlermodi zu diesen äußeren Umwelteinflüssen
nicht mitberücksichtigt sind.</p>
      <p>Neben dem automatischen Erkennen von Schleifen in CFT-Modellierung, könnte im
nächsten Entwicklungsschritt die Berücksichtigung der Operationsblöcke der
SimulinkModelle, z.B. Additions- und Subtraktionsblöcke, erfolgen. Dies würde eine Übernahme
der Signal-Kausalitäten ermöglichen und so die Qualität der Sicherheitsanalyse
verbessern. Außerdem ist die Anbindung der teilautomatisch generierten Sicherheitsanalyse mit
der contract-basierten Modellierung [Ss13] erstrebenswert. Eine Verletzung eines von
Contracts, welche zu einer Gefährdung führen kann, könnte somit als relevante
Fehlermodus in CFT interpretiert werden.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          Abbildung 7:
          <string-name>
            <given-names>Erweitertes</given-names>
            <surname>Simulink-Modell [Dd11] Domis</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Integrating fault tree analysis and component-oriented model-based design of embedded systems</article-title>
          .
          <source>Verl. Dr. Hut</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [DT09]
          <string-name>
            <surname>Domis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; Trapp,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Component-Based Abstraction in Fault Tree Analysis</article-title>
          . In Computer Safety, Reliability, and Security. Springer Verlag, Berlin,
          <year>2009</year>
          ; S.
          <fpage>297</fpage>
          -
          <lpage>310</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [DT08]
          <string-name>
            <surname>Domis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; Trapp,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Integrating Safety Analyses and Component-Based Design</article-title>
          .
          <source>In Proceedings of the 27th International Conference on Computer Safety</source>
          , Reliability, and Security. Springer Verlag, Berlin, Heidelberg,
          <year>2008</year>
          ; S.
          <fpage>58</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [FM93]
          <string-name>
            <surname>Fenelon</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>McDermid</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>An Integrated Toolset for Software Safety Analysis</article-title>
          .
          <source>In Journal of Systems and Software (3)</source>
          ,
          <year>July 1993</year>
          ; S.
          <fpage>279</fpage>
          -
          <lpage>290</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [KLM03]
          <string-name>
            <surname>Kaiser</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Liggesmeyer</surname>
            ,
            <given-names>P</given-names>
          </string-name>
          ; Mäckel,
          <string-name>
            <surname>O.:</surname>
          </string-name>
          <article-title>A New Component Concept for Fault Trees</article-title>
          .
          <source>In SCS. In Proceedings of the 8th Australian workshop on Safety critical systems and software-Volume 33. Australian Computer Society</source>
          , 2003; S.
          <fpage>37</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [Pk12]
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Hönniger</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ; Achatz,
          <string-name>
            <surname>R</surname>
          </string-name>
          ; Broy,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Model-based Engineering of Embedded Systems: The SPES 2020 Methodology</article-title>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [Pd99]
          <string-name>
            <surname>Pumfrey</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The Principled Design of Computer System Safety Analyses</article-title>
          . University of York,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [Rv14]
          <string-name>
            <surname>Ramich</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Teilautomatische Erstellung von Component-Fault-Trees aus SimulinkModellen</article-title>
          .
          <source>Master thesis</source>
          , Universität Kassel,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [Rj13] Reich, J.:
          <article-title>Konzeption und Entwicklung eines Werkzeugs zur Spezifikation und Analyse von Safety-Modellen auf Basis von Enterprise Architect</article-title>
          .
          <source>Master thesis</source>
          , Technische Universität Kaiserslautern,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [Ss13]
          <string-name>
            <surname>Sonksi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Contract-based modeling of component properties for safety-critical systems</article-title>
          .
          <source>Master thesis</source>
          , Hochschule Darmstadt,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [Vw02]
          <string-name>
            <surname>Vesely</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ; Stamatelatos,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Dugan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ;
            <surname>Fragola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ;
            <surname>Minarick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ;
            <surname>Railsback</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          :
          <article-title>Fault Tree Handbook with Aerospace Applications</article-title>
          .
          <source>NASA Office of Safety and Mission Assurance</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [Yj97]
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Analytic Method to Break Logical Loops Automatically in PSA. In Reliability engineering &amp; system safety</article-title>
          .
          <source>Elvesier</source>
          ,
          <year>1997</year>
          ; S.
          <fpage>101</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>