This is historical material, "frozen in time."
The web site is no longer updated and links to external web sites and some internal pages will not work.
Appendix A - A.4
A.4 Support Software and Tools
The goals of Support Software and Tools activities are: the development of reliable and robust software
for operating, managing, and simplifying the use of complex, distributed heterogeneous systems; improved
methodology and environments for generating scalable and portable software components; and new tools
and techniques for increasing the productivity of the software development process.
Broad opportunities exist for joint government, industry, and university efforts to provide support software
technology applicable to all of the CIC Strategic Focus Areas. For example, the software service layer of
the NII will provide essential services to applications and will link them to a communications layer
comprised of alternate bitways. Software advances to enable the effective scalability and interoperability
of the service layer for the NII will enable U.S. industry to compete effectively in the emerging electronic
information marketplace. In the area of scalable computing and networking, rapid advances in electronic
components and computing systems provide vast opportunities for coordinated advances in operating
systems, languages, compiler technology and other support software to enable the broad application of
scalable systems to scientific, engineering and commercial applications. Currently, the development of
software components remains highly labor intensive. Raising the productivity of the software industry
through simplifying toolkits can yield significant dividends in the international marketplace and enable
more rapid introduction of hardware advances into affordable production systems.
Activities in this area are concerned with the development and application of software elements that are
essential to implement and sustain effective usage of advanced information technology - elements
ranging from operating systems and languages to distributed object libraries to human-computer interfaces.
These encompass several areas of research and development: language and programming paradigms;
compiler methodology and optimization techniques; operating systems; human-computer interfaces;
software tools and libraries; frameworks for application development; runtime systems; and computing,
communications and information environment infrastructure. Basic research in these areas seeks to
provide improved understanding of the design, creation, and validation of complex software systems.
New efforts in software in support of the CIC Strategic Focus Areas are pervasive and rely on a broad
spectrum of computer science and engineering sub-disciplines.
Operating system and runtime system support are required for: interoperability and scalability in support
of information use; distributed and heterogeneous systems and network-based mass storage; distributed
access and control in virtual environments; and demanding real-time communication exchange to support
Scalable software tools and development environments are required: to support the creation and testing of
complex software systems for improved system development productivity; for facilitating software
component reuse; to provide information infrastructure services such as information creation, update,
search, discovery, and retrieval; and to support models for debugging, performance analysis, and
Language and compiler developments are required: to support: distributed memory systems; for automatic
detection of parallelism; for parallel input/output; compiler optimization techniques; for object-oriented
paradigms; to support programming paradigms for multi-mode user-system communications; and for
portable and collaborative work tools
Standardized protocol interfaces, application frameworks, and object libraries are required for intimate
Significant development of new human-machine interfaces will be required to aid users in accessing and
using information in a largely multi-media and connectivity-rich environment. User aids must be
integrated at the systems level, automatically invoked, and as transparent as possible. Speech recognition,
synthetic speech, visualization, and virtual reality techniques are required for more effective human
assimilation of structured and unstructured information.
High confidence systems require advancements in: formal verification and validation, to provide tools for
automating program correctness; security tools and frameworks for providing authentication, encryption,
authorization, and anonymous access; reference implementations and reliability testbeds for conformance
testing of high integrity and high reliability systems; and verification and validation tools, test suites, and
testbeds for promoting timely and effective standards and protocols.
Computing and networking testbeds are required to support infrastructure development and evaluate
robustness, scalability, performance, and interoperability.
History has shown that the barrier to effective, affordable, and reliable use of computing systems has been
the software barrier. With the convergence of computing, communications, and information technologies
and their integration in support of the NII goals, the software barrier has become even more pervasive and
can be considered a challenge of fundamental importance as we proceed with the Information Age in the
remainder of this century and into the 21st Century.
A.5 Intelligent Systems
Goals of the Intelligent Systems activities are to construct intelligent systems that are
sensitive and responsive to human needs and requirements.
In order to achieve the societal promises of a more complex and capable information-based society over
the next decade, intelligent systems will be required that empower people, especially the vast number of
ordinary citizens, to take advantage of high-end computing and communications resources. This can be
done by reducing the existing barriers to accessing, developing, and using advanced software and
applications. User-centered interfaces and tools must be developed to provide new opportunities for
academia, industry, and the government working together to realize these opportunities.
A common core of capabilities is being pursued including abilities to: reason about the task being
performed and basic common sense facts that affect it; reason about the collaborative process as well as
about the knowledge and capabilities of other systems and people participating in an interaction;
communicate with users in human terms, producing and understanding combinations of spoken and written
language, drawings, images, and gestures; perceive the physical environments of the world; coordinate
perception, planning and action; and learn from previous experience and adapt behavior accordingly.
While progress has been made in each of the above areas, new efforts must concentrate on two critical
areas aimed at scaling up and scaling wide for the next generation intelligent systems.
Building large systems: In addition to developing radically new technologies to adapt to human
capabilities, the challenges facing future systems are solutions that retain efficiency and robustness in
large-scale, demanding environments or applications.
Integrated systems: To construct high-impact, human-responsive, end-user systems will require the
integration of a variety of capabilities including those described above.
The integration of multiple intelligent capabilities (such as retrieving digital video material by content
through the use of voice input, image processing, and query language analysis) into a more complex task
domain is a large scale technology integration challenge, because each of these core capabilities typically is
realized in a complex software system,
A.6 Information Management
The goals of information management R&D activities are the development and demonstration of
information management technology for accessing and maintaining very large, complex, distributed
Virtual enterprises require new capabilities for geographically dispersed teams to easily access, integrate,
and share vast amounts of heterogeneous information. Truly human-scaled information systems require
intelligent databases to locate appropriate information sources, perform queries and updates, filter and
integrate responses, and tailor the relevant information to fit the needs of a specific user performing a
Activities in this area fall under the general categories of information storage and retrieval, and database
management. Included in these general categories are: activities in content analysis and registration;
dictionaries and indexes; data compression; data storage and organization; logical and physical design
schemas; data description and manipulation languages; query languages and processing; and transaction
processing and concurrency.
New thrusts are needed in three general areas: the transition from relational database technology to post-
relational technology (including object bases and support for spatial data, temporal data, multimedia data,
imprecise data, active rules, and explicit profiles of the information requirements of each class of users);
the coexistence and interoperability of old and new heterogeneous information systems; and intelligent
processing techniques (developed in cooperation with the Intelligent Systems area) to locate, filter,
integrate, and summarize relevant information from vast data resources. Ultimately, we must aim to
transition from database information management technology to knowledge-based information
management techniques with a goal of producing more cognitive systems.
More specifically, tools and techniques are needed to design the schemas for efficient large-scale
distributed databases composed of objects, relations, and legacy data. Logical designs should include
appropriate, explicit constraints to ensure the integrity and security of the database. Specific applications
or classes of data (e.g., geographic, temporal, multimedia, very large objects) may require specialized
query and update operations. Advanced query languages and processing services are needed, including
search refinement and optimization based on user profiles. Special transaction processing and concurrency
controls are required for long-duration transactions.
Wrappers, translators, and interfaces with knowledge of semantics of data resources and user requirements
are needed to integrate heterogeneous data sources, including legacy data. Enterprise modeling is needed
to integrate data and process views. Information sharing and linking is needed to support collaborative
enterprises. Configuration, consistency, and change management are needed to support the development
and maintenance of shared information.
Information storage and retrieval activities will require services combining the Information Management
and Intelligent Systems areas for automated content analysis and registration equal to or better than
services of expert human librarians, including the ability to analyze and index large unstructured data
resources (images, videos, etc.). Advanced data compression and storage services are needed to optimize
retrieval or update of very large distributed databases, including management of tertiary storage.
Information management systems of the future must satisfy a host of operational requirements that are
invisible to the user, including portability, scalability, extendibility, robustness, reliability, maintainability,
efficiency, and controllability.
The goals of the Applications activities are to support the fundamental underpinnings of computation-,
communications-, and information-intensive applications, especially those needed for applications
requiring local or wide-area distributed processing. In addition, a crucial goal is to provide testbeds
populated with emerging technologies for applications development and demonstrations, particularly for
Grand and National Challenge applications.
Applications set the requirements directions for technology use and demand across the full scope of the
other six areas. The choice of specific applications should be based on scientific, educational, technical,
societal, industrial, governmental, and business importance. These select applications serve as drivers for
investing in the underlying science and the technology development of the other CIC areas, set the
technological challenges for new R&D, and are used to test, evaluate, and adopt technology.
Applications should be the major interface between CIC and other NSTC committees, not only in
supplying the technology and infrastructure for those areas, but also in using those areas to drive the
research in other CIC areas. CIC technologies can impact the goals of other NSTC activities, and will
eventually allow new breakthroughs in those areas. It is envisioned, for example, that distributed database
infrastructure will be fundamental to advances in areas of concern to other NSTC committees, such as
Environmental and Natural Resources as well as Health, Safety, and Food. Also, the new CIC technology
and infrastructure will have profound impact on activities considered by Education and Training.
Fundamental underpinning activities include: computational algorithms, techniques, and templates;
computational geometry; computational and adaptive grids and data structures; symbolic and numeric
computing; graphics and visualization techniques; new mathematical models of physical and biological
systems for massive parallel processing; and massive information handling techniques.
Emerging technologies are being demonstrated on Grand Challenge applications and challenges in
computational physics, biology, chemistry, materials, and large scale engineering. Some National
Challenge applications activities are just being initiated including manufacturing, health care, education,
environmental monitoring, digital libraries, and government information services
The infrastructure upon which the Applications activities rely are: metacenters and supercomputer centers;
research networks; scientists and engineers trained in modern I&C areas; human resources; directory and
locating services; software component and computational techniques libraries; and information data bases.
Activities in support of National Challenges will be increased and will be broadened to include electronic
commerce, public transportation and safety, and life long learning including arts, humanities and culture.
Emerging technologies including interfaces and standards for heterogeneous, distributed systems, portable
and plug compatible Information and Communications tools, science facility control and access systems,
and data exchange standards. Client-server services and application-specific (individual) query systems
will be demonstrated in applications-focused testbeds. Scalability, usability, reliability, and portability of
these technologies will be assessed.
The R&D investment strategy should include: broad and rapid application of existing information and
communications technological capability and expertise to the problems of the U.S. industrial,
governmental, societal, and educational segments for near term benefit to the U.S. taxpayer; judicious
investment in several nationally important scientific, engineering, and industrial applications in order to
both directly enhance the I&C capability in the selected areas, and to exhibit, integrate, test, evaluate
component system technologies for future broad cost-effective I&C solutions; leadership in fundamental
I&C science and technology development to enable future generation breakthroughs and advancements;
and, through use of advanced I&C capabilities, a vision for inspiring technology demonstrations that
enable educational process improvements and access to information bases for learning.