Speaker
Description
MARTe is a framework for real-time control that has been used in several fusion experiments. Recently, a new version named MARTe2 has been developed adhering to software quality standards. The framework supervises data movement and component interaction in real-time and is based on configuration information specifying the involved threads, the computation and the data management components. MDSplus is a data system widely adopted in the fusion community. MDSplus provides fast data acquisition and access to pulse files and is intended to provide a complete interface both for the configuration of the experiment and the experimental results.
MDSplus and MARTe2 are already integrated via a set of components that are able to (1) store a data stream originated in real-time in the pulse file, (2) get experiment set-up information, such as reference waveforms, from the pulse file to be used afterwards in real-time, (3) synchronize MARTe2 components with other MDSplus components via MDSplus events. Even though the use of the above three components covers all the needed requirement for the integration of fast control and data acquisition, further integration is desirable. In particular, the configuration of MARTe2 applications is based on a very flexible set of components, either specified in a configuration file, or created on the fly by a supervisory application. Adhering to the MDSplus design pattern that states that all the configuration information should be specified inside the pulse file template, called Experiment Model, it is possible to store configuration information in the experiment model together with the other experiment configuration parameters in order to let a given pulse file fully describe the associated experiment, including its configuration. A better integration is proposed here, that is, using the Device abstraction provided by MDSplus to specify the components involved in the data acquisition process and MDSplus expressions to specify data relationships, in order to describe also the real-time components and the associated data flow. Following this approach, the whole real-time configuration would be described exactly as the rest of the other non real-time data acquisition components. All the required MARTe2 configuration information would be exposed to users via the configuration fields of the associated MDSplus devices, for which graphical interfaces can be readily developed using the MDSplus Java Beans framework. Once the real-time components and the associated data flow have been described in the MDSplus experiment model, the corresponding MARTe2 configuration will be generated on the fly, integrating all the required consistency checks.
Besides exposing to users a much less complicated and more intuitive configuration interface, the proposed approach minimizes the possible errors that could arise from a manual specification of the MARTe2 configuration that, when expressed via a text file, can be composed of thousands of lines for a non trivial configuration. A use case involving EQUINOX equilibrium computation in a MARTe2 application, currently used in simulation, but adaptable for real-time control will be presented to demonstrate the feasibility and the advantages of the proposed approach.