You are here

Multi-Abstractions System Reasoning Infrastructure toward Achieving Adaptive Computing Systems


Objective Develop a framework and infrastructure to enable system reasoning for supporting self-diagnostic, adaptive systems toward achieving missions. Description This SBIR topic solicits the design and development of framework, infrastructure, knowledge/model representation and methods for runtime reasoning of system"s state, integrity and security of software systems, including operating system, applications and their components. Large and complex systems of software, such as the ones used by DoD, are difficult to completely verify and secure. These systems are vulnerable to compromises which take advantage of the architecture, protocol and implementation weaknesses and flaws. As breaches and compromises have become a fact of computing life, it is important that our computing systems can adapt and operate effectively under such conditions. There is a need for a system which can continuously assess its own state/health, capabilities and limitations, and adapt to the situation, at cyber speed, toward maximizing the potential success of the missions. In the heart of such system there is a comprehensive and timely system reasoning infrastructure, a data-acquisition/event-recognition system and an intelligent system controller. Continuous reasoning and assessment prescribes the use of lightweight, programmable and selective data acquisition methods, which dynamically probe the system for various set of data points over time, under guidance of the system controller. If recorded, a log provided by the data acquisition system is contextual and sparse. The system controller uses system reasoning infrastructure to make sense of the probed data, compute the future event of interest and translated them into detailed description which can be used to set up the data acquisition system to catch future events of interest. Current approach for analysis and diagnostic of a software system is based on ad-hoc rule/knowledge, provided by experienced practitioners. Such a static rule/knowledge based system cannot provide a comprehensive and up-to-date knowledge/model of the system. It is relatively inflexible and cannot account for unexpected conditions and new problems arising from removal, installation and changes of systems"components. Ad-hoc knowledge is also relatively slow to adapt, and requires time consuming manual analysis and knowledge update. Other form of diagnostic is the computer forensic or other type of memory-dump/system-image analysis. High frequency memory-dump based data acquisition can be prohibitive in term of load on the processor and data bus, and the forensic process is often heavy, requires manual intervention and will not be timely or responsive enough for runtime deployment. This solicitation emphasizes on the design and development of the framework, infrastructure, and exploration for potential representation and methods for runtime (real-time or semi-real-time) reasoning of system"s state of software systems, including operating system, applications and their components. The system reasoning infrastructure solicited in this topic needs to: 1) provide the appropriate abstraction for efficient reasoning, as well as providing bridging into fine grained semantic where an event or a sequent of events can be described and recognized/captured during runtime, 2) enable automated iterative analysis/diagnostic process, and predict/compute event(s) of interest based on its understanding of the systems"state, 3) accommodate the systems"configuration dynamic, as the components of the systems are removed, installed, or upgraded, over time, 4) and if necessary capable of analysis/diagnostic based on contextual and sparse log of dynamically (in term of instances and time) monitored events and parameters. Phase I Design and develop a framework, infrastructure, and methods for runtime reasoning of system"s state, integrity and security of software systems, including operating system, applications and their components. Develop a proof of concept implementation of the proposed design to demonstrate its required functionalities. Phase II Develop and demonstrate a prototype framework, infrastructure, and methods for runtime reasoning, on a simple or pared-down operating system and a set of applications. Develop test cases and demonstrate that the system reasoning infrastructure satisfy all of the required functionalities. Phase III Dual Use Application This overall system could be used in a broad range of environment requiring resilient computing infrastructure. It is applicable to both military and civilian enterprise applications.
US Flag An Official Website of the United States Government