From picoseconds to galaxies - PowerPoint PPT Presentation

About This Presentation
Title:

From picoseconds to galaxies

Description:

Megan Alexander, Eryk Druszkiewicz, Daniel Miner, Saba Zuberi (students) ... System V4, Spirit of Oberon S3 (now available as BlueBottle), and BlackBox. ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 33
Provided by: WojtekS9
Category:

less

Transcript and Presenter's Notes

Title: From picoseconds to galaxies


1
TGATS tiling and data acquisition
software October 7, 2005
Wojtek Skulski Laboratory for Laser Energetics
University of Rochester Rochester New York
14623-1299
2
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).

3
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-E
P\OMEGA-EP Presentations\General\SSPD_Unboxed.ppt
4
A bit of history how the HW/SW project started
February 2004
September 2004
April 2005
Manual control
Automatic control One grating pair
Automatic control Four grating pairs (Mach-Zehnder
)
Closed loop, one TMA
Feb/2004
Sept/2004
Apr/2005
May/2004
5
Algorithm ? implementation ? application
Model (or LOTF meas.)
Science
Usually quite simple E.g., SSPD is only 6 steps.
Algorithm
Has to deal with practical issues E.g., noise is
big issue for phase unwrapping in SSPD.
Implementation
Many months of work in the lab Here you discover
why you need rich diagnostic tools and displays.
Application
6
Scientific versus engineering programming
Tiling
TGATS
Engineering project
Scientific project
Meetings and discussions
Meetings and discussions
Requirements document
Exploration
Developing SW to meets requirements
Developing SW continuously along the way
Working product
SW is constantly evolving
Deployment and maintainance
Know-how
7
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).

8
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.

9
What makes CP and BlackBox so effective? Scientis
t-oriented tools and packages Modular
structure Hardware interfacing Debugging effort
is dramatically reduced
10
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.
11
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.

12
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.
13
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.

14
Summary of BlackBox tools
  • Scientific libraries (math, vectors, etc.) Chill
  • Histogramming Chill and/or Gr
  • Graphics display Chill and/or Gr
  • Data management POM
  • User-defined extensions Data Logger
  • Interfacing with hardware DLLs
  • Networking TBD (tools built-in)
  • Database access TBD (tools built-in)
  • TBD I have not used it yet.

15
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.
16
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
17
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).
TgcCmd Display commands.
GUI
Far Field
TgcUnits Near Field processing.
TgcFarFields Far Field processing.
Near Field
Actuators
TgcGeometry Actuator coordinates
TgcFilters Time-domain signal averaging
TgcTools Math tools specific to this project.
Pico Picomotor driver
Math
Subsystem Lib Math and graphics library Public
domain, with source.
Legend server ? client.
MODULE
18
Implementation - related diagnostics
These displays help understand results of SSPD.
19
Application related diagnostics
These displays help understand the behavior of a
TGA.
20
Example of implementation issue temporal noise
Temporal noise is significant in realistic
conditions, even under the hood.
Drift due to lateral piston
Drift subtracted offline.
Hee-Nee
Two TGAs retro-mirror.
21
Full compressor, first time ever !
After the algorithm and implementation are
understood ? success!
Infrared
22
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.

23
From tiling to TGATS
  • Lets 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.

24
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).
25
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)
Heide 1-1 (Actuator 5)
DMI 6(Actuator 6)
Cap 6(Actuator 6)
26
Structure of TGATS software (simplified)
GUI panels Do not contain any code.
Data Logger Experiment-specific, customized
script.
The entire project 1
Object management Organizes histograms into a
tree-like view on screen.
A/D and DMI interface Utilities and calculations
Tiling software
FF camera
Heide interface (M.Wilson)
Heide probes
NF camera
Pascal domain
Low-level domain
DLLs provided by the vendors or developed by
D.Hassett.
27
TGATS data acquisition framework
  • Ingredients of the TGATS data acquisition
    software.
  • Histogramming ? Gr Toolbox (WS).
  • Graphics display ? Gr Toolbox (WS).
  • Data management ? Persistent Object Manager
    (WSDM).
  • Compiled DAQ script ? 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).

28
Data Logger and Object Management
Data Logger experiment-specific script that is
developed on-the-go.
Object management.
Gr
29
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.

30
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
31
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.

32
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.
Algorithm
Implementation
Application
Simple
Demanding
33
The End Extra slides follow
34
Component Pascal in one slide
Robustness is not left to the programmer. It is
enforced by the compiler. Safety checks are both
complete and involuntary. Memory management is
automatic (garbage collection). Typecasts are
always guarded. (Never crash the runtime
system.) Variable compatibility is enforced
during compilation (strongly typed
language). Both object-orientation and classic
programming are supported equally well. Any
Numerical Recipe can be translated from Fortran
in a few minutes. C.P. development is efficient,
code performance is good, and it directly
supports hierarchical structure (modules and
components). ? Efficient tool for a scientist,
esp. when the timeline is tight.
35
BlackBox framework in one slide
The entire framework is implemented in C.P.
Source is available. The framework itself is
composed of modules and components. Model-View-Con
troller and Factory Objects are used
throughout. All objects can be (optionally) made
persistent. For persistency, objects can be
arranged into Directed Acyclic Graphs. Metaprogram
ming (i.e., reflection) is handled by the
framework. The scientist hardly needs to deal
with any of the above. The Tiling Project was
implemented without having to know what is
Model-View-Controller. ? Explore those things
if you have spare time. You do not have to!
36
Tiling achievements
Development of tiling algorithms for a single,
double, and four TGAs (i.e., the full compressor
arrangement) of two-grating assemblies. Two
papers an LLE review, and a forthcoming journal
paper. Application in TGATS (see the next
section).
37
TGATS Data Acquisition exploration research
TGATS DAQ Gr POM Logger electronic
logbook.
38
Sources of experience and inspiration
  • My tools and solutions are based on experience
    gathered with the following acquisition and
    analysis software.
  • In addition, I have used and extensively studied
    object-oriented systems Turbo Pascal, Oberon
    System V4, Spirit of Oberon S3 (now available as
    BlueBottle), and BlackBox.
  • RAQUEL (Indiana University, ca. 1985).
  • Smaug/Xamine (Michigan State University, ca.
    1990).
  • Evolved into SpecTcl, see
    docs.nscl.msu.edu/daq/spectcl/index.htm
  • Physics Analysis Workstation PAW (CERN, ca.
    1988).
  • paw.web.cern.ch/paw/
  • ROOT (CERN, ca. 1995). root.cern.ch/
  • Commercial software IGOR, www.wavemetrics.com
Write a Comment
User Comments (0)
About PowerShow.com