My research includes both closely related fields of autonomic computing (AC) and artificial intelligence (AI).
I design both hardware and software with goal of researching neural network communication using Zilog’s eZ80® CPU.
EZ90 is a high-speed micro-coded, 8-bit microcontroller executing code up to four times faster than a standard Z80 operating at the same clock speed. Increased processing efficiency of the eZ80 CPU improves available bandwidth and decrease power consumption. eZ80 CPU’s 8-bit processing power rivals performance of competitors’ 16-bit microcontrollers.
eZ80 CPU was first 8-bit microcontroller supporting 16 MB linear addressing. Each software module, or each task, under a real-time executive or operating system can operate in Z80-compatible (64 KB) mode or full 24-bit (16 MB) eZ80 addressing mode.
eZ80 CPU’s instruction set is a superset of instruction sets for Z80 and Z180 CPUs. The Z80 and Z180 programs are executed on an eZ80 CPU with little or no modification. The eZ80 CPU is combined with peripherals, I/O devices, volatile and nonvolatile memory, etc, for various eZ80 CPU products within the eZ80 and eZ80Acclaim!® product lines.
Research goal of autonomic self contained systems capable of both short and long term scheduling of useful work requiring minimal human intervention. Short-term jobs measured in milliseconds to long-term jobs measured in years or decades is my research goal. Effective self-managing long term scheduling requires combination of both strong AI & AC.
Autonomic computing refers to self-managing characteristics of distributed computing resources, adapting to unpredictable change, while hiding from operators and users required intrinsic complexity.
Primary goal is developing computer systems capable of self-management, overcoming rapid growing complexities involving computing platform management, while simultaneously reducing barrier complexities limiting growth.
Autonomic systems make independent decisions, using high-level policies or rules. Autonomic systems constantly check and optimize their status, automatically adapting with changing conditions. As widely reported, autonomic computing framework might be seen composed by Autonomic Components (AC) interacting with each other. Autonomic components (AC) can be modeled in terms of two main control loops, local and global. Systems also contain sensors for self-monitoring, effectors for self-adjustment, knowledge and planner/adapter for exploiting policies based on self and environmental awareness.
Autonomic visionaries have proposed a variety of architectural frameworks based on self-regulating autonomic components. Similar characterized research work in the area of multi-agent systems are typically conceived with centralized or cluster-based server architectures and mainly address the need of reducing management costs rather verse the need of enabling complex software systems or providing innovative services.
Autonomy-oriented computation is a paradigm proposed by Jiming Liu in 2001 using artificial intelligent systems imitating social animal collective behaviors resolving hard computational problems. For example, ant colony optimization could be studied in this paradigm.
Growing complexity of self-managed systems present different advantages, disadvantages, and different problems to designers, manufactures, users and scientists of varied scientific disciplines.
Forecasters suggest total number of computing devices will continue to grow at rates on par with past growth. Intel’s recent announcement it has developed CPU chips capable of running on micro amounts of power has opened door to chips operating from electrical currents derived from vibration, heat, G forces, solar energy etc. Additionally with power requirement envelope dropping, average complexity & computing power of each device has increased directly proportional.
Complexities managed by skilled humans are expensive and prone to pitfalls associated with human labor (mistakes, illness effecting productivity etc). Computing systems have brought great benefits of speed and automation but there is now overwhelming economic, safety, system availability necessities automation of their maintenance.
In referencing "The Vision of Autonomic Computing", authors Kephart & Chess warn that the dream of interconnectivity of computing systems and devices could become the “nightmare of pervasive computing” in which architects are unable to anticipate, design and maintain the complexity of interactions. They state the essence of autonomic computing is system self-management, freeing administrators from low-level task management while delivering better system behavior.
Distributed computing suffers from one persistent problem, complexity. Specifically problems related to complexity in system management. Complexity is a significant factor limiting further development.
Large companies and institutions are employing large-scale computer networks for communication and computational needs. Distributed applications running on distributed computer networks are diverse and wide-ranging. Distributed networks manage many different tasks, from internal control processes to presenting web content and customer support.
Mobile computing networks are growing at ever-increasing speeds; employees need to communicate with their companies while they are not in office. Using laptops, PDA’s, mobile phones or other diverse forms of wireless and/or mobile technologies to access their company data, making employees and data more mobile than ever.
This creates enormous complexity in the overall computer network, which is hard to control manually by human operators. Manual control is time-consuming, expensive, and error-prone. Manual efforts needed to control growing networked computer-system tend to increases directly proportional with network complexity.
Problems in infrastructure often happen at the client specific application and database layer. Most 'autonomic' service providers, guarantee only the basic plumbing layer (power, hardware, operating system, network and basic database parameters).
Autonomic systems are possible solutions to enable modern, networked computing systems to self manage without direct human intervention. Autonomic Computing Initiative (ACI) goal is to provide the foundation for autonomic systems, inspired by the autonomic nervous system of the human body. Human ‘autonomic nervous system’ provides control of important bodily functions (e.g. respiration, heart rate, and blood pressure) without conscious intervention.
With self-managing Autonomic Systems platforms, the human operator takes on new roles. Instead of operators controlling systems directly they define policies and rules that serve to governor self-managed process.
Autonomic systems contain the following four functional areas:
1) Self-Configuration, automatic configuration of components.
2) Self-Healing, automatic discovery and correction of faults.
3) Self-Optimization, automatic monitoring and control of resources ensuring optimal function with respect to the defined requirement.
Level 5: Representing the ultimate goal of autonomic, self-managing systems.
Design complexities of Autonomic Systems can be simplified by utilizing design patterns such as the Model View Controller (MVC) to improve concern separation by helping encapsulate functional concerns.
Basic concepts such as using closed control loops derived from Process Control Theory. Essentially, a closed control loop in a self-managing system monitors some resource (software or hardware component) and autonomously tries to keep its parameters within a desired range. Perhaps hundreds or even thousands of these control loops are expected to work in a large-scale self-managing computer system.
A fundamental building block of autonomic systems is the sensing capability (Sensors) that enable systems to self observe its external operational performance. Inherent to an autonomic system is the knowledge of the purpose (intension) and know-how to operate itself (e.g., bootstrapping, configuration knowledge, interpretation of sensory data, etc.) without external intervention. Actual operation of autonomic systems is dictated by logic, which is responsible for making correct decisions to serve its purpose, and influence by the observation of the operational performance (based on the sensor input).
Operation of an autonomic system is purpose-driven. This includes its mission (e.g., the service it is supposed to offer), the policies (e.g., that define the basic behaviors), and the “survival instinct”. If seen as a control system this would be encoded as a feedback error function or in a heuristically assisted system as an algorithm combined with set of heuristics bounding its operational space.
Even though the purpose and thus the behaviors of autonomic systems vary from system to system, every autonomic system should be able to exhibit a minimum set of properties to achieve its purpose:
This essentially means being able to self-control its internal functions and operations. As such, an autonomic system must be self-contained and able to start-up and operate without any manual intervention or external help. Again, the knowledge required to bootstrap the system (Know-how) must be inherent to the system.
An autonomic system must be able to change its operation (i.e., its configuration, state and functions). This will allow the system to cope with temporal and spatial changes in its operational context either long term (environment customisation/optimisation) or short term (exceptional conditions such as malicious attacks, faults, etc.).
An autonomic system must be able to monitor (sense) its operational context as well as its internal state in order to be able to assess if its current operation serves its purpose. Awareness will control adaptation of its operational behavior in response to context or state changes.