The QPath Blog

El enfoque de modernización QPath para la migración de sistemas de información clásico-cuánticos

Autor: Ricardo Pérez del Castillo
aQuantum Senior Research

La computación cuántica ha madurado y está cada vez más extendida. Aun así, durante estas primeras etapas de este gran salto tecnológico, todavía existe una importante volatilidad tecnológica en cuanto a los lenguajes de programación cuánticos. Por lo tanto, directores y gerentes tecnológicos pueden sentirse aún reacios a adoptar hoy una tecnología cuántica en concreto que podría en desuso mañana. Sin embargo, las organizaciones se enfrentan al desafío de adoptar la computación cuántica cuanto antes a fin de prepararse para el futuro y seguir siendo competitivas. Por lo tanto, es seguro que la mayoría de las organizaciones, si no lo han hecho ya, tendrán que invertir en sistemas de información empresariales basados en tecnología cuántica.

Algunas organizaciones ya han implementado alguna funcionalidad del negocio con software cuántico que se ejecuta en computadoras cuánticas remotas de forma aislada. Mientras, otras compañías están planeando la migración de algunas piezas de software clásico hacia sistemas de información cuánticos. A corto plazo, las computadoras cuánticas obviamente no se utilizarán para todo. Aparte del costo prohibitivo inicial, no hay muchos algoritmos conocidos y algunas tareas específicas podrían ser llevadas a cabo todavía por computadoras clásicas con un rendimiento igual o mejor. Así, será más común utilizar computadoras cuánticas para resolver ciertos problemas complejos mediante llamadas específicas desde computadoras clásicas hasta cuánticas remotas. En este escenario, los procesos de modernización de software jugarán un papel importante, ya que han demostrado ser un mecanismo eficaz en la migración y evolución del software clásico-cuántico, al tiempo que pueden preservan el conocimiento de negocio crítico embebido en sus sistemas de información existentes.

QPath, como una plataforma para el ciclo de vida de desarrollo y aplicaciones de software cuántico, soportará la modernización del software cuántico. La modernización del software de QPath se basa en estándares existentes como UML y KDM (ISO/IEC 19505 y 19506 respectivamente). El proceso de modernización de software soportado por QPath se basa en el enfoque Architecture-Driven Modernization (ADM), propuesto por la OMG, que supone la evolución de la reingeniería tradicional a la que se le suma los principios de ingeniería dirigida por modelos (MDE). ADM aboga por el uso de KDM (Knowledge Discovery Metamodel) como el núcleo para lograr dicha modernización. La modernización del software puede analizar primero los artefactos de software y sus interrelaciones en los sistemas heredados, y construye una o más representaciones del sistema heredado según KDM. La abstracción lograda a través de KDM garantiza la interoperabilidad entre las herramientas de ingeniería inversa y otras herramientas de modernización de software.

La modernización de software de los sistemas híbridos se puede estructurar en las tres etapas tradicionales de reingeniería: ingeniería inversa, reestructuración e ingeniería directa.

QPath soportará la ingeniería inversa de sistemas clásicos (más los programas cuánticos existentes, si ya existen) a fin de extraer y representar el conocimiento en un repositorio KDM común. Este repositorio gestiona la información de diversos aspectos de los sistemas de información clásico-cuántico de una forma integrada e independiente de la tecnológica. El proceso de modernización tiene en cuenta una extensión de KDM definida a través de sus mecanismos de extensibilidad estándar (familias de extensiones) para que el conocimiento cuántico pueda integrarse en el repositorio KDM. Se pueden establecer relaciones (por ejemplo, de uso, dependencia, etc.) entre activos de software clásicos y cuánticos, que son claves para migrar sistemas cuánticos y clásicos en combinación hacia sistemas de información híbridos.

Durante la etapa de reestructuración, el proceso de modernización de QPath es capaz de aplicar ciertas refactorizaciones en el modelo KDM a alto nivel, y también transformar de forma (semi)automática los modelos KDM en modelos de diseño UML. Se considera una extensión UML para la representación de modelos de alto nivel para programas cuánticos y cómo esos programas se integran con artefactos clásicos de sistemas de información. El proceso emplea transformaciones automáticas de modelos para transformar modelos KDM en modelos UML. Estas transformaciones tienen en cuenta ambas extensiones cuánticas. Si se añaden nuevas funciones durante la fase de reestructuración, también se puede añadir nuevos aspectos de computación cuántica en el diseño UML. En ese caso, se pueden proporcionar extensiones para los diagramas UML actuales, u otros nuevos, con el fin de recopilar información de computación cuántica en combinación con diagramas de análisis y diseño para sistemas de información clásicos.

Por último, en la etapa de ingeniería directa, los modelos de diseño UML se pueden utilizar para generar los sistemas de información esperados y completar así el proceso de modernización. Los modelos UML se pueden utilizar como entrada para herramientas de generación de código existentes para varios lenguajes de programación. QPath también incluirá generadores de código para algunos de los lenguajes de programación cuánticos más extendidos en la actualidad. Estas técnicas generativas (low code) se implementan para facilitar el enlace desde una descripción de alto nivel hasta la implementación de bajo nivel con puertas cuánticas y la integración de éstas en el sistema híbrido de destino.

Una de las ventajas más importantes del enfoque de modernización de QPath es que se basa en estándares conocidos y con recorrido en la industria como son KDM y UML. El uso de estos estándares puede ayudar a traer las mejores prácticas y métodos de la modernización de software a los sistemas de información cuánticos e híbridos. KDM ayuda con la abstracción de los detalles tecnológicos y recopila todo el conocimiento de los artefactos software del sistema de una manera integral. Mientras, UML ayuda a diseñar y definir la arquitectura de los sistemas de destino mediante la combinación de sistemas clásicos y cuánticos.

La modernización de QPath contribuye a impulsar la construcción e implementación de aplicaciones cuánticas, así como su integración con otros activos de software clásicos.