  Large, complex, multi-scale, multi-physics simulation codes, running on high
performance com-puting (HPC) platforms, have become essential to advancing
science and engineering. These codes simulate multi-scale, multi-physics
phenomena with unprecedented fidelity on petascale platforms, and are used by
large communities. Continued ability of these codes to run on future platforms
is as crucial to their communities as continued improvements in instruments and
facilities are to experimental scientists. However, the ability of code
developers to do these things faces a serious challenge with the paradigm shift
underway in platform architecture. The complexity and uncertainty of the future
platforms makes it essential to approach this challenge cooperatively as a
community. We need to develop common abstractions, frameworks, programming
models and software development methodologies that can be applied across a
broad range of complex simulation codes, and common software infrastructure to
support them. In this position paper we express and discuss our belief that
such an infrastructure is critical to the deployment of existing and new large,
multi-scale, multi-physics codes on future HPC platforms.
