Creación de sistemas de software "Collect-B" y ECU
Creación de sistemas de software "Colección-V" y "Gestión desde un solo centro" (ECU) por el complejo de medición en tierra del cosmodromo de Plesetsk de los años 90.
introducción
El propósito del artículo es abrir el velo del secreto en el desarrollo de software utilizado para probar misiles balísticos estratégicos. El artículo muestra brevemente la continuidad de generaciones de desarrolladores soviéticos de los llamados escarabajos y desarrolladores de la década de 1990, que trabajaron para la defensa y el espacio. El texto contendrá enlaces de conocidos desarrolladores de software occidental y de "soldados desconocidos" de sharakas ennoblecidos de una nueva apariencia, diferente de la libertad total de Stalin de prisioneros no invitados fuera del horario laboral, que han estado detenidos durante meses y no han sido alimentados en el trabajo, como en "sharashka" . El artículo muestra la línea de razonamiento al crear software, y también muestra por primera vez capas individuales que dan una idea de la superioridad del software militar en Rusia y Ucrania en la década de 1990 sobre el software de consumo en el oeste de esa época.
Entonces, en 1991, los libros sobre patrones de integración de aplicaciones empresariales que aparecieron más tarde, después de un cuarto de siglo [1], aún no se habían escrito. Era necesario confiar en el entendimiento de que lo más importante para la integración deberían ser los mensajes heterogéneos transmitidos por telégrafo y líneas de comunicación telefónica protegidas por equipos criptográficos. La construcción, como ahora se acostumbra decir, de la pila de protocolos se llevó a cabo sobre la base de un modelo de referencia para la interacción de sistemas abiertos aplicados a un concentrador de información.
En el proceso de modificación de EMBOS, el elemento de conmutación, debido a la simplificación del IVS y la transferencia de complejidad al elemento universal, el centro de información, requería la complejidad de su arquitectura, lo que se esperaba desde el principio. El software KI se cargó con niveles adicionales: aplicado, representativo, sesión y transporte, como se muestra en la figura.
Una descripción de cómo está diseñado cada uno de los 7 niveles del concentrador de información probablemente no se ajuste a ningún artículo, por lo que vale la pena mostrar los niveles más interesantes.
Por lo tanto, se puede simplificar decir sobre la capa física que estos son conectores y cables. Por ejemplo, entre el CC del Plesetsk Cosmodrome y el VEGUTA Vorkuta IS había una línea de comunicación criptográfica a través de la cual, en 1993, fue posible por primera vez intercambiar información entre dos concentradores. La línea de comunicación cerrada fue proporcionada por el equipo Interior como el equipo para terminar el canal de datos (AKD).
Instituto de Investigación de Comunicaciones (Marfino):
Puede descubrir cómo trabajaban los prisioneros, creando telefonía secreta, en la fascinante novela de Solzhenitsyn "En el primer círculo". Una adaptación cinematográfica de la novela está en YouTube [5]. Con una escasez de tiempo, recomiendo mirar los momentos más característicos de la organización científica del trabajo de los ingenieros de "sharashka" [6-10].
Tuvimos que tocar este trágico trabajo de los prisioneros soviéticos de Sharashka. Ni siquiera se nos permitió saber qué tipo de equipo era y cómo funciona. Solo podríamos dar nuestro cable para que esté conectado al equipo sin nuestra participación. Si funciona, entonces lo logramos, pero si no funciona, entonces no es el destino: el proyecto fallará.
La tarea fue complicada por muchos factores. Sin embargo, en Plesetsk, Mikhail Mokrinsky e Igor Shipsha lograron transferir cables "silenciosamente", conectar dos concentradores y encontrar una manera de transferir datos a través de una línea cerrada usando prueba y error, y Nikolaev desarrolló un "protocolo de monitoreo" especial que forzó el equipo de línea cerrada a nivel de transporte las comunicaciones se recuperan de fallas y pérdida de sincronización entre dos concentradores. Pero no todo fue tan tranquilo y sin problemas. En Norilsk, un soldado, como recuerdo ahora, Zaitsev, no podía quedarse donde el cable debía ir al equipo de cierre de información. Entonces Nikolaev Nikolaev y Anatoly Kravchenko llamaron a la habitación secreta, y cuando la puerta estaba entreabierta, irrumpieron en la habitación, empujaron al luchador y conectaron el cable al equipo telefónico secreto. Todo funcionó. Fue un exito. Y al día siguiente tuve que escribir una nota explicativa al FSB. Pero resultó que no era el momento de enviar a los delincuentes a la cárcel en Marfino. Y gracias a dios!
Posteriormente, se desarrolló un adaptador que redujo el costo del concentrador debido al hecho de que no en todas partes se requería un conjunto completo de adaptadores. Esto ya era una iniciativa personal de Nikolaev, Mokrinsky y Shipsha.
Algoritmo de implementación de software a nivel de sesión
Es imposible describir todo dentro del artículo, por lo que tiene sentido escribir algo que pueda sorprender al lector.
Los tres niveles superiores del modelo de referencia básico de la relación de los sistemas abiertos (quinta sesión, sexta representativa, séptima aplicada) se consideran niveles orientados a la aplicación.
Tomando cualquier libro, veremos que el nivel de sesión prácticamente no se describe. El nivel de sesión en la literatura se ha descrito de manera más controvertida. Por un lado, parece que los autores no tienen nada que decir; por ejemplo, V.G. Olifer y N.A. ¡Olifer [13] tomó estas 8 líneas incompletas! Por otro lado, la descripción del nivel de sesión es claramente de naturaleza escolar [14]: F. Halsall no tiene dúplex en la transmisión de datos, el concepto de "token" no permite que el software se implemente en un período de tiempo razonable debido a la falta de mecanismos reales de intercambio de datos implementados en el sistema operativo. Sovetov B.Ya. y Yakovlev S.A. considera que prácticamente estos niveles no se realizan debido a su complejidad [15].
La falta de una metodología llevó al hecho de que los programadores que trabajan solo dentro de Internet encontraron una salida a esta difícil situación en que los tres niveles (sesión, presentación y aplicación) se combinaron en un nivel de aplicación [16]. ¡Aunque qué tipo de Internet hay en la URSS en 1991! El nivel de sesión del sistema Collection-V y el control de sistemas PAS de Vega desde la ECU se desarrolló como un nivel separado, lo que refleja una sesión específica de trabajo en el producto probado. El método para implementar el nivel de sesión en el sistema "Collect-B" se basa en la creación de primitivas: envolventes especiales para información de trayectoria significativa.
Tradicionalmente, el nivel de sesión localiza todas las llamadas al software de red dentro de sí mismo, presentando para otros programas un conjunto de primitivas que permiten el intercambio de información sin entrar en detalles de la red. Los atributos de las primitivas incluyen aquellos que permiten identificar pruebas por tipo de misil balístico (número de producto), por número de serie del lanzamiento del cohete durante el día, fecha y hora de la prueba, número único de la herramienta de medición. El uso de primitivas de nivel de sesión permite proporcionar información completa de la sesión de mediciones de trayectoria externas.
Para la implementación del nivel de sesión, se organizó una biblioteca de primitivas. Aquí se incluyó el siguiente conjunto mínimo de primitivas: a) establecer una sesión; b) enviar un bloque de datos; c) cerrar la sesión.
En el sistema "Collect-B", estas tres primitivas permiten la transferencia de información desde la periferia al centro de recolección. Todos ellos están hechos en forma de biblioteca en el lenguaje "C" y en el proceso de transmisión están conectados a programas para transmitir datos a la red. Por lo tanto, para completar la transferencia, el programa primero realiza la apertura de la sesión por la primitiva OPEN. Luego, cada bloque de datos se encapsula en un sobre y se envía a la red. Al final de la transferencia de información en el centro de recopilación, la sesión se cierra enviando la primitiva CERRAR.
Técnica de gestión administrativa de software KI a nivel de sesión
La administración administrativa utiliza las capacidades del sistema operativo UNIX, a saber, colas de mensajes, un canal virtual y quince archivos, que son una característica de UNIX. La primitiva "establecer una sesión" proporciona la organización de quince archivos en dos extremos de la red y una línea virtual entre ellos para enviar mensajes. El lanzamiento lo realiza el operador y lo controla él. Para establecer una sesión (para probar un misil balístico), la operación de los protocolos TCP / IP se verifica inicialmente probando con el programa ping. A continuación, la primitiva de transferencia de bloque de datos se escribe en el quince-archivo de la misma manera que en cualquier otro archivo. Y las herramientas de red UNIX en el otro extremo de la transferencia proporcionarán esta información en un archivo doble de la máquina receptora. La recuperación del canal se realiza a través de una desconexión y restablecimiento de un canal. La aclaración de la falta de un canal se realiza mediante el reconocimiento de extremo a extremo de los paquetes de prueba que involucran dos canales (hacia y desde allí). La finalización de la sesión destruye la conexión entre los quince archivos ubicados en lados opuestos de la red. Todos los procedimientos son realizados por un programa destinado a la gestión administrativa y separado de los programas de comunicación del nivel aplicado y representativo. El software a nivel de sesión del sistema Collection-V y el software de gestión complejo de sistemas Vega de la ECU se presentan en los diagramas a continuación. Se asigna un terminal virtual separado para la gestión administrativa del nivel de sesión: una pantalla de PC desde la estación de trabajo ECM. APM APC utiliza un conjunto completo de mecanismos de intercambio entre procesos: colas, quince archivos, señales, áreas de memoria compartida, lo cual es especialmente útil para mostrar en la pantalla en modo de página única.
Metodología para garantizar la urgencia de la transferencia de mensajes
El sistema "Collect-B" transmite datos de medición de trayectoria. Paralelamente, se utilizan los comandos de control del sistema "ECU". Por lo tanto, se hizo necesario separar los mensajes por nivel de urgencia. En 1993, Stepanov y Meng Lee aún no habían creado las bibliotecas STL, por lo que Andrei Nikolaev propuso e implementó, junto con Valentina Gordienko, un esquema para utilizar un camino común en el que se crean mecanismos que permiten la selección de mensajes de diferente urgencia. y acumulación intermedia de mensajes de información. Al mismo tiempo, todo funcionó debería haber quedado dentro del fabricante y la organización operativa. La selección de mensajes aseguró la transmisión de mensajes de acuerdo con la urgencia. Los bloques de datos urgentes siempre van antes que los menos urgentes. Considere cómo se proporcionó esto.
El sistema "Collection-V" y el PAS de la administración IS IS "Vega" de la ECU utilizan dos clases de urgencia en el proceso de intercambio de bloques de datos. La primera clase de urgencia incluye los llamados "datos urgentes". Incluyen principalmente equipos de gestión y recibos de estos equipos. Para ellos, se determina el retraso de transmisión máximo permitido. Fuera del rango de tolerancia de retraso, se considera que el equipo llega tarde y ya no es relevante, por lo tanto, debe eliminarse de la red. Además de los datos urgentes, también hay una segunda clase de mensajes: datos perpetuos (normales). No deben perderse, pero no deben interferir con el paso de urgencia, que debe "ceder". El uso del mecanismo de memoria intermedia de anillo en la entrada al punto de acceso de los servicios de la capa de transporte permite la separación virtual de la ruta de transmisión en la ruta de datos normal y la ruta de señal de control. A la salida de la capa de transporte, es necesario un buffer de anillo en el punto donde convergen los flujos de diferentes fuentes de información, es decir, en el centro para recopilar información de ruta externa, en esa computadora que eleva los bloques de información desde la capa de transporte al nivel de sesión de datos con el fin de un enrutamiento adicional y / o procesamiento.
El búfer de anillo forma una cola de mensajes, basada en el principio de "primero en llegar, primero en salir". Para mejorar la comprensión del principio de funcionamiento de un búfer circular, simplificamos la situación asumiendo que la longitud de los bloques es la misma. Luego, el funcionamiento del búfer está determinado por dos variables de indexación: in - indica la posición donde se escribe el elemento, out - indica la posición de la que se extrae. Sería ideal si esta matriz no tuviera restricciones en la indexación. Sin embargo, cualquier matriz finita es bastante adecuada: después de todo, una vez que ya no se usa un bloque de lectura. Por lo tanto, su lugar puede ser reutilizado.
Se utiliza un buffer de anillo para almacenar temporalmente bloques de datos perpetuos hasta que aparezca una "ventana" en la secuencia de datos urgentes. La profundidad del búfer debe ser tal que, si es necesario, acomodará la información "normal" de una sesión. Debido al hecho de que el volumen del búfer puede ser significativo, puede colocarse en un archivo y almacenarse en una unidad de disco. Esto le permite organizar una agrupación secuencial de flujos de datos urgentes y "normales" en una ruta común, dando prioridad a los datos urgentes. El algoritmo del proceso de clasificación de datos. En la documentación del sistema "Collect-B" y la ECU, los algoritmos se describen en forma de pseudocódigo. Por lo tanto, también proporciona un algoritmo para trabajar con mensajes de diferente urgencia en el pseudocódigo.
Seudocódigo del proceso de selección de mensajes de red urgentes e ilimitados: n - el número de elementos que están actualmente en el búfer; N es el tamaño del búfer; X - contenido del mensaje [/ center]
Conclusión
El trabajo en los sistemas "Collect-B" y la ECU se completó con éxito. Docenas de pruebas de misiles recibieron información oportunamente. Se construyeron las rutas de vuelo de los cohetes, esto hizo posible informar rápidamente sobre los resultados de los lanzamientos de misiles balísticos estratégicos, tanto terrestres como marítimos, para informar sobre las rutas de los lanzamientos de naves espaciales que transportan cohetes.
El sistema de la ECU funcionó con éxito tanto en términos de asegurar la preparación del IS "Vega" para las pruebas, como en términos de control adaptativo del complejo de medición en tierra.
Los sistemas desarrollados fueron operados con éxito en el cosmódromo de Plesetsk, lo que facilitó el afilado de la espada nuclear. Los sistemas de medición incluidos en el IVS de los sistemas "Collect-B" y ECU en el momento de 1998 se muestran en la figura:
El desarrollo de los sistemas "Collect-B" y la ECU permitieron extender nuevos métodos a la creación e implementación de sistemas de información en Ucrania. Estos incluyen sistemas de adquisición en hidrometeorología, monitoreo de sensores sísmicos, el "Sistema de navegación y soporte temporal de Ucrania", la integración de interruptores heterogéneos de la red Life, etc.
La Guerra Fría terminó oficialmente con la rendición de Gorbachov en Malta y el colapso de la URSS. Pero todavía había "partidarios" de la Guerra Fría que, por así decirlo, resistieron hasta el acercamiento de las fuerzas principales. En ese momento todo colgaba de un hilo, pero lo logramos.
fuentes
1. Hop G., Wolf B. Patrones de integración de aplicaciones empresariales. Diseñe, cree e implemente soluciones basadas en mensajería. M .: Williams, 2016.
2. https://ru.wikipedia.org/wiki/NII_Svyazi.
3. https://topos.memo.ru/en/node/57. Martha Sharashka. Dirección: Moscú, st. Botánico, d. 25.
4. https://sky-hexe.livejournal.com/383686.html. Marfinsky caos arquitectónico.
5. https://www.youtube.com/watch?v=dxEOZtyHHhg. La película "En el primer círculo".
6. https://www.youtube.com/watch?v=FtfZAVZmH3E. En el primer círculo, trailer.
7.https: //www.youtube.com/watch? V = AWwaCwtsCpI & t = 117s. "En el primer círculo". Diálogo con Abakumov sobre el momento del desarrollo.
8.https: //www.youtube.com/watch? V = 6CZQhKtww6I & t = 64s. "En el primer círculo". Diálogo con el ingeniero de desarrollo principal sobre el calendario con Abakumov.
9.https: //www.youtube.com/watch? V = 1RuFU1FHAI0 & t = 20s. "En el primer círculo". Declaración del problema para el desarrollo de equipos para el cierre de información criptográfica por Abakumov.
10. https://www.youtube.com/watch?v=9pt6UFQihUo. Ingeniería esotérica en sharashka.
11. https://hodor.lol/post/50778/ Once "top secret".
12. Patente de Ucrania Nº 25664 A, G06f13 / 00. Recibo de Pristri / Mokrinsky M.O., Nikolaev A.V., Shipsha I.M. - No. 97052331; Reclamar 21.05.1997/30.10.1998/6; publ. XNUMX/XNUMX/XNUMX, toro. No XNUMX.
información