Research Associates: A. C. Catlin, M. G. Gaitatzes, S. Markus, R. A. Weerasinghe, V. Verykios, T. Drashansky
Sponsors: ARPA, NSF
Problem Solving Environments (PSEs) are very high level software environments that provide all the facilities for dealing with some class of problems. It has been recognized that building PSEs is a costly endeavor both in terms of the person-years of development time and also in the diversity of knowledge and expertise required. The Purdue PSE Kernel Project is a software framework designed to assist in the development of PSEs.
A PPK-based PSE is assumed to consist of a collection of tools that interact with each other via shared data objects. The overall interaction is managed and recorded in a notebook-type editing environment. The shared data objects are implemented using an object manager, which is basically an object database with a standardized MIME-based type naming system and a universal object naming system based on URLs. The notebook is a multimedia editor which provides a well-defined programming environment for binding object parameters and for scheduling tool activities. The graphical user interfaces are built using X11R6 and Motif 2.0. Tcl is heavily used as a configuration language for various pieces of PPK.
Communication services for PPK are provided by PSEBus. PSEBus is a distributed communication framework for building PSEs which consist of multiple, collaborating components. After evaluating the plethora of existing communication environments, we found it necessary to develop yet another communication environment to support our work. PSEBus is an implementation of the software bus model and provides several features that were not available in existing systems. The current implementation supports C/C++ while a Java implementation is in progress. Lisp and FORTRAN interfaces are also planned.
An initial prototype of PPK has been built and was used as the basis for a new implementation of the PDELab PSE. HPC computing is handled with a virtual parallel environment model.