About Develop Contact



DOOCS

The Distributed Object-Oriented Control System Framework


About

The Distributed Object-Oriented Control System - DOOCS - provides a versatile software framework for creating accelerator-based control system applications. These can range from monitoring simple temperature sensors up to high-level controls and feedbacks of beam parameters as required for complex accelerator operations.

DOOCS is based on an distributed client-server architecture combined with a device-oriented view. The devices are the basic entities and can be virtual i.e. implemented in software or real ones with hardware attached. Each control system parameter is made accessible via network calls through a device application.

Its transportation layer is based on ZeroMQ, an asynchronous messaging library providing broker-less request-reply or publish-subscribe communication patterns for a robust and efficient data transfer. As legacy protocol it supports the standardized, industrial RPC protocol.

Several libraries are available supporting various serial and field bus-like protocols, as well as PCIe-based data transfer. Furthermore, DOOCS has integrated access to EPICS-based controllers via channel access protocol and provides an easy integration of OPC-UA-based devices.

Support for integrating a timing system providing clock, trigger and other time-based accelerator information is built-in into the core software and comfortably accessible within the framework.

Develop

The DOOCS framework is written in C++ and supports a variety of fieldbus and hardware interfaces via device classes. These are accessible through additional libraries which can be linked as needed individually to the server core library. Libraries for creating client applications in C++, Java, Python or MATLAB are available either as a separate implementation or as C-bindings. Support for high-level controls as required for particle accelerator operations are provided as individual sets of libraries.

The graphical user interface is implemented as a lightweight, yet powerful Java application: the Java DOOCS Data Display - JDDD. The interface follows a thin-client approach with a functional and rich set of widgets. Individual UI components can be easily created through a versatile editor IDE without the knowledge of any programming language.

DOOCS is open-source code and freely available for usage under the GNU Lesser General Public License version 2.1. Further information and documentation is available upon request via the contact address posted below.

Contact


If you'd like to contact us ...

... send us an email at

webdoocs@desy.de

... or join our developer mailing list for discussion

sympa@desy.de?subject=subscribe doocs