Scripting support

Python[RD24] has been the chosen as the scripting language[RD01 - 5.2.1 Scripts] [RD01 - 10.5.6.Scripting language]. Python, i.e. the C++ implementation, will be normally used. Special applications can use JPython (Java implementation).

It is used as a glue language between the high level interfaces and the control and data systems[RD01 - 5.2.1 Scripts]:

High level procedures of a coordination nature

System administration, replacing shell script languages for new developments

Rapid prototyping

Test applications and procedures

A Python Container supports the implementation of high level Components with a strong need for integrated scripting capabilities. Pipeline and data reduction recipes are typical examples. Such components will be used by higher level interfaces as coarse grained building blocks, easily modified and extended, that will in turn use lower level, fine grained C++ or Java Components.

Python provides access to the basic features of all Common Software services [RD01 - 5.2.2.Functionality]:

CORBA invocation of remote objects

A package of support classes implemented in the scripting language itself

Python[RD24] satisfies all requirements for the scripting language to be used in ALMA[RD01 - 5.2.1 Scripts] [RD01 - 10.5.6.Scripting language]: