All applications that run on Robos are written as Message-driven Finite-state Machines [MFMs]. Each application runs as an independent task. Applications running concurrently can exchange information with each other by messages. This is true not only of applications running on the same computer, but is true also of applications running on different computers which are linked by network.
Robos applications fall into 5 general classes: interfaces [nowadays generally known as clients. Ed], servers, monitors, controllers and services.
These accept raw information from the outside world and present processed information to the outside world. Some interfaces exchange information with human beings. Others exchange information with both natural and artificial processes.
These are active repositories of both raw and processed information. They normally work without human attention. They accept messages requesting information and originate reply messages containing the information requested.
These are gatherers and organisers of specific information. They also normally work without human attention. They accept messages from interfaces bearing raw information from the outside world. They then process this information and send it on (again by message) to a server for storage.
These usually appear only in observation and telemetry applications.
These may accept information immediately from processes in the outside world via messages produced by interfaces. Alternatively they may receive it indirectly by making requests to servers for information left there by monitors. This information - by whatever route it comes - originates from processes (natural or artificial) in the outside world. Their function is to use this information to form appropriate responses to those processes in the outside world which it is their job to control.
These usually appear only in process control and tactical navigation applications.
These provide timing, communication and security services, plus general storage, processing and presentation functions for other applications.
| © 1997 Robert John Morton