/*****************************************************************************/
/*                 Functional Safety Suite Example                           */
/*              Copyright © Thomas Brunnengräber 2014                        */
/*                                                                           */
/* Project: FTA_Transfers_and_Links                                          */
/* Version: 2014-08-05                                                       */
/*****************************************************************************/

The project "FTA_Transfers_and_Links" demonstrates the capabilities and usage
of transfer-in gates and links with respect to common causes.

Start with UNIT_A:
Each unit of type UNIT_A can fail due to component faults A_FAULT1 and 
A_FAULT2, and a fault that will effect all units of type UNIT_A, A_FAULT3.
Imagine UNIT_A being a sensor. A_FAULT3 could be an external event that leads
to wrong values in all units of type UNIT_A.

Imagine now units of type UNIT_B, performing some pre-evaluation of sensor 
signals. Always two sensors of type UNIT_A are connected to a pre-evaluation
UNIT_B, as modelled in UNIT_B.
In addition each UNIT_B can fail due to its internal components X (two per 
unit B) B_CompX, and Y (one per unit B) B_CompY.

Finally imagine an overall system TOP that includes two units B1, B2, in a
redundant architecture, where both units B1, B2 share the same two sensors
(note that sensors are often very expensive compared to electronic boards).

The transfer-in gates A1 and A2 in tree Unit_B_wrong do the following:
All '#' in event names of lower sub-trees are replaced by "A1.#" or "A2.#".
Since the new names still end with '#', they would be replaced in higher 
tranfer-in gates (=systems using UNIT_B) as well -- as if each UNIT_B would
use different sensors.

In tree Unit_B, the gates are named "A1%" and "A2%".
The '%' denotes, that no ".#" will be appended again. So a higher transfer-in 
doesn't replace anything, the names are fix. Thus multiple units of type UNIT_B
in the system TOP share the same sensors A1 and A2.

A (maybe better) alternative to the usage of '%' is the use of a link. A link
is a generic basic event, and thus all instances of this link point to the same
event (as long as you don't specify different suffixes or '#').
This method is shown in the fault trees IN, UNIT_B_alternative and 
TOP_alternative.

The fault tree "Complete" shows the complete architecture in one single model.
