Articulo de referencia

Event Driven Executive

The Event Driven Executive (EDX) is a computer operating system originally developed by IBM [ 1 ] [ 2 ] for the control of research laboratory devices and experiments. It includ...

The Event Driven Executive (EDX) is a computer operating system originally developed by IBM[1][2] for the control of research laboratory devices and experiments. It included an application programming language known as EDL and HCF, a Host Communication Facility.

Background

IBM's Research Division opened the San Jose Research Laboratory (SJRL) in 1956, in building 025 on the IBM plant site in San Jose, California. Dr. Henry M. Gladney established the first laboratory automation[NB 1] project in 1968, with an IBM 1800 computer. Various instruments in chemistry and physics laboratories throughout the SJRL were linked to the 1800 for control, data acquisition and processing. (Note that this was a long time before instrumentation came with embedded chips and microprocessors and the output from a sophisticated research instrument was likely to be a strip of chart paper with squiggly marks on it or perhaps punched paper tape.)

Dr. Gladney became the manager of the Research Computing Facility (RCF) and, when Research moved to Building 028 in 1970, he established a new department in the RCF, the Laboratory Automation Group, which was tasked to transition to a new sensor-based computer, the IBM System/7 produced in Boca Raton, Florida. Robert W. Martin was appointed as first line manager of the group with a staff consisting of Ray Aylsworth, Donald L. Raimondi, and Gerd Hochweller, a post-doctoral fellow on assignment from Germany.

LABS/7 – the precursor to EDX

The System/7 was a much smaller machine than the 1800 and was intended to be co-located in individual research labs along with the instruments it would service. Multiple System/7s were to be hosted, large scale computing purposes, by the IBM System/360 “mainframe” which served the SJRL as a whole.

El System/7 era algo inusual, especialmente desde la perspectiva de un programador, por su falta de software de soporte. Su interfaz básica de entrada/salida consistía en un teclado de teletipo, una impresora y un lector de cinta de papel perforado. Contaba con un disco duro para el almacenamiento de datos, así como con entrada/salida digital y analógica e interrupción de procesos, todo lo cual podía utilizarse para la interfaz con instrumentos de laboratorio, la adquisición de datos y el control de instrumentos . Lo que no tenía era ningún tipo de sistema operativo ni herramientas de programación de alto nivel, solo un programa básico en lenguaje ensamblador. Dicho de otro modo, tal como se entregó, no era muy fácil de usar para científicos e ingenieros, es decir, profesionales sin conocimientos de programación.

Desde el principio quedó claro que, para proporcionar un entorno exitoso basado en System/7 para la automatización de laboratorios en el SJRL, sería necesario desarrollar un sistema operativo multitarea y multiprogramación en tiempo real, basado en sensores, y una instalación de desarrollo de aplicaciones asociada que proporcionara no solo un lenguaje de programación de aplicaciones de alto nivel apropiado con las características especiales requeridas, por ejemplo, E/S de sensores, [ NB 2 ] sino también una interfaz de comunicación con la computadora host a gran escala para el desarrollo de programas, la transferencia bidireccional de datos y el análisis de datos.

El resultado fue el desarrollo de un sistema operativo conocido como Laboratory Automation Basic Supervisor for the System/7 (LABS/7) y un lenguaje de desarrollo de aplicaciones. [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] LABS/7 era un sistema operativo multitarea y multiprogramación en tiempo real.

El lenguaje de programación

Se necesitaba un lenguaje de desarrollo de aplicaciones para proporcionar capacidad de interrupción de procesos y temporización, comandos de entrada y salida analógicos y digitales para permitir la adquisición de datos y el control de instrumentos de laboratorio externos, junto con funciones computacionales básicas, almacenamiento de datos de acceso directo y comunicaciones con el host en un entorno jerárquico. Además de un lenguaje de programación, también era necesario definir una herramienta de preparación de programas asociada (como un compilador). Se decidió que el uso de un modelo sintáctico que pudiera ser procesado por el ensamblador de macros de System/360 obviaría la necesidad de escribir un compilador. Se crearon instrucciones en lenguaje máquina para interpretar el código objeto , la salida del ensamblador. En efecto, este era un conjunto de instrucciones de alto nivel, o lenguaje de programación, para una computadora hipotética o virtual basada en sensores en tiempo real, y LABS/7 proporcionaba un intérprete de lenguaje implementado en lenguaje máquina de System/7 que imitaba, o, en el lenguaje actual, emulaba , la máquina virtual . Otro elemento de LABS/7 era un paquete de programas de utilidad de propósito general ; hoy en día, probablemente se llamarían aplicaciones . Finalmente, se desarrolló un paquete de software para System/360, conocido como Host Communication Facility (HCF), para proporcionar transferencia bidireccional de datos entre un System/360 anfitrión y múltiples System/7 satélite. En conjunto, LABS/7 proporcionaba un entorno donde 1) se podía escribir y compilar un programa de aplicación en un System/360 anfitrión, descargarlo desde el anfitrión a un System/7 en el laboratorio de un científico, 3) ejecutarlo para controlar un aparato/instrumento/máquina de laboratorio, 4) adquirir resultados de medición del instrumento, 5) enviar los datos a la computadora anfitriona, 6) iniciar un programa en el anfitrión para analizar los datos y 7) devolver y mostrar los resultados del análisis al científico en el laboratorio. Por supuesto, el System/7 podía operar en un entorno completamente autónomo, es decir, no jerárquico.

LABS/7 se convierte en una IUP

A medida que el uso de LABS/7 aumentaba en el SJRL, otras organizaciones de IBM que intentaban implementar aplicaciones en el System/7 conocieron LABS/7, lo probaron y lo consideraron extremadamente útil. Entre ellas se encontraban la División de Productos Generales en la planta de IBM en San José, los laboratorios de investigación asociados del SJRL en Yorktown, Nueva York, y Zúrich, Suiza, la División de Sistemas Federales de IBM en Oswego, Nueva York, y la División de Productos de Oficina de IBM en Lexington, Kentucky. La noticia sobre LABS/7 se extendió entonces al personal encargado de la comercialización del System/7 a los clientes de IBM. Se organizó un esfuerzo conjunto entre los autores del programa en el SJRL y un equipo de ingenieros de sistemas de IBM, liderado por Fred Schneider, para que el software estuviera disponible para los clientes como un Programa de Usuario Instalado (IUP). Un IUP puede considerarse un paquete de software "tal cual" disponible de IBM, sin el soporte ni las garantías asociadas al software de producto formal. El IUP de LABS/7 tuvo un éxito relativo, pero llegó bastante tarde en el ciclo de vida del System/7.

EDX y EDL

En 1976, IBM anunció la IBM Series/1 , sucesora del System/7. La Series/1 fue la última de la línea de computadoras con sensores de propósito especial producidas por IBM. El Grupo de Automatización de Laboratorios en SJRL adquirió un modelo inicial de la Series/1 y, para el momento del anuncio, había adaptado LABS/7 a la Series/1. LABS/7 se convirtió en EDX/1, el Ejecutivo Orientado a Eventos que, por supuesto, incluía un intérprete integrado para el lenguaje de programación, que se denominó apropiadamente EDL (Event Driven Language). Al mismo tiempo, el equipo de soporte técnico de IBM se amplió y se realizó un esfuerzo significativo para que el software estuviera disponible para los clientes de IBM como un Programa Desarrollado en Campo (FDP). Un FDP representaba un avance en la jerarquía de software de IBM, pero aún tenía la salvedad de ser un paquete "tal cual" con un soporte formal mínimo por parte de IBM. Con el desarrollo de un potente producto de control de terminales conocido como Communications Facility (EDX/CF), las ventas de EDX se centraron especialmente en un entorno de computación distribuida donde la Series/1 se utilizaba principalmente como controlador de terminales, en muchos casos conectado a un ordenador host System/370. EDX era un sistema muy eficiente capaz de soportar un gran número de estaciones de trabajo. A medida que crecía la base instalada de EDX, el soporte del producto se transfirió a la División de Sistemas Generales de IBM, la división de productos Series/1, en Boca Ratón, Florida, y EDX se convirtió en un producto de programa de IBM con soporte completo . EDX tuvo su origen como una herramienta para la automatización de laboratorios y, en 1981, IBM anunció un paquete de software de aplicación basado en Series/1 y EDX, EDX Laboratory Automation Software , que se desarrolló en el SJRL como un IUP, número de producto 5798-RHB. [ 8 ]

Impacto de EDX

EDX and EDL was well accepted in the marketplace. Other successful IBM software products, application programs, were developed with EDL to run under EDX, e.g. the Communication Facility and the Multiple Terminal Monitor. The U.S. Marine Corps is recognized for its extensive usage of the Series/1 and EDX.[9] In 1984, EDX & EDL were ported to the IBM PC in a product known as Hummingbird.[10] The IBM plant site in San Jose, California implemented a completely automated warehouse facility and inventory system for production parts complete with robot fork lifts all under the control of one Series/1 computer running EDX. This system was in operation until late in 1999 and is just one example of major applications within IBM. Other companies developed EDX-based applications, e.g. utility packages developed by Legler,[11] and as recently as September 2014, a program was announced by business partners IBM & Datatrend which allows running applications to be ported from a Series/1 to UNIX based systems.[12]

In 1980, Martin and Raimondi received an IBM Corporate Award for their work in developing EDX and EDL.

Notes

  1. Laboratory Automation is defined herein as the use of computers to control instrumentation in chemistry and physics laboratories and to record data therefrom.
  2. Sensor I/O is defined herein as the acquisition (input) or transmission (output) of electrical signals in analog and/or digital form.

References

  1. Hillel Segal (June 15, 1981). "IBM Series/1 Tests Snags Preclude Comparisons". Computerworld. Vol. 15, no. 24. IDG Enterprise. p. 24. Retrieved November 21, 2017.
  2. Coulter, Neal S. (1992). "Instruction Set Usage". In Kent, Allen; Williams, James G. (eds.). Encyclopedia of Computer Science and Technology: Volume 25 - Supplement 10. CRC Press. p. 138. ISBN 9780824722753. Retrieved November 21, 2017.
  3. Aylsworth, Ray; Gladney, Henry M.; Hochweller, Gerd; Martin, Robert W.; Raimondi, Donald L. (1973). AUTOMATION OF ANALYTICAL INSTRUMENTS USING THE IBM SYSTEM/7 COUPLED TO A SYSTEM/360 COMPUTER: LABS/7 SYSTEM CONCEPTS AND FACILITIES. IBM Research. RJ 1184.
  4. Hochweller, Gerd; Martin, Robert W.; Raimondi, Donald L. (1973). AUTOMATION OF ANALYTICAL INSTRUMENTS USING THE IBM SYSTEM/7 COUPLED TO A SYSTEM/360 COMPUTER: LABS/7 APPLICATION PROGRAMMER'S GUIDE. IBM Research. RJ 1185.
  5. Hochweller, Gerd (1973). AUTOMATION OF ANALYTICAL INSTRUMENTS USING THE IBM SYSTEM/7 COUPLED TO A SYSTEM/360 COMPUTER:LABS/7 BASIC SUPERVISOR LOGIC MANUAL. IBM Research. RJ 1186.
  6. Martin, Robert W. (1973). AUTOMATION OF ANALYTICAL INSTRUMENTS USING THE IBM SYSTEM/7 COUPLED TO A SYSTEM/360 COMPUTER: LABS/7 SIMULATOR FOR SYSTEM/360. IBM Research. RJ 1197.
  7. Hochweller, Gerd; Gladney, Henry M.; Martin, Robert W.; Raimondi, Donald L.; Spencer, Linda L. (1975). AUTOMATION OF ANALYTICAL INSTRUMENTS USING THE IBM SYSTEM/7 COUPLED TO A SYSTEM/360 COMPUTER: LABS/7 - A DISTRIBUTED REAL-TIME OPERATING SYSTEM. IBM Research. RJ 1638.
  8. EDX Laboratory Automation Software, Program Description/Operations Manual. IBM. 1981. SB30-1689.
  9. W. E. Caves (August 1985). "Marine Corps Combat Readiness Evaluation System. Software Applications (MCCRESSA) Subroutine Library". Archived from the original on December 5, 2014.
  10. "Hummingbird lets IBM micros run System/1 tools". Computerworld. Vol. 18, no. 35. August 27, 1984. p. 62.
  11. "EDX Utility Programs Overview".
  12. "Series/1 to Power Systems (AIX/Linux) Migration". September 12, 2014. Retrieved November 13, 2014.{{cite web}}: CS1 maint: deprecated archival service (link)