The TASCS project is organized into four focus areas, which include maturing the CCA environment and tools, developing a “component ecosystem”, leveraging the component environment to provide new capabilities to software developers, and helping computational scientists effectively use component technology.

Component Technology Initiatives CCA Toolkit User and Application Outreach and Support CCA Environment Emerging High-Performance Computing Hardware and Software Paradigms (HPC) Software Quality and Verification (SQV) Computational Quality of Service and Adaptivity (CQoS) Core Tool Support and Maintenance Enhancements Usability

Component Technology Initiatives

The Component Technology Initiatives focus on utilizing and extending the component model to provide new “value added” capabilities for CCA users.

Emerging High-Performance Computing Hardware and Software Paradigms (HPC)

The HPC initiative focuses on developing component-based tools to help applications manage higher/hybrid levels of parallelism through a multiple-component multiple-data (MCMD) paradigm; this work includes support for hardware co-processors such as Field-Programmable Gate Arrays (FPGAs).

For more details, see the CCA Forum MCMD Working Group site…

Software Quality and Verification (SQV)

This initiative focuses on automating the use of domain-specific behavioral and Computational Quality of Service (CQoS) semantics for scientific components.  Initial efforts emphasize the specification and verification of functional software “contracts” associated with component interfaces to help developers and users improve the quality of their software.

Computational Quality of Service and Adaptivity (CQoS)

CQoS focuses on mechanisms to dynamically adapt long-running component-based applications in response to changing conditions (i.e. performance, accuracy, mathematical consistency, reliability, etc.) by composing, substituting, and reconfiguring components on the fly.

For more details, see the CCA Forum CQoS  site…

CCA Environment

This thrust area supprts and improves the foundation of the CCA environment and tools for ease of use and as core technology for other initiatives.

Core Tool Support and Maintenance

Provides essential software maintenance, porting, and support in the face of changing HPC environments.


Extends the CCA environment with additional features/capabilities  required by users and other activities within TASCS.  The main areas of research and development include: integration of high-performance BabelRMI into  distributed CCA frameworks, inter-framework interoperability, and  enhanced language interoperability features.


Focuses on making CCA technology more accessible to users through the development of tools for semi-automatically wrapping legacy software into the CCA environment, debugging, and testing of components.

CCA Toolkit

The CCA Toolkit work is dedicated to providing a rich set of components  for plug-and-play high-performance computing.  Tools are provided that  help component developers contribute components that have a uniform  build system and “feel” for users of the components.

User and Application Outreach and Support

This thrust area focuses on assisting applications groups with CCA adoption and usage through direct interactions, and development of documentation, tutorials, and example materials.