Requirements engineering for parallel system development

Parallel computing technology has been available in some form since the mid-1970s and since then an array of powerful commercial architectures have emerged. Yet, many are still reluctant to transition applications into the parallel arena. Such reluctance may be partly due to the lack of Computer Aided Software Engineering (CASE) tools for developing applications targeted to parallel machines. Prototyping is one promising approach for parallel computing since it allows various alternative solutions for the problem to be solved prior to extensive design and coding effort. Although there are a variety of CASE tools for prototyping, little work has been done with regard to their extension for parallel applications. Over the past few years, Rome Laboratory has pursued research in this area. An existing algorithm prototyping tool for Von-Nuemann architectures, called PROTO, was studied and extended to support the prototyping of parallel applications. This paper discusses the capabilities of the PROTO tool along with how it was used to prototype a parallel version of a real-world weapon allocation algorithm. It identifies additional parallel mechanisms for PROTO and illustrates how the research supports the notion of extending conventional methods and tools for parallel computing.