{'fraction_non_alphanumeric': 0.014519056261343012, 'fraction_numerical': 0.0, 'mean_word_length': 5.3028571428571425, '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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Analysis of design patterns in OpenNebula

Computer system models and designs have been used in helping verification and validation activities. Computer systems have also been designed to make verification and validation easier such as the work on Design for Verification. The concepts of separation of concerns and modular design are two examples of how design decisions can make verification and validation easier. The objective of this research is to verify cloud-based systems and use its design to make the verification easier. Since a cloud-based system consists of many interacting software and hardware components, we start with verifying OpenNebula, a cloud-based system middleware. The methodology is to analyze OpenNebula's code and identify the design patterns that will later be used in simplifying the verification. The analysis is performed by reverse engineering the code using class diagram generation tools and code analysis functions in an Intergrated Development Environment (IDE). This paper will present the design patterns in OpenNebula and how it can influence the verification.