IHAL: An XML-Based Instrumentation Hardware Abstraction Language 116 th Telemetry Group Conference Dayton, OH August 21 st, 2007 Ron Fernandes Mike Graul Perakath Benjamin Knowledge Based Systems, Inc. Charles Jones AFFTC – Edwards AFB
Agenda The Problem Overview of the Solution IHAL Design Prototype Tools to support IHAL Use Cases Conclusions
The Problem Hardware Component 1 ISS 1 Hardware Component 4 Hardware Component n Hardware Component 2 ISS mISS 3ISS 2 Hardware Component 3
More about the Problem Lack of documentation for T&E system configuration –A lot of data but not much data about the data ISS developers are diverse Hardware specification creep and newer versions Test article tested on different test ranges –Joint Strike Fighter (JSF) –Joint Air-to-Surface Standoff Missile (JASSM) Lack of adequate simulation-based acquisition for T&E –Simulate the T&E instrumentation setup before purchase
Overview of the Solution Hardware Component 1 ISS 1 Hardware Component 4 Hardware Component n Hardware Component 2 ISS mISS 3ISS 2 Hardware Component 3 IHAL IHAL as a neutral command & query language
IHAL Application Viewpoints IHAL as specification language –Hardware functional description –Configuration and calibration –T&E Instrumentation network specification –Numerous “high-level” applications IHAL as control language –Instrument control/setup from within an ISS –Supports the O(m n) O(m+n) concept IHAL as query language –Query instrument(s) for current configuration
IHAL Design Criteria XML-based Support for generic instrument/function A hardware function can be composed of sub- functions at any level of decomposition Support for common instruments with specific parameters (e.g., ADC and scope) Concept of an instrument pool (i.e., template) Concept of an instrumentation network (configuration)
IHAL and iNET IHAL (TMATS Section H ?) iNET Measurement metadata outputs Ethernet Engg units measurement Sample rate signals
IHAL Design Criteria (cont.) Concept of an instrument use Support for generic parameters Support for configurable parameters Generic support for inputs and outputs Support parameter value specification of any instrument that is part of an existing configuration
IHAL Design
IHAL as Specification Language Specification at the “Pool” level –Each instrument in the pool described according to its design and configuration capabilities. –What function does it perform? –What is it composed of? –What can be configured? Instruments at the pool level fall into one of two categories: (1) First-class and (2) Generic
IHAL as Specification Language “First-class” instruments: –Perform commonly-occurring instrumentation functions (e.g. ADC). –Has a corresponding IHAL element defined (e.g. ) and a set of common attributes. –Need not be specified in terms of sub-components. <adc id="adc3" name="Acqiris DC438“ modelNumber="DC438“ manufacturer="Acqiris“ impedance="50” maxPower="25” numChannels="2” perChannelMemory="4">
IHAL as Specification Language Generic Instruments “Generic” instruments: –Covers every other type of instrument. –Defined using IHAL generic element. –Attributes specified using IHAL generic element. –Specified in terms of sub-instruments (and sub-sub- instruments, etc) –Basic “Building Block” instruments: Amp, Filter, Multiplexor, etc.
IHAL as Specification Language Generic Instruments
IHAL as Specification Language Generic Instruments
IHAL as Specification Language Generic Instruments Sub-Instruments
IHAL as Specification Language Generic Instruments Sub-Instruments Basic “Building Block” Instruments
IHAL as Specification Language – Configurable Parameters All instruments (first-class AND generic) can have “Configurable Parameters” –Specified by “type” and possible values –Values can be specified in two ways Range plus increment (e.g. “0-10 in increments of 2”). Enumeration (e.g. “15, 25, or 50”)
IHAL as Specification – “Use” Level The “use” level specifies how instruments are actually configured on the test article An IHAL file may contain multiple configurations. Each configuration may contain multiple networks. Each network composed of “uses” of instruments from the pool.
IHAL as Specification “Use” Level Each instrument “use” element structured the same as its corresponding pool element. Configurable parameters are replaced with Configured parameters. Configured parameters specified by name, type, and current value.,, and elements describe how instruments are connected in the network.
IHAL as Specification “Use” Level
IHAL as a Command Language IHAL command same as IHAL use spec with one extra attribute: “action=SET” gpib
IHAL as a Query Language IHAL query same as IHAL command with attribute: “action=GET” gpib
IHAL Validation Tools and Use Cases
IHAL Validation Tool Prototypes Instrumentation Configuration Repository –Associated Files –Search Capability –IHAL XML Preview/Edit capability –Integrates Instrument Map Instrument Map –Graphically displays multiple instrumentation networks –Filters display by category –Four-panel – tree, properties, network, and detail –Instrumentation control capability through IHAL –Supports images of instruments/networks
IHAL Use Case #1 IHAL as Control –InstrumentMap (ISS) IHAL LabView (ISS) LabView (translator) Tektronix Scope –InstrumentMap (ISS) IHAL Matlab Scope (Instrument) Same IHAL file generated by InstrumentMap is used to control two different instruments
IHAL Use Case #1 IHAL As Control Matlab Scope InstrumentMap ISS 2ISS 3 LabView Hardware Component 3 Hardware Component 4 Tektronix Scope Hardware Component 2 IHAL
IHAL Use Case #1 IHAL As Control Instrument MapIHAL IHAL-Aware Scope Matlab Tektronix Scope Translator/ Parser IHAL Labview LabView ISS GPIB / Serial bus
IHAL Use Case #2 IHAL as Control with Simulated Instruments –InstrumentMap (ISS) IHAL Simulink Signal Analyzer (Simulated Instrument) –InstrumentMap (ISS) IHAL Simulink ADC (Simulated Instrument) Signal Analyzer (SA) –A class of controllable instruments. Developed a basic simulation of SA Simulated hardware functionality enables –Plug and Play for Testing. Use IHAL to interact with simulated instruments
IHAL Use Case #2 Simulating Instruments Simulink Signal Analyzer Instrument Map ISS 2ISS 3ISS m Hardware Component 3 Hardware Component 4 Simulink ADC Hardware Component 2 IHAL Translator IHAL Translator.mdl
IHAL Use Case #2 Simulating Instruments IHAL IHAL SIMULINK Translator IHAL SIMULINK Translator ADC Signal Analyzer Instrument Map
IHAL Use Case #3 IHAL specifications can be used to find a replacement for an instrument. In InstrumentMap, the instrument pool can be searched to find potential replacements for a particular instrument use. –Useful for deprecated instruments or defunct vendors/models –Cheaper instruments
IHAL Use Case #3 Hardware Replacement Replacement search can be based on user- defined criteria, including: –Attributes (non-configurable) – are they within an acceptable range? –Configurable parameters – Can they be set to acceptable values? –Inputs/Outputs – Does the instrument have the same interface? Search performed using XQuery Language
IHAL Use Case #3 Hardware Replacement
IHAL version 3
A Critique of the previous version No distinction between an instrument and its functions –First class instrument limited to one function –Instruments with secondary function is relegated to the generic class –Recursive is actually an with multiple with the latter being recursive No support for identical multiple channels –Forced named multiple channels that duplicated specification n-times –Lack of system versus channel connectors Complexity of use-level instrument specification –Instrument structure duplication
First class Instrument Pool instrument function Number of channels
Generic instrument in the pool
Connectors
Configurable Parameters Before After
Simplification of Use-level Instrument Specification
Moving on … Provide instance documents Validate tools against new schema Configure new use cases for IHAL Demonstrate tools at ITC 2007 Provide website support for download and feedback
Conclusions IHAL is a generic XML-based neutral language for describing, configuring, and querying instrumentation hardware, networks, and their configurations. Prototype tools developed to support use of IHAL.
Points of Contact Dr. Charles Jones, AFFTC, EAFB Ronald Fernandes, KBSI Mike Graul, KBSI John Hamilton, KBSI