Basic Concepts of Dad

Servers and Clients

The main purpose of the Dad library is to distribute Adamo data between different processes on the same or remote computers over the network.
Usually programs take files as input, perform various calculations, and output the results into other files. In the Dad model, Servers play a similar role as files; they collect information from writing clients and distribute this information to reading clients. Clients (which can be both reading and writing) can select information servers and the information on a selected server as they usually do with files.

Files

Clients can output information also on regular files, using an internal Dad format. Such files can, of course, also be read in again. Just like standard Adamo files, Dad files contain metatable information which describes the data structures used by the writing client. A reading client is thus able to read such files even if it uses a different internal data representation or byte ordering than the writing client.

A special case of the Dad files are the Dad pipes where data is written to and read from named pipes or via unnamed pipes exchanged between different processes directly.


Here you can get a connection diagram of a small dad client-server model.

Operating modes

The Dad library provides four basic operating modes.

1) Operation on the dataflow record level

This mode is used to transfer complete records of dataflows. The client can read complete records, clear records, and write records to the server. This is the only mode available for writing and reading files.

2) Operation on tables

In this mode, a client can use tables to select records, and can read and write tables and selected rows of tables.

3) Operation in update mode

In update mode, all the rows of the tables of a dataflow have an implicit period of validity. A client can either add new rows with specific validity periods onto the server or set the validity period for entire tables. Further references to such tables at a later time will cause the server to send only rows which have been modified since the last access and are therefore of date at the client side.

4) Operation in booking mode

In booking mode, a client receives information which is new on the server and satisfies certain conditions. For instance, a client can book all commands which are sent to a receiver whose name is identical to its own. Another client may want to receive all warning messages that concern a certain part of a detector.
This page is maintained by Wolfgang Wander.