Re: Success Story
- Posted by Derek Parnell <ddparnell at bigpond.com> Jun 09, 2007
- 582 views
Ricardo Forno wrote: > > Hi Derek! > Congratulations to you, to all Euphorians and, of course, to Rob! > Just a small question: what do you exactly mean by a "modelling language" > in a case such as the present one, I mean, excel, mortgages, banking, etc.? The modelling language is used to simulate real-world scenarios. In this case it is used to simulate the various activities that can occur to a mortgage loan over its lifetime - such as changes in interest rates, in amount borrowed, terms, repayment frequencies, missed payments, over payments, bounced cheques, bank charges, etc... Each of these things effect the loan and account data and the modelling language enables the tester to simulate these effects without having to run the real application in real time. The purpose is to use it to see if the application is doing things according to the requirements specification. Excel is often used to model complex interactions but there comes a point in which one bumps into its limitations. I was pleasantly surprised at how easy it was to write and how quickly it could be done. I guessed beforehand that Euphoria would make the task possible to be done in the time frame I had, but it really just flowed so naturally. Also, I must give credit to Carl White's datetime.e library. Here is a sample of a testcase file: **************** using iomodel title "Interest Only with Monthly repayments, Account Keeping Fee applies" Set Date: 2007/09/30 Settlement: $200,000.00 * Settlement Draw down: $-200,000.00 * Drawdown Set Date: 2007/10/31 Interest: $-1,227.40 id=1 * Interest posted Fee: $-300.00 id=2 * Account keeping fee Set Date: 2007/11/01 Uncleared CR: $1227.40 id=1 * Collect interest payment from Nom.Acct End Cycle: * End of Repayment period Uncleared CR: $300.00 id=2 * Collect fee payment from Nom.Acct Payment Due: id=1 * Interest due Payment Due: id=2 * Fee due Set Date: 2007/11/09 Clearing: id=1 * Clear Interest Payment Clearing: id=2 * Clear AKF Payment Set Date: 2007/11/30 Interest: $-1,150.68 id=3 * Interest posted Set Date: 2007/12/03 Cleared CR: $100.00 * Cash deposit EndCycle: * End of Repayment period Payment Due: id=3 * Interest due Set Date: 2007/12/04 Withdrawal: $-200.00 * Cash withdrawal ********************************** This is run using the model described in 'iomodel', which is a collection of macro/script type blocks of code that reflect what happens to the various fields in a loan account as the events are triggered. At the end of the test run, a .CSV file is created suitable for loading into Excel to see the effects of the test. -- Derek Parnell Melbourne, Australia Skype name: derek.j.parnell