Service description JSON for sila2codegenerator should explicitly require the instrument model name
Hi there,
Still learning sila_python and the sila2codegenerator, but I noticed that the specification of exactly which instrument the sila2codegenerator is intended to generate a driver "skeleton" or protoype for, should probably be included to ensure the downstream developed driver automatically includes such essential information.
For example, see this .json file: https://gitlab.com/SiLA2/sila_python/-/blob/master/implementations/incubators_shakers/thermo_cytomat2_project/service_description_thermo_cytomat2.json
There is no standardized field that says what instrument this json intended for. It has the ServiceName, saying ThermoCytomat2
, but there is no guarantee the ServiceName will always include the instrument name information (which, is different from the instrument model number), and the Service Description just says SiLA2 service for Thermo Cytomat
, however there are currently 11 different models of the Thermo Cytomat, which likely have quite different hardware, communication APIs, capabilities, details etc. Ideally there should be a standardized, machine & also human readable field to at least include the instrument model number.
The solution would be: make it mandatory for that .json file to also have an instrument model number field, and ideally, also instrument serial number. The reason to include the serial numbers, is while sometimes instrument vendors create a new model number when they design a new instrument, sometimes they keep the same model number but increment the serial number, so knowing what serial number the driver was designed with could be essential for judging which revision of a given instrument the driver can control.
Collecting and including such instrument model design/compatibility information will be essential to keep track of a (hopeful) future library of SILA2 python instrument open source drivers/servers.
All the best, -Tim