Description

I've been working on a fairly large financial modeling project with Caterpillar. Our main result (from the point of view of Object-Oriented Solutions) is a framework for financial modeling. It lets you quickly build applications that examine financial data stored in a relational database and produces profit and loss statements, balance sheets, detailed analysis of departments, sales regions, and business lines, with the ability to drill down until you hit individual transactions. It lets you budget and correct errors in the data, too. We are hoping that once the relational databases are built (which takes a long time in Caterpillar because most of their data has to be taken from other sources, and every business unit is different and so has to define its own data model) that it will only take a week or two to build the rest of the system. We expect to be able to define a complete system for any business unit without any Smalltalk programming. The business model is stored in the database, not written in Smalltalk, and we have written a GUI for building it. The menus, reports, drill-downs, etc are also stored in the database.

Basically, we are working on a model for developing financial models and providing visual tools and languages for generating these without knowing very much Smalltalk. This work followed closely the set of patterns described in the Evolving Frameworks paper by Don Roberts and Ralph Johnson.

Very detailed documentation has also been written on this (50+ pages) and a PDF format can be found here. There has been some patterns, presentations, and other relevant papers describing some design and details of the financial modeling framework.

Frameworks Developed

The following is a list of the frameworks developed for the financial modeling tool.