CMW Homepage - Products - cmw-rda

Overview

RDA provides access to devices from application programs in a distributed geterogeneous control system. It allows to interconnect applications and devices implemented in Java or C++, and running on Unix or Windows platforms.

global picture of RDA

The RDA design reflects the Accelerator Device Model in which devices, named entities in the control system, can be controlled via properties. Each property has a name and a value. The model defines several basic device access methods (get, set, monitorOn/Off); by invoking these methods, applications can read, write and subscribe to the property values.

RDA is based on a client-server model. Accelerator devices are implemented in device servers, and client applications access them using the RDA client API. RDA provides location transparent access to devices: servers can run anywhere in the controls network and devices can be moved from server to server without clients becoming aware of it.

The RDA also provides a minimum framework for device servers implementation: a set of software components required to make a device server "RDA-enabled". The actual server implementation, however, is outside the RDA scope. For this reason, the RDA API specifies the expected rather then exact behavior of the device access methods and sometimes gives rather broad definitions of method parameters and results. You may need to consult the corresponding device server or device documentation in order to clarify semantics of the methods and exact meaning of parameters.

C++

API documentation

The RDA software constitutes a single package (all class names are prefixed by "rda") and is delivered as a single library; however, logically it is subdivided into three class categories:

  • client : Provides classes and interfaces which client applications need to communicate with remote devices.
  • server : Provides basic facilities for implementing various device servers.
  • common : Classes that are used in both the client and the server API.

To make it easier to get started with RDA, the API documents contain simple examples explaining some RDA basics (available from the toolbar at the top of this page). You can use this makefile to compile and link the examples on Linux systems in the PS controls environment.

Download

The C++ API sources can be found in the acc-co CVS repository cmw/cmw-rda/
The binary for the standard CERN platforms is stored in the /acc/local/{CPU}/rdaomni NFS directory.

Java

API documentation

The Java API document is provided here.

Download

The Java API sources can be found in the acc-co CVS repository cmw/cmw-rda/
The JAR files are stored in the acc-co release repository in cmw-rda

Links