From picoseconds to galaxies

Download Report

Transcript From picoseconds to galaxies

TGATS tiling and data acquisition software

October 7, 2005

Wojtek Skulski Laboratory for Laser Energetics University of Rochester Rochester New York 14623-1299

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 1

Acknowledgements

• Programming: Dave Hassett and Mark Wilson (LLE).

Megan Alexander, Eryk Druszkiewicz, Daniel Miner, Saba Zuberi (students).

Cuno Pfister and Wolfgang Weck (Oberon Microsystems).

Robert Campbell (BAE Systems).

Gérard Meunier (BlackBox community).

• Hardware, optics, electronics: Joachim Bunkenburg, Larry Iwan, Terry Kessler, Charles Kellogg, Conor Kelly, John Price, Dave Canning, Matthew Swain (LLE).

Jan Toke (Chemistry), Frank Wolfs (Physics).

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 2

Available presentations

This presentation is the third one in a series. I will highlight a difference between engineering and scientific programming, using LLE tiling and TGATS software as examples .

Other available presentations:

Scientific programming without a sting (BlackBox for Scientists and Engineers).

An overview and benefits of BlackBox programming.

http://www.pas.rochester.edu/~skulski/Presentations/BB_Class.ppt

Spatially Synchronous Phase Detection Unboxed.

The details of the SSPD, as implemented at LLE.

\\Hopi\Omega-EP\OMEGA-EP Presentations\General\SSPD_Unboxed.ppt

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 3

A bit of history: how the HW/SW project started

February 2004 September 2004 April 2005 Manual control Closed loop, one TMA Automatic control One grating pair Feb/2004 May/2004 Sept/2004

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 Automatic control Four grating pairs (Mach-Zehnder) Apr/2005 4

Algorithm

implementation

application

Model (or LOTF meas.)

Science

Algorithm

Usually quite simple E.g., SSPD is only 6 steps.

Implementation

Has to deal with practical issues E.g., noise is big issue for phase unwrapping in SSPD.

Application

Many months of work in the lab Here you discover why you need rich diagnostic tools and displays.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 5

Scientific versus engineering programming

Tiling

Engineering project

TGATS

Scientific project

Meetings and discussions Meetings and discussions Requirements document Developing SW to meets requirements Exploration Developing SW continuously along the way Working product SW is constantly evolving Deployment and maintainance Know-how

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 6

Research software is developed “on the go”

My research experience: every experiment is an exploration. Software is often developed without rigid requirements. As a consequence: • Professional programmers seldom write research SW. Physicists do.

• There is a well established method to deal with the situation.

• The same method worked at LLE (TGATS experiment).

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 7

Component Pascal is a tool for research SW

• • • • • • Component Pascal (CP) software is a proper tool for research SW.

Tiling of diffraction gratings  2 papers.

TGATS data acquisition  successful experiment.

Waveform digitizer GUI  physics outreach.

• • What makes CP and BlackBox development so effective?

Robustness and efficiency of the development environment.

Scientific and engineering toolboxes.

• Scientist-friendly architecture.

Most of the effort is spent on algorithms. GUI is secondary.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 8

What makes CP and BlackBox so effective?

Scientist-oriented tools and packages Modular structure Hardware interfacing Debugging effort is dramatically reduced

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 9

The tool for tiling math: scientific computation library

Chill

Over 5000 functions developed at BAE Systems for military airborne radar.

Fourier transforms.

Matrices and vectors.

Special functions.

High-precision math.

Digital filter design.

Random numbers.

Rational numbers.

Scientific plotting.

Etc.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 10

GUI on the fly

• Before BlackBox, SW effort was often dominated by GUI.

• “Empty GUI” was created first. • The placeholders were later filled with code.

• Examples of this approach: LabView, VB, various C++ “GUI builders”.

• Under BlackBox, GUI can be generated automatically.

• GUI can also be composed by hand.

• Code is written first, and the GUI is then created automatically.

• Work can focus almost solely on the algorithm.

• This approach is very scientist-friendly.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 11

Robustness of old and new programming languages

Old languages are not safe: C, C++, Fortran, and original Pascal. Internal errors are not prevented by design in the old languages.

Main offenders: pointer arithmetics, typecasts, and memory leaks.

New languages eliminated most if not all internal errors.

Internal errors are prevented by design in Component Pascal, Oberon, Java, and C#.

Debugging is dramatically reduced.

Work can focus on research and algorithm development.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 12

Interfacing with hardware

• All HW interfacing is handled via DLLs.

• DLLs are called by BlackBox.

• Several HW projects completed with BlackBox at UofR.

• CAMAC, USB, video frame-grabber card, mechanical actuators, distance-measuring interferometer (DMI), waveform digitizers.

• This topic is covered in depth in my other presentations.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 13

Summary of BlackBox tools

1. Scientific libraries (math, vectors, etc.) 2. Histogramming 3. Graphics display 4. Data management 5. User-defined extensions 6. Interfacing with hardware 7. Networking 8. Database access

TBD = “I have not used it yet”.

Chill Chill and/or Gr Chill and/or Gr POM Data Logger DLLs TBD (tools built-in) TBD (tools built-in) TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 14

Project #1: “Get tiled!”

Project started as engineering, later evolved to research.

Initially, the goal was closed-ended.

The structure of the program reflects the structure of the problem.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 15

Software structure follows the problem

Next slide shows close correspondence between the TGA hardware and the architecture of the software. The correspondence is not exactly one-to-one, but it is close.

Actuator subsystem Far Field calculations Near Field calculations

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 16

SW structure resembles the structure of HW

Part of the structure stems directly from the problem, part from the programming considerations (e.g., the math tools ).

GUI

TgcCmd Display commands.

Near Field

TgcUnits Near Field processing.

TgcFarFields Far Field processing.

Far Field Actuators

Pico Picomotor driver TgcFilters Time-domain signal averaging TgcGeometry Actuator coordinates TgcTools Math tools specific to this project.

Legend: server  client.

MODULE Subsystem Lib Math and graphics library Public domain, with source.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 17

Math

Implementation - related diagnostics

These displays help understand results of SSPD .

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 18

Application – related diagnostics

These displays help understand the behavior of a TGA.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 19

Example of implementation issue: temporal noise

Temporal noise is significant in realistic conditions, even under the hood.

1.0

Piston history. G1G2 @ working, G3G4 @ working, mirror.

0.5

Piston = 0 steps 0.0

8 steps Fit: P = 0.55393 - 0.000512 * iteration -0.5

Blue: original piston. Green: piston minus drift -1.0

40 0 30 0 steps 200 400 Iteration 600 Piston noise. G1G2 and G3G4 @ working angle.

800 8 steps Drift due to lateral piston Drift subtracted offline.

20 Two TGAs + retro-mirror.

10 0 0.0

0.2

0.4

0.6

Piston (waves) 0.8

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 1.0

20

Full compressor, first time ever !

After the algorithm and implementation are understood  success!

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 21

Main features of the tiling SW

• • • • • • • Requirements / specs existed  SW customized for the task.

Recording of tip, tilt, piston

originated as a debugging aid

.

The recordings evolved into a

powerful research tool

.

Application needs diagnostics  many optional diagnostic displays.

Easy to add new features along the design lines (e.g., some new math). Difficult to add new unplanned features (e.g., additional sensor recording).

• • • Overall. The OISG tiling SW is doing its job very well.

This SW is tailored to a specific task.

Like all BB software, it is very robust.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 22

From tiling to TGATS

• • Let’s do TGATS .

.. and we face a dilemma. The solution that was customized to one task, is not easy to use in a vastly different situation. • • • • Why is the situation different?

The list of sensors is open-ended. We know there will be more...

Four recordings  dozens of recordings. Well-defined task  exploration.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 23

Project #2: TGATS

A research project.

An open-ended goal.

A closed-ended program is not the right solution. Software structure is open-ended (a framework).

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 24

TGA Discrete Sensor Locations

In addition to tiling variables, we need to acquire several new ones.

This list is open-ended !

TAmb ( Ambient Temp) TBK7 (Glass Temp) TBeam (Beam Temp) DMI 4 (Actuator 4) Cap 4 (Actuator 4) Cap 5 (Actuator 5) DMI 6 (Actuator 6) Cap 6 (Actuator 6) Heide 1-1 (Actuator 5)

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 25

Structure of TGATS software (simplified) The entire project #1

GUI panels Do not contain any code.

Data Logger

Experiment-specific, customized script .

Object management

Organizes histograms into a tree-like view on screen .

FF camera NF camera Tiling software Heide interface (M.Wilson) Heide probes A/D and DMI interface Utilities and calculations

Pascal domain Low-level domain

DLLs provided by the vendors or developed by D.Hassett.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 26

TGATS data acquisition framework

• • • • • Ingredients of the TGATS data acquisition software.

Histogramming Graphics display Data management Compiled DAQ script  Gr Toolbox (WS).

 Gr Toolbox (WS).

 Persistent Object Manager (WS+DM).

 TGATS Data Logger (WS).

Tiling software, including image acquisition and processing (WS).

• • • • Hardware interface: Zygo DMI interface DLL (source from Zygo, modified by DH & WS).

National Instruments interface DLLs (DH).

Piezo actuator control loop (DH).

Heidenhain readout over RS-232 (MW).

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 27

Data Logger and Object Management

Object management.

Data Logger: experiment-specific script that is developed on-the-go.

Gr

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 28

TGATS SW summary

We evaluated and achieved qualification of a demanding system composed of mechanical hardware, optics, electronics, and software. • Complex software system was developed in short time by a small team.

• The experiment was almost continuously operated for several months with only occasional downtime due to low-level DLLs. The downtime was seldom (if ever) caused by high-level Pascal code, even though the SW was constantly evolving. • The software has fulfilled its mission despite being a

constantly evolving prototype

.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 29

How TGATS software can be integrated with other systems

TGATS tiling and DAQ software

Tiling, math, data acquisition .

Internet communication (TBD)

Local domain Lab domain

Other computer A Other computer B

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 30

Technology transfer

Minutes of CDR – OMEGA EP Tiled Grating Assembly Control Software

MATLAB® software is considered a useful tool for these analyses and many scientists use it. […] The System Science Group should have the responsibility of developing these algorithms, which, once developed, should be put under revision control by the Software Development Group.

 System Science and Software Development now jointly work on the problem.  I hope that the approach presented herein will help these groups.

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 31

Conclusions

Robust and useful SW developed by a small programming team.

Two complementary approaches were demonstrated.

Engineering approach.

Requirements documents. SW meets requirements, but may be difficult to evolve.

Scientific approach.

Exploration & research, loose requirements, design-as-you-go.

Needs a general framework that is easy to evolve.

With proper tools, scientific approach can yield production-quality.

Component Pascal and BlackBox are such proper tools.

Simple Algorithm Implementation Application

TGATS Tiling and Data Acquisition Software

. Wojtek Skulski Laboratory for Laser Energetics, University of Rochester. October 7, 2005 Demanding 32