A Survey of Self-Awareness and Its Application in Computing Systems <s> B. Engineering Self-Aware Systems <s> This book gives a thorough knowledge of cognitive radio concepts, principles, standards, spectrum policy issues and product implementation details. In addition to 16 chapters covering all the basics of cognitive radio, this new edition has eight brand-new chapters covering cognitive radio in multiple antenna systems, policy language and policy engine, spectrum sensing, rendezvous techniques, spectrum consumption models, protocols for adaptation, cognitive networking, and information on the latest standards, making it an indispensable resource for the RF and wireless engineer. The new edition of this cutting edge reference, which gives a thorough knowledge of principles, implementation details, standards, policy issues in one volume, enables the RF and wireless engineer to master and apply today's cognitive radio technologies. Bruce Fette, PhD, is Chief Scientist in the Communications Networking Division of General Dynamics C4 Systems in Scottsdale, AZ. He worked with the Software Defined Radio (SDR) Forum from its inception, currently performing the role of Technical Chair, and is a panelist for the IEEE Conference on Acoustics Speech and Signal Processing Industrial Technology Track. He currently heads the General Dynamics Signal Processing Center of Excellence in the Communication Networks Division. Dr. Fette has 36 patents and has been awarded the "Distinguished Innovator Award". It features: foreword and a chapter contribution by Joe Mitola, the creator of the field; discussion of cognitive aids to the user, spectrum owner, network operator; explanation of capabilities such as time - position awareness, speech and language awareness, multi-objective radio and network optimization, and supporting database infrastructure; detailed information on product implementation to aid product developers; thorough descriptions of each cognitive radio component technology provided by leaders of their respective fields, and the latest in high performance analysis - implementation techniques; explanations of the complex architecture and terminology of the current standards activities; and discussions of market opportunities created by cognitive radio technology. <s> BIB001 </s> A Survey of Self-Awareness and Its Application in Computing Systems <s> B. Engineering Self-Aware Systems <s> Abstract : This project performed an initial exploration of a new concept for computer system design called Self-Aware Computing. A self-aware computer leverages a variety of hardware and software techniques to automatically adapt and optimize its behavior according to a set of high-level goals and its current environment. Self-aware computing systems are introspective, adaptive, self-healing, goal-oriented, and approximate. Because of these five key properties, they are efficient, resilient, and easy to program. The self-aware design concept permeates all levels of a computing system including processor microarchitecture, operating systems, compilers, runtime systems, programming libraries, and applications. The maximum benefit is achieved when all of these layers are self-aware and can work together. However, self-aware concepts can be applied at any granularity to start making an impact today. This project investigated the use of self-aware concepts in the areas of micro-architecture, operating systems and programming libraries. <s> BIB002 </s> A Survey of Self-Awareness and Its Application in Computing Systems <s> B. Engineering Self-Aware Systems <s> In this paper we propose an approach based on self-interested autonomous cameras, which exchange responsibility for tracking objects in a market mechanism, in order to maximise their own utility. A novel ant-colony inspired mechanism is used to grow the vision graph during runtime, which may then be used to optimise communication between cameras. The key benefits of our completely decentralised approach are on the one hand generating the vision graph online which permits the addition and removal cameras to the network during runtime and on the other hand relying only on local information, increasing the robustness of the system. Since our market-based approach does not rely on a priori topology information, the need for any multi-camera calibration can be avoided. <s> BIB003
While meta-cognition or meta-self-awareness are concerned with higher reasoning abilities in AI, at a more fundamental level, efforts exist to engineer systems which explicitly consider knowledge about themselves. Agarwal et al. BIB002 ,  put forward a case for a paradigm shift in system design practice. The idea here is to move from a procedural design methodology wherein the behaviour of the computing system is pre-programmed or considered beforehand (i.e., at design time), towards a self-aware system where this is not required and the system adapts to its context at run-time. One aim is to avoid or reduce the need to consider the availability of resources and various other constraints beforehand, instead intelligently trading-off available resources for performance at run-time. A recent example BIB003 of the application of such a design approach is the use of intelligent agents to control the behaviour of distributed smart cameras, which are given the goal of tracking objects that move through their field of view. Here, agents use a utility function to represent their progress towards the tracking goal. In attempting to maximise their utility, they make intelligent decisions at runtime concerning how to exchange tracking responsibilities between themselves and with whom to communicate. The emergent result is an efficient outcome in the trade-off between tracking performance and communication overhead. Unlike previous approaches to this problem, the cameras did not require any a priori knowledge of their environment or the camera neighbourhood structure. Importantly, for a system to be self-aware it is not required to be highly complex; indeed the scalability of the concept means that self-awareness has also been considered in much simpler systems. An example of this is so called cognitive radio devices BIB001 , which monitor and control their own capabilities and also communicate with other radio devices to monitor theirs. This enables them to improve the efficiency of communication by negotiating changes in parameter settings  . Agarwal et al. BIB002 argue that five design properties should be considered when engineering self-aware systems. Namely, that they are: • introspective, i.e. they can observe and optimise their own behaviour, • adaptive, i.e. they can adapt to changing needs of applications running on them, • self-healing, i.e. they can take corrective action if faults appear whilst monitoring resources, • goal oriented, i.e. they attempt to meet user application goals, and • approximate, i.e. they can automatically choose the level of precision needed for a task to be accomplished.