CORBA & TANGO
TANGO est un système de contrôle-commande distribué, orienté objets. C’est un bus logiciel permettant de connecter les objets matériels et logiciels grâce à la technologie CORBA. Les éléments, devices, peuvent être situés sur le même ordinateur ou bien répartis sur des ordinateurs connectés par un réseau. La programmation peut se faire en C++, Java et Python.
TANGO fournis les librairies permettant de masquer les détails d’accès au réseau pour plus de sécurité et permet d’utiliser le principe objets. Il fonctionne sur le principe d’un bus logiciel. C’est a dire un ensemble de liaisons (câbles, pistes de circuits imprimés, etc…) pouvant être exploitées en commun par plusieurs éléments afin de communiquer.
Tous les éléments connectés au bus vont pouvoir dialoguer ensemble. Ainsi, les applications de configuration, supervision (surveillance de l’état de certains appareils), interfaces d’expérience… vont communiquer entre-elles, mais également avec l’ensemble des éléments matériels. Ces éléments matériels sont connectés à ce bus par une application serveur appelée « Device Server ». C’est lui qui possède les interfaces TANGO.
Pour chaque Device Server, le programmeur dispose de méthodes et d’attributs génériques et peut écrire des méthodes et attributs spécifiques. Une partie du code peut être générée automatiquement notamment en s’appuyant sur les dll, librairies, commandes RS232, GPIB… fournis par les constructeurs de machine. Ainsi des matériels hétérogènes peuvent être connectés au bus TANGO et dialoguer ensemble, sans que cette diversité soit visible par l’utilisateur final.