Let's Add Intervals to Java (a Proposal)

We want computers to generate guaranteed computation results.

Our interval community unites researchers and practitioners who understand that the existing numerical computations techniques often produce "educated guesses" rather than guaranteed results, and that in many applications, it is vitally important to have guaranteed results.

For example, when we launch a spaceship to the Moon, it is not sufficient to know that the approximately computed trajectory leads to the Moon; we must be 100% sure that the actual trajectory brings the spaceship there.

Therefore, we need computer support for interval computations.

Guaranteed means, e.g., that in addition to the approximate value, we must know the bound on its accuracy; in other words, we must know an interval that is guaranteed to contain the actual value.

Hence, we need computer support for interval computations.

Currently, the mainstream programming languages do not support interval computations.

As a result, lots of effort went into producing interval computation packages and interval versions of the mainstream languages.

Ideally, interval computations should be part of mainstream languages.

In particular, R. Baker Kearfott and other researchers are currently promoting the idea of including interval computations in the new version of Fortran.

Another language is now appearing on the horizon:

Java: the language of the future?

Currently, there is a new language called Java that is spreading like wildfire. It is, crudely speaking, a version of C++ that is tailored towards the World Wide Web and parallel computations.

This language is getting more and more popular with people doing applications, e.g., with chemical engineers, industrial engineers, etc., because with Java, they can not only run their programs, but they can also produce the results in a nice dynamic format directly into the Web page.

This language is actively supported by Sun Company, that distributes it for free.

Many researchers believe that it is the language of the future.

Let's add intervals to Java.

It seems reasonable to add interval computations to Java.

A specific feature of Java that makes interval computations especially important for Java is that Java is a platform-independent language. Running the same program on different platforms with different computer precisions, etc., often leads to different results. If we do not have intervals available to bound numerical errors, users will not know, when they get different results on different platforms, whether the differences are the result of a bug of some sort, or just numerical instability.

At Sun, there has already been an internal effort to add intervals to Java.

This effort is mainly promoted by Bill Walster, Sun's leading interval researcher.

Help is needed. Ideas are needed. Support is needed.

However, the language is still, basically, in the design stage. Language designers need feedback from the interval community:

It is especially important that the Sun team hears from potential users (customers) who are interested in applying interval computations to real-life problems.

Sun is making a serious effort to accommodate potential users, and it will definitely respond to the customer input.

See also:

Kenneth A. Dickey, "Getting the Numbers Right, A Cautionary Tale" Java Report, February 1998, Vol. 3, No. 2.

Abstract: A widespread myth holds that computers, being fast adding machines, do math well. We all know that this is not true but sometimes we believe it anyway. We forget that the numeric answers we get have high precision but perhaps no accuracy. I want the computer to tell me it can get the answer or not. This article explores how math happens in the Java language and provides a specific example from Interval Arithmetic.

Who to contact.

If you have specific ideas and/or suggestions, please send them to Bill Walster at Bill.Walster@eng.sun.com and to David Hough, the most senior floating point person at Sun, at David.Hough@eng.sun.com (both are on reliable computing mailing list).

Also, please mail a copy of your mail to Vladik Kreinovich at vladik@utep.edu. On Bill Walster's suggestion, and with his help, we will try prepare a formal summary of the interval community's opinion that will be sent to the Sun team.

If you simply want to express support and/or you feel that your ideas are too specific to send them to Sun team leaders, please mail your support/information to Vladik Kreinovich for inclusion into the summary.

The more input, the better.

Thanks for your help.

[<--] Back to Languages for Interval Computations

[<--] Back to the main menu of the Interval Computations website