Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

19
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab

Transcript of Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Page 1: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement System as Part of a Software

Family

Jerzy M. NogiecJoe DiMarco

Fermilab

Page 2: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 2

Family Of SystemsFamily Of Systems

Our approach is to build a family of measurement systems that are based on a common framework. All the systems in the family share various common components and use the same standards to configuring, visualizing, and archiving data.

*Framework – the skeleton of an application that can be customized and reused**Component – an independently released software module suitable for composition (together with other components) into multiple applications

Page 3: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 3

EMS FrameworkEMS Framework

Extensible Measurement System (EMS) is a component-based framework for building measurement, data acquisition, and data stream processing systems. The goal of the EMS project was to design, implement, and deploy a system that is extensible, flexible and dynamic. EMS can be used to develop configurable and dynamically reconfigurable systems.

Page 4: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 4

EMS ComponentsEMS Components

• properties• state• error status

data data

control

exception debug

Components have properties and state. Typical components input, process, and output data. Their behavior depends on their state and property values. Components can be forced to perform certain actions by sending control events to them. Components also output debug and exception information.

Page 5: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 5

EMS Component Connectivity

EMS Component Connectivity

splitter

merger

filter

There are several categories of data processing components:

Data sinks Data sources Data filters/processors Data splitters Data mergers

source

sink

Page 6: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 6

<?xml-stylesheet type="text/xsl“ href="ems.xsl"?><configuration version="0.1" title=“Producer-Chart Example">

<!-- Component definitions --> <component id="Producer” class="ems.core.components.SimpleDataGenerator"> <property name="title" value="Data Generator"/> </component> <component id="Chart" class="ems.measurement.chart.ChartDataDisplay"> <property name="XPosition" value="0"/> <property name="YPosition" value="200"/> <property name="title" value="Plot Display"/> </component>

<!-- Routing information --> <route type="Data" origin="Producer" destination="Chart" />

<!-- Control signals --> <control signal="init" destination="!"/> <control signal="start" destination="!"/>

</configuration>

EMS XML Configuration

EMS XML Configuration

Producer Chart

Page 7: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 7

EMS ScriptsEMS Scripts Scripts written in Jython, a Java-based

implementation of Python, provide control over the measurement process.

Scripts describe measurement sequences at a very high level of abstraction and supervise execution by sending control events to components.

Control events typically trigger operations on hardware, reconfigure components by applying a new set of properties (measurement parameters), or redirect data flow to appropriate processing components.

Page 8: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 8

System Development Process

System Development Process

1. Create a configuration by selecting and assembling components that control data flow, analyze data, provide partial and final data visualization, and archive data.

2. Prepare or modify measurement scripts, or update the measurement dictionaries, which contain arrays of movement sequences selectable at runtime.

3. Prepare or verify sets of parameters for each of the measurements.4. Test and verify the correctness of the configuration and parameters by

running in the simulation mode. Processing times and memory use can be examined during simulation.

Page 9: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 9

SSW SystemSSW System

The Single Stretched Wire (SSW) system measures the strength and alignment parameters (axes and angles) of accelerator magnets. The system applies the EMS software framework and related methodology to the SSW measurement technique developed at Fermilab.

Page 10: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 10

SSW SystemSSW System

Page 11: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 11

SSW Component Configuration

SSW Component Configuration

A configuration tool is provided to help with configuring the system.

Properties of individual components can also be modified at run-time.

Page 12: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 12

Component Tailoring Component Tailoring

Each component has a set of properties that both control its behavior and exhibit its state. These properties can be introspected and modified externally at runtime.

Page 13: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 13

SSW DAQSSW DAQ

Simple Java instrumentation bus access interface.

Local and remote implementation of DAQ.

Highly portable DAQ.

Simulation mode for all hardware-control Java components.

Page 14: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 14

SSW MeasurementsSSW Measurements Each measurement is controlled by a dedicated

script and the system can be easily expanded by adding more scripts.

The basic version has four main measurements: DC, AC, Sag, and Roll Angle as well as two auxiliary modes: Tension Adjustment and Monitoring.

Script can run in an interactive or manual mode.

A sequence of measurements can be selected. Measurements can be repeated.

Page 15: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 15

Measurement Parameters

Measurement Parameters

Measurement parameters can be reviewed before each measurement and updated.

A hierarchical notation is used for parameters.

Page 16: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 16

User InterfaceUser Interface

UI is configurable (component choices).

UI components are configurable and runtime modifiable.

Data from any point in the dataflow can be visualized

UI adapts to needs of a currently running measurement.

Page 17: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 17

On-line VisualizationOn-line VisualizationDisplay components allow for viewing past data and pausing the display.

Data items to be visualized can be selected at runtime.

Page 18: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 18

Runtime System Status

Runtime System Status

All events in the system can be reported by the Traffic Monitor component, including data, debug, control, and error events.

Various parameters such as memory usage and timing can be easily monitored too.

The user can enable various levels of debug on each component separately at runtime.

Page 19: Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.

Magnetic Field Measurement SystemIMMW-14, 2005 19

SummarySummary The SSW system is part of the family of measurement systems, a group of

systems built based on a common software framework, the EMS. EMS systems are configured from pre-build and customizable components. EMS systems can work completely autonomously and even be scheduled to

run in the background. Properties of any EMS component can be examined and modified at runtime. Measurement sequences are in the form of scripts that can be easily modified

and added to the system. Portability of the SSW system stems from the fact that it is mostly written in

Java with a minimal platform-dependent code necessary to interface to instrumentation buses.