Derivatives evaluation web site

A derivatives evaluation and analysis web site was built using XML specification files. These were processed to produce all the source code for a server-side COM module and a highly interactive web-site.

The implementation provided an opportunity to use the language engine's object model as a transparent, highly structured and precise means of communication between cooperating groups of developers. Different parts of the project involved very different language skills and knowledge domains, including:

  • derivatives valuation code, involving complex mathematics
  • business logic for financial markets conventions
  • web authoring in Javascript and ASP
  • COM module programming in C++, using ATL

The use of a rich and precise interface model allowed a very flexible and efficient development process. Frequent design changes emerged during the rapid development of a complex interactive design: these were painlessly passed from one group to another with no requirement for further programming or unit testing after each development cycle.

Components produced by the language engine

Production Description
COM library All the source code for an MS DevStudio ATL project was produced. A template project was used to avoid the interaction required of a Microsoft AppWizard. The names and parameters in the XML specification file were applied to the template project.
ATL object C++ and IDL source code was produced for each calculator object along with a registry script. Each of the COM interfaces of the calculator was generated with full descriptive texts.
ASP web page The language engine used a pair of templates to produce each of the ASP web pages individually, allowing for the varied field layouts, interactions and user commands available on each. Hand-coding for an individual page was never required, despite the variety of their functionality and contents.
Javascript input validation Slightly specialised Javascript input validation routines needed to be applied to the various calculator pages, to handle their various constraints and interactions. These were all generated automatically from templates.
Test spreadsheet The best test harness for a calculator under Windows is usually MS Excel. This production generated a test spreadsheet for the calculator, laying out input and output fields, and writing add-in functions in VBA to link the spreadsheet with the COM module.
Compiled HTML help The full range of descriptive and associative information held in the language object model allowed the engine to produce a complete and fully featured compiled help project (CHM) for the COM library. This help project supported interactive help in the Visual Basic IDE and in MS DevStudio.