the bliss of tango
DESCRIPTION
The BLISS of Tango. J. Meyer European Synchrotron Radiation Facility (ESRF). Outline. Differences to Taco Latest Developments Interesting Features. The Tango Bliss by Misha Lenn. Differences to Taco. Three programming languages supported C++, Python, Java - PowerPoint PPT PresentationTRANSCRIPT
15.01.2007 BLISS Day 1
The BLISS of Tango
J. Meyer
European Synchrotron Radiation Facility (ESRF)
15.01.2007 BLISS Day 2
Outline
• Differences to Taco• Latest Developments• Interesting Features
The Tango Bliss by Misha Lenn
15.01.2007 BLISS Day 3
Differences to Taco
• Three programming languages supported– C++, Python, Java
• Code generator, no more copy/paste• Fully multithreaded • Polling thread and data buffer in every
server (integrated update daemon)• Events• Asynchronous group calls
15.01.2007 BLISS Day 4
Differences to Taco
• Attributes for a generic data access– Data range, alarms, data validity, formatting
• Dynamic attributes and commands
• Abstract interface definition
• Administration interface for every server– start and stop, configuration, black box
15.01.2007 BLISS Day 5
Latest Developments
• Pogo 5.x can generate Python Tango device server code– Needs PyTango 3.0.2 and Tango 5.5.2
– Available from: ftp://ftp.esrf.fr/pub/cs/tango/Pogo
• PyTango is available as a binary distribution for Windows (x86 32bit)– Needs Python 2.4.x and Tango 5.5.2
– http://www.tango-controls.org/bindings
15.01.2007 BLISS Day 6
Latest Developments
15.01.2007 BLISS Day 7
Latest Developments
• Database with modification history– History values visible
via Jive
– Configurable depth of modification history
15.01.2007 BLISS Day 8
Latest Developments
• Canone 2.3.0 : The Tango WEB interface– Based on PHP and
AJAX (for widget refreshing)
– http://www.elettra.trieste.it/~tango/Canone
15.01.2007 BLISS Day 9
Interesting Features• The Device Creation Wizard
– A device server can start without any device defined
– A device can be added to a running server
15.01.2007 BLISS Day 10
Interesting Features
• Device configuration– Jive
– Property files
15.01.2007 BLISS Day 11
Interesting Features
• Abstract classes– Abstract interface definition
– Can be a container for common code
– Not yet available for Python
15.01.2007 BLISS Day 12
Interesting Features
• General purpose classes– Presented by Katy Saintin from Soleil at the
Tango collaboration meeting September 2006– Averager Class :
• Statistics and filtering on Tango scalar attributes
– TangoParser Class:• Calculates a tango attribute from a list of attributes• The formula can be defined at runtime in a
mathematical syntax
15.01.2007 BLISS Day 13
Interesting Features
• General purpose classes– DataFitter Class
• Fitting with Gaussian or Lorentzian functions
– BeamImageAnalyzer Class• Beam box (bounding rectangle of the beam)
• Approximation of the beam contour by an ellipse
• Computation of moments from order 0 to 3
• Profiles against both axis and Gaussian fit of these profiles
• 2D Gaussian fit of the image
15.01.2007 BLISS Day 14
Interesting Features
• Dynamic class loading– Pogo generates a Makefile to fill an archive
class library and to create a shared library module for the class
– A shared C++ class module can be loaded into a python Tango server
– A C++ server can also load a class from a shared class module
15.01.2007 BLISS Day 15
Interesting Features
• Starter Server and Astor– Starting and stopping
– Survey
– Administration
15.01.2007 BLISS Day 16
Latest Developments
• Tango access control– Implemented already
in the Java API
– Ongoing development for the C++ API