Wednesday, September 23, 2009 10:30AM
Location: Math Tower, Room 1-122
The Common Component Architecture for Scalable Scientific Software Engineering
In recent years, component technology has been a successful methodology for large-scale commercial software development. Component technology encapsulates a set of frequently used functions into a component and makes the implementation transparent to the users. Application developers typically use a group of components, connecting them to create an executable application. The Common Component Architecture (CCA) is a project whose goal is to use component technology in scientific computing to tame the software complexity required in coupling multiple disciplines, multiple scales, and/or multiple physical phenomena. The CCA is designed to fit the needs of the scientific computing community by imposing very low overhead, supporting parallel components, and enabling interoperability with legacy code. The CCA component model has already been used in several application domains, creating components for large simulations involving accelerator design, climate modeling, combustion, and accidental fires and explosions. These simulations are able to execute on sets of distributed memory machines spanning several computational and organizational domains. This talk will introduce the CCA and its associated tools and discuss some of the recent advancements made by this project.