We apply cybernetics theory to control software behaviors in architecture-level. We propose Breeze/ADL to specify the self-adaptive architecture. We design a learning algorithm to derive feedbacks to adjust the architecture. We extend tool – Breeze to support our framework.