 |
|
eng_whitepaper.html
DADiSP
|
|
DADiSP White Paper:
The Engineering Spreadsheet
The Task
Scientists and engineers (S&Es) are in the business of converting data
into information. With the incredible increase in processing power of personal
computers and data acquisition software, scientists and engineers can now
collect reams of data at the push of a button. However, converting that
data into useful information often remains a daunting task. The
Scientific Method
Scientific inquiry is rooted in the basic tenets of the scientific method:
- Ask a question.
- Formulate a hypothesis as a possible answer to the question.
- Design an experiment to test the hypothesis.
- Collect data from the experiment.
- Analyse the data.
- Accept or reject the hypothesis based on the results of the analysis.
Thus, data analysis is a fundamental and necessary step in virtually every
scientific endeavour. Due to economy and flexibility, personal computers
are the tool of choice for both scientific data acquisition and data analysis.
To understand the necessary components of data analysis software, we must
first look at the data analysis user. Common User Attributes
S&Es who use data analysis software share four common attributes:
- S&Es are not professional programmers. Although often familiar
with the tasks required to write software routines, technical professionals
get paid to produce results, not code.
- S&Es are experts in their application area. The technical professional
knows precisely what methods, calculations and graphics are required
to produce acceptable results in their particular field.
- S&Es work in technical application areas that are extremely diverse.
Applications run the full gamut of scientific inquiry including signal
processing, statistical analysis, test and measurement, noise and vibration,
medical research, process monitoring, image processing, communications,
quality management and just about anything and everything else.
- S&Es routinely work with huge volumes of data and rely on graphical
representation as an interpretation aid. The raw numbers are overwhelming
and must be reduced to application specific graphical form to convey
meaningful information. The great diversity of graphs employed by S&Es
has led to the term scientific visualization.
Two Approaches
Because of the numerous target applications, we see at least two avenues
of designing data analysis software:
- Create many application specific programs, such as chromatography,
modal analysis, filter design etc. that target specific customers.
- Create a general purpose tool that can be adapted to the many application
areas.
Obviously, a general purpose tool is highly preferable from a software development
and marketing point of view. In addition, engineering problems can span
several disciplines making some application specific programs too limiting.
Finally, add in modules can be provided to allow the tool to further target
specific applications similar to an application specific product.
Design Requirements
From the above common attributes, we can derive several design implications
a general purpose analysis tool must address to effectively satisfy the
needs of S&Es:
- S&Es are not professional programmers
- The tool must be easy to use.
- S&Es are experts in their application area
- The tool must support customization by the end user.
- S&Es work in technical application areas that are extremely diverse
- The tool must be extremely flexible.
- S&Es routinely work with huge volumes of data and rely on graphical
representation as an interpretation aid
- The tool must produce graphical results in a natural
way.
The Traditional Approach
The traditional approach to creating a technical data analysis tool has
been to provide an interactive, high level language. To meet the requirements
of S&Es, these languages offer the following features:
- Canned routines such as FFT, INTEGRATE, INVERT, etc. to prevent the
customer from needlessly "re-inventing the wheel".
- An interpreted language to avoid the tedious "compile and link" development
process of base level programming languages.
- Integrated graphics capability to present results in a meaningful
form.
Products such as Matlab, APL, IDL and a host of other analysis languages
fall into this category.
The great benefit of a language based solution is flexibility - almost any
application requirement can be programmed. Of course, this flexibility comes
at a tremendous price - the S&E must program almost everything! Programming
is a difficult, low productivity chore not in the direct realm of the S&E's
expertise. The Business Spreadsheet
The business spreadsheet is an extremely popular and flexible software tool.
The spreadsheet derives its tremendous power from the ability of the user
to easily set up relationships between numeric cells in a relatively intuitive
manner. When cells are updated with new values, dependent cells automatically
recalculate. The user is effectively writing an application specific program
without actually programming in the traditional sense. In addition, almost
all spreadsheets provide a mechanism to reduce numeric data to graphical
form. Thus, the spreadsheet represents a flexible, easy to use tool that
provides some degree visualization without the heavy burden of programming.
Not surprisingly, surveys consistently show the overwhelming majority of
S&Es use business spreadsheets for technical data analysis over every
other solution - even though this tool was not designed to handle technical
data. The Spreadsheet User Model
In fact, the business spreadsheet is designed to manipulate a small collection
of scalar values. These values are processed and perhaps displayed as a
final graph. For example, a user might enter values such as sales, cost
of sales, expenses, taxes and more taxes to produce a basic income statement.
Several periods of this data could then be appended together to produce
a simple trend chart. The business user starts with numbers and perhaps
ends up with a graph. The S&E User Model
In contrast, in the course of data analysis, the S&E begins with graphs,
almost always creates additional graphs, and perhaps produces a meaningful
scalar as a final result. For example, a mechanical engineer would integrate
the acceleration data of a vehicle chassis crash test to produce a velocity
graph. This graph by itself conveys valuable information. However, the derived
velocity data would in turn be converted into the frequency domain to isolate
the important natural frequencies. Finally, the most prominent frequency
in a certain band would be singled out as the resonant frequency of the
chassis.
In this case, the S&E starts with a graph and ends up with a scalar
- the exact opposite reduction chain of the business user. In addition,
the volume of data routinely processed by the S&E rapidly chokes the
business spreadsheet. Limitations of the Business Spreadsheet
The business spreadsheet is a flexible and powerful tool that S&Es often
"shoehorn" to meet their analysis requirements. However, because it was
designed for business/financial use, the standard spreadsheet presents many
limitations for S&E data analysis applications:
- Restrictive data size
- Slow graphics for large data
- Data must be saved with spreadsheet
- Numeric focus inappropriate for S&E data
- Lack of S&E analysis routines
- Inability to handle complex numbers
- Inability to handle binary data
- Limited data import capabilities
- Is there a better solution than the business spreadsheet? Yes
there is. We call it DADiSP.
DADiSP - the S&E's Spreadsheet
DADiSP (pronounced day-disp) is a "graphical spreadsheet" designed
specifically for S&Es. DADiSP capitalizes on the power and familiarity
of the business spreadsheet while at the same time overcoming its limitations
in S&E applications.
Instead of cells that contain numbers, a DADiSP Worksheet consists of analysis
windows that automatically display data as a table or graph. Like a business
spreadsheet, when the data in an analysis window changes, all dependent
windows automatically update. Specific, custom analyses can be accomplished
naturally without the need for traditional programming. DADiSP employs contemporary
user interface elements such as pull down menus, dialogue boxes, toolbar
buttons and online help to provide a productive, familiar environment. And
unlike business spreadsheets, DADiSP is designed to accommodate huge data
series and render graphs with optimal speed.
Data import is extremely flexible with support for ASCII and binary file
types. Imported data resides in a separate series data base and can be exported
to several file formats. Complex numbers are fully supported. DADiSP includes
1000 built-in analysis routines tailored specifically to S&E applications.
DADiSP also offers several optional processing modules
that target specific application areas. DADiSP - Language Included
To provide full user customization, DADiSP includes SPL (Series Processing
Language). SPL is a full-featured, incrementally compiled series processing
language based on the omnipresent C/C++ language. As a result, SPL programs
have a clean and familiar style about them. SPL also contains useful constructs
of languages such as APL and Matlab. Thus, the C/C++ programmer is immediately
at home with SPL and Matlab or APL programmers will recognize their favourite
programming idioms. DADiSP - The Best of Both Worlds
By combining the ease of use and familiarity of the business spreadsheet
with the power and flexibility of an interpreted analysis language, DADiSP
is designed to be the analysis tool of choice for both the "point and click"
and "type and enter" S&E user. A few of DADiSP's more popular features
include:
- Graphical Worksheet Windows
- Unlimited Data Size
- 1000 built-in analysis functions
- Tabular, 2D, 3D and Image - optimized graphics
- Standard GUI Interface
- Cross-Platform Availability
- SPL - Series Processing Language
- Inter-Application Communication (ActiveX, DDE, etc.)
- Line, Legend and Text Annotations
- Custom Menus, Dialogue Boxes and Toolbar Buttons
- Scrolling Graphs and Cross Hair Cursors
- Overplot and Overlayed Graphs
- Online Help
|
|
|
|