Chapter 1, Introduction, Overview – Ocean Optics Jaz Scripting Language and Scripting Engine User Manual
Page 9: Goals of the jaz scripting language
013-RD000-000-12- 201010
1
Chapter 1
Introduction
Overview
Jaz is a community of smart sensing instruments that consists of a high-performance miniature
spectrometer that accommodates USB and Ethernet connectivity (for PC-free performance), battery
operation, multi-spectrometer channel capability, and a selection of light sources. It’s the next generation
spectrometer brought to you by Ocean Optics, the company that invented the world’s first miniature fiber
optic spectrometer and has delivered over 120,000 instruments for a wide range of applications since
1992.
The uniqueness of Jaz lies in its adaptability. You can easily mix and match Jaz modules to optimize
setups for thousands of absorbance, reflectance and emission applications. Jaz comes with its own basic
software, and SpectraSuite Spectroscopy Operating Software is also available for post-acquisition
processing of spectral data. Jaz Scripting Language (JSL) software takes it one step further by offering a
Jaz scripting engine, a powerful tool simple enough for nonprogrammers to create their own applications
for Jaz. JSL allows you to build a sequence of steps for performing and analyzing spectral data for your
unique application.
Goals of the Jaz Scripting Language
The Jaz Scripting Language (JSL) has been designed to provide a sequence of actions to be performed on
either the Jaz hardware or a host computer connected to Jaz via Ethernet. The language is intended to
provide the primitive functions that would be useful in performing automated tasks. Its syntax is skewed
towards the linear model of BASIC with some enhancements.
The overall goals of the language are as follows:
Simple non-programmer oriented syntax -- case insensitive and one directive per line syntax
Primitives that map well to the tasks which may be performed on the target hardware
Provision for user-defined routines to encapsulate repetitive tasks
Integration into the Jaz matrix of daemon processes with minimal exposure of script authors to
the underlying complexities of the Jaz architecture
Simple algebraic expressions for basic computation and script flow logic
Interpreted runtime with an engine that is multi-platform and may serve as an infrastructure
component for graphical user script design and debugging.
Strongly typed language with type coercion made by the script engine as appropriate