One objective of our research is to make the process of networked scientific computing seamless. This requires that there be an operational transparency, at the level of the user, to the existence of the network. The user's view should be that of accessing a single computational resource. To this end, we seek to create Problem Solving Environments (PSEs) that are network and evolution aware, and abstract network and system details from the user, thereby making the system effectively transparent. We plan to evolve GAMS into a PSE that enables network-based computing in the scientific software area. An important task of the PSE is to accept some ``high level'' description of the problem from the user, and then, taking the user's computing environment and other constraints into consideration, automatically select appropriate computational resources (hardware, software) to solve it. Clearly this task requires the use of ``intelligent'' techniques, with knowledge about the problem domain and reasoning strategies that enable the system to locate appropriate software components. The PSE also needs to be aware of the underlying network and its capabilities and how to integrate various software components across the network.
We plan to do further benchmarking studies and comparisons of the Java and Limbo programming languages to determine their suitability for distributed applications. In addition, because of the security risks involved, we are working with other researchers in the repository and agent technology communities to define requirements for safe execution environments for agent and applet programs. An execution environment provides program interpretation and run-time support as well as relocation and communication services. However, the execution environment must also be secure to ensure that code from untrusted sources does not harm the host system, gain unauthorized access to files, or usurp resources. After determining the requirements for such an environment, we plan to implement a facility for remote execution of user code in the Netsolve system.
1.0