El Blog de QPath

Algunas reflexiones sobre el desarrollo profesional de software cuántico/clásico
Autores



El reciente informe del MIT Technology Review “Delivering a quantum future” [1] señala el potencial de la computación cuántica en un mercado de miles de millones de dólares (700.000 millones en 2035) y destaca tres puntos clave:
1) “Aunque aún está en pañales, la computación cuántica promete una potencia de cálculo y una resolución de problemas que supera con creces a los superordenadores más potentes de la actualidad.
2) Las empresas que inviertan en aplicaciones para los ordenadores cuánticos del futuro próximo se enfrentan tanto al riesgo de filtración de datos cifrados como a la posible recompensa de liderar el mercado por delante de sus competidores.
3) Apoyar las ambiciones cuánticas significa encontrar una mano de obra equilibrada que entienda tanto la física cuántica como los conductos tecnológicos, ampliar la capacidad de los ordenadores cuánticos y domar las tasas de error”.
Estamos de acuerdo con estas tres afirmaciones. De hecho, estamos convencidos de que ya se vislumbra una “ventaja” cuántica [2], o al menos una “utilidad” cuántica [3], lo que hace imprescindible que las organizaciones emprendan este camino si quieren seguir siendo competitivas.
Desde el punto de vista del software, fuimos de los primeros en sugerir que la computación cuántica puede traer una nueva era en el desarrollo de software [4], lo que exige una verdadera ingeniería cuántica del software [5, 6]. Por ello, en estos más de cinco años que llevamos dedicados al tema, hemos propuesto el Manifiesto de Talavera [7], y creado la plataforma QuantumPath® que materializa precisamente los principios del manifiesto y permite llevar a cabo una verdadera ingeniería del software cuántico [8].
Además, sabíamos desde el principio, dada nuestra experiencia en software profesional, que la clave es tener en cuenta los sistemas híbridos a la hora de proponer soluciones reales para la industria, por lo que creamos qSOA® (su primera versión fue lanzada el 30 de Abril del 2021), una tecnología para la integración dinámica de sistemas de software híbridos cuántico-clásicos [9].
Hoy, 14 de abril, Día Mundial de la Cuántica, y desde la perspectiva que nos da llevar más de cinco años dedicados a este ámbito, parece oportuno reflexionar sobre el desarrollo profesional de software cuántico/clásico. Tenemos en cuenta que éste se realiza con un conjunto de herramientas, procesos, tareas, etc. que hacen posible que la magia de hibridar ambos mundos informáticos pueda ser utilizada de forma práctica y rutinaria por la industria, a saber:
· Aplicar las buenas prácticas de Ingeniería de Software y Programación Cuántica para garantizar que el software sea seguro, extensible, de alto rendimiento y escalable [10].
· Diseñar y desarrollar proyectos en un entorno de desarrollo integrado, como miembro de equipos polímatas de Físicos, Matemáticos, Químicos, Ingenieros, Programadores, Empresarios, etc. [11]
· Desarrollar algoritmos cuánticos de forma agnóstica al hardware [12]
· Ser capaz de trabajar con las diferentes aproximaciones tecnológicas a la computación cuántica desde entornos unificados [13]
· Diseñar y desarrollar circuitos de puertas cuánticas y formulaciones de recocido que soporten las complejidades de las necesidades de gestión dinámica del mundo real (variables, datos, etc.), y la realidad tecnológica de la tasa de escalado prevista para las QPU actuales y futuras [14].
· Desarrollar con herramientas que apoyen el control de calidad del software durante su ciclo de vida [15].
· Crear soluciones y sistemas de software híbridos clásicos/cuánticos dinámicamente integrados [16].
· Integrar armónicamente soluciones y sistemas híbridos con las TI clásicas utilizadas en la empresa, organización, etc. [17]
· Integrar soluciones y sistemas híbridos con productos y servicios cuánticos de terceros [18].
· Aplicar BizDevOps como parte natural del ciclo de vida de las soluciones de software clásicas/cuánticas [19]
· Implementar, por diseño, la seguridad del software [20]
· Desarrollar con herramientas que faciliten las tareas técnicas, que asistan e informen sobre el estado de los procesos y enriquezcan las competencias de los desarrolladores de software cuántico/clásico [21].
· Explorar resultados y datos utilizando un esquema unificado sin tener que preocuparse por los diferentes lenguajes de los ordenadores cuánticos [22].
· Gestionar todos los procesos y analizar toda la telemetría del proyecto almacenada, almacenando todas las ejecuciones de datos en un espacio de base de datos normalizado, que proporciona al usuario la ventaja de analizarlo a lo largo del tiempo y reducir el tiempo/energía/coste de la QPU [23].
· Almacenar todas las ejecuciones y sus datos en un espacio de base de datos normalizado, que proporcione datos históricos que den al usuario la ventaja de analizarlos a lo largo del tiempo y reducir el tiempo/energía/coste de la QPU [24].
· Gestionar el riesgo de la realidad siempre cambiante del desarrollo de tecnologías cuánticas, para disponer de alternativas tecnológicas sin interrumpir los proyectos ni perder su trayectoria [25].
· …
Todo esto, y mucho más, es necesario para que el resultado del desarrollo de soluciones y sistemas de software cuántico/clásico sea realmente útil para la industria, algo inviable sin conocimientos especializados, herramientas profesionales, métodos de trabajo, aplicación de las mejores prácticas, etc.
Estamos convencidos de que para que la industria adopte con éxito la computación cuántica no basta con desarrollar buenos algoritmos y excelentes casos de uso experimental. Como hemos intentado resumir en la lista presentada anteriormente, es muy complejo y laborioso conseguir que un algoritmo o experimento cuántico, por sencillo que sea, funcione correctamente en su aplicación híbrida y práctica en el mundo real.
Somos muy conscientes de que no es trivial sacar el software cuántico de los laboratorios y desarrollos experimentales y aplicarlo con éxito en el mundo real. Pero, basándonos en nuestra experiencia científica y teórica, y en los resultados prácticos que tenemos plasmados en tecnologías y herramientas diseñadas para simplificar y facilitar el desarrollo de software cuántico, estamos convencidos de que, equipados con conocimientos sólidos, trabajando con sólidos equipos polímatas y disponiendo de las herramientas, métodos y procedimientos adecuados, más pronto que tarde desarrollar profesionalmente software cuántico/clásico listo para la industria no será más complejo que desarrollar profesionalmente software clásico de alta calidad.
Uno de nuestros “sueños cuánticos” recurrentes es crear tecnologías para diseñar herramientas profesionales que faciliten a los desarrolladores hacer su trabajo centrándose en los casos de uso a desarrollar, pudiendo dejar los detalles tecnológicos subyacentes al sistema (desde el modelo hasta los resultados), teniendo un ciclo de vida totalmente automático. Por eso trabajamos para que las tecnologías, herramientas y servicios de la plataforma QuantumPath® faciliten cada vez más la implementación profesional de soluciones y sistemas de software cuántico/clásico que permitan el uso de algoritmos cuánticos para resolver problemas complejos del mundo real a través de TI desplegadas en empresas y organizaciones.
Para nosotros, cada día es un “día cuántico”. Nuestro objetivo: proporcionar el conjunto más completo de herramientas de software, plataformas, servicios y personas que permitan implantar soluciones empresariales que aprovechen el potencial de los ordenadores cuánticos. Estamos trabajando muy duro hoy para proporcionar las herramientas del futuro próximo.
[1] Delivering a quantum future. Innovations require engineering breakthroughs and focus on real computational problems. MIT Technology Review. April 2023 https://www.technologyreview.com/2023/04/07/1069778/delivering-a-quantum-future/
[2] The Quantum Decade. A playbook for achieving awareness, readiness, and advantage. Third edition. IBM Institute of Business Value. Third edition
[3] Quantum utility – definition and assessment of a practical quantum advantage. Nils Herrmann, Daanish Arya, Florian Preis, Stefan Prestel, Marcus W. Doherty, Angus Mingare, and Jason C. Pillay. arXiv:2303.02138v1 [quant-ph] 3 Mar 2023.
[4] Quantum Computing: A New Software Engineering Golden Age. ACM SIGSOFT Software Engineering NotesVolume 45Issue 3July 2020 pp 12-14. https://doi.org/10.1145/3402127.3402131
[5] Toward a Quantum Software Engineering. M. Piattini, M. Serrano, R. Perez-Castillo, G. Petersen and J. L. Hevia. IT Professional, vol. 23, no. 1, pp. 62-66, 1 Jan.-Feb. 2021, doi: 10.1109/MITP.2020.3019522.
[6] Quantum Software Engineering. Manuel A. Serrano, Ricardo Pérez-Castillo, Mario Piattini (eds.) Springer, https://link.springer.com/book/10.1007/978-3-031-05324-5
[7] The Talavera Manifesto for Quantum Software Engineering and Programming. https://ceur-ws.org/Vol-2561/paper0.pdf
[8] Quantum Software Engineering & QuantumPath®. Guido Peterssen, José Luis Hevia, Mario Piattini. Amazon, 2023, https://www.amazon.es/Quantum-Software-Engineering-QuantumPath%C2%AE-English-ebook/dp/B0BZ5L4L3K
[9] qSOA®: technology for dynamic integration of quantum-classical hybrid software systems. https://www.quantumpath.es/2022/06/04/qsoa-technology-for-dynamic-integration-of-quantum-classical-hybrid-software-systems/
[15] Quantum Software Quality. José Antonio Cruz-Lemus, Raúl Barba-Rojas and Mario Piattini. Chapter 8. Quantum Software Engineering & QuantumPath®. Amazon. 2023
[16] Hybrid Systems. José Luis Hevia and Alonso Martín-Toledano García-Mauriño. Chapter 9. Quantum Software Engineering & QuantumPath®. Amazon. 2023
[19] Life Cycle for Quantum Software. Ricardo Pérez, Manuel Serrano, José Luis Hevia and Mario Piattini. Chapter 3. Quantum Software Engineering & QuantumPath®. Amazon. 2023
[20] https://www.quantumpath.es/home-page-2/qpath-core/
[21] Quantum Software Development with QuantumPath®. Guido Peterssen, Jose Luis Hevia, and Mario Piattini. Chapter13. Quantum Software Engineering. Springer.
[23] QuantumPath: A quantum software development platform. Jose Luis Hevia, Guido Peterssen, Mario Piattini. Softw. Pract. Exp. 52(6): 1517-1530 (2022). https://onlinelibrary.wiley.com/doi/full/10.1002/spe.3064
[24] https://www.quantumpath.es/es/capacidades-de-qpath/
[25] Technology risk management in quantum systems with QuantumPath®. https://www.quantumpath.es/qpath-risk-management-advantage/