You are here

Functional Allocation Trades Between Hardware and Software


Objective: Develop methods for allocating system functions to implementations of hardware or software with the intent of quantitatively assessing the benefits and drawbacks of these allocation options from a hierarchically increasing view (component, subsystem, system, system-of-systems). The desired outcome is a method for making comparative assessments and design trades between allocation of the same function to hardware and software implementations. Description: The Department of Defense (DoD) must be prepared to support a wide range of missions across dynamic and uncertain futures, including rapid changes in missions, threats, and operating environments. This requires efficiently creating, fielding, and evolving trusted defense systems that can proactively meet these needs. A key goal is ensuring that engineering programs maximize utility and represent best value for the investment across a breadth of potential missions in joint operational environments. Design, analysis, and assessment of multiple alternatives to achieve this goal requires that internal and external interactions with the design solution be well understood, and implications of both design and usage choices be communicated to the decision maker. Therefore, new methods and tools are needed that compensate and recover from disruptions, adapt to dynamic environments, and rapidly deliver new solutions. System lifecycle cost, reliability, availability, and other measures for assessing the effectiveness of a system are iteratively and recursively constructed from the component level up to the system or system of system level. When functions are decomposed and allocated at each hierarchical level, system designers need to decide whether a function is better met through an implementation of hardware or software. The impacts of these decisions need to be understood earlier in the design process in order to limit or eliminate delays and non-compliances of the system. Traditional values associated with software include increased execution speed and scalability, while hardware is associated with integration, testability, modularity, and lower cost. With the expanding role of software in achieving system functionality, the aforementioned values are no longer binned into either implementation. The result is the ability to more evenly trade the implementation of hardware or software. New methods and tools are therefore needed to make early, informed trades between allocation of functions to hardware or software and understand the system-level impacts of these decisions. Phase I: The Phase I is expected to develop approaches for manually and automatically allocating functions, at varying levels of the system hierarchy, to hardware and software alternatives and determining the optimal implementation allocation approach based on a set of quantitative measures of benefits and drawbacks (reliability, safety, function execution speed, reusability, lifecycle cost, etc.). Phase II: The Phase II is expected to produce a demonstration of capability for the allocation and assessment environment at the component and subsystem level. The selected measures of utility will be quantified, baselined, and compared for various combinations of hardware and software selections. Phase III: The Phase III is expected to produce an expanded capability, demonstrating the applicability of the method, and human-aided allocation selections and assessments, up to the system-of-system level.
US Flag An Official Website of the United States Government