{'fraction_non_alphanumeric': 0.014028056112224449, 'fraction_numerical': 0.0, 'mean_word_length': 5.935185185185185, '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}}
The Beginning of a Cognitive Software Engineering Era with Self-Managing Applications

The recent explosion of data and the resurgence of AI, Machine Learning and Deep Learning, and the emergence of unbounded cloud computing resources are stretching current software engineering practices to meet business application development, deployment and management requirements. As consumers demand communication, collaboration and commerce almost at the speed of light without interruption, businesses are looking for information technologies that keep up the pace in delivering faster time to market and real-time data processing to meet rapid fluctuations in both workload demands and available computing resources. While the performance of server, network and storage resources have dramatically improved by orders of magnitude in the past decade, software engineering practices and IT operations are evolving at a slow pace. This paper explores a new approach that will provide a path to self-managing software systems with fluctuation tolerance to both workload demands and available resource pools. The infusion of a cognitive control overlay enables an advanced management of application workloads in a distributed multi-cloud computing infrastructure. Resulting architecture provides a uniform framework for managing workload non-functional requirements such as availability, performance, security, data compliance and cost independent of the execution venue for functional requirement workflows.