# Problem solving environment

A problem solving environment (PSE) is a completed, integrated and specialised computer software for solving one class of problems, combining automated problem-solving methods with human-oriented tools for guiding the problem resolution. A PSE may also assist users in formulating problem resolution. A PSE may also assist users in formulating problems, selecting algorithm, simulating numerical value and viewing and analysing results.

## Purpose of PSE

Many PSEs were introduced in the 1990s. They use the language of the respective field and often employ modern graphical user interfaces. The goal is to make the software easy to use for specialists in fields other than computer science. PSEs are available for generic problems like data visualization or large systems of equations and for narrow fields of science or engineering like gas turbine design.

### History

The Problem Solving Environment (PSE) released a few years after the release of Fortran and Algol 60. People thought that this system with high-level language would cause elimination of professional programmers. However, surprisingly, PSE has been accepted and even though scientists used it to write programs.
The Problem Solving Environment for Parallel Scientific Computation was introduced in 1960, where this was the first Organised Collections with minor standardisation. In 1970, PSE was initially researched for providing high-class programming language rather than Fortran, also Libraries Plotting Packages advent. Development of Libraries were continued, and there were introduction of Emergence of Computational Packages and Graphical systems which is data visualisation. By 1990s, hypertext, point-and-click had moved towards inter-operability. Moving on, a "Software Parts" Industry finally existed.
Throughout a few decades, recently, many PSEs have been developed and to solve problem and also support users from different categories, including education, general programming, CSE software learning, job executing and Grid/Cloud computing.

## Examples of PSE
### Grid-Based Numerical Optimisation

The shell software GOSPEL is an example of how a PSE can be designed for EHL modelling using a Grid resource. With the PSE, one can visualise the optimisation progress, as well as interact with other simulations.
The PSE parallelise and embed many individual numerical calculations in an industrial serial optimisation code. It is built in NAG's IRIS Explorer package to solve EHL and Parallelism problems and can use the gViz libraries, to run all the communication between the PSE and the simulation. It also uses MPI — part of the NAG libraries — which gives significantly quicker and better solutions by combining the maximum levels of continuation.
Moreover, the system is designed to allow users to steer simulations using visualised output. An example is utilising local minima, or layering additional details when around a local in and out of the simulation and it can imagine the information which is produced in any sharp and also still allow to steer the simulation.

### Grid-based PSEs for mobile devices

PSEs are require a large amount of resources that strain even the most powerful computers of today. Translating PSEs into software that can be used for mobile devices in an important challenge that faces programmers today.
Grid computing is seen as a solution to the rescue issues of PSEs for mobile devices. This is made possible through a "Brokering Service". This service is started by an initiating device that sends the necessary information for PSE to resolve task. The brokering service then breaks this down into subtasks that distributes the information to various subordinate devices that perform these subtasks. The brokering necessitates an Active Agent Repository (AAR) and a Task Allocation Table (TAT) that both work to manage the subtasks. A Keep-Alive Server is tapped to handle communication between the brokering service and the subordinate devices. The Keep-Alive server relies on a lightweight client application installed in the participating mobile devices.
Security, transparency and dependability are issues that may arise when using the grid for mobile device-based PSEs.

### Education Support

There are a revolution for network-based learning and e-learning for education but it is very difficult to collect education data and data of the student activities. TSUNA-TASTE, is developed by T. Teramoto, a PSE to support education and learning processes. This system may create a new idea of the e-learning by supporting teachers and students in computer-related education. It consists of four parts, including agents of students, an education support server, a database system and a Web server. This system makes e-learning more convenient as information is earlier to store and collect for students and teachers.

### P-NCAS

A computer-assisted parallel program generation support(P-NCAS), is a PSE, creates a new way to reduce the programming hard task for the computer programming. This program can avoid or reduce the chance that huge computer software breaking down so this restrict uncertainty and major accidents in the society. Moreover, partial differential equations(PDEs) problems can be solved by parallel programs which are generated by P-NCAS supports. P-NCAS employs the Single Program Multi Data (SPMD) and uses a decomposition method for the parallelisation. These enable users of P-NCAS to input problems described by PDES, algorithm and discretisation scheme etc., and to view and edit all details through the visualisation and windows for edition. At last, parallel program will be outputted in C language by P-NCAS and also include documents which show everything has inputted in the beginning.

## Future Improvement

At first it was difficult doing 2-D EHL problems because of the expense and computer power available. The development of parallel 2-D EHL codes and faster computers have now paved the way for 2-D EHL problem solving to be possible. Friction and lubricant data need a higher level of security given their sensitivity. Accounting for simulations may be difficult because these are done in rapidly and in the thousands. This can be solved by a registration system or a 'directory'. Collaborative PSEs with multiple users will encounter difficulties tracking changes, especially which specific changes were made and when those changes were made. This may also be solved with a directory of changes made.
Secondly, future improvement of the Grid-based PSEs for mobile devices, the group aims to generate new scenarios through manipulation of the control variables available. By changing those control variables, the simulation software is able to create scenarios from each other, allowing for more scrutiny of the conditions in each scenario. It is expected that manipulation of three variables will generate twelve different scenarios.
The variables that we are interested in studying are network stability and device mobility. We feel that these variables will hater the greatest impact on grid performance. Our study will measure performance using task completion time as the primary outcome.

## PSE Park

As PSEs grow more complex, the need for computing resources has risen dramatically. Conversely, with PSE applications venturing into fields and environments of growing complexity, the creation of PSEs have become tedious and difficult.
Hirumichi Kobashi and his colleagues have designed a PSE meant to create other PSEs. This has been dubbed as a 'meta PSE' or a PSEs. This was how PSE Park was born.

### The Framework

The architecture of PSE Park emphasises flexibility and extensibility. These characteristics make it an attractive platform for varied levels of expertise, from entry-level users to developers.
PSE Park provides these through its repository of functions. the repository contains modules required to build PSEs. Some of the most basic modules, called Cores, are used as the foundation of PSEs. More complex modules are available for use by programmers. Users access PSE Park through a console linked to the programmers. Once the user is register, he/she has assess to the repository. A PIPE server is used as the mediator between the user and PSE Park. It grants access to modules and constructs the selected functions into a PSE.
Developers can develop functions, or even whole PSEs, for inclusion into the repository. Entry-level and expert users can access these pre-made PSEs for their own purposes. Given this architecture, PSE Park requires a cloud computing environment to support the enormous data sharing that occurs during PSE use and development.

### The PIPE Server

The PIPE Server differs from other servers in terms of how it handles intermediate results. Since the PIPE Server acts as a mediator in a meta-PSE, any results or variables generated by a core module are retrieved as global variables to be used by the next core. The sequence or hierarchy is defined by the user. The way, same name variables are revised to the new set of variables.
Another important characteristics of the PIPE Server is that it executes each module or core independently. This means that the language of each module does not have to be the same as the others in the PSE. Modules are implemented depending on the defined hierarchy. This feature brings enormous flexibility for developers and users who have varied backgrounds in programming. The modular format also enables that existing PSEs can be extended and modified easily.

### Cores

In order be registered, a core must be fully defined. The input and output definitions allow the PIPE server to determine compatibility with other cores and modules. Any lack of definition is flagged by the PIPE server for incompatibility.

### Registration Engine and Console

The registration engine keeps track of all cores that may be used in PSE Park. A history of use is also created. A core map may be developed in order to help users understand a core or module better. The console is the users' main interface with PSE Park. It is highly visual and diagrammatic, allowing users to better understand the linkages between modules and cores for the PSEs that they are working on.