File: complement_module.xml

package info (click to toggle)
scram 0.16.2-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 8,016 kB
  • sloc: xml: 120,766; cpp: 23,966; python: 1,256; ansic: 100; makefile: 9
file content (38 lines) | stat: -rw-r--r-- 1,169 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?xml version="1.0"?>
<!--
This input demonstrates how a module is handled when complemented.
The demonstration will expose a bug
if modules are treated as basic events by analysis algorithms;
that is, complement module will be eliminated from cut sets,
assuming minimal cut sets are calculated (not prime implicants).

The right solution of this fault tree is {e1, e2, e3} cut set.
The wrong solution is {e1} cut set.

Note that preprocessing techniques may detect this scenario
and correctly handle the module complementation.
In this case, the analysis algorithms
actually will not have a chance to demonstrate
how complement modules are treated.
-->
<opsa-mef>
  <define-fault-tree name="r">
    <define-gate name="r">
      <and>
        <event name="e1"/>
        <not>
          <gate name="g1"/> <!-- Complemented module -->
        </not>
      </and>
    </define-gate>
    <define-gate name="g1">
      <or>
        <not><event name="e2"/></not>
        <not><event name="e3"/></not>
      </or>
    </define-gate>
    <define-basic-event name="e1"/>
    <define-basic-event name="e2"/>
    <define-basic-event name="e3"/>
  </define-fault-tree>
</opsa-mef>