beautypg.com

Chapter 1, Introduction, Overview – Ocean Optics Jaz Scripting Language and Scripting Engine User Manual

Page 9: Goals of the jaz scripting language

background image

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