{'fraction_non_alphanumeric': 0.008130081300813009, 'fraction_numerical': 0.0, 'mean_word_length': 5.447619047619048, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Fault tree synthesis from UML models for reliability analysis at early design stages

System reliability analysis is often neglected at early design stages when design decisions change the system architecture rigorously. This is because appropriate methods are time consuming and require an in-depth knowledge about the applied method. We propose a modeling approach that focuses on reusability and automatic fault tree synthesis of the models. We use UML to model application dependent and application independent views on the system and allocate steps of the application definition to architecture elements. In doing so various different system concepts can be investigated with minimal re-modeling effort. We identify capturing fault propagation and fault containment information as a major challenge in automatic fault tree synthesis and offer an application dependent and an application independent approach to modeling this kind of information. Then we introduce an algorithm that transforms the UML model into a fault tree representation of the respective system and validate our approach using an example from the automotive domain. The results from the validation highlight the validity of the generated trees, the efficiency with which different system concepts may be evaluated, and the degree to which the analysis results can be generalized