Dynamic error trapping. What is it?
As with so many areas of a specialised subject it would take volumes of text and days of time to explain fully. What follows is therefore an attempt at just explaining the scope and importance in a way as free as possible from tiresome jargon. First of all though. Is it a good thing? Mistral's answer is that it is not just an elite goal but for security reasons is absolutely essential. The fact that many, if not most program developers are blissfully ignorant of the science tells more about them than it does about Mistral. To put that into context please think on this for one moment. A perhaps macabre analogy but highly illustrative for all that. Let's say that you were able to travel back in time. Now let's say you did so and that you inadvertently shot dead your own unknown grandfather on a battlefield at a date before your father had been born! Where would that leave you when you returned to your own time? Worse. What could you do to prevent yourself from never having existed if your weren't even aware of the impending consequences of the paradox you yourself had created?
Computer software that allows 'parallel operation', in other words total flexibility to return to edit previous inputs that were themselves responsible for defining input limitations on subsequently entered inputs, effectively allows you to 'go back in time'. Computer programs don't have to be written to afford parallel operation of course but if they are not then they deny users the major benefit of using a computer. The facilities for experimentation and comparison that allows the fine tuning that leads to competitive but still safe engineering.
So a paradox and its avoidance is what error trapping is all about. Many an idiot (and there are plenty) can obtain a good book on the subject and having peered at someone else's work on a screen for five minutes, consequently think they can write a computer program. Without ever introducing dynamic error traps to eliminate inevitable user keyboard input errors resulting from their lapses in concentration.
An example in Mistral's area might be where an engineer designs a coldroom into which a product load of say 300 tonnes of white fish is entered. The engineer uses the calculation result to good effect, winning a commercial contract using it and of course files it. The following year another enquiry is received from the same client. Similar but this time for a smaller cold room with a capacity for only 200 tonnes of white fish. Recalling the earlier successful calculation the engineer retrieves the file for that one and so as to save time edits it, instead of starting 'from scratch'. A perfectly normal and acceptable, even sensible thing to do. However, just before the engineer clik on the product load input routine to edit the volume his telephone rings and he is absorbed in a stressful conversation for twenty minutes or so. Upon returning to his computer screen he can instantly see that all inputs are displayed, including correct temperatures and room dimensions and indeed a result is also displayed. He saves the file and uses the information to quote for the job. This time however he doesn't win the contract and upon following up discovers the reason was because his price was uncompetitive. Had the program result been 'out' by a wider margin the engineer would most likely have spotted something was wrong and re-run the calculation before committing his company. What though when the difference is an increase of only around 15 or 20% on the overall coldroom load, as might be the case in this example? Not so easy to spot. Particularly when working under pressure.
Subsequent examination of his files (by his boss!) reveals that he had forgotten to adjust the original product load. All the more regrettable because the mass of product entered would not even have physically fitted into the available space!
A bad situation? Over estimating and losing a job on price? Of course but there's one situation far worse. That is underestimating the job and getting it! That has brought a business down before now and undoubtedly will continue to do so in the future.
In the situation described above Mistral's program would have automatically and passively analysed what the engineer was attempting to do and then 'reasoned' there was a mistake. The program would have then interrupted the engineer and proposed alternative inputs - in plain English. This was a simple example. The thousands of others are generally far more intricate and complicated.
So what is involved in dynamic error trapping? It cannot be difficult to program surely? Yes it is. The key word here is 'dynamic'. This means that hundreds of error traps must automatically, synchronously and simultaneously adjust as the calculation develops and indeed as the calculation is edited, changed or even scrapped and restarted altogether. The possible permutations of three numbers 1, 2 and 3 arranged in any order and with one or more missing is a few dozen or so. Add a fourth and of course the possible permutations then increase to a few hundred. Add a fifth and the increase is to tens of thousands. When say 40 or 50 inputs are involved then possible permutations approach infinity for all practical purposes. After all, it is estimated that just 9 numbers could positively identify the location of every grain of sand on the planet. At any depth!
Mistral's AIRWIND Air Conditioning load calculation and COLDWIND refrigeration load calculation programs have to deal with possible inputs involving several hundreds of differs. When processing, calculations, data retrievals and 'iteration processes' are performed, unseen, at the astonishing rate of over 170,000 per second!
Now please reconsider whether 100% reliable (no point if it's only 99.99% right!) dynamic error trapping might be difficult to achieve. Next, ask any of Mistral's imitators if they even understand the question! What is important is that Mistral does achieve dynamic scientific error trapping with 100% reliability. And has done so for more than twenty five years.
"Bringing the benefits of computerisation to our industry - without the historically associated problems."