Synopsis Software architecture Why generic devices Presentation of

  • Slides: 19
Download presentation
Synopsis Ø Software architecture ØWhy generic devices ? Ø Presentation of each generic devices.

Synopsis Ø Software architecture ØWhy generic devices ? Ø Presentation of each generic devices. Ø Results. Ø Questions. September 2006 1

Software Architecture ATKPanel ATKTuning Device. Tree Archiving Mambo Bensikin Salsa ATK (Application Tool Kit)

Software Architecture ATKPanel ATKTuning Device. Tree Archiving Mambo Bensikin Salsa ATK (Application Tool Kit) Java, Java. Bean TANGO Devices Device Equipment and subsystem devices Device September 2006 Device Hardware access devices 2

Why generic devices ? Ø To keep all the intelligence in the device. ü

Why generic devices ? Ø To keep all the intelligence in the device. ü To make the GUI ready to use quickly. ü To make the GUI easy to maintain. ü To limit the number of iterations in the GUI development. Ø To provide a modular solution. ü To carry out a device server without programming. ü To solve a recurring problem. ü To make a device easy to maintain. ü To limit the number of iterations in the device development. Ø To isolate a complex interface into simple entities ü To employ all the ready to use tools dedicated to theses entities. • polling, archiving… September 2006 3

Averager (java) Calculation of the average and the standard deviation of any numerical tango

Averager (java) Calculation of the average and the standard deviation of any numerical tango scalar attribute : Ø To follow a slow data variation. Ø To archive less values. Ø To smooth a curve. Ø To eliminate the noise and to apply a filtering. September 2006 4

Tango. Parser (java) Calculation of tango attributes the values of which are mathematical expressions

Tango. Parser (java) Calculation of tango attributes the values of which are mathematical expressions of other tango attributes. The expression can be defined at runtime in a mathematical syntax. Ø To convert a data. Ø To average several attributes. Ø In short to make any type of calculations September 2006 5

Boolean. Attribute. Extractor (java) Extraction of several Boolean values from any scalar attribute representing

Boolean. Attribute. Extractor (java) Extraction of several Boolean values from any scalar attribute representing a field of bytes. Ø To poll the Boolean attribute. Ø To realized a simple GUI with an existing ATK widget. Ø To archive a simple information. September 2006 6

Enumerated. Attribute (java) To predefine an enumerated list of values for a tango scalar

Enumerated. Attribute (java) To predefine an enumerated list of values for a tango scalar attribute. Boolean attributes are dynamically created. ØTo poll the Boolean attribute. ØTo move the intelligence of the ATK widget in the device. Ø To carry out a simple GUI with a simple ATK widget. Ø To archive a simple information. Ø To give an explicit name to an attribute value. September 2006 7

Enumerated. Command (java) To predefine an enumerated list of values for a tango scalar

Enumerated. Command (java) To predefine an enumerated list of values for a tango scalar command. Void command are dynamically created. Ø To poll a void command. Ø To move the intelligence of the ATK widget in the device. Ø To realized a simple GUI with a simple ATK widget. Ø To give explicit names to a command value. September 2006 8

Slicer (c++) To extract a simple scalar data from a spectrum or a spectrum

Slicer (c++) To extract a simple scalar data from a spectrum or a spectrum from an image tango attribute. Ø To handle multidimensional data (2 D, 3 D) projection. Ø To archive this data. Ø To represent this data with a existing ATK widget. September 2006 9

Data. Fitter (C++) To apply a Gaussian or Lorentzian function, in order to get

Data. Fitter (C++) To apply a Gaussian or Lorentzian function, in order to get different pieces of information like the width of the peak, the half height intensity…. September 2006 10

Attribute. Composer (java) To build a spectrum attribute starting from simple scalar tango attributes.

Attribute. Composer (java) To build a spectrum attribute starting from simple scalar tango attributes. Ø To make a soft synchronization of the data. Ø To archive a set of data. Ø To display easily all the data in a chart. Ø To deduce a general state according to the attribute quality. Ø To represent the general state with a simple ATK widget. Ø To write the same value on several attribute. Ø To give the logical result (OR, XOR, AND gate), on a list of Boolean attributes. September 2006 11

State. Composer (java) To deduce general state according to a list of devices. Ø

State. Composer (java) To deduce general state according to a list of devices. Ø To archive the state information. Ø To represent the general state with a simple ATK widget. Ø To execute a grouped command on several device. September 2006 12

Facade. Device (java) Construction of a new device starting from attributes, commands and state

Facade. Device (java) Construction of a new device starting from attributes, commands and state of other devices. Ø To hide a part of a device. Ø To install quickly a simulated device in order to test a GUI. Ø To gather information in only one device. Ø To create a basic device server without developing. Ø To created an intermediary device when the tango interface of a device changes. September 2006 13

Beam. Image. Analyzer (C++) Computation of different metrics on a beam image: Ø Beam

Beam. Image. Analyzer (C++) Computation of different metrics on a beam image: Ø 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 Ø 2 D Gaussian fit of the image September 2006 14

Example September 2006 15

Example September 2006 15

Attribute. Sequence. Writer (C++) Written Value To write a sequence. Read (once Valueor repeatedly)

Attribute. Sequence. Writer (C++) Written Value To write a sequence. Read (once Valueor repeatedly) of values on a writable attribute of another device. Ë2 ËDelta Ø The user have to configure : ü the sequence of values to write. ü the sequence of waiting times. Ë1 ËDelta Ø Then we just have to start the generation of values. Ø The device can wait for the read part has reached the write part. - Mainly used for cycling the magnets power supplies. Ë0. 5 s September 2006 Ë1 s Ëtime 16

Results Ø New device servers : ü Supervision of a group of devices (Composers)

Results Ø New device servers : ü Supervision of a group of devices (Composers) q Group of power supplies, ion pumps, vacuum valve… ü Installation of a simulated tango environment (Facade. Device) q Adapting Tango. Test to any required Device. Server interface ü Devices providing a near hardware solution q Motorized Insertion/Extraction in the beam. q Uncoupling motorized device like a mirror. q Extraction of a device default information. Ø GUI development. ü ATKPanel answers quickly to a supervision problem. ü Specific GUIs are easily developed. September 2006 17

Java API improvement needs ØBoolean attributes ØDeletion of dynamics attributes and commands ØGroup and

Java API improvement needs ØBoolean attributes ØDeletion of dynamics attributes and commands ØGroup and asynchronies commands ØMemorized attributes. September 2006 18

Any questions ? September 2006 19

Any questions ? September 2006 19