tango in a nutshell

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Tango in a Nutshell: 

Tango in a Nutshell

Tango in a Nutshell: 

Tango in a Nutshell What is Tango? Who dances the Tango? How to dance the Tango?

What is Tango?: 

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: 

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)

CORBA: 

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, ….)

Tango and CORBA: 

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

What is Tango?: 

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

Slide8: 

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

What is Tango?: 

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)

Who dances the Tango?: 

Who dances the Tango? 2004 2005 2000 2002 2007

Who dances the Tango?: 

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

Who dances the Tango?: 

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)

Who dances the Tango?: 

Who dances the Tango? Tango @ Alba 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 Tango@DESY Used for experiment control at the new PETRAIII synchrotron

Who dances the Tango? : 

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

How to dance the Tango?: 

How to dance the Tango? Lets dance together: Two collaboration meetings per year A mailing list (tango@esrf.fr) One Tango coordinator per site WEB site to download code, get documentation, search the mailing list history, read collaboration meeting minutes, … http://www.tango-controls.org Collaborative development using SourceForge

How to dance the Tango?: 

How to dance the Tango? You can download Tango from http://www.tango-controls.org/download 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.

How to dance the Tango?: 

How to dance the Tango? A list of all Tango classes is available with their documentation under http://www.tango-controls.org/device-servers Common interest class sources are stored on a CVS server hosted by SourceForge Project name = tango-ds http://sourceforge.net/projects/tango-ds/ Local class sources are stored in a local CVS repository at each institute