The purpose of the Fault Tree Analysis view is to support viewing and editing of so-called Fault Trees, used in Fault Tree Analysis (FTA). The view can be configured to suit specific meta models and needs. This article introduces an FTA meta model and covers how to configure the Fault Tree Analysis view as well as how to incorporate fault trees in reports for printing. 


Prerequisites

  • A Fault Tree Analysis meta model
  • Knowledge of XML
  • An installation of the SystemWeaver Explorer client (swExplorer)
  • The SystemWeaver SWExtension.FaultTreeGraph extension is located in the Client's swExplorerExtensions directory
  • Assignment of the SW Architect role in the server

Example FTA Meta Model

Below is a basic SystemWeaver meta model used  to demonstrate the Fault Tree Analysis solution.

Item Types

IconSIDNameDefinition
2CEUFault Tree AnalysisThe Fault Tree Analysis container item, i.e., the top-level item in the structure.
2CETFault EventA failure or error in a system component or element. They can be root or intermediate.
2CEVExternal EventAn event that is normal and guaranteed or expected to occur. They are not considered to be faults, but still contribute to the generation of faults.
2CLDLogic ANDAn AND gate that interconnects contributory events and conditions in the fault tree. The output occurs only if all inputs occur (inputs are independent).
2CLOLogic ORAn OR gate that interconnects contributory events and conditions in the fault tree. The output occurs if any input occurs.


The above FTA meta model is available for import. Contact Systemite at [email protected] for more information. How to complete the import is described in How to Import a Meta Model. 


Configuring the View

  1. Go to File > Configure the explorer
  2. On the Item views tab, select Fault Tree Analysis in the Extensions group.
  3. Click Edit configuration and paste the below configuration in the Edit XML window to have as your starting point. You can add additional <FaultTreeGraphConfig> for different use cases, etc.
  4. Modify the configuration to meet the needs of the use case. (See the explanation of available elements below.)
  5. When you are ready to test and make it available to users, check the Active box. Users must log out and back in to see the new option.


Example Configuration

<Configs>
  <FaultTreeGraphConfig>
    <ContainerItem sid="2CEU" />
    <LeafItem sid="2CET" />
    <ExternalEventItem sid="2CEV" />
    <AndItem sid="2CLD" />
    <OrItem sid="2CLO" />
    <RootNodePart sid="2IFW" /> 
    <LogicInputPart sid="2IFI" />
    <TimeScaleAttribute sid="FRTS" /> 
    <ProbabilityAttribute sid="FTAR" />
    <TransferLabelAttribute sid="TRAN" />
    <IntermediateNodeDefinitionAttribute sid="SIED"/>
  </FaultTreeGraphConfig>
</Configs>

Explanation of the Configuration Elements

The ContainerItem sid attribute defines the item type of the top item ("Container item") in a Fault Tree Analysis model.

The RootNodePart sid attribute defines the part type of the root fault under the Container Item.

The LeafItem sid attribute defines the item type of a fault event.

The optional ExternalEventItem element specifies the item type used for the External Event items*.

The AndItem sid attribute defines the item type of an And gate in the Fault Tree Analysis model.

The OrItem sid attribute defines the item type of an Or gate in the Fault Tree Analysis model.

The LogicInputPart sid attribute the part type used for a sub tree item in the fault tree. Note that since this is a common part for the And and Or gates these need to be sub types of a common (abstract) gate type.

The IntermediateNodeDefinitionAttribute sid attribute defines an attribute type that can be used for the definition of the "intermediate event" symbol in the fault tree, used only for events: the intermediate event of logic gates is defined as the name of the gate. The attribute is a part attribute on the LogicInputPart where the DefType is an event.

The TimeScaleAttribute sid attribute defines the alternative time scales assumed for the ProbabilityAttribute value.

Note: This value is used by the Grid sub view, and that view only accepts a single common value used for all events within a single fault tree.


The ProbabilityAttribute sid attribute defines a numerical (integer, float) attribute type that represents the probability of an event (expressed at the time scale of the TimeScaleAttribute attribute).

The optional TransferLabelAttribute attribute specifies an item attribute to be used as a label for transfer in and transfer out symbols in a report where the FaultTreeGraph tag is used.

* External events represents events that are not considered as being faults, but still contributes to the propagation of faults.


Adding Shortcut to Ribbon Group

The configured FaultTreeGraph extension view will display in the View drop-down menu. 


To add a shortcut to a ribbon group of your choice, see Configuring the Item Ribbon Tab. The <ItemView> tag is used to add the extension view to a ribbon group on a tab. Example:

...
<RibbonGroup caption="My ribbon group">
 <ItemView name="SWExtension.FaultTreeGraph.ItemViewContent" />
</RibbonGroup>
...

Including Fault Tree Graphs in Reports

Reports can be configured to include fault trees using the extension-specific tag "SWExtension.FaultTreeGraph".


<Extension name="SWExtension.FaultTreeGraph" maxTreeHeight="" transferOut=""/>


The optional attribute maxTreeHeight controls the depth of the produced tree. Any truncated tree branches will be indicated by so-called transfer in symbols. This option is useful when working with very large graphs. 


The optional attribute transferOut indicates a transfer/continuation of one fault tree to another. The allowed values are true/False.


Example XML

<Report>
  <Extension name="SWExtension.FaultTreeGraph" maxTreeHeight="2" transferOut="false"/>
  <!-- do nothing special since this level is covered in tree graph-->
  <ForEach select="/2IFW/2IFI/2IFI[SID!='2CET']">
    <ApplyTemplate name="SubTree"/>
  </ForEach> 
 
  <Template name="SubTree">
    <Extension name="SWExtension.FaultTreeGraph" maxTreeHeight="2" transferOut="true"/> 
      <!-- do nothing special since this level is covered in tree graph-->
      <ForEach select="/2IFI/2IFI[SID!='2CET']">
        <ApplyTemplate name="SubTree"/>
      </ForEach>
  </Template>
</Report>


Example Result

The fault tree graph of the selected fault tree item is produced:


Including Fault Tree Minimal Cut Set in Reports

Reports can be configured to include FTA minimal cut sets using the extension-specific tag "MinimalCutSet".


Example XML

<Report>
	<ForEach select="/IRSI">
		<ApplyItemTemplates />
	</ForEach>
	<ItemTemplate type="2CEU">
		<Log>ItemTemplate for FaultTree</Log>
		<Description/>
		<Extension name="MinimalCutSet"/>
	</ItemTemplate> 
</Report> 

Example Result


What's Next?

Learn more about how to interact with the view in the swExplorer client. 

There is also an example graph as an alternative to using the FaultTreeGraph extension.