Autonomic computing is an emerging field for developing complex large-scale systems by transforming them into self-managing autonomic systems intrinsically intended to reduce complexity through automation. However, the very complexity inherent in many systems that lend themselves well to autonomic computing can often cause difficulty in designing those same autonomic systems. This emphasizes the need for a specification language that allows for modeling and validation of such systems. This book approaches the problem of formal specification and code generation of autonomic systems within a framework. The core of this framework is ASSL (Autonomic System Specification Language). ASSL implies a multi-tier structure for specifying autonomic systems and targets at the generation of operational implementation from an ASSL specification.