A real-time pattern based architecture for autonomic systems

Bogdan Solomon, Université D'Ottawa / University Of Ottawa, Université D'Ottawa / University Of Ottawa
Autonomic Systems are computer systems that can self-manage by ensuring that the system is optimal, correctly configured, protected and able to recover from errors with minimal to no human intervention. Applications of autonomic systems range from usage optimization for clusters of servers or virtual machines, to error prevention and error recovery for web applications. The methods used to undertake research in the area of autonomic systems are also varied, ranging from complex machine learning
more » ... ex machine learning algorithms to simple rule-based control systems and from complex control models of the underlying system to simple policy based control systems. At present, autonomic system structures are missing a key component - a robust, reusable, and standard architecture based on patterns. This would simplify the design and implementation of autonomic computing systems. Autonomic systems are often designed and developed following a monolithic pattern which leads to a replication of development efforts when parts of the system are later used in a different approach. In this thesis, an architecture rooted in real-time control systems is introduced and its corresponding detail design is described. The development of the architecture is based on Model-Driven Development principles. Furthermore, the thesis presents and develops various models for the control of autonomic systems. The models used allow for an easy interchange of components via composition/decomposition mechanisms. It is thus demonstrated how the framework developed based on the proposed architecture can be easily reconfigured for the control and supervision of different types of autonomic computing strategies such as self-management for Web Services or self-optimization for Server Virtualization. Experiments on and with the above new autonomic computing methodology for various computing paradigms are given to support the design and the implementation described.
doi:10.20381/ruor-19128 fatcat:f5opt7ex7rajjhfqto2wt4xs4u