We have already described how the application of Section 18.3 illustrates a compound or metaproblem. The software support is that of an adaptive asynchronous high-level system controlling data parallel (synchronous or loosely synchronous) modules. Perhaps the best developed system of this type is AVS, which was originally developed for visualization but can be used to control computational modules as well [Cheng:92a]. Examples of such use of AVS are [Mills:92a;92b] for financial modelling, [Cheng:93a] for electromagnetic simulation, and the NPSS system at NASA Lewis [Claus:92a] for multidisciplinary optimization, as in Figures 3.11(a), 15.1, and 15.2. As summarized in Table 18.3, MOVIE, described in Chapter 17, was designed precisely for such metaproblems with the original target problem that of the many linked modules needed in large-scale image processing. Linda [Gelertner:89a] and its extension Trellis [Factor:90a], [Factor:90b] is one attractive commercial system which has been used for data fusion applications that fall into the problem class. The recent work on PCN [Chandy:90a] and its extensions CC++ [Chandy:92a] and Fortran-M [Foster:92a] were first implemented as reactive (asynchronous) software systems. However, it is planned to extend them to support the data-parallel modules needed for metaproblems.
The simulation systems of Sections 15.3 and 18.3 illustrate that one may need special functionality (in the cited cases, the support of event-driven simulation) in the high-level asynchronous component of the software system.
Clearly, this area is still poorly understood, as we have little experience. However, we expect such metaproblems to be the norm and not the exception as we tackle the large, complex problems needed in industry (Chapter 19).