# Strategies and Methods for the Fault-Tolerant Function Development of Multi-Domain Systems +
## 4 Emergence of Faults
The analyses and experiences mentioned above lead to the central insight that the emergence of faults is frequently caused by an unfavourable interplay of parameter values, by unfavourable topologies of product variants, and by the unexpected side-effects of certain product configurations and operation profiles. In mechanical engineering, the faults, which are not easily detected, are often connected with production tolerances, unfavourable tolerance chain situations, non-linear effects, such as friction with stick-slip, and mechanical wear of functional surfaces. In electronic sub-systems, faults, which are not detected in the initial design, often result from leakage currents, loss currents, magnetism, electro-magnetism, irradiations, and changing resistances, e.g., as a consequence of wear. In software, faults, which are difficult to detect, commonly result from an insufficient exploration of possible parameter ranges, double or wrong parameter assignments, as well as synchronisation issues, and unpredicted effects in the interplay of different software components. Further faults that are difficult to detect result from unsatisfactory design (in most cases, insufficient dimensioning of crucial components) and from unexpected use or even misuse. Additionally, unexpected environment conditions, such as the presence of corrosive media and other unexpected influences, such as vibrations or thermal issues, may cause faults. It is important to note that vibrations can also be caused by the system itself, e.g., for rotation machinery as a consequence of unbalance or misalignment [61]. It is also important to note that, in many cases, an event such as a product malfunction is not caused by a single fault in a single domain but by the concurrent occurrence of more than one small fault in different areas, which on their own may not even be detected by the end user. Such faults can be referred to as multiplicative faults, which are frequent because the simultaneous occurrence of various faults can be caused by their interdependent nature, e.g., if a crack in a shaft also leads to unbalance [61]. Another cause for the emergence of faults can be the complexity of technical systems. Complexity can be defined as the multitude of possible states of the system as well as the multitude of possible interactions between  
Figure 5: Causes for the emergence of faults. the system's elements, which--in complex systems--cannot be completely overseen and handled and as a result are a major source for faults. Complex systems can be understood as systems of systems (SoS); in such systems, a fault within one system within the SoS may produce only little damage within this system beyond a loss in SoS capability, but a highly interconnected SoS may experience significant damage in this case [56]. It is furthermore important to note that the different causes for the emergence of faults in Figure 5 may be expanded in further research. In future product development systems, it might be possible to detect unfavourable combinations by means of artificial intelligence (see, e.g., ref. [48]), if all product data and information about the underlying system development processes in all domains are collected and certain patterns are sought which have led to faults, problems, or failure in the past. This presents a rich field for future research. However, currently and most probably in the near future, a large share of the data and information generated in system development processes is not accessible, e.g., never documented or stored exclusively in proprietary data formats. Relying on the information which is available today, it is still possible to identify strategies to find countermeasures for these kind of faults; these are discussed in the next section.