CADES ( Sistema de Evaluación y Diseño Asistido por Computadora ) fue un sistema de repositorio de ingeniería de software producido para respaldar el desarrollo del Sistema Operativo VME / B para las computadoras ICL New Range (posteriormente 2900).
Desde sus primeros días, VME / B se desarrolló con la ayuda de CADES, que se construyó para ese propósito utilizando una base de datos IDMS subyacente (últimamente actualizada a IDMS (X) ). CADES no era simplemente un sistema de control de versiones para módulos de código: estaba destinado a gestionar todos los aspectos del ciclo de vida del software, desde la captura de requisitos hasta el mantenimiento de campo.
Fue el diseño de CADES lo que allanó el camino para el Proyecto Alvey en IPSE (Ambientes Integrados de Soporte a Proyectos) y Motores de Control de Procesos. Debido a que CADES se utilizó durante más de 20 años durante el desarrollo de un gran proyecto de ingeniería de software, los datos recopilados se han utilizado como entrada para una serie de estudios sobre la evolución del software.
Historia temprana
CADES fue concebido en 1970 por David Pearson y Brian Warboys cuando 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 un especialista en simulación por ordenador y se unió a ICL en 1968 después de trabajar en el modelado de elementos finitos en Cambridge y en la investigación de simulación en el Imperial College. Warboys había sido el arquitecto jefe del sistema operativo de acceso múltiple ICL System 4, Multijob.
El compromiso de ICL con el desarrollo de software a gran escala para las computadoras de la serie 2900 proporcionó la base 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ó paralelos con los principales sistemas de diseño asistido por computadora de hardware de la época, e incluso intentó el uso de gráficos en el proceso de diseño. El enfoque de diseño de CADES, llamado Modelado Estructural, se basaba en datos rígidamente y era jerárquico, y se expresaba en un lenguaje de diseño formal, SDL . Las especificaciones de diseño escritas en SDL fueron procesadas por Design Analyzer, antes de ingresar a la base de datos de productos CADES, una base de datos de diseño e implementación que soporta su propio lenguaje de consulta y forma el núcleo del Sistema de información de productos. [5] [6] [7]
La intención era que estos diseños pudieran ser evaluados / simulados usando el Animator, y el código de implementación de S3 generado automáticamente a partir de ellos usando el Procesador de Ambiente. La generación de compilaciones y el control de versiones también se basaron en la base de datos de productos, lo que resultó en un enfoque altamente disciplinado para las nuevas compilaciones de sistemas. Por lo tanto, la regresión del sistema se controló desde una etapa muy temprana en el ciclo de vida del software. [8] [9]
Fundamentos
Con el fin de controlar el desarrollo de VME / B , cada desarrollo se subdividió para facilitar la gestión. La estructura era jerárquica, con cada componente significativo de VME (kernel, almacén de archivos, etc.) dividido en subsistemas. La actividad de desarrollo en cada subsistema creó 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, historial de versiones y el concepto de código fuente confiable (es decir, código que ha pasado el control de calidad y posteriormente reside en el almacén de archivos CADES) mejoró el desarrollo. tiempo mientras proporciona pistas de auditoría y procesos de garantía 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 completo, y fue extraída del libro de Arthur Koestler El fantasma en la máquina . Pearson siempre afirmó que formuló la arquitectura de CADES mientras estudiaba el libro de Koestler en una playa de Túnez. Organizados en una jerarquía, los holones proporcionan un "árbol genealógico" (para cada subsistema), utilizando las relaciones entre padres e hijos. Los holones también mantuvieron los atributos de interacción, permitiendo que un holón interactúe con otros holones, permitiendo así un desarrollo más modular y facilitando la reutilización. De manera similar, CADES también retuvo información con respecto a valores constantes (también conocidos como literales), tipos definidos por el usuario y estructuras definidas por el usuario.
Desarrollo con CADES
El desarrollo bajo CADES se logró utilizando un conjunto de herramientas conocido como MODPRO ( Mod ule Pro cessing) que actuó como una 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 SCM . No fue necesario saber cómo manipular los datos dentro de CADES, la aplicación generó el DNL (Data Navigation Language) requerido para lograr los resultados requeridos.
El desarrollo con MODPRO no requería conocimientos específicos de S3 ni SCL (lenguaje de destino para la posterior compilación), sino SDL, el lenguaje de diseño de software : una abstracción por encima de los dos anteriores. Que cuando se combina con el editor de mejoras EDSDL ( Ed it SDL ) interactúa con CADES para gestionar el desarrollo o la reelaboración. Entonces, de nuevo con la información de CADES, cuando se utiliza con ModPro herramienta EPETC (también conocido como E nvironmental P rocessor o EP etc.) activar el archivo resultante para ser dirigido correctamente para S3 o SCL compilación. Las herramientas posteriores dentro de la suite facilitaron varios pasos dentro del desarrollo, tales como:
- Información detallada de Holon usando CHED (CADES Holon Environment Details),
- Interacción con CADES utilizando DIL (lenguaje de interfaz de base de datos, utilizado para producir DNL),
- Producción de informes, utilizando CRP (Productor de informes CADES),
- Transfiera archivos / código válidos hacia o extraiga del repositorio seguro, es decir, CADES, utilizando XFER.
A continuación se ilustra la ruta de desarrollo típica de MODPRO.
Referencias
- ^ BCWarboys "El proyecto IPSE 2.5: Modelado de procesos como base para un entorno de apoyo" Conferencia internacional sobre fábricas y entornos de desarrollo de sistemas, mayo de 1989, Berlín
- ^ Martin Campbell-Kelly "ICL: Una historia técnica y empresarial" Clarendon Press, Oxford 1989
- ^ DJPearson "CADES - Sistema de evaluación y desarrollo asistido por computadora " Computer Weekly , 1973
- ^ DJPearson y BCWarboys "Modelado estructural - Una filosofía" OSTC / IN / 40 de julio de 1970
- ^ GDPratten y RASnowden "CADES, soporte para el desarrollo de software complejo" EUROCOMP, 1976
- ^ MAFirth y otros "Mejora de un entorno de desarrollo de software utilizando tecnología orientada a objetos" HERRAMIENTAS (8), 1992
- ^ BWChatters, MMLehman y otros "Modelado de un proceso de evolución de software" Proceso de software: mejora y práctica, septiembre de 2000
- ^ DJPearson "El uso y abuso de un sistema de ingeniería de software" Conferencia Nacional de Computación, Nueva York 1979
- ^ Don Leavitt "Revisión del método de desarrollo útil" Computerworld junio de 1979
Otras lecturas
- BC Warboys (25 de enero de 1988). "Extrapolación de lecciones del CADES a la actualidad". Coloquio de la 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 del IEEE 4ª Conferencia Internacional sobre Ingeniería de Software, Munich, Alemania .
- B. Kitchenham (mayo de 1982). "Dinámica de evolución del sistema de 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 caso de estudio a largo plazo" . Proceso de software: mejora y práctica . 5 (2-3): 91-102. doi : 10.1002 / 1099-1670 (200006/09) 5: 2/3 <91 :: AID-SPIP123> 3.0.CO; 2-L . Archivado desde el original el 5 de enero de 2013.
- 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 apoyo". Revista técnica de ICL . 6 (3).