  This paper presents the Remote Device Access (RDA) package developed at CERN
in the framework of the joint PS/SL Controls Middleware project. The package
design reflects the Accelerator Device Model in which devices, named entities
in the control system, can be controlled via properties. RDA implements this
model in a distributed environment with devices residing in servers that can
run anywhere in the controls network. It provides a location-independent and
reliable access to the devices from control programs. By invoking the device
access methods, clients can read, write and subscribe to device property
values. We describe the architecture and design of RDA, its API, and
CORBA-based implementations in Java and C++. First applications of RDA in the
CERN accelerator control systems are described as well.
