PLUTO (Procedure Language for Users in Test and Operations) is a domain specific language for writing procedures to be used for testing and operation of space systems. It was created by the European Committee for Space Standardization (ECSS) in the frame of the ECSS-E-ST-70-32C standard and is published as an open standard, freely available on the ECSS website (ecss.nl).
The PLUTO language has a syntax that is easy to read, by humans as well as by machine. Thus, it is ideal for automation. PLUTO is used for the automation system in use at ESA, to control GAIA and Sentinel missions and others.
But PLUTO is not limited to space application, in fact, it can be used for any other domains where monitoring and control of a system is needed.
Today, no open source implementation of a PLUTO parser is available, and to our knowledge there is not even a commercial implementation, except for the one used at ESA.
We run a project during the Google Summer of Code 2019 to create a prototype of a PLUTO to Python parser, to demonstrate the feasibility of converting PLUTO scripts to native Python code to be run on any computer that runs Python.
We present here our findings regarding the implementation of this standard, the Python libraries we used and those that we created, and some examples to demonstrate the capabilities, caveats and advantages of the PLUTO language.