From on-going practices of those who develop high performance software, there is an evident, pressing need for a highly focused effort to "reinvent" the explicit methodologies that support parallel programming. To enable a new methodology, orthogonalization of features and separation of concerns within the feature sets of existing parallel models (e.g., MPI-1, MPI-2, DRI, MPI/RT, BSP) are required from the viewpoint of creating notational instantiations sufficiently simple to achieve the requirements of actual parallel programs. Additionally, the new notational representations for expressing parallel programs must not be burdensome in terms of the unintentioned complexities for expressing an implementation (either in middleware or in compiler-assisted syntactical farm). In support of this vision, this paper identifies specifically the need for application of modern software engineering and design concepts to a refactoring of the Message Passing Interface's set of capabilities. Concepts and methodologies from modern software engineering - Model Driven Architecture and Aspect-Oriented Software Design - inform this effort.
展开▼