There was a need to modernize and consolidate a couple of previous programs (QTH_LOC and AURORA in particular, i.e. Atari ST programs from the 1980s) by implementing a software comprising all features which were previously handled by individual programs. BeamFinder was actually born on the east coast of Ireland in holidays. The relaxing atmosphere in Ireland was indeed a perfect environment to launch this project. My recommendation: if you wish to initiate a major project, walk somewhere along the Irish seacoast to make your plans and visit one of this gorgeous pubs afterwards (note the order of sequence because it doesn't work the other way around).

The software architecture

The figure on the right is a the simplified diagram of BeamFinders core modules. All drawings on the screen map originate from the Map Manager which controls data processing in the background, for example by splitting user commands into individual tasks and processes, demanding calculations from BeamFinders mathematical library and, finally, compiling the results and generating the graphical output by using appropriate routines in the computer's operating system. The BeamFinder user will never communicate directly with the Map Manager, but will interact with the Command Editor. This module receives the data send by the input devices, i.e. the mouse, the keyboard, the pulldown menu, harddisk files and Apple Events. The Command Editor analyses the input data and its parameters and appends the command to the Command Database. The Command Editor finally forwards the database items to the Map Manager and receives its acknowledgement when an item has been processed successfully. Hence, whenever BeamFinder receives an input command the Command Editor is responsible for scanning and validating the command before it is handed over to any other BeamFinder module.

The BeamFinder Command Language

Communication between the BeamFinder modules (see above) is controlled by text strings. For example: the pulldown menu and the dialog boxes generate text commands to be passed to the Command Editor. The user may alternatively type the same command in an edit field or may upload a stream of commands from a harddisk file. Even another application may send text commands by using Apple Events. Thus, it is very simple to create scripts, batch jobs, self-running analyses and automatic plots. Controlling BeamFinder by script files makes the software a flexible tool in many practical applications - and it is a very fast method. In a stress test, the software was bombarded with text files of more than 30.000 individual commands involving heavy number crunching - BeamFinder smiled and did the job without any problems.