Towards a framework for specification and code generation of automatic systems

Autonomic computing is an emerging field for developing complex large-scale systems by transforming them into self-managing autonomic systems, which are 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 thesis approaches the problem of formal specification and code generation of autonomic systems within a framework. The core of this framework is an autonomic system specification language (ASSL). ASSL implies a multi-tier structure for specifying autonomic systems and targets at the generation of an operational framework instance from an ASSL specification. In general, the proposed framework helps to design and generate an autonomic computing wrapper that embeds the components of existing systems, i.e., it allows a non-intrusive adding of self-management features to existing systems. Moreover, the framework allows a top-down development approach to autonomic systems, where the generated framework instance will guide the designers to the needed components and their interfaces of the system under consideration. In order to define an appropriate basis for reasoning about ASSL specification models, we define ASSL formally via a well-defined context-free grammar and a semantic description covering the important operational aspects of the ASSL specification structures and commands. In addition, we propose semantic definitions for consistency checking that lay the ground for a mathematical theory for proving properties and checking consistency of autonomic systems specified with ASSL. We present our approach to reducing complexity when modeling autonomic systems with ASSL. This is possible because ASSL embeds a large set of properly designed abstractions that hide specifics of autonomic systems, thus reducing their complexity. In an attempt to validate the usability and applicability of ASSL, we apply the latter to modeling the NASA ANTS swarm-based prospective mission. In this thesis, an ASSL architecture model for autonomic elements is proposed. The model is considered generic because it is pertaining to any autonomic system successfully generated with the ASSL framework. An ASSL framework toolset that was designed and developed in the course of this project is presented, as well as test results generated with the same.