What is OASIS?
OASIS stands for Open Analogue Signal Information System. Its purpose is to acquire analogue signals from devices in the particle accelerators in CERN and display them in a convenient, graphical way. It is used by equipment specialists, engineers and operators in order to watch the behavior of a wide variety of systems in real-time.
The signals, distributed all around the accelerator complex, are digitized by oscilloscopes sitting in front-end computers (FECs). These FECs are installed next to the signal sources in order to preserve the signal integrity as much as possible.
The acquired data is sent through the Ethernet network, processed in an application server, and displayed on workstations running a dedicated application.
When bandwidth requirements allow it, the analogue signals are multiplexed by analogue matrices, connected to the oscilloscope channels. This scheme takes into account the fact that not all signals available are observed at the same time and allows us to save some digitizers, the most expensive devices in the system.
OASIS provides the Virtual oscilloscope abstraction (Vscope). A Vscope is a software oscilloscope that takes its data from different hardware oscilloscopes and displays it as if it all came from the same module. Thanks to this scheme, we are able to observe several signals as if they were next to each other while they are actually hundreds of meters away from one another. Of course, for this to work, we need to have the same trigger pulse and OASIS must keep in synchronization the acquisition settings used by the different connections that belong to the same Vscope.
OASIS also provides other convenient functionalities such as predefined set of signals, mountain range displays or peak detection mode.
How is OASIS made?
OASIS is built in a 3-tier architecture:
- The front-end tier controls the hardware modules (oscilloscopes, multiplexers, and counters) and provides a hardware independent interface to the upper layer. It uses the FESA framework to provide the interface to the server layer.
- The server tier consists of an application server that manages the resources provided by the front-end layer and assigns them to the connections requested by the clients (the third tier). The server tier intends to maximize the number of concurrent acquisitions based on a sophisticated priority algorithm, and provides the Virtual Scope (VScope) abstraction, that effectively allows clients to combine signals in the same display. It is written in Java, makes extensive use of the Spring Framework, Hibernate for the database access and JMS and RMI for the communication with the clients.
- The application tier, written in Java, provides the users with a graphical user interface that displays the signals and their settings. It is built in Swing, and takes advantage of the Spring Framework to wire up the dependencies and perform the remote calls to the server. The access to the OASIS server is performed through an intermediate layer that is shared across all other applications that use the OASIS system.
This architecture suits very well the OASIS needs since all processing is centralized in a single place, the OASIS application server. Since the server is the only component that has a global view of the system state, the connection requests and the acquisition setting management are performed there. Furthermore, the VScopes are created and managed on the server as well, which eases their sharing (master/slave mode) and the implementation of functions where the hardware and the VScope have different settings, such as in the scrolling mode.
This picture shows the architecture of the system, and highlights the main technologies in use: