<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Safety Conflict Analysis in Medical Cyber-Physical Systems using an SMT-Solver</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Jan</forename><surname>Kühn</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Informatik 11 -Embedded Software</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Pierre</forename><surname>Schoonbrood</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Informatik 11 -Embedded Software</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">André</forename><surname>Stollenwerk</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Informatik 11 -Embedded Software</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Christian</forename><surname>Brendle</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Philips Chair for Medical Information Technology</orgName>
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Nabil</forename><surname>Wardeh</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Clinic for Anesthesiology</orgName>
								<orgName type="institution">RWTH Aachen University Clinic</orgName>
								<address>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Marian</forename><surname>Walter</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Philips Chair for Medical Information Technology</orgName>
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Rolf</forename><surname>Rossaint</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Clinic for Anesthesiology</orgName>
								<orgName type="institution">RWTH Aachen University Clinic</orgName>
								<address>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Steffen</forename><surname>Leonhardt</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Philips Chair for Medical Information Technology</orgName>
								<orgName type="institution">RWTH Aachen University</orgName>
								<address>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Stefan</forename><surname>Kowalewski</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Informatik 11 -Embedded Software</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Rüdger</forename><surname>Kopp</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Clinic for Anesthesiology</orgName>
								<orgName type="institution">RWTH Aachen University Clinic</orgName>
								<address>
									<postCode>52056</postCode>
									<settlement>Aachen</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Safety Conflict Analysis in Medical Cyber-Physical Systems using an SMT-Solver</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">2C35A666BFC8EFBB7E488A8AA0283C1E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T13:57+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper presents a method to include safety system conflicts into a fault tree analysis (FTA) with semantic extensions of fault events. The verification of the incoherent fault tree is done with an SMT-Solver. As an example a networked setup of medical devices for extracorporeal lung assist was analyzed. The method is developed as a basis for improved safety analysis of networked systems.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>The number of networked medical devices in clinical environments is increasing rather fast. This is motivated by trends in health care like data exchange in clinical setups for control and safety tasks and the extended use of electronic health records, which can be updated automatically. The design and engineering of medical devices is rather extensive, since the demand for safety and reliability is high. According to DIN EN 60601 the safety of a medical device has to be assured after every possible single fault. Our focus is the combination of basic techniques like the fault tree analysis (FTA) with more accurate but elaborate methods. The project ECLA-Vent focuses on the improvement of ARDS<ref type="foot" target="#foot_0">1</ref> -treatment by control of the therapy parameters depending on the state of the patient. The setup was used as worked example <ref type="bibr">[?]</ref>. The clinical setup involves several actuators, sensors and passive components which should interact with the patient according to seven safety goals. All medical devices used in this setup, i.e. a patient monitor or a blood pump, are connected with an embedded safety network over CAN.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Safety Measures and Dependencies</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Background</head><p>Single fault protection for an FTA is given, if every possible chain of faults, caused by a single basic event, additionally requires the malfunction of a safety system to result in a valid top event. Safety related dependencies are used to describe the interaction of safety measures. Focus of our interest are competing measures, which prevent the correct operation. Our example are the goals in a networked system for extracorporeal lung assist, where the blood is oxygenated outside of the body. Safety systems can include the detection of a leak or supervision of a sufficient oxygenation. These can conflict due to their measures which influence the same control value limitation of the blood flow to minimize the loss of blood or ensure sufficient lung assist. A simplified example is given in Fig. <ref type="figure">1</ref>, with the types of events and existing dependencies discussed below.</p><p>Figure <ref type="figure">1:</ref> A reduced example of a fault tree with dependencies between safety events.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Safety Measure Dependencies</head><p>We adopt the syntax of the Faulttree Handbook [?]. The semantic was extended to allow the modeling of dependencies of two or more safety measures. Three types of events are used, one independent, at least one dependent and exactly one covered event for each dependent event. The formal description of a safety measure dependency is S = (i, D, C) where i is the independent event, D the nonempty set of dependent events and C the nonempty set of covered events. Independent Events An independent event represents the fault of a safety system. Its correct operation interrupts another conflicting safety measure. An independent event as safety measure is modeled by an intermediate event. In our case it could be the failing safety measure for a leak in the cardiopulmonary bypass.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Dependent Events</head><p>The dependent event is a basic event which results in the fault of a safety measure and is caused by the successful operation of another safety measure represented by the corresponding independent event. If the independent event is false, all related dependent events are true. The dependent event can be seen as negation of the independent event which results in a non-coherent fault-tree [?].</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Covered Event</head><p>If the fault tree is analyzed for violation of the single fault safety, a dependency generates duplicates of fault chains due to equivalent assignments. The single fault condition allows a single basic event without dependency to be true. The state of basic events which are dependent events is the negation of the related independent (safety) event. Valid assignments which create the same fault chain, unrelated to dependent events, differ in the possible states of the dependent events. The events, semantically extended to be covered events, are the events directly associated with a safety event. This coverage can be violated by a dependency of the covering safety event. Any corresponding dependent event as part of the covering safety event is only active, if the covered event is true. In the following we show which dependencies have to be considered. Dependencies which create duplicates of fault chains will be blocked. The dependency between safety measures is now assumed to be bidirectional.</p><p>• Φ set of all covered events • Ψ set of all safety events • Ψ rel set of all relevant safety events</p><p>• Ω ⊆ Ψ set of all covering safety events • Θ ⊆ Ψ set of safety events in conflict with a safety event ω ∈ Ω • Φ sel ⊆ Φ set of all covered and fulfilled events • θ ∈ Θ a safety event which interrupts a safety event ω ∈ Ω • Ψ elim set of all irrelevant safety events For every covered event ϕ ∈ Φ sel the corresponding safety event ψ ∈ Ψ is added to Ω. For each ω ∈ Ω all interrupting dependent events are identified. For each of the dependent events independent event ψ ∈ Ψ is added to Θ. The safety events which are further handled as irrelevant, because they interrupt with Θ, are given by Ψ elim = Ψ\ (Ω ∪ Θ). Three cases of interactions can be distinguished for dependencies between safety measures:</p><p>1. An interaction between irrelevant safety events in Ψ elim and has to be blocked. There exists no dependency allowing ψ ∈ Ψ causing a fault for a ψ elim ∈ Ψ elim and for a ω ∈ Ω. Otherwise ψ would be element of Θ.</p><p>The dependency of an independent event ψ ∈ Ψ elim is irrelevant and blocked, because it does not contain covered events in Φ sel . Otherwise Θ would contain its independent event, due to its dependency on ω ∈ Ω which covers a ϕ ∈ Φ sel .</p><p>2. An interaction between safety events in the set of covered events Θ. Two variable assignments exist, which cause a fault in ψ ∈ Ψ. The dependency between the safety events θ 1 ∈ Θ and θ 2 ∈ Θ create these two assignments which only differ in the state of θ 1 or θ 2 (Fig. <ref type="figure">1</ref>), which can be combined by blocking.</p><p>3. An interaction between safety events in Ψ rel = Ω ∪ Θ and Ψ elim = Ψ\(Ω ∪ Θ). θ ∈ Θ is influenced by the dependency on ψ elim ∈ Ψ elim , or vice versa. Only the active θ is relevant, because it is able to create a fault in ψ ∈ Ω and could influence the fulfillment of the top event. Because no independent event ψ elim ∈ Ψ elim exists in Φ sel the dependencies causing a fault in θ are blocked.</p><p>There exists a dependency for a θ ∈ Θ to a ψ ∈ Ω for every ψ which has a dependency with θ because of the assumption of bidirectional dependencies. On the one hand ψ ∈ Ω can be interrupted which allows the fulfillment of the top event. On the other hand θ can be interrupted and therefore not influence any other event. If ψ ∈ Ω is not fulfilled, all ψ interrupting θ ∈ Θ have to be fulfilled. As a result the top event cannot be fulfilled and the covering safety event becomes irrelevant.</p><p>3 Fault Chain Generation</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Parsing the Fault Tree</head><p>The fault tree is parsed according to [?], with subsumed soundness and completeness. The AND-and OR-gates conditions are ψ ↔ (ϕ 1 ∧ ϕ 2 ) and Ψ ↔ (ϕ 1 ∨ ϕ 2 ), respectively. The tree is parsed top down by checking the successors of every intermediate events, until an event is found, which is not an intermediate event. The result is a logical equivalence with a successor event or with an logical term for a gate and its successors.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Parsing Dependencies</head><p>All relevant information of an event, such as its dependencies, is stored in a global list. Based on this list, an additional list with dependencies is generated. The dependency is relevant, if the covered event is fulfilled. This leads to</p><formula xml:id="formula_0">K = c 1 ∨ c 2 . . . c n , n = |C|, C ∈ S</formula><p>as a formal condition for activation of a dependency S, with the covered event c i ∈ C. The value v of a dependent event is given by v = ¬i ∧ K, with independent event i and activation condition K. d ↔ v is generated for every dependent event d ∈ D of a safety measure dependency S.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Single Fault Safety</head><p>For Φ as a set of basic events in a tree we define Φ b ⊆ Φ as the subset of all basic events according to the semantics of [?] and Φ d ⊂ Φ the set of all dependent basic events caused by a interrupting safety measure with</p><formula xml:id="formula_1">Φ b ∪ Φ d = ∅. For every pair of b 1 , . . . b n ∈ Φ b , with n = |Φ b | is ¬(b i ∧ b j ) created</formula><p>, where i, j ∈ {1, . . . , n} and i = j. This is only satisfiable if no pair exists where both are valid the same time.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Evaluation</head><p>An existing open source tool with XML support was used [?]. The modeled fault trees were analyzed for dependencies. As result minimal fault trees were identified. These trees represent the fault chain from a top event, that means the violation of a safety goal, to the responsible basic event. The minimal trees include only these events, that are true for the occurring basic event. Since a fault tree modeled with dependencies is incoherent, the analysis is more complex. This reason and the option to use arithmetic information motivated the use of an SMT<ref type="foot" target="#foot_1">2</ref> -Solver. The fault tree was processed according to the parsing methods above to generate input in form of Boolean expressions which were checked for satisfiability with the SMT-solver. Because it is supported by several well known solvers the parsed input is in SMT-Lib format. Here SMTInterpol was used <ref type="bibr">[?]</ref>. The solver finds a valid variable assignment which fulfills a top event according to the single fault condition. This is done iteratively with exclusion of the models found by including their negation until no assignment can be found by the solver. A description in form of the relevant tree is given by comparing the set of logical equivalents (cf. Sect. 3) with an identified assignment. Further a report about the events which violate the single fault condition and their fault chain is generated, which includes information describing the events. Minimal fault trees which were identified are reported in this form: "safety goal 4: loss of blood in extracorporeal circuit" ← ... "leak detection fails" ← "leak" ∧(¬ "oxygenation supervision fails") (Fig. <ref type="figure">1</ref>).</p><p>In case of the worked example 7 safety goals were defined. 13 dependencies between safety measures were identified in the existing FTA and therefore 42 dependent events were added to include the conflicts. The valid assignments which violate the single fault condition were increased from 21 to 52. It has to be noted, that the safety dependencies are over-approximated, since detailed behavior is not modeled yet.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Related Work</head><p>The problem of undesired equivalent results as described in Sect. 2.2 could be handled by quantifier elimination [?], which is a more general approach, but in case of this problem less efficient. The SAT-Solver has to be used at least once for each time the elimination algorithm is used for an equivalence class. Other examples of safety analysis methods with SMT-Solvers can be found in the work of Bozzano et al.</p><p>[?], but do not handle conflicts in FTAs and therefore differ in usage of the solver.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion and Outlook</head><p>A method to increase the accuracy of an FTA by modeling dependencies of existing safety measures was presented. It can be used to prove the single fault safety of a system based on the FTA. The fault tree syntax was not changed and the semantic only extended. Detailed reports about violations of the single fault safety were generated with the use of an SMT-Solver. They include the violating fault chain, from responsible basic event to the violated top event. The computation time needed for the example mentioned above on a consumer notebook (i.e. Intel i5-3320M, 4GB DDR2) was always below 20 seconds. The presented method allows to include possible conflicts of networked cyber-medical systems and verification of these fault trees with increased complexity. Further our method is thought as basis to connect high-and low-level methods to support safety and reliability during the design of networked systems with significant safety demands. Currently the computational efficiency of this method is tested more detailed and estimated for increasing tree size. To improve the FTA the types of supported events can be extended according to [?] to allow the modeling of priorities, which decreases the number of false positives. Over-approximation can be further reduced by including arithmetic information for the SMT-Solver, provided by detailed models.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0"><head></head><label></label><figDesc></figDesc><graphic coords="2,137.72,108.07,340.15,188.42" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">acute respiratory distress syndrome</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">Satisfiability modulo theories</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><p>This work was supported by the German Research Foundation DFG (DFG -Grant PAK 138/2). The authors gratefully acknowledge this allowance.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Automated analysis of reliability architectures</title>
		<author>
			<persName><forename type="first">M</forename><surname>Bozzano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Cimatti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Mattarei</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Engineering of Complex Computer Systems (ICECCS), 2013 18th International Conference on</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="198" to="207" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Burgess</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Haugvaldstad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Steinnes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Øystein</surname></persName>
		</author>
		<ptr target="http://www.iu.hio.no/faultcat/" />
		<title level="m">Faultcat</title>
				<imprint>
			<date type="published" when="2003-08">August 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Existential quantification as incremental sat</title>
		<author>
			<persName><forename type="first">J</forename><surname>Brauer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>King</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kriener</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Computer Aided Verification</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2011">2011</date>
			<biblScope unit="page" from="191" to="207" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Smtinterpol: An interpolating smt solver</title>
		<author>
			<persName><forename type="first">J</forename><surname>Christ</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hoenicke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Nutz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Model Checking Software</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="248" to="254" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Fault tree handbook</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">F</forename><surname>Haasl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">H</forename><surname>Roberts</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">E</forename><surname>Vesely</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">F</forename><surname>Goldberg</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1981">1981</date>
			<publisher>Office of Nuclear Regulatory Research</publisher>
			<pubPlace>Washington, DC (USA</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Nuclear Regulatory Commission</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Analysis of non-coherent fault trees using ternary decision diagrams</title>
		<author>
			<persName><forename type="first">R</forename><surname>Remenyte-Prescott</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Andrews</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Proceedings of the Institution of Mechanical Engineers, Part O: Journal of Risk and Reliability</title>
		<imprint>
			<biblScope unit="volume">222</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="127" to="138" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Model-based supervision of a blood pump</title>
		<author>
			<persName><forename type="first">;</forename><forename type="middle">A</forename><surname>Skb</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Stollenwerk</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Kühn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Brendle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Walter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">N</forename><surname>Arens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Wardeh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kowalewski</surname></persName>
		</author>
		<author>
			<persName><surname>Kopp</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">19th World Congress of the International Federation of Automatic Control</title>
				<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="6593" to="6598" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Formal fault tree semantics</title>
		<author>
			<persName><forename type="first">G</forename><surname>Schellhorn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Thums</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Reif</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of The Sixth World Conference on Integrated Design &amp; Process Technology</title>
				<meeting>The Sixth World Conference on Integrated Design &amp; Process Technology<address><addrLine>Pasadena, CA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
