Final version. default tip
authorEugen Sawin <sawine@me73.com>
Fri, 04 Jun 2010 15:05:34 +0200
changeset 067acda11be36
Final version.
Abgabe/IEC 61508 konforme Testfallerstellung nach SIL 3 - Präsentation.pdf
Abgabe/IEC 61508 konforme Testfallerstellung nach SIL 3.pdf
Abgabe/Referenzen/A Fuzzy Probalistic Approach for Determining SIL.pdf
Abgabe/Referenzen/A Unified Model for Evaluating the SIL of SIS.pdf
Abgabe/Referenzen/Automated Control Systems for SIL 3 and 4.pdf
Abgabe/Referenzen/Blackbox Testing Methodology for SafetyLON.pdf
Abgabe/Referenzen/Calculating the PFD for complex structures.pdf
Abgabe/Referenzen/Certification of a Code Generator.pdf
Abgabe/Referenzen/Certified Testing of C Compilers for Embedded Systems.pdf
Abgabe/Referenzen/IEC61508.txt
Abgabe/Referenzen/IEC61511 in der Praxis.pdf
Abgabe/Referenzen/Introduction to IEC 61508.pdf
Abgabe/Referenzen/Personal Competencies and the Requirements of IEC 61508.pdf
Abgabe/Referenzen/Safety Standards including IEC 61508.pdf
Abgabe/Referenzen/Throwing a Bridge between Risk Assessment and Functional Safety.pdf
Abgabe/Referenzen/Towards a Calculus for Software SIL.pdf
Bewertung_SS2009.pdf
Themen_SS2009.pdf
op/Seminar 2.mm
op/risk_class.ods
op/risk_class.pdf
op/risk_class2.ods
op/risk_class2.pdf
op/sil_conf.ods
op/sil_conf.pdf
op/sil_high.ods
op/sil_high.pdf
op/sil_low.ods
op/sil_low.pdf
op/v_modell.pdf
op/v_modell.svg
paper/abstract.tex
paper/compile
paper/content.tex
paper/header.tex
paper/intro.tex
paper/references.bib
paper/risk_class.pdf
paper/risk_class2.pdf
paper/seminar2.pdf
paper/seminar2.tex
paper/sil_conf.pdf
paper/sil_high.pdf
paper/sil_low.pdf
paper/v_modell.pdf
pres/IEC 61508 konforme Testfallerstellung nach SIL 3.pdf
pres/IEC 61508 konforme Testfallerstellung nach SIL 3.pptx
pres/risk_class.png
pres/risk_class2.png
pres/sil_conf.png
pres/sil_high.png
pres/sil_low.png
pres/v_modell.png
refs/iec61508/iec61508-0{ed1.0}b.pdf
refs/iec61508/iec61508-1{ed1.0}b.pdf
refs/iec61508/iec61508-2{ed1.0}b.pdf
refs/iec61508/iec61508-3{ed1.0}b.pdf
refs/iec61508/iec61508-4{ed1.0}b.pdf
refs/iec61508/iec61508-5{ed1.0}b.pdf
refs/iec61508/iec61508-6{ed1.0}b.pdf
refs/iec61508/iec61508-7{ed1.0}b.pdf
     1.1 Binary file Abgabe/IEC 61508 konforme Testfallerstellung nach SIL 3 - Präsentation.pdf has changed
     2.1 Binary file Abgabe/IEC 61508 konforme Testfallerstellung nach SIL 3.pdf has changed
     3.1 Binary file Abgabe/Referenzen/A Fuzzy Probalistic Approach for Determining SIL.pdf has changed
     4.1 Binary file Abgabe/Referenzen/A Unified Model for Evaluating the SIL of SIS.pdf has changed
     5.1 Binary file Abgabe/Referenzen/Automated Control Systems for SIL 3 and 4.pdf has changed
     6.1 Binary file Abgabe/Referenzen/Blackbox Testing Methodology for SafetyLON.pdf has changed
     7.1 Binary file Abgabe/Referenzen/Calculating the PFD for complex structures.pdf has changed
     8.1 Binary file Abgabe/Referenzen/Certification of a Code Generator.pdf has changed
     9.1 Binary file Abgabe/Referenzen/Certified Testing of C Compilers for Embedded Systems.pdf has changed
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/Abgabe/Referenzen/IEC61508.txt	Fri Jun 04 15:05:34 2010 +0200
    10.3 @@ -0,0 +1,1 @@
    10.4 +Leider kann ich aus rechtlichen Gründen den vollständigen Standard nicht mitliefern.
    10.5 \ No newline at end of file
    11.1 Binary file Abgabe/Referenzen/IEC61511 in der Praxis.pdf has changed
    12.1 Binary file Abgabe/Referenzen/Introduction to IEC 61508.pdf has changed
    13.1 Binary file Abgabe/Referenzen/Personal Competencies and the Requirements of IEC 61508.pdf has changed
    14.1 Binary file Abgabe/Referenzen/Safety Standards including IEC 61508.pdf has changed
    15.1 Binary file Abgabe/Referenzen/Throwing a Bridge between Risk Assessment and Functional Safety.pdf has changed
    16.1 Binary file Abgabe/Referenzen/Towards a Calculus for Software SIL.pdf has changed
    17.1 Binary file Bewertung_SS2009.pdf has changed
    18.1 Binary file Themen_SS2009.pdf has changed
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/op/Seminar 2.mm	Fri Jun 04 15:05:34 2010 +0200
    19.3 @@ -0,0 +1,159 @@
    19.4 +<map version="0.7.1">
    19.5 +<node TEXT="Seminar 2">
    19.6 +<node TEXT="Abstrakt" POSITION="right">
    19.7 +<node TEXT="automatisierte Sicherheit">
    19.8 +<node TEXT="Personalkosten"/>
    19.9 +</node>
   19.10 +</node>
   19.11 +<node TEXT="Einleitung" POSITION="left">
   19.12 +<node TEXT="IEC 61508">
   19.13 +<node TEXT="Functional Safety of Electrical / Electronic /  Programmable Electronic Safety Related Systems"/>
   19.14 +<node TEXT="IEC 61511 f&#xfc;r Benutzer"/>
   19.15 +<node TEXT="allgemeiner Standard">
   19.16 +<node TEXT="wenn kein Sektorstandard vorhanden"/>
   19.17 +<node TEXT="f&#xfc;r Subsysteme trotz Sektorstandard"/>
   19.18 +</node>
   19.19 +</node>
   19.20 +</node>
   19.21 +<node TEXT="Hauptteil" POSITION="right">
   19.22 +<node TEXT="Fehlerquellen">
   19.23 +<node TEXT="Komplexit&#xe4;t">
   19.24 +<node TEXT="sktrukturell">
   19.25 +<node TEXT="McCabe CC"/>
   19.26 +<node TEXT="Halstead"/>
   19.27 +</node>
   19.28 +<node TEXT="kognitiv">
   19.29 +<node TEXT="maximal 7 Einheiten im Kurzzeitged&#xe4;chtnis"/>
   19.30 +<node TEXT="keine Metriken"/>
   19.31 +</node>
   19.32 +</node>
   19.33 +<node TEXT="44% ungen&#xfc;gende Spezifizierung">
   19.34 +<node TEXT="wenig Verst&#xe4;ndnis f&#xfc;r die Einsatzumgebung der Software"/>
   19.35 +<node TEXT="wenig Verst&#xe4;ndnis f&#xfc;r den Zweck der Software"/>
   19.36 +</node>
   19.37 +<node TEXT="Unf&#xe4;lle meist bei Systemen ohne Ausf&#xe4;lle">
   19.38 +<node TEXT="falscher Einsatz"/>
   19.39 +<node TEXT="ungen&#xfc;gendes Verst&#xe4;ndnis des Systems"/>
   19.40 +</node>
   19.41 +<node TEXT="Problem ungel&#xf6;&#xdf;t">
   19.42 +<node TEXT="Sicherheit durch Einfachheit">
   19.43 +<node TEXT="sozialer Prozess"/>
   19.44 +</node>
   19.45 +</node>
   19.46 +<node TEXT="Software muss Hardwaresicherheit erreichen"/>
   19.47 +<node TEXT="Fehlerfreiheit"/>
   19.48 +</node>
   19.49 +<node TEXT="Vorkehrungen">
   19.50 +<node TEXT="Risikoanalyse"/>
   19.51 +<node TEXT="Risikobewertung">
   19.52 +<node TEXT="Sicherheit != Verl&#xe4;sslichkeit"/>
   19.53 +<node TEXT="Grad f&#xfc;r tragbare Risko"/>
   19.54 +</node>
   19.55 +<node TEXT="V-Modell als Prozessmodel"/>
   19.56 +<node TEXT="SIL">
   19.57 +<node TEXT="SIL4: Regeltabellen">
   19.58 +<node TEXT="Inspektion"/>
   19.59 +</node>
   19.60 +<node TEXT="SIL3: Funktionsblockdiagramm">
   19.61 +<node TEXT="R&#xfc;ck&#xfc;bersetzung"/>
   19.62 +</node>
   19.63 +<node TEXT="Fehlerwahrscheinlichkeitstabelle">
   19.64 +<node TEXT="keine Ber&#xfc;cksichtigung der Komplexit&#xe4;t"/>
   19.65 +<node TEXT="beachtet nicht sicherheitskritischen Aspekt eines Fehlers"/>
   19.66 +</node>
   19.67 +<node TEXT="unabh&#xe4;ngige Zertifizierung ab SIL3"/>
   19.68 +<node TEXT="resultierendes SIL != SIL der benutzten Komponenten/Prozesse"/>
   19.69 +</node>
   19.70 +</node>
   19.71 +<node TEXT="Testverfahren">
   19.72 +<node TEXT="Monte Carlo"/>
   19.73 +<node TEXT="virtuelle Umgebung"/>
   19.74 +<node TEXT="modellbasiertes Testen"/>
   19.75 +<node TEXT="automatische Testfallerzeugung">
   19.76 +<node TEXT="anforderungsbasiertes Testen">
   19.77 +<node TEXT="Set Covering Problem (NP-complete)"/>
   19.78 +</node>
   19.79 +<node TEXT="Tools">
   19.80 +<node TEXT="steigern Akzeptanz"/>
   19.81 +<node TEXT="Statemate"/>
   19.82 +<node TEXT="SCR"/>
   19.83 +</node>
   19.84 +<node TEXT="konsistente &#xdc;berdeckung"/>
   19.85 +</node>
   19.86 +<node TEXT="Testf&#xe4;lle">
   19.87 +<node TEXT="&#xc4;quivalenzklassen"/>
   19.88 +<node TEXT="strukturbasiert"/>
   19.89 +<node TEXT="Randwertanalyse"/>
   19.90 +<node TEXT="Kontrollflussanalyse"/>
   19.91 +<node TEXT="IEC 61508-3 7.4.7"/>
   19.92 +</node>
   19.93 +<node TEXT="statistischer Beweis als Validierung"/>
   19.94 +<node TEXT="statisch">
   19.95 +<node TEXT="Code-Review"/>
   19.96 +<node TEXT="Formaler Beweis">
   19.97 +<node TEXT="Funktionsblockdiagramm HR"/>
   19.98 +<node TEXT="Sequenzdiagramm HR"/>
   19.99 +<node TEXT="Datenflussdiagramm R"/>
  19.100 +<node TEXT="FSM diagramm HR"/>
  19.101 +<node TEXT="Zeit-Petrinetze HR"/>
  19.102 +<node TEXT="Wahrheitstabellen Hr"/>
  19.103 +</node>
  19.104 +</node>
  19.105 +<node TEXT="dynamisch">
  19.106 +<node TEXT="White-Box-Testing"/>
  19.107 +<node TEXT="statistisches Testing"/>
  19.108 +<node TEXT="funktionales Testen"/>
  19.109 +</node>
  19.110 +</node>
  19.111 +<node TEXT="Verifikation">
  19.112 +<node TEXT="Softwaremodultest">
  19.113 +<node TEXT="probalistisches Testen R"/>
  19.114 +<node TEXT="dynamische Analyse HR">
  19.115 +<node TEXT="Randwertanalyse HR"/>
  19.116 +<node TEXT="Fehlerraten? R"/>
  19.117 +<node TEXT="Fehler (seeding)? R"/>
  19.118 +<node TEXT="Performance modelling R"/>
  19.119 +<node TEXT="&#xc4;quivalenzklassentests R"/>
  19.120 +<node TEXT="strukturbasiertes Testen HR"/>
  19.121 +</node>
  19.122 +<node TEXT="Datensammlung/Analyse HR"/>
  19.123 +<node TEXT="Functionales und Black-Box-Testing HR">
  19.124 +<node TEXT="Konsequenzdiagrammtesten R"/>
  19.125 +<node TEXT="Prototyping R"/>
  19.126 +<node TEXT="Randwertanalyse HR"/>
  19.127 +<node TEXT="&#xc4;quivalenzklassentests HR"/>
  19.128 +<node TEXT="Simulation R"/>
  19.129 +</node>
  19.130 +<node TEXT="Performancetest HR">
  19.131 +<node TEXT="Avalanche/Stresstests HR"/>
  19.132 +<node TEXT="Antwortzeiten und Speicherbegrenzungen HR"/>
  19.133 +<node TEXT="Performancevoraussetzungen HR"/>
  19.134 +</node>
  19.135 +<node TEXT="Interface test HR"/>
  19.136 +</node>
  19.137 +</node>
  19.138 +</node>
  19.139 +<node TEXT="Schl&#xfc;sselw&#xf6;rter" POSITION="left">
  19.140 +<node TEXT="IEC 61508"/>
  19.141 +<node TEXT="Safety Integrity Level"/>
  19.142 +<node TEXT="Zertifizierung"/>
  19.143 +<node TEXT="funktionale Sicherheit"/>
  19.144 +</node>
  19.145 +<node TEXT="Sonstiges" POSITION="right">
  19.146 +<node TEXT="modellbasierte Entwicklung">
  19.147 +<node TEXT="zertifizierter Code-Generator"/>
  19.148 +<node TEXT="Vertrauensproblem"/>
  19.149 +</node>
  19.150 +<node TEXT="Function Block Diagram (FBD): IEC 61131-3">
  19.151 +<node TEXT="Funktionsblock">
  19.152 +<node TEXT="Zustandsmaschine"/>
  19.153 +<node TEXT="Datenstruktur enth&#xe4;lt Input-, Output- und interne Variablen"/>
  19.154 +</node>
  19.155 +<node TEXT="Datenflusslinien"/>
  19.156 +<node TEXT="Identifizierungslabels"/>
  19.157 +<node TEXT="externe Verbindungspunkte"/>
  19.158 +<node TEXT="Sequentielle Abarbeitung, Parallelismus muss in Hardware passieren"/>
  19.159 +</node>
  19.160 +</node>
  19.161 +</node>
  19.162 +</map>
    20.1 Binary file op/risk_class.ods has changed
    21.1 Binary file op/risk_class.pdf has changed
    22.1 Binary file op/risk_class2.ods has changed
    23.1 Binary file op/risk_class2.pdf has changed
    24.1 Binary file op/sil_conf.ods has changed
    25.1 Binary file op/sil_conf.pdf has changed
    26.1 Binary file op/sil_high.ods has changed
    27.1 Binary file op/sil_high.pdf has changed
    28.1 Binary file op/sil_low.ods has changed
    29.1 Binary file op/sil_low.pdf has changed
    30.1 Binary file op/v_modell.pdf has changed
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/op/v_modell.svg	Fri Jun 04 15:05:34 2010 +0200
    31.3 @@ -0,0 +1,502 @@
    31.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    31.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    31.6 +<svg
    31.7 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    31.8 +   xmlns:cc="http://creativecommons.org/ns#"
    31.9 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   31.10 +   xmlns:svg="http://www.w3.org/2000/svg"
   31.11 +   xmlns="http://www.w3.org/2000/svg"
   31.12 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   31.13 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   31.14 +   width="519.42822"
   31.15 +   height="274.67502"
   31.16 +   id="svg2"
   31.17 +   sodipodi:version="0.32"
   31.18 +   inkscape:version="0.46"
   31.19 +   sodipodi:docname="v_modell.svg"
   31.20 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   31.21 +   version="1.0">
   31.22 +  <defs
   31.23 +     id="defs4">
   31.24 +    <marker
   31.25 +       inkscape:stockid="Tail"
   31.26 +       orient="auto"
   31.27 +       refY="0"
   31.28 +       refX="0"
   31.29 +       id="Tail"
   31.30 +       style="overflow:visible">
   31.31 +      <g
   31.32 +         id="g3200"
   31.33 +         transform="scale(-1.2,-1.2)">
   31.34 +        <path
   31.35 +           id="path3202"
   31.36 +           d="M -3.8048674,-3.9585227 L 0.54352094,0"
   31.37 +           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
   31.38 +        <path
   31.39 +           id="path3204"
   31.40 +           d="M -1.2866832,-3.9585227 L 3.0617053,0"
   31.41 +           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
   31.42 +        <path
   31.43 +           id="path3206"
   31.44 +           d="M 1.3053582,-3.9585227 L 5.6537466,0"
   31.45 +           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
   31.46 +        <path
   31.47 +           id="path3208"
   31.48 +           d="M -3.8048674,4.1775838 L 0.54352094,0.21974226"
   31.49 +           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
   31.50 +        <path
   31.51 +           id="path3210"
   31.52 +           d="M -1.2866832,4.1775838 L 3.0617053,0.21974226"
   31.53 +           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
   31.54 +        <path
   31.55 +           id="path3212"
   31.56 +           d="M 1.3053582,4.1775838 L 5.6537466,0.21974226"
   31.57 +           style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
   31.58 +      </g>
   31.59 +    </marker>
   31.60 +    <marker
   31.61 +       inkscape:stockid="EmptyTriangleInM"
   31.62 +       orient="auto"
   31.63 +       refY="0"
   31.64 +       refX="0"
   31.65 +       id="EmptyTriangleInM"
   31.66 +       style="overflow:visible">
   31.67 +      <path
   31.68 +         id="path3319"
   31.69 +         d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
   31.70 +         style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
   31.71 +         transform="matrix(-0.4,0,0,-0.4,1.8,0)" />
   31.72 +    </marker>
   31.73 +    <marker
   31.74 +       inkscape:stockid="TriangleOutL"
   31.75 +       orient="auto"
   31.76 +       refY="0"
   31.77 +       refX="0"
   31.78 +       id="TriangleOutL"
   31.79 +       style="overflow:visible">
   31.80 +      <path
   31.81 +         id="path3307"
   31.82 +         d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
   31.83 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
   31.84 +         transform="scale(0.8,0.8)" />
   31.85 +    </marker>
   31.86 +    <marker
   31.87 +       inkscape:stockid="Arrow2Lend"
   31.88 +       orient="auto"
   31.89 +       refY="0"
   31.90 +       refX="0"
   31.91 +       id="Arrow2Lend"
   31.92 +       style="overflow:visible">
   31.93 +      <path
   31.94 +         id="path3185"
   31.95 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
   31.96 +         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
   31.97 +         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
   31.98 +    </marker>
   31.99 +    <marker
  31.100 +       inkscape:stockid="Arrow1Lend"
  31.101 +       orient="auto"
  31.102 +       refY="0"
  31.103 +       refX="0"
  31.104 +       id="Arrow1Lend"
  31.105 +       style="overflow:visible">
  31.106 +      <path
  31.107 +         id="path3167"
  31.108 +         d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
  31.109 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
  31.110 +         transform="matrix(-0.8,0,0,-0.8,-10,0)" />
  31.111 +    </marker>
  31.112 +    <inkscape:perspective
  31.113 +       sodipodi:type="inkscape:persp3d"
  31.114 +       inkscape:vp_x="0 : 526.18109 : 1"
  31.115 +       inkscape:vp_y="0 : 1000 : 0"
  31.116 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
  31.117 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
  31.118 +       id="perspective10" />
  31.119 +  </defs>
  31.120 +  <sodipodi:namedview
  31.121 +     id="base"
  31.122 +     pagecolor="#ffffff"
  31.123 +     bordercolor="#666666"
  31.124 +     borderopacity="1.0"
  31.125 +     gridtolerance="10000"
  31.126 +     guidetolerance="10"
  31.127 +     objecttolerance="10"
  31.128 +     inkscape:pageopacity="0.0"
  31.129 +     inkscape:pageshadow="2"
  31.130 +     inkscape:zoom="2.7472514"
  31.131 +     inkscape:cx="373.44496"
  31.132 +     inkscape:cy="137.33751"
  31.133 +     inkscape:document-units="px"
  31.134 +     inkscape:current-layer="layer1"
  31.135 +     showgrid="false"
  31.136 +     inkscape:window-width="1920"
  31.137 +     inkscape:window-height="1148"
  31.138 +     inkscape:window-x="0"
  31.139 +     inkscape:window-y="0" />
  31.140 +  <metadata
  31.141 +     id="metadata7">
  31.142 +    <rdf:RDF>
  31.143 +      <cc:Work
  31.144 +         rdf:about="">
  31.145 +        <dc:format>image/svg+xml</dc:format>
  31.146 +        <dc:type
  31.147 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  31.148 +      </cc:Work>
  31.149 +    </rdf:RDF>
  31.150 +  </metadata>
  31.151 +  <g
  31.152 +     inkscape:label="Layer 1"
  31.153 +     inkscape:groupmode="layer"
  31.154 +     id="layer1"
  31.155 +     transform="translate(-158.3768,-175.69846)">
  31.156 +    <rect
  31.157 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.75988537;stroke-linejoin:miter;stroke-opacity:1"
  31.158 +       id="rect2383"
  31.159 +       width="100.24011"
  31.160 +       height="51.020912"
  31.161 +       x="158.75674"
  31.162 +       y="176.68401" />
  31.163 +    <text
  31.164 +       xml:space="preserve"
  31.165 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.166 +       x="163.14653"
  31.167 +       y="190.70164"
  31.168 +       id="text3939"><tspan
  31.169 +         sodipodi:role="line"
  31.170 +         id="tspan3941"
  31.171 +         x="163.14653"
  31.172 +         y="190.70164">Spezifikation</tspan><tspan
  31.173 +         sodipodi:role="line"
  31.174 +         x="163.14653"
  31.175 +         y="205.70164"
  31.176 +         id="tspan3943">der Sicherheits-</tspan><tspan
  31.177 +         sodipodi:role="line"
  31.178 +         x="163.14653"
  31.179 +         y="220.70164"
  31.180 +         id="tspan3945">anforderungen</tspan></text>
  31.181 +    <text
  31.182 +       xml:space="preserve"
  31.183 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.184 +       x="468.56918"
  31.185 +       y="200.5705"
  31.186 +       id="text3947"><tspan
  31.187 +         sodipodi:role="line"
  31.188 +         id="tspan3949"
  31.189 +         x="468.56918"
  31.190 +         y="200.5705">Validierungs-</tspan><tspan
  31.191 +         sodipodi:role="line"
  31.192 +         x="468.56918"
  31.193 +         y="215.5705"
  31.194 +         id="tspan4037">tests</tspan></text>
  31.195 +    <text
  31.196 +       xml:space="preserve"
  31.197 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.198 +       x="201.83914"
  31.199 +       y="258.53488"
  31.200 +       id="text3951"><tspan
  31.201 +         sodipodi:role="line"
  31.202 +         id="tspan3953"
  31.203 +         x="201.83914"
  31.204 +         y="258.53488">Software-</tspan><tspan
  31.205 +         sodipodi:role="line"
  31.206 +         x="201.83914"
  31.207 +         y="273.53488"
  31.208 +         id="tspan3955">architektur</tspan></text>
  31.209 +    <text
  31.210 +       xml:space="preserve"
  31.211 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.212 +       x="221.50616"
  31.213 +       y="313.20306"
  31.214 +       id="text3957"><tspan
  31.215 +         sodipodi:role="line"
  31.216 +         id="tspan3959"
  31.217 +         x="221.50616"
  31.218 +         y="313.20306">Software-</tspan><tspan
  31.219 +         sodipodi:role="line"
  31.220 +         x="221.50616"
  31.221 +         y="328.20306"
  31.222 +         id="tspan3961">systemdesign</tspan></text>
  31.223 +    <text
  31.224 +       xml:space="preserve"
  31.225 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.226 +       x="240.31215"
  31.227 +       y="366.73233"
  31.228 +       id="text3963"><tspan
  31.229 +         sodipodi:role="line"
  31.230 +         id="tspan3965"
  31.231 +         x="240.31215"
  31.232 +         y="366.73233">Software-</tspan><tspan
  31.233 +         sodipodi:role="line"
  31.234 +         x="240.31215"
  31.235 +         y="381.73233"
  31.236 +         id="tspan3967">moduldesign</tspan></text>
  31.237 +    <text
  31.238 +       xml:space="preserve"
  31.239 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.240 +       x="320.03659"
  31.241 +       y="432.78967"
  31.242 +       id="text3969"><tspan
  31.243 +         sodipodi:role="line"
  31.244 +         id="tspan3971"
  31.245 +         x="320.03659"
  31.246 +         y="432.78967">Entwicklung</tspan><tspan
  31.247 +         sodipodi:role="line"
  31.248 +         x="320.03659"
  31.249 +         y="447.78967"
  31.250 +         id="tspan3973" /></text>
  31.251 +    <text
  31.252 +       xml:space="preserve"
  31.253 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.254 +       x="392.92743"
  31.255 +       y="375.84366"
  31.256 +       id="text3975"><tspan
  31.257 +         sodipodi:role="line"
  31.258 +         x="392.92743"
  31.259 +         y="375.84366"
  31.260 +         id="tspan3979">Modultests</tspan></text>
  31.261 +    <text
  31.262 +       xml:space="preserve"
  31.263 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.264 +       x="397.78851"
  31.265 +       y="313.20306"
  31.266 +       id="text3983"><tspan
  31.267 +         sodipodi:role="line"
  31.268 +         x="397.78851"
  31.269 +         y="313.20306"
  31.270 +         id="tspan3987">Modul-</tspan><tspan
  31.271 +         sodipodi:role="line"
  31.272 +         x="397.78851"
  31.273 +         y="328.20306"
  31.274 +         id="tspan3991">integrationstests</tspan></text>
  31.275 +    <text
  31.276 +       xml:space="preserve"
  31.277 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.278 +       x="421.15018"
  31.279 +       y="257.39597"
  31.280 +       id="text3993"><tspan
  31.281 +         sodipodi:role="line"
  31.282 +         id="tspan3995"
  31.283 +         x="421.15018"
  31.284 +         y="257.39597">Komponenten-</tspan><tspan
  31.285 +         sodipodi:role="line"
  31.286 +         x="421.15018"
  31.287 +         y="272.39597"
  31.288 +         id="tspan3999">integrationstests</tspan></text>
  31.289 +    <rect
  31.290 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-linejoin:miter;stroke-opacity:1"
  31.291 +       id="rect4015"
  31.292 +       width="113.89201"
  31.293 +       height="41.001125"
  31.294 +       x="415.73343"
  31.295 +       y="240.31215" />
  31.296 +    <rect
  31.297 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-linejoin:miter;stroke-opacity:1"
  31.298 +       id="rect4019"
  31.299 +       width="113.89201"
  31.300 +       height="41.001125"
  31.301 +       x="180.009"
  31.302 +       y="240.31215" />
  31.303 +    <rect
  31.304 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-linejoin:miter;stroke-opacity:1"
  31.305 +       id="rect4021"
  31.306 +       width="113.89201"
  31.307 +       height="41.001125"
  31.308 +       x="202.14455"
  31.309 +       y="296.11923" />
  31.310 +    <rect
  31.311 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-linejoin:miter;stroke-opacity:1"
  31.312 +       id="rect4023"
  31.313 +       width="113.89201"
  31.314 +       height="41.001125"
  31.315 +       x="222.08943"
  31.316 +       y="350.78741" />
  31.317 +    <rect
  31.318 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-linejoin:miter;stroke-opacity:1"
  31.319 +       id="rect4025"
  31.320 +       width="113.89201"
  31.321 +       height="41.001125"
  31.322 +       x="371.28793"
  31.323 +       y="350.78741" />
  31.324 +    <rect
  31.325 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-linejoin:miter;stroke-opacity:1"
  31.326 +       id="rect4027"
  31.327 +       width="113.89201"
  31.328 +       height="41.001125"
  31.329 +       x="392.09393"
  31.330 +       y="296.11923" />
  31.331 +    <rect
  31.332 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-linejoin:miter;stroke-opacity:1"
  31.333 +       id="rect4029"
  31.334 +       width="148.05962"
  31.335 +       height="44.417885"
  31.336 +       x="280.17435"
  31.337 +       y="405.4556" />
  31.338 +    <rect
  31.339 +       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.75988537;stroke-linejoin:miter;stroke-opacity:1"
  31.340 +       id="rect4035"
  31.341 +       width="100.24011"
  31.342 +       height="51.020912"
  31.343 +       x="454.80515"
  31.344 +       y="176.0784" />
  31.345 +    <path
  31.346 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2.79999995;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.347 +       d="M 446.17884,199.31102 C 269.64623,199.31102 267.36839,199.31102 267.36839,199.31102"
  31.348 +       id="path4039" />
  31.349 +    <text
  31.350 +       xml:space="preserve"
  31.351 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.352 +       x="330.03656"
  31.353 +       y="191.39371"
  31.354 +       id="text4564"><tspan
  31.355 +         sodipodi:role="line"
  31.356 +         id="tspan4566"
  31.357 +         x="330.03656"
  31.358 +         y="191.39371">Validierung</tspan></text>
  31.359 +    <path
  31.360 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.83672917;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-mid:none;marker-end:url(#TriangleOutL);stroke-miterlimit:3.70000005;stroke-dasharray:14.69383297, 3.67345824, 1.83672912, 3.67345824;stroke-dashoffset:13.7754686;stroke-opacity:1"
  31.361 +       d="M 563.58381,198.1721 C 601.69579,198.1721 602.47359,198.1721 602.47359,198.1721"
  31.362 +       id="path5099" />
  31.363 +    <text
  31.364 +       xml:space="preserve"
  31.365 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.366 +       x="621.79529"
  31.367 +       y="194.75534"
  31.368 +       id="text8956"><tspan
  31.369 +         sodipodi:role="line"
  31.370 +         id="tspan8958"
  31.371 +         x="621.79529"
  31.372 +         y="194.75534">Validierte</tspan><tspan
  31.373 +         sodipodi:role="line"
  31.374 +         x="621.79529"
  31.375 +         y="209.75534"
  31.376 +         id="tspan8960">Software</tspan></text>
  31.377 +    <path
  31.378 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  31.379 +       d="M 164.38047,228.00641 C 164.38047,259.90113 164.73096,260.60211 164.73096,260.60211"
  31.380 +       id="path8968" />
  31.381 +    <path
  31.382 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.745184;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.383 +       d="M 164.33561,260.25162 C 175.51407,260.25162 175.70353,260.25162 175.70353,260.25162"
  31.384 +       id="path11767" />
  31.385 +    <path
  31.386 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.387 +       d="M 186.50919,316.68073 C 197.06625,316.68073 197.24518,316.68073 197.24518,316.68073"
  31.388 +       id="path11769" />
  31.389 +    <path
  31.390 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.391 +       d="M 208.56175,372.05837 C 217.46715,372.05837 217.61808,372.05837 217.61808,372.05837"
  31.392 +       id="path11771" />
  31.393 +    <path
  31.394 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.395 +       d="M 253.83833,426.59044 C 274.64101,426.59044 274.99359,426.59044 274.99359,426.59044"
  31.396 +       id="path11773" />
  31.397 +    <path
  31.398 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.399 +       d="M 463.70012,426.57729 C 463.70012,398.2628 463.70012,397.78291 463.70012,397.78291"
  31.400 +       id="path11775" />
  31.401 +    <path
  31.402 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.403 +       d="M 496.9968,370.19489 C 496.9968,342.75902 496.9968,342.29402 496.9968,342.29402"
  31.404 +       id="path11777" />
  31.405 +    <path
  31.406 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.407 +       d="M 521.18071,315.51087 C 521.18071,287.19638 521.18071,286.71649 521.18071,286.71649"
  31.408 +       id="path11779" />
  31.409 +    <path
  31.410 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.411 +       d="M 546.0656,261.88568 C 546.0656,233.57119 546.0656,233.0913 546.0656,233.0913"
  31.412 +       id="path11781" />
  31.413 +    <path
  31.414 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.01065266px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  31.415 +       d="M 186.642,282.16267 C 186.642,315.76173 186.98183,316.50017 186.98183,316.50017"
  31.416 +       id="path11783" />
  31.417 +    <path
  31.418 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0147239px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  31.419 +       d="M 208.37449,336.84135 C 208.37449,371.12234 208.71026,371.87577 208.71026,371.87577"
  31.420 +       id="path11785" />
  31.421 +    <path
  31.422 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00218713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  31.423 +       d="M 253.93211,393.16125 C 253.93211,425.39679 254.28042,426.10526 254.28042,426.10526"
  31.424 +       id="path11787" />
  31.425 +    <path
  31.426 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0147239px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  31.427 +       d="M 463.5175,426.56715 C 429.23651,426.56715 428.48308,426.90292 428.48308,426.90292"
  31.428 +       id="path11789" />
  31.429 +    <path
  31.430 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.431 +       d="M 497.11057,370.3674 C 485.57045,370.3674 485.31682,370.94543 485.31682,370.94543"
  31.432 +       id="path11791" />
  31.433 +    <path
  31.434 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.07925975;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.435 +       d="M 521.78059,315.37988 C 506.20258,315.37988 505.8602,315.87865 505.8602,315.87865"
  31.436 +       id="path11795" />
  31.437 +    <path
  31.438 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.1057142;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.439 +       d="M 547.00273,262.46891 C 529.73584,262.46891 529.35634,262.94122 529.35634,262.94122"
  31.440 +       id="path11797" />
  31.441 +    <path
  31.442 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5868631;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:0.5868631, 1.1737262;stroke-dashoffset:0;stroke-opacity:1"
  31.443 +       d="M 226.41744,239.91503 C 226.41744,230.95322 226.41744,230.80133 226.41744,230.80133"
  31.444 +       id="path11799" />
  31.445 +    <path
  31.446 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.61790287;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:0.61790288, 1.23580575;stroke-dashoffset:0;stroke-opacity:1"
  31.447 +       d="M 248.14791,294.88773 C 248.14791,284.88673 248.14791,284.71723 248.14791,284.71723"
  31.448 +       id="path11801" />
  31.449 +    <path
  31.450 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.59480089;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:0.59480091, 1.18960182;stroke-dashoffset:0;stroke-opacity:1"
  31.451 +       d="M 277.2387,349.92643 C 277.2387,340.70496 277.2387,340.54867 277.2387,340.54867"
  31.452 +       id="path11803" />
  31.453 +    <path
  31.454 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5868631;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:0.5868631, 1.1737262;stroke-dashoffset:0;stroke-opacity:1"
  31.455 +       d="M 315.09177,404.25656 C 315.09177,395.29475 315.09177,395.14286 315.09177,395.14286"
  31.456 +       id="path11805" />
  31.457 +    <path
  31.458 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:1, 2;stroke-dashoffset:0;stroke-opacity:1"
  31.459 +       d="M 370.22113,372.05838 C 342.47237,372.05838 342.00207,372.05838 342.00207,372.05838"
  31.460 +       id="path11807" />
  31.461 +    <path
  31.462 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.02312589;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:1.02312588, 2.04625176;stroke-dashoffset:0;stroke-opacity:1"
  31.463 +       d="M 390.49292,315.97975 C 323.11357,315.97975 321.9716,315.97975 321.9716,315.97975"
  31.464 +       id="path11809" />
  31.465 +    <path
  31.466 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00696158;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:1.00696161, 2.01392322;stroke-dashoffset:0;stroke-opacity:1"
  31.467 +       d="M 414.66451,261.30309 C 302.00921,261.30309 300.09989,261.30309 300.09989,261.30309"
  31.468 +       id="path11811" />
  31.469 +    <path
  31.470 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
  31.471 +       d="M 540.07704,395.04545 C 561.74556,395.04545 562.11281,395.04545 562.11281,395.04545"
  31.472 +       id="path11853" />
  31.473 +    <path
  31.474 +       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutL);stroke-miterlimit:4;stroke-dasharray:1, 2;stroke-dashoffset:0;stroke-opacity:1"
  31.475 +       d="M 540.12347,409.04545 C 562.11543,409.04545 562.48816,409.04545 562.48816,409.04545"
  31.476 +       id="path11855" />
  31.477 +    <text
  31.478 +       xml:space="preserve"
  31.479 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.480 +       x="570.42499"
  31.481 +       y="398.68546"
  31.482 +       id="text11857"><tspan
  31.483 +         sodipodi:role="line"
  31.484 +         id="tspan11859"
  31.485 +         x="570.42499"
  31.486 +         y="398.68546">Output</tspan></text>
  31.487 +    <text
  31.488 +       xml:space="preserve"
  31.489 +       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
  31.490 +       x="571.51703"
  31.491 +       y="413.24545"
  31.492 +       id="text11861"><tspan
  31.493 +         sodipodi:role="line"
  31.494 +         id="tspan11863"
  31.495 +         x="571.51703"
  31.496 +         y="413.24545">Verifikation</tspan></text>
  31.497 +    <rect
  31.498 +       style="opacity:0.57706095;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.29999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
  31.499 +       id="rect11865"
  31.500 +       width="117.93606"
  31.501 +       height="47.320023"
  31.502 +       x="531.66095"
  31.503 +       y="378.12146" />
  31.504 +  </g>
  31.505 +</svg>
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/paper/abstract.tex	Fri Jun 04 15:05:34 2010 +0200
    32.3 @@ -0,0 +1,7 @@
    32.4 +\itshape
    32.5 +\renewcommand\abstractname{Abstract} 
    32.6 +\begin{abstract}
    32.7 +Mit zunehmender Automatisierung von Sicherheitsprozessen wächst die Komplexität der Systeme und deren Test- und Zertifizierungsmaßnahmen. Programmierbare, elektronische Systeme werden zunehmend zur Realisierung von Sicherheitstechnik eingesetzt, dafür sind angepasste Verfahren notwendig, um die Korrektheit und Sicherheit der Komponenten zu bewerten. Der IEC 61508 Standard bietet eine Grundlage für die Entwicklung und Bewertung von sicherheitskritischer Hard- und Software. Dieser Text beschäftigt sich mit den notwendigen Maßnahmen für eine erfolgreiche Verifikation der Validierung einer Software nach Safety Integrity Level 3. Dies kann als Grundlage dienen zur Entwicklung eines standardkonformen Testphasenplans und Entscheidungshilfen bieten bei der Auswahl einer Strategie zur Validierung eines Softwaremoduls.
    32.8 +\end{abstract}
    32.9 +\normalfont
   32.10 +
    33.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.2 +++ b/paper/compile	Fri Jun 04 15:05:34 2010 +0200
    33.3 @@ -0,0 +1,6 @@
    33.4 +#!/bin/bash
    33.5 +pdflatex seminar2;
    33.6 +pdflatex seminar2;
    33.7 +bibtex seminar2;
    33.8 +pdflatex seminar2;
    33.9 +evince seminar2.pdf
    34.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.2 +++ b/paper/content.tex	Fri Jun 04 15:05:34 2010 +0200
    34.3 @@ -0,0 +1,206 @@
    34.4 +\thispagestyle{empty}
    34.5 +\section{Einführung}
    34.6 +Mit den höheren Ansprüchen an Sicherheit, steigen auch die Kosten für deren Erfüllung. Dabei haben die Personalkosten einen erheblichen Anteil daran. Durch die Automatisierung der Sicherheitsbereitstellung, werden die Prozesse wirtschaftlicher und dynamischer z.B. bezüglich des Einsatzortes oder des Umfangs. Damit wächst gleichzeitig auch die Komplexität der Systeme, die zunehmend durch programmierbare, elektronische Systeme realisiert werden. Zur Gewährleistung der Sicherheit von sicherheitstechnischen Komponenten wird u.a. der IEC\footnote{International Electrotechnical Commission} 61508 Standard verwendet, der die notwendigen Schritte in jeder Phase eines Projekts beschreibt, die zur Zertifizierung notwendig sind.
    34.7 +
    34.8 +IEC 61508 gilt als eine allgemeine Norm für die Planung, Entwicklung, Validieren, Erweiterung, Instandhaltung und Beseitigung von E/E/PE\footnote{elektrische, elektronische und programmierbar elektronische (Systeme)} Systemen mit Sicherheitsfunktion. Er wird genau dann eingesetzt, wenn kein Sektorstandard, wie z.B. IEC 61511 für die Prozessindustrie oder IEC 50129 für Bahnanwendungen, vorliegt. Eine Ausnahme sind Subsysteme, die zwar in einem Gesamtsystem einbettet sind mit geltendem Sektorstandard, jedoch als isolierte Einzelkomponenten sektorunspezifische Funktionalität realisieren. Diese werden ebenfalls nach dem IEC 61508 realisiert, sofern sie eine sicherheitskritische Funktion darstellen.
    34.9 +
   34.10 +\section{Fehlerursachen}
   34.11 +Einfach ist sicher. Steigende Anforderungen an heutige Elektronik führt zu komplexen Entwürfen und somit zu größeren potentiellen Fehlerquellen. Es gilt das Problem in geeignet proportionierte, primitive Probleme zu zerlegen und diese durch modulare Bausteine zu lösen. Sicherheit durch Einfachheit bedeutet dabei nicht nur der modulare Aufbau eines Systems durch verlässliche Komponenten, sondern ist auch ein sozialer Prozess, der die Planung des Systems, die Wahl der Technologie, die Art der Dokumentation und des Entwicklungsprozesse betrifft.
   34.12 +
   34.13 +Wenn man von der Komplexität einer Software spricht, unterscheidet man unter der strukturellen und kognitiven Komplexität \cite{silcalc}. Der strukturelle Aufbau lässt sich durch Metriken wie McCabe Cylomatic Complexity oder Halstead beurteilen und anhand dessen die möglichen komplexen und somit unsicheren Stellen lokalisieren und beseitigen. Zur Beurteilung der kognitiven Komplexität hingegen stehen keine Metriken zur Verfügung, diese beziehen sich auf die Verständlichkeit einer Software unter Berücksichtigung der durchschnittlichen kognitiven Fähigkeiten eines Menschen, wie z.B. der Kurzzeitgedächtnisleistung. Denn auch ein korrektes Programm ist auf lange Sicht unsicher, wenn es nicht problemlos von verschiedenen Entwicklern gewartet und angepasst werden kann.
   34.14 +
   34.15 +Laut \cite{silcalc} entstehen ca. 44\% aller Unfälle in Verbindung mit Softwarefehler durch ungenügende Spezifizierung. Dabei kann der Begriff Fehler irreführen, denn in den meisten Fällen funktioniert die Software fehlerfrei, die Ursache liegt bereits im falschen Design. Aufgrund von unzureichendem Verständnis für die Einsatzumgebung und den Zweck der Software entstehen falsche Annahmen und Anforderungen, die bei Funktionstests nicht als Fehler erkannt werden.
   34.16 +
   34.17 +\subsection{Techniken zur Vermeidung von Fehlern}
   34.18 +\cite{iec61508} gibt zur Vermeidung von Fehlern und falschen Entscheidungen eine Reihe von Techniken vor. Für SIL\footnote{Safety Integrity Level} 3 gibt es folgende Richtlinien für das Vermeiden von Fehlentwicklungen während der 
   34.19 +
   34.20 +Anforderungsspezifikation:
   34.21 +
   34.22 +\begin{enumerate}
   34.23 +\item Ein korrekt ausgeführtes Projektmanagement.
   34.24 +\item Sorgfältige Dokumentation.
   34.25 +\item Zur Reduzierung der Komplexität bei der Risikobewertung sollen sicherheitstechnische von nicht sicherheitsrelevanten Funktionen isoliert betrachtet werden. Letztere werden nicht vom Standard\footnote{IEC 61508} betrachtet und benötigen keine Zertifizierung.
   34.26 +\item Die strukturierten Spezifikationsdokumente müssen zur Abnahme inspiziert werden. Hierbei reichen semi-formale Methoden aus zur Evaluierung der Korrektheit der Spezifikation.
   34.27 +\item Zur weiteren Einschränkung möglicher Fehlerquellen während der Anforderungsspezifikation stehen noch die Methoden der Checklistenführung für ausstehende/abgearbeitete Aufgaben, computergestützte Spezifizierungswerkzeuge und formale Beweise zur Wahl. Hierbei ist das Anwenden einer Methode ausreichend.
   34.28 +\end{enumerate}
   34.29 +
   34.30 +\section{Allgemeine Anforderungen}
   34.31 +
   34.32 +\subsection{Dokumentenführung}
   34.33 +\cite{iec61508} beschreibt eine Reihe von Anforderungen an jede Phase eines Produktlebenszyklus. Die Wahl eines passenden Prozessmodells ist entscheidend, um später den dokumentarischen Nachweis für den erfolgreichen Abschluss einer Phase zu erbringen. 
   34.34 +Ein geeignetes Prozessmodell ist das V-Modell (Abb. \ref{fig:v_modell}), welches die Spezifikation klar von der Realisierung trennt und entsprechend dokumentiert. 
   34.35 +
   34.36 +\begin{figure*}
   34.37 +\begin{center}
   34.38 +\includegraphics[width=11.5cm]{v_modell.pdf}
   34.39 +\caption{Softwaresicherheitsintegrität und die Entwicklungsphasen nach dem V-Modell (Quelle: \cite{iec61508} Teil 3 S. 27)}
   34.40 +\label{fig:v_modell}
   34.41 +\end{center}
   34.42 +\end{figure*}
   34.43 +
   34.44 +Die Dokumente müssen versioniert sein und in einer erkennbaren Dokumentenstruktur untergebracht sein. Bei komplexen Systemen kann die Dokumentenstruktur nach Zielgruppen orientiert sein. Zu jedem Zeitpunkt in einem Projekt, muss gewährleistet werden, dass jede Zielgruppe Zugang zu entsprechenden Dokumenten erhält.
   34.45 +
   34.46 +\subsection{Middleware und Werkzeuge}
   34.47 +Beim Einsatz von Middleware jeglicher Art, ist der Einsatz stets zu rechtfertigen. Sobald Module von dritter Hand direkt an einer Sicherheitsfunktion beteiligt sind, sind diese ebenfalls der Zertifizierung unterworfen und müssen somit bei der Verifizierung berücksichtigt werden.
   34.48 +
   34.49 +Bei eingesetzten Compilern muss ein Nachweis der Konformität zu dem entsprechenden Standard erstellt werden. Dieser wird für die meisten Programmiersprachen durch sog. Validierung Suites, wie z.B. Plum-Hall Validierung Suite für C und C++, erbracht \cite{cert_compiler}.
   34.50 +
   34.51 +Wird modellgetriebene Entwicklung praktiziert, müssen entsprechend eingesetzte Code-Generatoren zertifiziert sein.
   34.52 +
   34.53 +\subsection{Personalkompetenz}
   34.54 +Involvierte Person in einer oder mehreren Aktivitäten im Entwicklungsprozess müssen entsprechendes Fachwissen, Erfahrung und Qualifikation im relevanten Tätigkeitsfeld vorweisen. Sowohl Managementfunktionen als auch technische Leistungen müssen mit entsprechend geeignetem Personal besetzt sein.
   34.55 +
   34.56 +Die Ansprüche an das Personal steigen mit der Rigorosität des Systems und der Einstufung des Safety Integrity Levels. Mit SIL 3 ist somit wichtig Personen mit einschlägiger Erfahrung zu wählen, die sie neben hoher Kompetenz in der Softwareentwicklung mitbringen. Sie haben auch entsprechende Kenntnisse im Umgang mit den eingesetzten Werkzeugen, in Safety Engineering und auch dem regulatorischen Framework vorzuweisen.
   34.57 +
   34.58 +\cite{personal} beschreibt ein Kompentenzmodell zur Evaluierung möglicher Kandidaten. Man allokiert für jede Sicherheitsfunktion bis zu fünfzehn zielorientierte Kompetenzen, die am wichtigsten sind für eine erfolgreiche Ausführung der sicherheitsrelevanten Funktion. Die Einteilung wird erleichtert, indem man die Kompetenzen in aufgabenspezifische und funktionsabhängige teilt. Aufgabenspezifische Fähigkeiten sind meist technischer Natur, während funktionale Kompetenzen sich auf das Verständnis und Verhalten beziehen \cite{personal}.
   34.59 +
   34.60 +\section{Analyse}
   34.61 +
   34.62 +\subsection{Gefahrenanalyse (Hazard Analysis)}
   34.63 +Die Gefahrenanalyse soll - laut Standard - die Funktionen identifizieren, die zur Sicherung aller möglichen gefährlichen Ereignisse geeignet sind. Solch eine Funktion wird auch als Sicherheitsfunktion bezeichnet. Dabei ist das vorsorgliche Vermeiden des gefahrbringenden Ereignisses, durch eine Umgestaltung des Systems, keine Instanz von funktionaler Sicherheit, ist aber ebenfalls als Auflösung eines Hazards geeignet.
   34.64 +
   34.65 +\subsubsection{Quantitative Determination des SIL}
   34.66 +\cite{basf}, \cite{iec61508} beschreiben eine Möglichkeit der Klassifizierung von Risiken durch den Einsatz einer Risikomatrix (Abb. \ref{fig:risk_class}). Die Gegenüberstellung von Schadensausmaß und Eintrittswahrscheinlichkeit eines Hazards bildet die Entscheidungsgrundlage für Maßnahmen zur Beseitigung oder Entschärfung einer Gefahr. Besteht Todesgefahr oder Gefahr für Schwerverletzte bei relativ hohen und mittleren Eintrittswahrscheinlichkeiten, so ist die Reduzierung der Gefahr durch eine Sicherheitsfunktion nach SIL 3 möglich \cite{basf}. Zuvor ist zu evaluieren, ob eine Beseitigung der Gefahr durch Verfahrens- oder Designänderung nicht tragbar ist.
   34.67 +Die Definitionsbereiche der Einstufungen sind sektorspezifisch.
   34.68 +
   34.69 +\begin{figure*}
   34.70 +\begin{center}
   34.71 +\includegraphics[width=10cm]{risk_class.pdf}
   34.72 +\caption{Beispiel für Risikoklassifizierung von Unfällen (Quelle: \cite{iec61508} Teil 5 S. 35)}
   34.73 +\label{fig:risk_class}
   34.74 +\end{center}
   34.75 +\end{figure*}
   34.76 +
   34.77 +Die Risikomatrix soll nun mit Risikoklassen belegt werden, die als Vorgabe für eine passende Lösungsstrategie dienen. Eine mögliche Konzeption der Klassen zeigt Abb. \ref{fig:risk_class2}. So sieht nach \cite{basf} eine beispielhafte Risikoklasseneinteilung, in etwas vereinfachter Form, aus:
   34.78 +
   34.79 +\begin{description}
   34.80 +\item{Klasse 1}
   34.81 +Nicht tolerierbares Risiko. Verfahrens- oder Entwurfsänderung notwendig.
   34.82 +\item{Klasse 2}
   34.83 +Nicht tolerierbares Risiko. Verfahrens- oder Entwurfsänderung notwendig, oder eine Schutzeinrichtung nach SIL 3.
   34.84 +\item{Klasse 3}
   34.85 +Mittleres Risiko. Verfahrens- oder Entwurfsänderung notwendig oder eine Schutzeinrichtung nach SIL 2.
   34.86 +\item{Klasse 4}
   34.87 +Geringes Risiko. Überwachungs-einrichtung, dokumentierte Prüfung und organisatorische Maßnahmen von guter Qualität ausreichend.
   34.88 +\item{Klasse 5}
   34.89 +Tolerierbares Risiko. Keine Maßnahmen notwendig.
   34.90 +\end{description}
   34.91 +
   34.92 +\begin{figure*}
   34.93 +\begin{center}
   34.94 +\includegraphics[width=11.5cm]{risk_class2.pdf}
   34.95 +\caption{Beispiel für Risikoklasseninterpretation (Quelle: \cite{iec61508} Teil 5 S. 35)}
   34.96 +\label{fig:risk_class2}
   34.97 +\end{center}
   34.98 +\end{figure*}
   34.99 +
  34.100 +Nach der Bewertung der Gefährdungen auf dem EUC, ermittelt man die notwendigen Risikoreduktionen um ein tragbares Risiko zu erreichen. Die Maßnahmen zur Reduktion der Risiken werden im folgenden Schritt in Sicherheitsfunktionen allokiert.
  34.101 +
  34.102 +\subsubsection{Qualitative Determination des SIL}
  34.103 +\cite{iec61508} Teil 5 beschreibt zwei Methoden zur qualitativen Bestimmung des SIL. Die Maßnahmen sind insbesondere dann anzuwenden, wenn die Ereignisfrequenz einer Gefährdung nicht quantifizierbar ist.
  34.104 +
  34.105 +\subsection{Risikoeinstufung (Risk Assessment)}
  34.106 +Der Grad für tragbares Risiko wird durch den Standard mit Hilfe von statistischen Tabellen in vier Kategorien klassifiziert. SIL 3 bildet dabei die zweithöchste Einstufung. Vor der Spezifizierung des SIL, wird iterativ eine Risikoreduktion über das Gesamtsystem durchgeführt, unter Beachtung der Sicherheitsintegritätsallokationen der Sicherheitsfunktionen, die auf das System wirken und von äußeren Faktoren.
  34.107 +
  34.108 +\begin{figure}[H]
  34.109 +\centering
  34.110 +\includegraphics[width=7.5cm]{sil_low.pdf}
  34.111 +\caption{Safety Integrity Levels: Zielausfallrate for Sicherheitsfunktion in niederfrequenten Bedarfsmodus (Quelle: \cite{iec61508} Teil 1 S. 65)}
  34.112 +\label{fig:sil_low}
  34.113 +\end{figure}
  34.114 +
  34.115 +Bei der Zuweisung eines Sicherheitsintegritätsgrades wird statistisch zwischen zwei Typen von Sicherheitsbereitstellung unterschieden. Der sog. Low demand mode of operation (Abb. \ref{fig:sil_low}) bietet eine statistische Verteilung für Sicherheitsfunktionen, die selten und bei Bedarf aktiviert werden. Die Verteilung bezieht sich dabei auf die durchschnittliche Wahrscheinlichkeit einer Fehlfunktion bei Ausführung, für SIL 3 liegt diese bei $10^{-4}$ bis $10^{-3}$. Für Funktionen im Hochverfügbarkeitsszenario beschreibt eine weitere Tabelle die statistische Verteilung für die Wahrscheinlichkeit eines gefährlichen Ausfalls pro Stunde, für SIL 3 liegt das bei $10^{-8}$ bis $10^{-7}$ (Abb. \ref{fig:sil_high}).
  34.116 +Ein Verfahren zur einheitlichen Spezifizierung des SIL wird in \cite{unified} mit Hilfe einer zeitabhängigen Funktion vorgeschlagen.
  34.117 +
  34.118 +\begin{figure}[H]
  34.119 +\centering
  34.120 +\includegraphics[width=7.5cm]{sil_high.pdf}
  34.121 +\caption{Safety Integrity Levels: Zielausfallrate for Sicherheitsfunktion in Hochverfügbarkeitsmodus (Quelle: \cite{iec61508} Teil 1 S. 65)}
  34.122 +\label{fig:sil_high}
  34.123 +\end{figure}
  34.124 +
  34.125 +\section{Spezifikation}
  34.126 +Ziel dieser Voraussetzung ist der Entwurf eines Plans zum Bewerkstelligen der Validierung eines sicherheitsbezogenen Systems.
  34.127 +Inhalte des Plans setzen fest den Zeitpunkt der Validierung, die Verantwortlichen der Durchführung, die Operationsmodi des EUC\footnote{Equipment Under Control} im Zusammenhang mit dem sicherheitsbezogenen System, die Spezifikation der Sicherheitsfunktionen für jeden Operationsmodus des Zielsystems, die Validierungsstrategie, die Prozeduren zur Verifikation der Konformität der Sicherheitsfunktionen mit den Spezifikationen der Risikoanalyse und der Risikoeinstufung, die Anforderungen an die Testumgebung, die Erfolgs- und Misserfolgskriterien und die Prozeduren der Resultatsbewertungen.
  34.128 +
  34.129 +Resultierende Dokumente daraus können sein der Testplan, die Spezifikation des Testdesigns, der Testfälle und Testprozeduren \cite{blackbox}.
  34.130 +
  34.131 +\begin{itemize}
  34.132 +\item
  34.133 +Der Testplan hält die organisatorischen Faktoren fest, wie den Zeitplan, die Testumgebung und die Testaktivitäten.
  34.134 +\item
  34.135 +In der Spezifikation des Testdesigns werden die Sicherheitsfunktionen festgelegt, die zu validieren sind. Die Anforderungen bieten die Grundlage der Spezifizierung welche Eigenschaften einer Funktion zu testen sind und wie ein erfolgreicher Testabschluss dafür definiert ist.
  34.136 +Zusätzlich sollen Verfahrensweisen zur Handhabung von unzutreffenden Testresultaten vereinbart werden.
  34.137 +\item
  34.138 +Die Testfallspezifikation dokumentiert die Prozeduren jedes einzelnen Testdurchlaufs. Die Einstellungen des EUC, der Zustand des EUC und die Ein- und Ausgabeparameter der Sicherheitsfunktion sind in diesem Dokument erfasst. Bei automatischer Testfallgenerierung besteht die Möglichkeit dieses Dokument auch automatisiert zu erstellen.
  34.139 +\item
  34.140 +Durch die Spezifikation der Testprozedur wird der Testverlauf und die eingesetzten Werkzeuge festgelegt. Im Falle einer manuellen Testfallabarbeitung muss dieses Dokument die Schrittabfolge definieren, die die ausführende Person zu tätigen hat. Ähnlich ist es bei einem automatischen Testverlauf, hierbei muss jedoch auch das zum Einsatz kommende Werkzeug und dessen Handhabung genau spezifiziert werden.
  34.141 +\end{itemize}
  34.142 +
  34.143 +\section{Validierung der Softwaremodule}
  34.144 +Zur Verifikation eines Gesamtsystems oder eines Softwaremoduls nach \cite{iec61508}, ist die konforme Validierung aller Softwaremodultests vorausgesetzt. Der Standard bietet dabei Vorschläge zum Bewerkstelligen der Validierung der Softwaremodule unter Abhängigkeit des Sicherheitsintegritätslevels an. In den folgenden Kapiteln werden die Verfahren vorgestellt, die für SIL 3 als \emph{Recommended} bzw. \emph{Highly Recommended} eingestuft sind.
  34.145 +
  34.146 +Zur Laufzeitreduzierung des Testvorgangs und der Testfallgenerierung werden verschiedene Strategien ergriffen, oft auch in Kombination miteinander. IEC 61508-3 bietet die Bildung von Äquivalenzklassen, strukturbasierte Testfälle, die Randwertanalyse und Kontrollflussanalyse als mögliche Szenarien für eine Testfallbildung an.
  34.147 +
  34.148 +\subsection{Probalistisches Testen}
  34.149 +Stochastische Ansätze wie z.B. die Monte-Carlo-Simulation sind Möglichkeiten von konformen Validierungsmaßnahmen. Diese sind geeignet für das Testen von zustandsbasierten Systemen mit großen variablen Zustandsentwicklungen- und abhängigkeiten. Dabei bedient man sich numerischer Methoden zur Beurteilung der Testergebnisse in Abhängigkeit von der Zusammenstellung der Testfälle. Solche Methoden zeigen ihre höchste Effizienz durch das Mitwirken von Zufallszahlengeneratoren, die eine statistische Gleichverteilung ermöglichen und von Heuristiken, die durch semantikbewusste Testfallfilterung unwahrscheinliche Szenarien ausschließen. 
  34.150 +
  34.151 +Probalistisches Testen wird beim Testen von Softwaremodulen eingesetzt, wenn keine Einsicht in den Quellcode besteht. 
  34.152 +
  34.153 +Eine erfolgreiche Abnahme nach \cite{iec61508} erfordert den Nachweis der Vorbereitung der Testfälle. Hierbei ist zu zeigen, dass die probalistische Entwicklung der Testfälle eine vollständige Abdeckung aller möglichen Fehlerereignisse darstellt, nicht aber notwendigerweise die Abdeckung aller möglichen Zustände des Moduls. Die Validierungsprozedur muss vollständig dokumentiert sein, das bedeutet Testspezifikation, Testausführungsprotokoll, Testresultat und Testresultatbeurteilung. Die Reproduzierbarkeit der Validierung setzt eine deterministische Zufallszahlenerzeugung voraus.
  34.154 +
  34.155 +\subsection{Dynamische Analyse}
  34.156 +Die dynamische Analyse wird beim Testen von Softwaremodulen mit Einsicht auf Quellcode eingesetzt. 
  34.157 +
  34.158 +\subsubsection{Randwertanalyse}
  34.159 +Bei der Randwertanalyse beschränken sich die Testfälle auf Grenzwerte, die durch die Hard- und Softwarearchitektur, die Implementierung und das Interface bestehen. Dieses Analyseverfahren ist effektiv um Fehlverhalten an den Grenzen des Gültigkeitsbereichs festzustellen. Durch die signifikante Häufigkeit solcher Fehler in Softwaremodulen, wird die Randwertanalyse obligatorisch in Verbindung mit anderen Testverfahren angewendet.
  34.160 +
  34.161 +\subsubsection{Error Seeding}
  34.162 +Ein Verfahren, dass eine probalistischen Grad des Fehlerbefalls entwickelt, ist das sog. Error Seeding. Es besteht darin explizit künstliches Fehlverhalten in das, zu testende, Modul zu platzieren um nach der Testphase einen Wahrscheinlichkeitswert über die noch vorhandenen, nicht künstlichen, Fehler zu berechnen. Die Kalkulation bedient sich der Stochastik und bildet mit den Variablen $F_{U}$ für die Anzahl an unentdeckten Fehlern, $F_{G}$ für die Anzahl an nicht-künstlichen entdeckten Fehlern, $F_{E}$ für die Anzahl an platzierten künstlichen Fehlern und $F_{EG}$ für die Anzahl an entdeckten platzierten künstlichen Fehlern folgende Gleichung: $F_{U} = F_{G} * \frac{F_{E}}{F_{EG}}$. 
  34.163 +Darüber hinaus gibt das Verfahren Aufschluss über die Qualität der Testprozeduren, indem man das Verhältnis von künstlichen Fehlern und entdeckten künstlichen Fehlern betrachtet.
  34.164 +
  34.165 +\subsubsection{Äquivalenzklassen}
  34.166 +Durch die Permutation aller Eingabeparameter einer Sicherheitsfunktion entstehen im Regelfall Redundanzen. Reduktion der Eingangskombinationen kann durch Äquivalenzklassenbildung erfolgen. Dabei entwickelt man die Testfälle nach disjunkten Gruppen von Zustandsübergängen, die bei Vereinigung eine vollständige Abdeckung des Testszenarios bilden. Bei der Abstraktion des funktionalen Verhaltens eines Softwaremoduls können mathematische Annahmen über Wertebereiche und Wertemengen nicht immer mit den Systemeigenschaften übereinstimmen. Zur Vermeidung von Fehlschlüssen oder schlechten Fehlerabdeckungsquoten, fließt die Randwertanalyse mit in die Bildung der Äquivalenzklassen ein.
  34.167 +
  34.168 +\subsection{Funktionales und Black-Box Testen}
  34.169 +Black-Box Testen bedeutet das Abarbeiten von Testszenarien unter vollständiger Abstraktion der Implementierungsschicht. Dabei werden Input- und Outputwerte, Fehlerbehandlungen und Performancemessungen als Faktoren der Validierung analysiert.
  34.170 +Die Testfälle können aus Konsequenzdiagrammen, Prototypen, der Randwertanalyse und der den Äquivalenzklassen hergeleitet werden \cite{iec61508}.
  34.171 + 
  34.172 +Funktionales Testen wird beim Testen von Softwaremodulen ohne Einsicht auf Quellcode angewandt und beim Integrationstesten.
  34.173 +Zur erfolgreichen Zertifizierung wird ebenfalls die vollständige Dokumentation der Vorbereitung der Tests, der Testprozeduren, der Testresultate und der Analyse der Resultate erwartet.
  34.174 +
  34.175 +\section{Funktionale Sicherheitsbeurteilung (Functional Safety Assessment)}
  34.176 +Nach jeder Phase des Produktlebenszyklus findet die Sicherheitsbeurteilung statt. Diese hat zum Ziel die Evaluierung der tatsächlich erreichten Sicherheitsintegrität einer Sicherheitsfunktion.
  34.177 +Erst wenn der Bewertungsplan sowohl von den ausführenden Personen als auch von dem Management bewilligt ist, findet die Bewertung statt. Der Plan setzt die Verantwortlichen für die Bewertung und deren Kompetenzen, die resultierende Dokumente, die involvierten Sicherheitsobjekte und notwendigen Ressourcen fest \cite{iec61508}.
  34.178 +
  34.179 +Weiterhin beschreibt der Plan auch den Unabhängigkeitsgrad des Bewertungspersonals. Die notwendige Unabhängigkeit wird durch den Standard reguliert. Für SIL 3 verlangt dieser -- in Abhängigkeit von einigen Faktoren -- eine unabhängige Abteilung oder eine unabhängige Gesellschaft. Ist eine strikte Trennung der Safety-Abteilung von der Entwicklungsabteilung gewährleistet, ist das Personal geeignet geschult und bringt die nötige Erfahrung in Risikobewertung und sicherheitsabhängigen Systemen mit, so kann die Safety-Abteilung die Beurteilung übernehmen. Falls das nicht gegeben ist, muss ein externer Dienstleister, der die nötigen Qualitäten mitbringt, mit der Risikobewertung beauftragt werden.
  34.180 +
  34.181 +Zur Bestimmung des SIL einer vorhandenen Software stellt \cite{iec61508} Normen auf. Durch statistisches Testen kann man mit Hilfe der Tabellen den SIL der Software bestimmen. Es findet wieder eine Unterscheidung zwischen \emph{Low demand mode of operation} und \emph{High demand mode of operation} statt. Abb. \ref{fig:sil_conf} zeigt die Verteilung für die erste Funktionsvariante. 
  34.182 +
  34.183 +\begin{figure}[H]
  34.184 +\centering
  34.185 +\includegraphics[width=7.5cm]{sil_conf.pdf}
  34.186 +\caption{Statistische Verteilung zur Bestimmung des SIL für Low demand mode of operation (Quelle: \cite{iec61508} Teil 7 Annex D S. 209)}
  34.187 +\label{fig:sil_conf}
  34.188 +\end{figure}
  34.189 +
  34.190 +\section{Modellbasiertes Testen}
  34.191 +Stetig wächst das Interesse nach Vereinfachung und Beschleunigung der Softwareentwicklung aus ökonomischen Gründen. 
  34.192 +Modellgetriebene Softwareentwicklung bietet eine Abstraktion von der Implementierung und Modularität an. 
  34.193 +
  34.194 +Robuste, verlässliche und sichere Module können die Bausteine von großen Softwareprojekten sein. Das erleichtern nicht nur die Entwicklung, sondern insbesondere auch die Verifikation der Sicherheitsintegrität. 
  34.195 +Modelle sind einfacher strukturiert und dadurch verständlicher für den Menschen. Verständlichkeit und Einfachheit sind wichtig bei der Ermittlung der Korrektheit des Designs und machen die Funktionen anpassungsfähiger, wenn die Notwendigkeit der Entwurfsänderung eintritt, z.B. zur Reduktion eines nicht-tolerierbaren Risikos.
  34.196 +
  34.197 +Wichtig für die Akzeptanz von solchen Entwicklungsverfahren ist neben der Wirtschaftlichkeit auch die Qualität der Werkzeuge, wie z.B. dem Code-Generator. \cite{code_gen} beschreibt den Zertifizierungsprozess des ASCET Code Generators nach \cite{iec61508}. 
  34.198 +
  34.199 +Zur Validierung eines Softwaremoduls werden bei der statischen Analyse nur noch die Modelle betrachtet, ohne sich mit den Gegebenheiten des entstandenen Quellcodes auseinander zu setzen. Das Entfallen von Implementierungsfehlern ermöglicht eine effizientere Validierungsprozedur und erhöht die Wahrscheinlichkeit der Identifikation von Fehlerquellen bei gleichem Aufwand.
  34.200 +
  34.201 +\section{Fazit}
  34.202 +Softwaresicherheit, Softwaretests und automatisierte Testfallerstellung sind weiterhin offene Probleme. Der Anstieg an Softwarelösungen für Sicherheitsfunktionen ist durch die wachsende Komplexität der Systeme unausweichlich. Methoden zur Vermeidung, Aufspüren und Beseitigung von Fehlern ist ein aktives Forschungsgebiet, welches durch die Notwendigkeit einer verlässlichen und allgemeingültigen Lösung getrieben wird.
  34.203 +
  34.204 +Trotz Kritik an IEC 61508, es sei vielmehr ein Standard für Qualitätssicherung als für funktionale Sicherheit, biete keine genauen Richtlinien zur Berücksichtigung der Gesamtgröße eines Systems \cite{silcalc} und definiert keine Möglichkeit zur einheitlichen Ermittlung des SIL für SIS\footnote{Safety Instrumented System} mit variablen Bedarfsanforderungen \cite{bridge},\cite{unified}, findet dieser in immer mehr Sektoren Einsatz und dient für viele andere Standards als Basis.
  34.205 +
  34.206 +Dieser Text soll einen Einstieg in die Problematik bieten und notwendige Vorgehensweisen zur Zertifizierung nach SIL 3 erläutern. Testfallerstellung kann in Anbetracht von Verifizierungsmaßnahmen nicht isoliert betrachtet werden, sondern als interdisziplinäres Gesamtkonzept verstanden und gelöst werden. 
  34.207 +
  34.208 +Der Einsatz von modellgetriebener Entwicklung unter Verwendung von zertifizierten Code-Generatoren oder der formale Beweis der Fehlerfreiheit, wie er zur Zeit in einer experimentellen Studie für den Microsoft Hypervisor erstellt wird, können in Zukunft die Basis zur Validierung von Sicherheitssystemen bilden. Der IEC 61508 ist jedoch weiterhin auf die Kompetenz und Erfahrung der Ingenieure angewiesen, gleiches gilt für die Normen, die auf dem IEC 61508 basieren. Die wesentlichen Maßnahmen zur Unterstützung der Personalarbeit bei der Verifikation der Sicherheitsintegrität sind gründliche Dokumentenführung, geeignete Prozessmodelle und Werkzeugunterstützung in allen Entwicklungsphasen.
  34.209 +
    35.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.2 +++ b/paper/header.tex	Fri Jun 04 15:05:34 2010 +0200
    35.3 @@ -0,0 +1,21 @@
    35.4 +\documentclass[10pt, a4paper, abstractoff, twocolumn, DIV11]{scrartcl}
    35.5 +\usepackage[ngerman]{babel}
    35.6 +\usepackage{graphicx}
    35.7 +\usepackage[latin1]{inputenc}
    35.8 +\usepackage{amsmath, amsthm, amssymb}
    35.9 +\usepackage{typearea}
   35.10 +\usepackage{algorithm}
   35.11 +\usepackage{algorithmic}
   35.12 +\bibliographystyle{alpha}
   35.13 +\pagestyle{empty}
   35.14 +
   35.15 +%\titlehead{Hochschule Offenburg\\
   35.16 +%	Angewandte Informatik}
   35.17 +%\subject{IEC 61508 komforme Testfallerstellung nach SIL 3}
   35.18 +\title{IEC 61508 konforme Testfallerstellung nach SIL 3}
   35.19 +\author{Eugen Sawin\\
   35.20 +		esawin@stud.fh-offenburg.de}
   35.21 +
   35.22 +\date{\today}
   35.23 +
   35.24 +
    36.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.2 +++ b/paper/intro.tex	Fri Jun 04 15:05:34 2010 +0200
    36.3 @@ -0,0 +1,6 @@
    36.4 +\section{Einführung}
    36.5 +Mit den höheren Ansprüchen an Sicherheit, steigen auch die Kosten für deren Erfüllung. Dabei haben die Personalkosten einen erheblichen Anteil daran. Durch die Automatisierung der Sicherheitsbereitstellung, werden die Prozesse wirtschaftlicher und dynamischer z.B. bezüglich des Einsatzortes oder des Umfangs. Damit wächst gleichzeitig auch die Komplexität der Systeme, die zunehmend durch programmierbare, elektronische Systeme realisiert werden. Zur Gewährleistung der Sicherheit von sicherheitstechnischen Komponenten wird u.a. der IEC 61508 Standard verwendet, der die notwendigen Schritte in jeder Phase eines Projekts beschreibt, die zur Zertifizierung notwendig sind.
    36.6 +
    36.7 +IEC 61508 gilt als eine allgemeine Norm für die Planung, Entwicklung, Validierung, Erweiterung, Instandhaltung und Beseitigung von elektrischen, elektronischen und programmierbar elektronischen (E/E/PE) Systemen mit Sicherheitsfunktion. Er wird genau dann eingesetzt, wenn kein Sektorstandard, wie z.B. IEC 61511 für die Prozessindustrie oder IEC 50129 für Bahnanwendungen, vorliegt. Eine Ausnahme sind Subsysteme, die zwar in einem Gesamtsystem einbettet sind mit geltendem Sektorstandard, jedoch als Einzelkomponenten kontextfreie, also sektorunspezifische Funktionalität realisieren. Diese werden ebenfalls nach dem IEC 61508 realisiert, sofern sie eine sicherheitskritische Funktion darstellen.
    36.8 +
    36.9 +
    37.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.2 +++ b/paper/references.bib	Fri Jun 04 15:05:34 2010 +0200
    37.3 @@ -0,0 +1,60 @@
    37.4 +@book{iec61508,
    37.5 +	author="IEC",
    37.6 +	publisher="International Electrotechnical Commission",
    37.7 +	title="IEC 61508 Functional safety of electrical/electronic/programmable electronic safety-related systems",
    37.8 +	year="1998/2005"
    37.9 +}
   37.10 +@book{silcalc,
   37.11 +	author="R.C. Short",
   37.12 +	publisher="3rd IET International Conference on System Safety",
   37.13 +	title="Towards a Calculus for Software SIL",
   37.14 +	year=2008
   37.15 +}
   37.16 +@book{cert_compiler,
   37.17 +	author="Olwen Morgan",
   37.18 +	publisher="3rd Institution of Engineering and Technology Conference on Automotive Electronics",
   37.19 +	title="Certified Testing of C Compilers for Embedded Systems",
   37.20 +	year="2007"
   37.21 +}
   37.22 +@book{personal,
   37.23 +	author="Rodney May",
   37.24 +	publisher="Programmable Electronics and Safety Systems: Issues, Standards and Practical Aspects",
   37.25 +	title="Personal Competencies and the Requirements of IEC 61508",
   37.26 +	year=2002
   37.27 +}
   37.28 +@book{blackbox,
   37.29 +	author="Pawel Kwasnowsk and Grzegorz Wrobel and Zbigniew Mikos and Grzegorz Hayduk",
   37.30 +	publisher="5th IEEE International Conference on Industrial Informatics",
   37.31 +	title="Blackbox Testing Methodology for SafetyLON according to the IEC 61508 Standard",
   37.32 +	year=2007
   37.33 +}
   37.34 +@book{code_gen,
   37.35 +	author="Tilman Gloetzner",
   37.36 +	publisher="3rd IET International conference on System Safety",
   37.37 +	title="IEC 61508 Certification of a Code Generator",
   37.38 +	year=2008
   37.39 +}
   37.40 +@book{basf,
   37.41 +	author="Dirk Hablawetz and Norbert Matalla and Gerhard Adam",
   37.42 +	publisher="atp",
   37.43 +	title="IEC 61511 in der Praxis - Erfahrungen eines Anlagebetreibers",
   37.44 +	year=2007
   37.45 +}
   37.46 +@book{unified,
   37.47 +	author="Julia V. Bukowski, PhD",
   37.48 +	publisher="Reliability and Maintainability Symposium",
   37.49 +	title="A Unified Model for Evaluating the Safety Integrity Level of Safety Instrumented Systems",
   37.50 +	year=2008
   37.51 +}
   37.52 +@book{bridge,
   37.53 +	author="Yoshinobu Sato",
   37.54 +	publisher="SICE Annual Conference",
   37.55 +	title="Throwing a Bridge between Risk Assessment and Functional Safety",
   37.56 +	year=2007
   37.57 +}
   37.58 +@book{auto_control,
   37.59 +	author="Wolfgang A. Halang",
   37.60 +	publisher="9th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems",
   37.61 +	title="Automated Control Systems for the Safety Integrity Levels 3 and 4",
   37.62 +	year=2004
   37.63 +}
    38.1 Binary file paper/risk_class.pdf has changed
    39.1 Binary file paper/risk_class2.pdf has changed
    40.1 Binary file paper/seminar2.pdf has changed
    41.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.2 +++ b/paper/seminar2.tex	Fri Jun 04 15:05:34 2010 +0200
    41.3 @@ -0,0 +1,13 @@
    41.4 +\input{header}
    41.5 +\makeindex
    41.6 +\begin{document}
    41.7 +\nocite{*}
    41.8 +%\begin{titlepage}
    41.9 +\maketitle
   41.10 +
   41.11 +\input{abstract}
   41.12 +\input{content}
   41.13 +%\end{titlepage}
   41.14 +\bibliography{references}
   41.15 +%\input{references}
   41.16 +\end{document}
    42.1 Binary file paper/sil_conf.pdf has changed
    43.1 Binary file paper/sil_high.pdf has changed
    44.1 Binary file paper/sil_low.pdf has changed
    45.1 Binary file paper/v_modell.pdf has changed
    46.1 Binary file pres/IEC 61508 konforme Testfallerstellung nach SIL 3.pdf has changed
    47.1 Binary file pres/IEC 61508 konforme Testfallerstellung nach SIL 3.pptx has changed
    48.1 Binary file pres/risk_class.png has changed
    49.1 Binary file pres/risk_class2.png has changed
    50.1 Binary file pres/sil_conf.png has changed
    51.1 Binary file pres/sil_high.png has changed
    52.1 Binary file pres/sil_low.png has changed
    53.1 Binary file pres/v_modell.png has changed
    54.1 Binary file refs/iec61508/iec61508-0{ed1.0}b.pdf has changed
    55.1 Binary file refs/iec61508/iec61508-1{ed1.0}b.pdf has changed
    56.1 Binary file refs/iec61508/iec61508-2{ed1.0}b.pdf has changed
    57.1 Binary file refs/iec61508/iec61508-3{ed1.0}b.pdf has changed
    58.1 Binary file refs/iec61508/iec61508-4{ed1.0}b.pdf has changed
    59.1 Binary file refs/iec61508/iec61508-5{ed1.0}b.pdf has changed
    60.1 Binary file refs/iec61508/iec61508-6{ed1.0}b.pdf has changed
    61.1 Binary file refs/iec61508/iec61508-7{ed1.0}b.pdf has changed