Sep 23 – 27, 2024
ESRF Auditorium
Europe/Paris timezone

CAMEO: Orchestrate, communicate with any app

Sep 24, 2024, 6:00 PM
2h
ESRF Entrance Hall

ESRF Entrance Hall

Poster Experiments automation Posters

Speaker

Yannick Le Goc

Description

CAMEO[1] is a general-purpose middleware providing services to manage distributed heterogeneous applications. It has been developed in the Instrument Control Service at the ILL to solve many common issues e.g. how to have a C++ control server, many Java GUI clients displaying plots calculated by a Python library, or how to integrate a proprietary software running on a dedicated Windows OS, or how to restart safely the entire control system of an instrument from a single entry point without synchronization issues?
CAMEO provides services in two main topics. First, it provides a way to orchestrate the remote applications which can be started, stopped, monitored, synchronized. Second, high-level communication patterns are provided i.e. Request/Respond, Publish/Subscribe. A third simple Function pattern specific to CAMEO is also provided. The CAMEO interface is simple and hides the complexity of the network programming layer making a powerful easy-to-use tool for non-experts.
Moreover CAMEO is very versatile as it was designed to adapt to many environments. For instance, a black box program can be controlled by CAMEO and interact with other CAMEO applications. It is also possible to orchestrate the applications with CAMEO and make them communicate with other protocols like HTTP, AMQP, etc.
All that makes CAMEO very interesting for a control system environment where heterogeneous applications running in different languages on different platforms have to be integrated.
CAMEO is now a mature middleware and in this article we present an overview of the functionalities including the proxy router to secure communications between two networks and with a focus on the ILL environment.

[1] https://code.ill.fr/cameo/cameo

Abstract publication I agree that the abstract will be published on the web site

Primary author

Presentation materials