Overview of PSEware Project
Overview of PSEware Project
Summary
This effort is a multi-institutional, multidisciplinary research
project on Problem Solving Environments (PSEs) focused on symbolic
computation, user interfaces and collaborative technologies for
parallel object-oriented programming. The PSEware (pronounced SEAware)
project is driven by a several applications, including:
Major Issues
- PSEs that support the transformation of symbolic problem
definitions to parallel object-oriented programs that can be executed
efficiently on a variety of sequential and parallel architectures.
- Object-oriented libraries of parallel program templates or
archetypes that can be refined to obtain specific applications by
using ideas such as inheritance.
- User-interface archetypes for scientific and engineering PSEs that
can be refined to construct a PSE for specific problem domain.
- Technologies for collaboration and ubiquitous distributed computing
focused on the internet, the Web, and Java, with the goal of applying
these technologies to distributed collaborative PSEs.
- Generic PSE components and tools to give non-experts in computer
science the ability to rapidly and easily construct their own PSEs.
Area Background
A problem-solving environment is an integrated collection of software
tools that facilitates problem-solving in some domain. A significant
amount of work has been carried out in the area of PSEs for problems
specified by differential equations. Our work has a different
emphasis from much of the work in PSEs by focusing on
symbolic specifications, methods of reuse of object structures for
user interfaces and parallel execution, component technologies
for PSEs, and collaboration technologies
for problem solving.
A scientist or engineer should be able to specify a
problem symbolically with the notation that they use in communication
with each other. PSEs should help them refine their symbolic
specification to efficient parallel object-oriented programs.
Parallel program archetypes should facilitate this refinement. The
symbolic and graphical user interfaces should also be object-oriented
to facilitate reuse of the user interface for large classes of
scientific applications.
Most modern scientific computing research is done
by groups of people. A PSE should
facilitate collaboration among a distributed group as well as empower
a single person. Our project researchs adapting internet-based
collaboration technologies to help collections of people use shared
PSEs to solve problems together. A collaborative problem-solving
environment is also an ideal teaching tool. A focus of our group is in
using PSEs for outreach and education.
The PSEware project targets the generic underpinnings of problem solving
environments, and one application of that research is the identification
and creation of components and glue technologies which will allow
application scientists to quickly and easily build their own
PSEs.
Related Research Areas
Our work is application-driven, and those driving
application areas include airshed modeling, cosmology, numerical
tokamak, sparse linear systems, code generation, and soliton exploration.
A great deal of work is going on in
these and related areas of science and engineering and some of that work
deals with PSEs for specific areas. Our focus has a different
emphasis: research on methods and tools to develop PSEs as opposed to
PSEs for a specific application. However, working on several specific
PSEs is critical to be able to identify archetypes and resuable,
useful tools for PSEs, and to
assure that the tools developed are both usable and used.
Symbolic computation has been receiving increasing attention with the
widespread use of Mathematica and Maple and similar tools, and with
the increasing integration of these tools with tools for numeric
computations such as Matlab. Most PSE research which has used
symbolic computing has used the computer algebra system as
a relatively simple scripting front-end.
A great deal of research is being carried out in parallel object
technologies parallel languages, and parallel runtime systems (MPI,
PVM). There is a huge and growing interest in collaborative
technologies, the Web and distributed computing.
We are furthering all those areas. Our emphasis
is on integrating those research strands in different areas
into a unified discipline of PSE engineering, abstracting
general software architectures and tools from existing
approaches and creating new ones.
bramley@cs.indiana.edu
Last updated: Mon Jan 25 12:58:49 1999