What's New in Research on S

What's New in Research on S


Version 4 of S

The S language, designed and re-designed in the statistics research group at Bell Laboratories, is very widely used in Lucent Technologies, at AT&T, in universities, and in other research and industrial organizations. It provides rapid high-level prototyping for computations with data, featuring interaction, graphics, and universal, self-describing objects. Version 4 of S, a major revision of S designed by John Chambers to improve its usefulness at every stage of the programming process, is now being beta-tested by Lucent Technology and external beta sites. The following are some of the features of Version 4 of S.

An overview paper provides further details.

An S/Java Interface

John Chambers and Mark Hansen are working on an interface between S and the Java language. Java provides tools to program graphics and user interaction, and to make the results available over the world-wide web. Traditionally the Bell Labs Statistics Research provides the results of our research as software in the S language. Recently, the web has been used to access the results of statistical techniques, particularly graphics, applied to data analysis in Lucent Technologies, for example, in displaying the results of analyzing micro-electronic device manufacturing data .

To bring this technology together, and to provide a new interface to data analysis over the web, we have designed an interface between Version 4 of S and Java. The interface generates objects in S and passes those objects to Java. The Java classes have methods to evaluate objects of the corresponding class. The evaluation can produce dynamic graphics and user interaction using the Java toolkits. Examples of the interaction possible are given by the wafer plots and by a dynamic example of the triogram models developed by Hansen and co-authors.

The interface takes advantage of parallel high-level facilities shared by S and Java. Communication over the interface is made simple by a general, open format included in Version 4 of S, by which any S object can be transmitted in a form suitable for reading by other languages (and by Java in particular).