Software and Hardware Foundations
(SHF)
![](https://webarchive.library.unt.edu/eot2008/20090115151627im_/http://www.nsf.gov/images/greenline.jpg)
CONTACTS
![](https://webarchive.library.unt.edu/eot2008/20090115151627im_/http://www.nsf.gov/images/bluefade.jpg)
See program guidelines for contact information.
SYNOPSIS
![](https://webarchive.library.unt.edu/eot2008/20090115151627im_/http://www.nsf.gov/images/bluefade.jpg)
The Software and Hardware Foundations program supports foundational research essential to advance the capability of computing systems. The combined power of the software and hardware of these systems enables new, possibly unforeseen application. At the same time, new and emerging technologies require continued advances in software and hardware foundations. The focus of this program is on reasoning, comparing and establishing properties of existing and newly-conceived software and hardware components, systems, and other artifacts.
Foundational advances are sought in formal semantics, models, methods, logics, languages, architectures, and tools for specifying, designing, programming, analyzing (statically and at run-time), evaluating, and reasoning about the software and hardware of current and future computing systems. Especially welcome are collaborations with researchers in theoretical computer science, machine learning, artificial intelligence, and the social sciences that provide new perspectives on these problems. Advances should be driven by the need to address desired system functional and performance behavior, including properties such as correctness; efficiency in time, space, and energy; composability; predictability and provability; maintainability and usability; and adaptability to changing requirements or dynamic environments. Innovative engineering methods for developing software and hardware through synthesis, optimization, transformation, or design-time verification, are welcome.
Especially challenging for the future is the need to develop new software and hardware foundations for heterogeneous computing systems, where components in a single system may be diverse in one or more dimensions. Examples of these dimensions of a system are: size of component, from molecular machines to nano-computers to mobile devices to desktops to supercomputers; number of components, from single processor to multi-/many-core processors to networks (clusters) of servers; substrate type, from traditional silicon to biological to nanotechnology to quantum; and software type, from legacy code to applets and web services to open source to domain- or device-specific. Adding to the challenge of heterogeneity is that of managing complexity due to interactions across multiple system layers, from high-level application features to low-level technology-driven circuit characteristics.
Numerous challenges must be addressed to harness the full computing power of multi-core architectures. The SHF program supports projects whose research outcomes promise advances in parallel programming models, abstractions, languages and algorithms; software development, compilation, debugging and visualization tools and platforms for parallel architectures and scientific computing; frameworks for automatic parallelization, optimized code generation and dynamic run-time execution; scalable mechanisms for concurrency control and synchronization in heterogeneous environments; virtualization for optimized performance; and power-aware scheduling algorithms and load balancing schemes.
Software research for compute-intensive applications and hardware is welcome; projects focused on data-intensive applications and hardware should be submitted to the Data-intensive Computing program described in the CISE Cross-Cutting Programs solicitation. Investigators interested in the Software and Hardware Foundations program may also have interest in the Computer Systems Research program. The emphasis here is on reasoning about software and hardware components while the emphasis in Computer Systems Research is in the engineering of complex systems.
More information on topics of interest within the Software and Hardware Foundations program is available at: http://www.nsf.gov/cise/ccf/shf_pgm.jsp
Software and Hardware Foundations (SHF) Staff
Funding Opportunities for the Software and Hardware Foundations Program:
Computing and Communication Foundations (CCF): Core Programs. NSF 08-577
THIS PROGRAM IS PART OF
![](https://webarchive.library.unt.edu/eot2008/20090115151627im_/http://www.nsf.gov/images/bluefade.jpg)
Computing and Communication Foundations (CCF): Core Programs
![](https://webarchive.library.unt.edu/eot2008/20090115151627im_/http://www.nsf.gov/images/x.gif)
|