Mathematica Inside:
Software Development Made Easy

2001 Mathematica Developer Conference

Roman E. Maeder
MathConsult Dr. R. Mäder
Samstagernstraße 58a
8832 Wollerau
Switzerland

mailto:maeder@mathconsult.ch
http://www.mathconsult.ch

The Mathematica kernel is uniquely suited as a computation server and control program inside batch-oriented, interactive, or Web-based applications. Its rich interactive programming language allows for rapid prototyping and its flexibility makes it easy to adapt it to the environment in which it will be deployed. With the recent expansion of Mathematica's I/O capabilities and MathLink-based interfaces to backend databases and frontends, it is now possible to use Mathematica in many applications in place of more traditional, expensive solutions. Examples from the author's work in finance give an idea of the possibilities.

About the Speaker

Dr. Roman E. Maeder is one of the developers of Mathematica and has used it in teaching and research since 1988. He published several books about Mathematica.
After several years as professor of computer science at ETH Zurich he is now the founder and owner of MathConsult Dr. R. Mäder in Switzerland, a consulting business specializing in computer-aided mathematics, especially for the finance sector.

Application Development

Rapid Prototyping

more than a buzzword...

Software Engineering

({{DBAccessProto.m, DBAccess.m}, {BeginPackage["DBAccess"]
GetData::usage="..."
Begin["`Private`"]

GetData[source_String]:= 
  {fakedata,...}
End[]
EndPackage[], BeginPackage["DBAccess"]
GetData::usage="..."
Begin["`Private`"]
Needs["Database`Database`"]
GetData[source_String]:= 
  SQLSelect[...]
End[]
EndPackage[]}})

In your application, first use this

Needs["DBAccess`", "DBAccessProto`"]

later, replace by

Needs["DBAccess"]

Application Architecture

The Mathematica kernel inside

Front- and Backend Interfaces

The Roadmap of Mathematica-Land

Products and Tools mentioned

Interfaces and MathLink products are developed by Wolfram Research, in collaboration with Wolfram Research, and by independent software developers.

Here's the place to learn more about all of these. Any written account is most likely out of date.

Example: ZKB Bond Index at SWX

Finanz und Wirtschaft of 14.06.200

SWX calculates the ZKB bond index

Every day in the newspaper...

System architecture

Mathematica's Contribution

Example: An Option Calculator

UnRisk Pricing Engine for Mathematica and Excel

An application with the UnRisk pricing engine just presented here.

The Components

Integrating the Components into an Interactive Option Calculator

This demonstration will show

⟹ Enough to convince a potential customer of the feasibility and cost-effectiveness of such a solution

What is Left do Do?

For an application that can be used in a front- or back-office environment, one would need to add

Conclusions

Mathematica is no longer only a tool for the lonely researcher or teacher. It has become a delivery engine for applications which may not even use its mathematical powers.