# Presentation: 493991

## Funding Opportunities:Next Generation Software ProgramInformation Technology Research ProgramDynamic Data Driven Application Systems Thrust

- Dr. Frederica Darema (darema@nsf.gov)
**Senior Science and Technology Advisor**
**Director, Next Generation Software Program**
- NSF

## Supporting Dynamic Execution Environments: Next Generation Software Program(NGS)

**NGS Scope: **design methods composition, and runtime support of complex applications with end-to-end performance, on distributed heterogeneous platforms, including Grids, GiBs, & embedded systems
**Program Components:**
**TPES **(Technology for Performance Engineered Systems)
**and **
**CADSS **(Complex Application Development and Support Systems)
- TPES: Methodology for _performance engineered_ computing systems  (end-to-end performance analysis&prediction)
- performance frameworks, multilevel models for analysis and prediction
- CADDS: Use of performance technology in a _new software architecture for application development and run-time support_
- new dynamic (autonomic) compilation/run-time system technology
- application composition technology

**Notes:**
NGS Scope: design methods composition, and runtime support of complex applications with end-to-end performance, on distributed heterogeneous platforms, including Grids, GiBs, & embedded systems
Program Components:
TPES (Technology for Performance Engineered Systems)
and 
CADSS (Complex Application Development and Support Systems)
TPES: Methodology for performance engineered computing systems
performance frameworks, multilevel models for analysis and prediction 
CADDS: Use of performance technology in a new software architecture for application development and run-time support
new dynamic compilation/run-time system technology
application composition technology

## TPES Technology for Performance Engineered Systems

**Components Technology**

**TPES ****Technology for Performance Engineered Systems**

**Performance Engineering Frameworks**

**Notes:**
Performance Engineering Frameworks: Software Frameworks that can be populated by models describing various layers and components of a hardware and software computing system. Thus models are needed for the applications layer, the application support layer such as I/O and visualization services, the OS layers, the networking layer, the computational platforms architectural layers, such as computation and memory hierarchies.  There are a number of heterogeneous methods of describing these layers: analytical models, simulators, emulators.  The methods need to be able to describe these layers or components in several levels of detail and can be pluggable in the frameworks as needed for the specific analysis and system behavior under study.  

## CADSS

- Dynamically
- Link
- &
- Execute

**CADSS: ****Complex Application Development and Support **
-  (integrated feedback and control compiling system
- Runtime Compiling System - RTS)

- Application
- Model

- Application
-  Program

- Application
- Intermediate Representation

- Compiler
- Front-End

- Compiler
- Back-End

***CADSS***

- Architecture
- &
- Performance
- Models/Measurements

- Distributed
- Programming
- Model

- Application
- Components

**Dynamic Analysis**
**Situation**

**Launch**
**Application (s)**

- Distributed Platform

*Adaptable*
*computing Systems*
*Infrastructure*

- Distributed Computing Resources

**Notes:**
The technology discussed here is aimed to enable dynamic application composition and runtime support for applications executing on heterogeneous, distributed platforms, where the computation and communication resources and services can vary duting execution. Such capabilities can be enabled by enhancing the compiler layer and  creating an integrated compiling system where part of the compiler is embedded in the runtime, thus extending the compiler technology so that the compiler is cognissant not only of the static application information, but also of the dynamic resources of the underlying platform.  Such information coupled with resource performance models and measurements of the application characteristics and the underlying resources, will be used by the advanced compiler to optimize mapping of the applications under dynamic runtime conditions.  Furhtermore the compiler will use such information to enable dynamic composition of application at runtime, depending on underlying resources. 

## What is DDDAS

**Experiment**
**Measurements**
**Field-Data**
**User**

**Theory**
**(First Principles)**

**Simulations**
**(Math.Modeling**
**Phenomenology)**

**Experiment**
**Measurements**
**Field-Data**
**User**

**Theory**
**(First Principles)**

**Simulations**
**(Math.Modeling**
**Phenomenology**
**Observation Modeling**
**Design)**

_***Challenges***_**:**
- Application Simulations Development
- Algorithms
- Computing Systems Support

**Dynamic **
***Feedback & Control***
**Loop**

_**What is DDDAS**_

## Enabling DDDAS

**Performance**
**Engineering**

**Dynamic**
**Compilers**
**&**
**Application**
**Composition**

**Dynamic Data-Driven**
**Application Systems**
**--**
**Symbiotic **
**Measurement&Simulation**
**Systems**

**Enabling DDDAS**

- New Systems Software Technology
- NGS Program

## Information on these opportunities

***Next Generation Software Program (NGS)***
***http://www.nsf.gov/pubsys/ods/getpub.cfm?nsf01147***
***Information Technology Research Program***
***http://www.nsf.gov/pubsys/ods/getpub.cfm?nsf02168***
***Dynamic Data Driven Application Systems Thrust (DDDAS)***
***http:/www.cise.nsf.gov/eia/DDDAS***
***http://www.nsf.gov/pubsys/ods/getpub.cfm?nsf02168***
***AND: ******for ***_***NGS & DDDAS***_*** proposals submitted to ITR, ***
***	******state ***
***	***_***ACIR***_*** (Division) and ***_***NGS***_*** as the holding program***