User:Danzimmer/Control Interface Intermediate Language (CIIL)

New article name is Control Interface Intermediate Language (CIIL)

Control Interface Intermediate Language (CIIL) was developed in the 1980s by a subcommittee of the Modular Automatic Test Equipment (MATE) Users Group (MUG). The CIIL subcommittee was comprised primarily of hardware and software engineers from the United States Air Force and commercial test equipment manufacturers. The Air Force provided oversight and ultimate control of the CIIL standard.

The CIIL standard defined the semantics of an intermediate language to be generated by IEEE Std 716 - Abbreviated Test Language for All Systems (ATLAS) compilers, most notably at that time, the MATE ATLAS Compiler (MAC). Every ATLAS verb, noun, and noun modifier was assigned a unique CIIL pneumonic. The example below demonsrates an ATLAS statement and its corresponding CIIL.

ATLAS: SETUP, AC SIGNAL, VOLTAGE 10 V, FREQ 1000 HZ, CNX HI J1-1 LO J1-2 $

CIIL: FNC ACS :CH0 SET VOLT 10 SET FREQ 1000 

In the example above, SETUP is the verb, AC SIGNAL is the noun, and VOLTAGE and FREQ are modifiers. Every CIIL string is terminated by a carriage return () and line feed (). The ATLAS in this example will cause an instrument in the test station to output a 10 volt, 1000 Hz AC signal at J1-1 (hi) and J1-2 (lo) on the Unit Under Test.

The CIIL standard also defined the timing between the run time software, called the MATE Test Executive (MTE) and the test instruments. If an instrument did not respond to a CIIL string within a prescribed amount of time, the MTE returned a time-out error to the host computer, which was displayed to the user.

Prior to the creation of the CIIL standard, instruments were programmed in a variety of unique ways. For example, the AC signal in the example above might have been programmed in one instrument by sending "M0, 10V, 1000F" and by sending "AC, :V10, :F1000" to another instrument. Since the interface between the user's test program and instruments was not standardized, instruments could not be replaced without driving expensive changes to the user's source code.

The goal of CIIL was to standardize the way test instruments were programmed. In theory, this would allow instruments to be interchanged without affecting the ATLAS source code. Using the example above, if all AC power supplies were programmed using standard CIIL, a power supply from one manufacturer could be replaced with a power supply from another manufacturer without affecting the ATLAS source code. The ultimate goal of the CIIL standard was to provide the Air Force with a long term maintenance strategy that would allow obsolete or broken instruments to be replaced without driving expensive changes to the test program source code.

The Air Force stopped funding the MATE program in 1991, but CIIL is still used today in commercial ATLAS compilers such as TYX PAWS and Perii DiploMATE, and by Air Force programs using the MAC and MTE. Some would agree that CIIL was the forerunner to the Standard Commands for Programmable Instruments (SCPI) standard initially developed by the Electronic Test & Measurement division of Hewlett Packard Corporation (now part of Agilent Technologies). SCPI is now widely used by many instrument manufacturers to program test equipment.