This document discusses integrating adaptation mechanisms in self-adaptive software systems using control theory models. It presents a case study of using feedback control loops and control theory models to optimize a web server's performance by self-adjusting tuning parameters. The challenges of engineering such self-adaptive systems include control challenges for control engineers and integration challenges for software engineers. The study models the web server as a multi-input multi-output system and designs a linear quadratic regulator controller to optimize performance based on CPU utilization and memory usage.