next up previous
Next: Integration Framework and Middleware Up: System Overview Previous: Coupling Methodology

System Components

To enable parallel simulations of rockets, we have developed a large number of software modules. Figure 1 shows an overview of the components of the current generation of Rocstar. These modules serve very diverse purposes and have diverse needs in their development and integration. We loosely group these modules into the following four categories.

Figure 1: Overview of Rocstar software components.
Image overview

Physics modules solve physical problems in their respective geometric domains. In general, they are similar to stand-alone applications, are typically written in Fortran 90, and use array based data structures encapsulated in derived data types.

Service modules provide specific service utilities, such as I/O, communication, and data transfer. They are typically developed by computer scientists but driven by the needs of applications, and are usually written in C++.

Integration interface provides data management and function invocation mechanisms for inter-module interactions.

Control (orchestration) modules specify overall coupling schemes. They contain high-level, domain-specific constructs built on top of service modules, provide callback routines for physics modules to obtain boundary conditions, and mediate the initialization, execution, finalization, and I/O for physics and service modules through the integration interface.

In Rocstar, the above categories correspond to the components at the lower-left, right, center, and top, respectively, of Figure 1. In the following sections, we describe various parallel aspects associated with these modules. In addition, our system uses some off-line tools, such as those in the upper-left corner of Figure 1, which provide specific pre- or post-processing utilities for physics modules.


next up previous
Next: Integration Framework and Middleware Up: System Overview Previous: Coupling Methodology
Gengbin Zheng 2005-07-07