Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tango in a Nutshell 31/12/2018.

Similar presentations


Presentation on theme: "Tango in a Nutshell 31/12/2018."— Presentation transcript:

1 Tango in a Nutshell 31/12/2018

2 Tango in a Nutshell What is Tango? Who dances the Tango?
How to dance the Tango? 31/12/2018

3 What is Tango? A toolbox to implement control systems using CORBA as the transport layer A specialization of CORBA adapted to Control Hides the complexity of Corba to the programmer Adds specific control system features CORBA TANGO Control System 31/12/2018

4 CORBA Common Object Request Broker Architecture
CORBA defines the ORB: a way to call an object “method” wherever the object is In the same process In another process In a process running somewhere on the network CORBA also defines services available for all objects (naming, notification, event) 31/12/2018

5 CORBA CORBA allows mixing languages:
a client is not necessarily written in the same language as the server CORBA uses an Interface Definition Language (IDL) CORBA defines bindings between IDL and the computing languages (C++, Java, Python, Ada, ….) 31/12/2018

6 Tango and CORBA Tango encapsulates the CORBA communication protocol
Allows the use of other communiction protocols Tango uses a narrow CORBA interface All objects on the network have the same interface Allows the use of generic applications Avoids recompilation when new objects are added 31/12/2018

7 What is Tango? A software bus for distributed objects Java, C++,Python
Linux, Windows, Solaris Scan Service TANGO ATK Java Qtango C++ Archiving Service TANGO Software Bus Dev Dev Dev Dev Dev Dev Dev OPC Linux, Windows, Solaris Labview RT 31/12/2018

8 What is Tango? Provides an unified interface to devices (objects) on the network hiding how they are connected to a computer (serial line, USB, sockets, …) Hides the network Location transparency Genericity APIs for C++, Python and Java For the server and the client side 31/12/2018

9 What is Tango? More than only a software bus Database for persistancy
Code generator to implement networked devices Central services (Archive, snapshots, logging, alarms, scans, security, …) Application Toolkits (Java, C++ and Python) Comercial bindings (Labview, Matlab, IgorPro) Control system administration (Starter, Astor) Hundrets of available classes Web interfaces (PHP, Java) 31/12/2018

10 Who dances the Tango? 2007 2002 2004 2000 ALBA 31/12/2018 2005

11 Who dances the Tango? Tango@Elettra Used for accelerator control
Development of The Python interface (Release 2.x) An alarm service Canone: A WEB interface using PHP E-Giga: A WEB interface above the Tango archiving service QTango: C++ application toolkit using Qt 31/12/2018

12 Who dances the Tango? Tango @ Soleil
Used for accelerator and experiment control Development of Logging service Archiving service (Tango HDB) using ORACLE or MySQL Snapshot service also using ORACLE or MySQL Comercial bindings (Labview, Matlab, …) WEB protocol for the java application toolkit (ATK) 31/12/2018

13 Who dances the Tango? Tango @ Alba Tango@DESY
Used for accelerator and experiment control Development of Python device servers (PyTango release 3.x) Sardana: Control software for experiments Python application toolkit using Qt Used for experiment control at the new PETRAIII synchrotron 31/12/2018

14 Who dances the Tango? Tango @ ESRF
Used for accelerator and experiment control Development of The Tango core libraries (C++ and Java) Pogo : Code generator Jive : Configuration tool Astor / Starter : administration service Java application toolkit 31/12/2018

15 How to dance the Tango? Lets dance together:
Two collaboration meetings per year A mailing list One Tango coordinator per site WEB site to download code, get documentation, search the mailing list history, read collaboration meeting minutes, … Collaborative development using SourceForge 31/12/2018

16 How to dance the Tango? You can download Tango from
As a source package for UNIX like OS As a Windows binary distribution For Unix (and co), do not forget to first download, compile and install omniORB omniNotify For Windows all libraries and binaries for omniORB and omniNotify are included in the distribution. 31/12/2018

17 How to dance the Tango? A list of all Tango classes is available with their documentation under Common interest class sources are stored on a CVS server hosted by SourceForge Project name = tango-ds Local class sources are stored in a local CVS repository at each institute 31/12/2018


Download ppt "Tango in a Nutshell 31/12/2018."

Similar presentations


Ads by Google