Articulo de referencia

CADES

CADES ( Computer Aided Design and Evaluation System ) fue un sistema de ingeniería de software creado para dar soporte al diseño y desarrollo del sistema operativo VME/B para lo...

CADES ( Computer Aided Design and Evaluation System ) fue un sistema de ingeniería de software creado para dar soporte al diseño y desarrollo del sistema operativo VME/B para los ordenadores de la nueva gama ICL , posteriormente denominados 2900.

Desde sus inicios, VME/B se desarrolló con la ayuda de CADES, que se creó específicamente para este fin utilizando una base de datos IDMS subyacente (posteriormente actualizada a IDMS(X) ). CADES no era simplemente un sistema de control de versiones para módulos de código: su objetivo era gestionar todos los aspectos del ciclo de vida del software, desde la recopilación de requisitos hasta el mantenimiento en campo.

El diseño de CADES allanó el camino para el Proyecto Alvey en IPSE (Entornos Integrados de Soporte a Proyectos) y Motores de Control de Procesos. Dado que CADES se utilizó durante más de 20 años a lo largo del desarrollo de un gran proyecto de ingeniería de software, los datos recopilados se han utilizado como insumo para varios estudios sobre la evolución del software .

Historia temprana

CADES fue concebido en 1970 por David Pearson y Brian Warboys mientras trabajaban para el Centro de Tecnología de Sistemas Operativos de Nueva Gama de ICL, OSTECH, en Kidsgrove. [ 1 ] [ 2 ] Pearson, físico teórico de formación, se había convertido en especialista en simulación por computadora y se unió a ICL en 1968 después de trabajar en modelado de elementos finitos en Cambridge e investigación de simulación en el Imperial College. Warboys había sido el arquitecto principal del sistema operativo de acceso múltiple ICL System 4, Multijob.

El compromiso de ICL con el desarrollo de software a gran escala para la serie de computadoras 2900 sentó las bases para el trabajo inicial de Pearson y Warboys en un nuevo entorno de desarrollo de software que abordaría los problemas de productividad del diseñador/programador, integridad del diseño, evaluación y pruebas, control de versiones y regresión de sistemas. [ 3 ] [ 4 ]

Al diseñar la arquitectura inicial del entorno CADES, Pearson, en particular, buscó paralelismos con los principales sistemas de diseño asistido por computadora de hardware de la época, incluso intentando el uso de gráficos en el proceso de diseño. El enfoque de diseño de CADES, denominado Modelado Estructural, era rígidamente basado en datos y jerárquico, y se expresaba en un lenguaje de diseño formal, SDL . Las especificaciones de diseño escritas en SDL eran procesadas por el Analizador de Diseño, antes de ser introducidas en la Base de Datos de Productos CADES, una base de datos de diseño e implementación que admite su propio lenguaje de consulta y constituye el núcleo del Sistema de Información de Productos. [ 5 ] [ 6 ] [ 7 ]

La intención era que estos diseños pudieran evaluarse/simularse utilizando el Animador, y que el código de implementación S3 se generara automáticamente a partir de ellos mediante el Procesador de Entorno. La generación de compilaciones y el control de versiones también se basaban en la Base de Datos de Producto, lo que resultaba en un enfoque altamente disciplinado para las nuevas compilaciones del sistema. Por lo tanto, la regresión del sistema se controlaba desde una etapa muy temprana del ciclo de vida del software. [ 8 ] [ 9 ]

Fundamentos

Para controlar el desarrollo de VME/B , cada desarrollo se subdividió para facilitar su gestión. La estructura era jerárquica, con cada componente importante de VME (núcleo, almacenamiento de archivos, etc.) dividido en subsistemas. La actividad de desarrollo en cada subsistema generó una secuencia de versiones.

Estas divisiones y subdivisiones de VME/B se reflejaron en la estructura jerárquica de la base de datos CADES. Esto permitió la reutilización de código dentro de VME/B (uno de los objetivos de la ingeniería de software). Esto, junto con un conjunto de herramientas y el uso de SDL ( Software Design Language ) como lenguaje de desarrollo, el historial de versiones y el concepto de código fuente confiable (es decir, código que ha superado el control de calidad y reside posteriormente en el repositorio de archivos CADES), mejoró el tiempo de desarrollo a la vez que proporcionó registros de auditoría y procesos de control de calidad satisfactorios.

CADES adoptó el término "holón" para referirse a módulos de código (como procedimientos y macros). La palabra proviene del griego holo , que significa "todo", y fue tomada del libro de Arthur Koestler, *El fantasma en la máquina* . Pearson siempre afirmó haber formulado la arquitectura de CADES mientras estudiaba el libro de Koestler en una playa de Túnez. Organizados jerárquicamente, los holones proporcionan un "árbol genealógico" (para cada subsistema), utilizando relaciones padre/hijo. Los holones también conservaban atributos de interacción, lo que permitía que un holón interactuara con otros holones, facilitando así un desarrollo más modular y la reutilización. De manera similar, CADES también conservaba información sobre valores constantes (también llamados literales), tipos definidos por el usuario y estructuras definidas por el usuario.

Desarrollo mediante CADES

El desarrollo en CADES se realizó mediante un conjunto de herramientas conocido como MODPRO ( Procesamiento de Módulos ) , que actuaba como interfaz (o intermediario) entre el desarrollador y CADES. Estas herramientas permitieron al desarrollador centrarse más en el desarrollo que en las tareas administrativas, de control de calidad o de gestión de la cadena de suministro . No era necesario saber cómo manipular los datos dentro de CADES; la aplicación generaba el lenguaje de navegación de datos (DNL) necesario para obtener los resultados deseados.

El desarrollo con MODPRO no requería conocimientos específicos de S3 ni de SCL (lenguaje de destino para la compilación posterior), sino de SDL, el lenguaje de diseño de software : una abstracción superior a los dos anteriores. Este, junto con el editor de mejora EDSDL ( Edit SDL ) , interactuaba con CADES para gestionar el desarrollo o la reelaboración. Posteriormente, de nuevo con información de CADES, al utilizarse con la herramienta MODPRO EPETC (también conocida como Procesador Ambiental o EP, etc.) , permitía que el archivo resultante se compilara correctamente en S3 o SCL . Las herramientas posteriores del paquete facilitaban diversas etapas del desarrollo, tales como:

  • Información detallada de Holon utilizando CHED (CADES Holon Environment Details),
  • Interacción con CADES mediante DIL (Database Interface Language, utilizado para producir DNL),
  • Generación de informes, utilizando CRP (CADES Report Producer),
  • Transfiera archivos/código válidos al repositorio seguro, denominado CADES, o extráigalos del mismo, utilizando XFER.

A continuación se ilustra la ruta de desarrollo típica de MODPRO.

Diagrama de flujo de procesos mediante las herramientas CADES MODPRO
Desarrollo de VME/B utilizando las herramientas MODPRO

Referencias

  1. BCWarboys "El proyecto IPSE 2.5: Modelado de procesos como base para un entorno de soporte" Conferencia Internacional sobre Entornos y Fábricas de Desarrollo de Sistemas, mayo de 1989, Berlín
  2. Martin Campbell-Kelly, "ICL: Una historia empresarial y técnica", Clarendon Press, Oxford, 1989
  3. DJPearson "CADES - Sistema de desarrollo y evaluación asistido por computadora" Computer Weekly , 1973
  4. DJPearson y BCWarboys "Modelado estructural: una filosofía" OSTC/IN/40 Julio de 1970
  5. GDPratten y RASnowden "CADES, soporte para el desarrollo de software complejo" EUROCOMP, 1976
  6. MAFirth y otros, "Mejora de un entorno de desarrollo de software mediante tecnología orientada a objetos", HERRAMIENTAS (8), 1992
  7. BWChatters, MMLehman y otros "Modelado de un proceso de evolución de software" Software Process: Improvement and Practice, septiembre de 2000
  8. DJPearson "El uso y el abuso de un sistema de ingeniería de software" Conferencia Nacional de Computación, Nueva York, 1979
  9. Don Leavitt "La revisión del método de desarrollo se considera útil" Computerworld, junio de 1979

Lecturas adicionales

  • BC Warboys (25 de enero de 1988). "Extrapolación de las lecciones de CADES a la actualidad". Coloquio del IEE sobre el impacto industrial de la ingeniería de software : 3.
  • RW McGuffin; AE Elliston; BR Tranter; PN Westmacott (septiembre de 1979). "CADES: ingeniería de software en la práctica" . Actas de la 4.ª Conferencia Internacional de Ingeniería de Software del IEEE, Múnich, Alemania : 136–144 .
  • B. Kitchenham (mayo de 1982). "Dinámica de la evolución del sistema VME/B". Revista técnica de ICL : 42–57 .
  • BW Chatters; MM Lehman; JF Ramil; P. Wernick (2000). "Modelado de un proceso de evolución de software: un estudio de caso a largo plazo" . Software Process: Improvement and Practice . 5 ( 2–3 ): 91–102 . doi : 10.1002/1099-1670(200006/09)5:2/3 < 91::AID-SPIP123 > 3.0.CO ; 2-L .{{cite journal}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  • RA Snowden (mayo de 1990). "Una introducción al proyecto IPSE 2.5". Revista técnica de ICL . 6 (3).
  • BC Warboys , P.Veasey (mayo de 1990). "Veinte años con entornos de soporte". Revista técnica de ICL . 6 (3).