ftp.nice.ch/pub/next/science/mathematics/workbench/Workbench.README

This is the README for Workbench.3.0.s.tar.gz [Download] [Browse] [Up]

*************************************************************************
Greetings from Allegheny College,

In the Fall 1991 edition of NeXT on Campus, Jeff Martin and Joshua Doenias wrote an article "An introduction to extensible programming" which describes the design of an extensible paint program. In the spirit of that article, we (Chuck Fleming and Judy Halchin) wrote Workbench.

Workbench is an extensible application for doing "calculations or analysis".  Workbench.app currently contains two "connectors", MathConnector.wbResource and ImprovConnector.wbResource.  MathConnector provides a connection to Mathematica via MathLink, and ImprovConnector provides a connection to Improv spreadsheets.  Additional connectors are in the planning stage.  Connectors are dynamically loaded when Workbench launches, so one way to extend Workbench's functionality is to simply drop additional connectors into Workbench's app directory.    

Workbench's true extensibility comes from its ability to dynamically load tools.  Tools are bundles containing objects that perform some type of calculation or analysis.  Several sample tools (including source code) are provided with Workbench.  For example, Eigen is a tool for computing eigenvalues of a matrix.  Eigen uses both ImprovConnector and MathConnector.  A square matrix of data is retrieved from an Improv spreadsheet (via ImprovConnector) and shipped off to Mathematica (via MathConnector) to have its eigenvalues computed and returned.  The results are dislayed in the workbench.  We have found tools particularly useful as a way of making Mathematica easier to use.  This is primarily because the options for a particular Mathematica command can be presented to the user via the tool's inspector.  The sample tool Legendre illustrates this point. 

In addition to Mathematica tools, another area in which we will aggressively pursue the development tools is statistics and data analysis.  

So how much work is it to create a tool?  Tools (with inspectors) are easily created with our ToolBuilder application.  ToolBuilder generates all source files (plus a .nib file for an inspector) needed by a tool.  ToolBuilder lets you specify which connectors the tool will use.  When more connectors become available, you simply add their names to a text file to inform ToolBuilder of their existence.  Basically, to build a tool, one simply needs to implement the evaluate: method for the tool and ok: and revert: methods for the inspector.  Complete instructions for building a tool are included.  See the sample tools to see how easy this really is!

Workbench should be stored in an app directory.  Tools, which will have the extension .wbTool, will then be displayed with an appropriate icon.  

The beta code (including source) can be obtained from pellns.alleg.edu.  Look in /pub/3.0/Workbench and /pub/3.0/Workbench/Source.  Additional features, such as dragging and dropping of tools, will be added shortly.

/pub/3.0/Workbench will contain
	Workbench.README (the file you are reading)
	Worbench.app.compressed
	ToolBuilder.app.compressed
	Differentiator.wbTool.compressed
	Eigen.wbTool.compressed
	Legendre.wbTool.compressed
	Histogram.wbTool.compressed

/pub/3.0/Workbench/Source will contain
	ToolBuildingInstructions
	Workbench.compressed
	ToolBuilder.compressed
	Differentiator.compressed
	Eigen.compressed
	ImprovConnector.compressed
	Legendre.compressed
	MathConnector.compressed
	Histogram.compressed

Regards,
Chuck

cfleming@alleg.edu
Senior Applications Developer
Educational Computing Services
Allegheny College

   

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.