jLab: Integrating a scripting interpreter with Java technology for flexible and efficient scientific computation

  • Authors:
  • Stergios Papadimitriou;Konstantinos Terzidis

  • Affiliations:
  • Department of Information Management, Technological Educational Institute of Kavala, 65404 Kavala, Greece;Department of Information Management, Technological Educational Institute of Kavala, 65404 Kavala, Greece

  • Venue:
  • Computer Languages, Systems and Structures
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The jLab environment extends the potential of Java for scientific computing. It provides a Matlab/Scilab like scripting language that is executed by an interpreter implemented in the Java language. The scripting language supports the basic programming constructs with Matlab like matrix manipulation operators. The jLab ''core'' provides the general purpose functionality with an extensive set of built in mathematical routines that cover all the basic numerical analysis tasks. Application specific functionality can be dynamically ''plugged'' in jLab by means of toolboxes. These toolboxes can be easily implemented in Java. They are packaged in .jar files for convenient handling and their corresponding classes can be dynamically integrated to the system. The important advantage of jLab compared to other similar environments is the potentiality to dynamically and automatically integrate Java code to the system in order to obtain both execution speed and to reduce the programming effort. This task is supported both by an easy to use extension Java class wizard and by application specific class wizards that automate the utilization of jLab's scientific libraries. Numerical analysis algorithms can require enormous computation resources and at the same time an expressive programming environment. We demonstrate the potentiality of jLab by describing the implementation of a simple numerical analysis algorithm that detects the zero of a function. Also an additional example concerning the solution of ODEs with the compute intensive Runge-Kutta methods is illustrated. The former task can be facilitated with the external class wizard while the ODE wizard can completely automate the later.