Retos a los que se enfrenta la Ingeniería del Software Cuántico

 

Challenges in Quantum Software Engineering

 

Desafios enfrentados pela engenharia quântica de software

 

Agustina Arismendi[1], Sebastián Pombo Mott[2]

 

Recibido: 15/07/2023                                                                                             Aceptado: 20/10/2023

 

Resumen. - Este análisis examina el campo de la computación cuántica y el desarrollo de software cuántico basado en una selección de artículos relevantes. La investigación revela que la computación cuántica ha pasado de ser un concepto teórico a una realidad práctica, con computadoras cuánticas ahora accesibles para todos a través de servicios en la nube o simulaciones. Los artículos discuten diversos aspectos relacionados con la computación cuántica, incluyendo tecnologías, metodologías y orientación práctica para desarrolladores que se aventuran en proyectos de software cuántico. Una tendencia emergente identificada es la necesidad de la ingeniería de software cuántico, ya que el campo carece de modelos, estándares y métodos establecidos para la creación y migración de sistemas. Una comparación y síntesis de los artículos resalta los avances y desafíos en el campo, así como las lagunas y áreas para futuras investigaciones. En general, este análisis destaca la importancia creciente de la computación cuántica y proporciona una visión crítica sobre su desarrollo y potencial impacto en la industria y la sociedad.

Palabras clave: Computación cuántica; Desarrollo de software cuántico; Tecnologías cuánticas; Ingeniería de software cuántico; Impacto de la computación cuántica.

 


 

Summary. - This analysis examines the field of quantum computing and the development of quantum software based on a selection of relevant articles. The research reveals that quantum computing has evolved from a theoretical concept to a practical reality, with quantum computers now accessible to everyone through cloud services or simulations. The articles discuss various aspects related to quantum computing, including technologies, methodologies, and practical guidance for developers venturing into quantum software projects. An emerging trend identified is the need for quantum software engineering, as the field lacks established models, standards, and methods for system creation and migration. A comparison and synthesis of the articles highlight the advancements and challenges in the field, as well as gaps and areas for future research. Overall, this analysis emphasizes the growing importance of quantum computing and provides critical insights into its development and potential impact on industry and society.

Keywords: Quantum computing; Quantum software development; Quantum technologies; Quantum software engineering; Impact of quantum computing

 

Resumo. - Esta análise examina o campo da computação quântica e do desenvolvimento de software quântico com base em uma seleção de artigos relevantes. A investigação revela que a computação quântica passou de um conceito teórico para uma realidade prática, com computadores quânticos agora acessíveis a todos através de serviços em nuvem ou simulações. Os artigos discutem diversos aspectos relacionados à computação quântica, incluindo tecnologias, metodologias e orientações práticas para desenvolvedores que se aventuram em projetos de software quântico. Uma tendência emergente identificada é a necessidade de engenharia de software quântico, uma vez que o campo carece de modelos, padrões e métodos estabelecidos para construir e migrar sistemas. Uma comparação e síntese dos artigos destaca avanços e desafios na área, bem como lacunas e áreas para pesquisas futuras. No geral, esta análise destaca a crescente importância da computação quântica e fornece uma visão crítica sobre o seu desenvolvimento e o potencial impacto na indústria e na sociedade.

Palavras-chave: Computação quântica; Desenvolvimento de software quântico; Tecnologias quânticas; Engenharia de software quântico; Impacto da computação quântica..

 


 

1. Introducción. – La ingeniería de software cuántico es un campo emergente que busca aprovechar los principios y propiedades de la computación cuántica para el desarrollo de software avanzado. A medida que la tecnología cuántica avanza, se presenta la oportunidad de diseñar y construir sistemas y aplicaciones que aprovechen al máximo el potencial de la computación cuántica.

 

1.1. Contextualización del problema. - A pesar de los avances en la computación cuántica, la ingeniería de software cuántico aún se encuentra en sus etapas iniciales de desarrollo. Existen varios desafíos técnicos y teóricos que deben abordarse para facilitar la adopción generalizada de la computación cuántica en el desarrollo de software. La falta de herramientas, lenguajes de programación adecuados y técnicas de desarrollo específicas para la programación cuántica limita el progreso en este campo.

 

1.2. Relevancia y justificación del estudio. - La investigación en ingeniería de software cuántico es de gran importancia debido al potencial disruptivo de la computación cuántica. La capacidad de resolver problemas complejos de manera más eficiente y realizar cálculos a una escala mucho mayor ofrece oportunidades significativas en diversas áreas, como la optimización, la criptografía y la simulación de sistemas cuánticos. Sin embargo, para aprovechar plenamente estos beneficios, es crucial abordar los desafíos en la ingeniería de software cuántico y desarrollar las herramientas y técnicas adecuadas. Este análisis busca contribuir a la comprensión de la ingeniería de software cuántico y exponer algunos de los desafíos que enfrenta. Al identificar los desafíos y proponer soluciones, se pretende fomentar el desarrollo de una disciplina sólida y práctica para el desarrollo de software cuántico. La investigación en esta área puede abrir nuevas oportunidades para el avance tecnológico y el descubrimiento científico.

 

2. Protocolo. –

2.1. Estrategia de búsqueda. – La estrategia de búsqueda se diseñó para recuperar información relevante en las fuentes de IEEE Xplore y ResearchGate. Esta estrategia garantiza la recuperación de información precisa y actualizada relacionada con la ingeniería de software cuántico y la computación cuántica, tanto de fuentes de renombre como de investigadores de relevancia en el campo. A continuación, se detallan los lugares y las cadenas de búsqueda utilizadas:

        IEEE Xplore:

        Lugar: Se realizó una búsqueda en la base de datos de IEEE Xplore, una fuente de alta reputación en el ámbito de la informática y la ingeniería.

        Cadena de Búsqueda: La cadena de búsqueda utilizada fue "quantum software engineering & quantum computing", lo que garantizó la obtención de resultados específicos relacionados con la ingeniería de software cuántico y la computación cuántica.

        ResearchGate (Computer Science and Engineering Publications):

        Lugar: Se accedió a la sección de publicaciones relacionadas con Ciencias de la Computación e Ingeniería en ResearchGate, una plataforma que aglutina investigaciones académicas de diversas disciplinas.

        Cadena de Búsqueda: Se utilizó una búsqueda adicional en la sección de Computer Science and Engineering Publications de ResearchGate para ampliar la gama de recursos disponibles.

        Artículo "The Talavera Manifesto for Quantum Software Engineering and Programming":

        Lugar: Se incluyó un enlace directo a un artículo específico titulado "The Talavera Manifesto for Quantum Software Engineering and Programming," escrito por Ricardo Perez Castillo, para obtener información relevante directamente de la fuente.

        Link:https://www.researchgate.net/topic/Computer-Science-and-Engineering/publications

        Paper:https://www.researchgate.net/profile/Ricardo-Perez-Castillo/publication/339780973_The_Talavera_Manifesto_for_Quantum_Software_Engineering_and_Programming/links/5e64a47e4585153fb3ca221d/The-Talavera-Manifesto-for-Quantum-Software-Engineering-and-Programming.pdf

 

2.2. Procedimiento de selección. – Para la selección de artículos relacionados con "Quantum Software Engineering & Quantum Computing," se llevaron a cabo búsquedas en dos fuentes principales: IEEE Xplore y ResearchGate. En IEEE Xplore, se obtuvieron 46 resultados en total de revistas y publicaciones de 2021. Dos de los artículos seleccionados son los siguientes:

 

  1. Toward a Quantum Software Engineering

        Editorial: IEEE

        Fecha de publicación: 20 de agosto de 2021

        Citaciones en artículos de IEEE: 8

        Citaciones en otros editores: 18

 

  1. Quantum Computing

        Editorial: IEEE

        Fecha de publicación: 28 de enero de 2021

        Citaciones en artículos de IEEE: 3

        Citaciones en otros editores: 7

 

Además, se realizaron búsquedas en ResearchGate para encontrar información adicional relevante sobre el tema:

        Lugar: https://www.researchgate.net/

        March 2020

 

2.3. Evaluación de calidad. – La calidad de los artículos seleccionados se evaluó teniendo en cuenta el número de citas en otros artículos. Dos de los artículos obtuvieron un alto nivel de citaciones, con 57 y 62 citaciones en otros trabajos académicos. Estas cifras indican la relevancia y el impacto de los artículos en la comunidad académica y respaldan su inclusión en este estudio.

 

La selección de los artículos mencionados se justifica de la siguiente manera:

 

Relevancia y actualidad: Los artículos seleccionados, "Toward a Quantum Software Engineering" y "Quantum Computing," son particularmente relevantes debido a su enfoque en la ingeniería de software cuántico y la computación cuántica. Estos temas son de gran importancia en el campo de la informática actual y representan áreas de investigación en constante evolución.

 

Fuente confiable: Los artículos provienen de una fuente confiable, IEEE, que es ampliamente reconocida en el ámbito académico y científico. La alta calidad y rigurosidad de las publicaciones en IEEE garantizan que los artículos seleccionados hayan sido sometidos a una revisión por pares y cumplan con los estándares académicos.

 

Citas en otros artículos: Ambos artículos han recibido un significativo número de citas en otros trabajos académicos. El hecho de que estos artículos sean citados por otros investigadores demuestra su influencia y relevancia en la comunidad científica. Las 8 citaciones en artículos de IEEE y 18 citaciones en otros editores para "Toward a Quantum Software Engineering," así como las 3 citaciones en artículos de IEEE y 7 citaciones en otros editores para "Quantum Computing," respaldan su importancia en el campo.

 

Actualidad temporal: Los artículos fueron publicados en 2021, lo que los sitúa en un contexto temporal reciente. Esto es fundamental, ya que los avances en el campo de la computación cuántica y la ingeniería de software cuántico evolucionan rápidamente, y es esencial mantenerse al día con las investigaciones más actuales.

 

Potencial para aportar al estudio: Estos artículos se consideran esenciales para el desarrollo de la investigación actual sobre la ingeniería de software cuántico. Su contenido proporciona una base sólida para el análisis y la síntesis de información en el artículo académico, contribuyendo así a una comprensión más profunda de este campo emergente.

 

2.4. Procedimiento de extracción. – En el proceso de extracción, se recopilaron datos clave de los artículos seleccionados, incluyendo información sobre los autores, resúmenes, metodologías y hallazgos relevantes. Estos datos se utilizaron como base para el análisis y la síntesis de la información en el próximo paso.

 

2.5. Procedimiento de síntesis. – En la fase de síntesis, se analizaron y compararon los datos extraídos de los artículos seleccionados. Se identificaron patrones, tendencias y conclusiones relevantes en el campo de la ingeniería de software cuántico y la computación cuántica. Estos hallazgos se presentarán de manera detallada en las secciones siguientes del artículo académico.

 

3. Revisión Literaria. – El marco teórico se basa en tres fuentes principales:

 

3.1. Quantum Computing

Autores: Jose Luis Hevia, Guido Peterssen, Christof Ebert y Mario Piattini

Editor: Christof Ebert

En este artículo, se destaca que la computación cuántica se ha convertido en una realidad. Los ordenadores cuánticos están disponibles para todos a través de servicios en la nube o simulaciones. Se menciona que existen conjuntos de herramientas que invitan a los profesionales a iniciar sus propios proyectos de software cuántico y familiarizarse con esta tecnología innovadora. Además, se evalúan las tecnologías disponibles para ayudar a los desarrolladores a establecer su propio negocio de software cuántico. Se proporciona orientación práctica basada en proyectos de tecnología cuántica realizados por los propios autores. El editor, Christof Ebert, muestra interés en recibir comentarios sobre el artículo y conocer las tecnologías que son más relevantes para el trabajo de los lectores.

 

3.2. The Talavera Manifesto for Quantum Software Engineering and Programming

Autores: Mario Piattini, Guido Peterssen, Ricardo Pérez-Castillo, Jose Luis Hevia, Manuel A Serrano, Guillermo Hernández, Ignacio García Rodríguez de Guzmán, Claudio Andrés Paradela, Macario Polo, Ezequiel Murina, Luis Jiménez, Juan Carlos Marqueño, Ramsés Gallego, Jordi Tura, Frank Phillipson, Juan M. Murillo, Alfonso Niño, Moisés Rodríguez

Este manifiesto destaca que nos encontramos en los albores de una nueva era, la era cuántica. Se señala que la computación cuántica ya no es un sueño, sino una realidad que debe adoptarse. Sin embargo, debido a que esta tecnología está en sus primeros pasos, aún no existen modelos, estándares o métodos que ayuden en la creación de nuevos sistemas y la migración de los sistemas actuales. Se propone volver a seguir el camino que tomó la ingeniería de software en el siglo pasado para lograr una nueva era dorada en la ingeniería de software cuántico.

 

3.3. FEATURE ARTICLE: QUANTUM SOFTWARE - Toward a Quantum Software Engineering

Autores: Mario Piattini, Manuel Serrano, Ricardo Perez-Castillo, Guido Petersen y Jose Luis Hevia.

Este artículo se enfoca en el desarrollo de la ingeniería de software cuántico. Se menciona que nos encontramos en los albores de la era cuántica y que es necesario establecer modelos, estándares y métodos para la creación y migración de sistemas cuánticos. Los autores provienen de instituciones académicas y la empresa aQuantum, lo que sugiere una combinación de conocimiento teórico y experiencia práctica en el campo de la ingeniería de software cuántico.

Estas fuentes proporcionan información relevante sobre la computación cuántica, la ingeniería de software cuántico y la necesidad de desarrollar modelos y estándares para aprovechar esta nueva tecnología.

 

4. Análisis de papers. -

 

4.1. The Talavera Manifesto for Quantum Software Engineering and Programming

 

4.1.1. Aplicaciones

Aplicaciones directas (computadoras cuánticas y software cuántico):

 

        Privacidad y criptografía: certificación de aleatoriedad, autenticación.

        Cadena de suministro y logística: problemas de optimización en compras, producción y distribución, optimización de rutas de vehículos, etc.

        Química: simulaciones de moléculas complejas, descubrimiento de nuevos materiales, diseño molecular avanzado, etc.

        Economía y servicios financieros: Optimización del riesgo de cartera y detección de fraudes, aleatoriedad real para modelos financieros, simulaciones y análisis de escenarios, etc.

        Energía y agricultura: producción de amoníaco, mejor distribución de recursos, modelado de degradación de activos, etc.

        Medicina y salud: plegamiento de proteínas y descubrimiento de fármacos, detección de enfermedades, cirugías no invasivas y de alta precisión, diseño de fármacos dirigidos, medicina a medida, mejora de la calidad de vida, predicción de prescripciones terapéuticas, etc.

        Programas de defensa y seguridad nacional.

 

4.1.2. Principios y Compromisos

QSE es agnóstico con respecto a los lenguajes y tecnologías de programación cuántica. QSE sirve para entregar software cuántico con procesos y métodos que son comprensibles, controlables y repetibles por amplias comunidades.

 

        QSE adopta la coexistencia de la computación clásica y cuántica, y aboga por el uso de técnicas de reingeniería para integrar nuevos algoritmos cuánticos con los sistemas de información clásicos existentes. También se necesitan técnicas de ingeniería inversa para analizar y abstraer la información del programa cuántico que se integrará en los programas clásicos.

        QSE apoya la gestión de proyectos de desarrollo de software cuántico, entregando software cuántico que cumple con el objetivo y los requisitos comerciales iniciales, al mismo tiempo que garantiza que las restricciones de calidad, tiempo y costo se cumplan adecuadamente. Las metodologías para desarrollar programas cuánticos deben crearse o adaptarse a partir de las existentes. También es necesario proporcionar métodos de estimación del esfuerzo para el desarrollo de software cuántico.

        QSE considera la evolución del software cuántico. El software Quantum debe mantenerse y evolucionar desde su inicio hasta su eliminación. La evolución del software cuántico debe manejarse a lo largo de todo el ciclo de vida del software cuántico.

        QSE tiene como objetivo ofrecer programas cuánticos con cero defectos deseables. Está a cargo de definir y aplicar técnicas de prueba y depuración a los programas cuánticos de tal manera que la mayoría de los defectos puedan detectarse y resolverse antes de que el programa sea lanzado.

        QSE asegura la calidad del software cuántico. La gestión de calidad tanto para el proceso como para el producto es esencial si se va a producir software cuántico con los niveles de calidad esperados. Dado que no podemos mejorar lo que no podemos medir, se deben desarrollar nuevas métricas para programas cuánticos y procesos cuánticos.

        QSE promueve la reutilización de software cuántico. QSE puede ayudar a los equipos de desarrollo a compartir, indexar y encontrar software cuántico que se pueda reutilizar. Se debe abordar el estudio de patrones de diseño y arquitectura para programas cuánticos. También es necesario facilitar la comunicación técnica y trabajar en la creación de bibliotecas de ejemplos de referencia y demostraciones de aplicaciones.

        QSE aborda la seguridad y la privacidad desde el diseño. Los sistemas de información cuántica deben ser seguros y garantizar la privacidad de los datos y de los usuarios. QSE se compensa para considerar la seguridad y la privacidad desde las fases iniciales del desarrollo de software cuántico, es decir, desde el diseño.

        QSE cubre el gobierno y la gestión del software. Los gerentes deben ser conscientes de los procesos particulares, las estructuras organizativas, los principios, las políticas y los marcos, la información, la cultura, la ética y el comportamiento, las personas, las habilidades y las competencias, así como los servicios, la infraestructura y las aplicaciones que están asociados con el software cuántico y que son (o debería ser) proporcionada por las organizaciones.

 

4.1.3. Llamado a la acción.

Cada una de las siguientes partes interesadas puede hacer algo ahora mismo para comenzar.

 

Practicantes de software

Trate de identificar los efectos de sus proyectos cuánticos en contextos técnicos, económicos y organizacionales. Comience a hacer preguntas sobre cómo incorporar los principios y compromisos en la práctica diaria. Piensa en las dimensiones social e individual. Hable sobre estos temas con sus colegas.

 

Investigadores

Identifique preguntas de investigación en su campo que puedan ayudarnos a comprender mejor la ingeniería cuántica de software. Discútalos con sus compañeros y piense cómo su experiencia en la investigación de ingeniería de software podría transferirse al campo de investigación de software cuántico.

 

Educadores

Integrar la ingeniería de software cuántico en los planes de estudio dentro de los títulos y/o cursos de ingeniería de software existentes en esta u otras disciplinas, y especificar claramente qué competencias y habilidades se requieren para los futuros ingenieros de software cuántico.

Gobierno y organismos de financiación

Analizar los compromisos proporcionados y considerar la ingeniería cuántica de software en los planes estratégicos de investigación/industriales. Proporcionar programas de financiación adecuados para apoyar dichos planes y contribuir con la difusión de información sobre estos planes.

 

Proveedores de tecnología cuántica

Estar activamente al tanto de las últimas tendencias en ingeniería cuántica de software, y tratar de hacer todo lo posible para que se cumplan los compromisos mencionados.

 

Asociaciones profesionales

Revisar la práctica, intentando incorporar principios; reconocer explícitamente la necesidad de considerar la ingeniería cuántica de software como parte de la práctica profesional.

 

Clientes

Pon tus preocupaciones sobre la mesa. Pregunte sobre esto en el próximo proyecto.

 

Usuarios

Exige que el software que utilices abarque todos los principios mencionados.

 

4.1.4. Retos identificados

Con el surgimiento de las primeras computadoras cuánticas, los lenguajes de programación iniciales y los algoritmos cuánticos arrojaron resultados prometedores. Sin embargo, el software cuántico no ha comenzado a producirse de forma industrial a gran escala.

 

4.2. Toward a Quantum Software Engineering

 

4.2.1. Aplicaciones

Las aplicaciones directas que se mencionan en el artículo son exactamente las mismas que el artículo anterior (ya que el mismo es una extensión del anterior, incluso se hace referencia a que fue escrito con base en él).

 

4.2.2. Evolución

En cuanto a la evolución de las técnicas de ingeniería de software proponen un conjunto de áreas temáticas prioritarias a abordar:

  1. Programación cuántica
    1. Menciona el qubit
    2. Introduce la lógica de circuitos cuánticos y compuertas cuánticas
    3. Ejemplo de sumador completo de dos números con carry
    4. Menciona lenguajes de programación cuántica
  2. Tecnología cuántica e Ingeniería de software

Es hora de proponer y validar técnicas de ingeniería de software y lograr una nueva era dorada para la ingeniería cuántica de software.

 

Diagrama

Descripción generada automáticamente con confianza media

Figura I.- Gráfico con jerarquía y relación entre diferentes disciplinas relacionadas con la ingeniería y programación cuántica. Las áreas se organizan en capas, desde disciplinas más generales hasta más específicas.

 

4.2.3. Llamado a la acción

Cada una de las siguientes partes interesadas puede hacer algo ahora mismo para comenzar.

 

Recomendación para los practicantes

Empezar aprendiendo los conceptos básicos de la computación cuántica (por ejemplo, un primer paso podría ser el curso de computación cuántica Brilliant-s17) y trabajando con algunos de los entornos disponibles (Microsoft-s Quantum Development Kit, IBM-s Q Experience y QISkit, Google's Cirq, Dwave y Rigetti's Forest, entre otros), con el fin de evaluar los beneficios que este nuevo paradigma podría aportar a sus aplicaciones de software.

 

Recomendación para las universidades

Seguir los consejos de Boehm: “mantener los cursos y el material didáctico continuamente renovados y actualizados, y anticipar las tendencias futuras y preparar a los estudiantes para enfrentarlas” y, por lo tanto, incorporar en los planes de estudio cursos sobre tecnologías cuánticas, computación cuántica e ingeniería de software cuántica. Recordando que como Booch comenta: “No importa el medio, la tecnología o el dominio, siempre se aplicarán los fundamentos de la ingeniería de software sólida: crear abstracciones sólidas”, por lo que debemos dedicar una cantidad considerable de tiempo para transmitir estos fundamentos. Ya existe una demanda urgente de ingeniería de software cuántico.

 

Recomendación para toda la comunidad de Ingeniería de software

Tenemos una oportunidad muy interesante de traer una nueva era dorada y contribuir de manera importante al avance de nuestra sociedad.

4.2.4. Retos identificados

  1. La computación cuántica afectará a todas las áreas de la ingeniería de software. La mayoría de las 14 áreas en SWEBOK deberán ser actualizadas para contemplar cuestiones cuánticas.
    1. en gran medida en: Diseño, Construcción, Pruebas de software
    2. moderadamente en: Requisitos de software, procesos de ingeniería de software, modelos y métodos de ingeniería de software y fundamentos informáticos
    3. muy poco o ningún impacto en: Gestión de la configuración, práctica profesional de ingeniería de software, economía de ingeniería de software, fundamentos matemáticos y fundamentos de ing.

 

Para las primeras 4 áreas (Diseño, Construcción, Pruebas y Mantenimiento) proponen:

    1. Diseño de sistemas híbridos cuánticos
    2. Técnicas de prueba para programas cuánticos
    3. Calidad de los programas cuánticos
    4. Reingeniería y modernización hacia la clasificación de sistemas de información cal-quantum

Otras áreas de interés: sostenibilidad de las aplicaciones cuánticas (la energía puede ser un problema en los algoritmos cuánticos y los sistemas cuánticos que consumen mucha energía deben ajustarse para que sean útiles y viables)

 

  1. Desarrollo de una disciplina completa de ingeniería de software cuántica con el fin de explotar el potencial del HW informático cuántico comercial cuando llegue
    1. Desafío: construir los lenguajes, herramientas y técnicas correspondientes para la ingeniería de software cuántico
    2. Necesidad de elevar el nivel de pensamiento sobre los programas cuánticos
    3. Necesidad de herramientas de ingeniería de software para la programación cuántica
  1. Urgencia de comenzar a desarrollar y/o adaptar las técnicas clásicas de ingeniería de sw a las características de la programación cuántica.
  2. Tres cosas importantes a considerar:
    1. Varios científicos informáticos cuánticos no conocen los principios y técnicas de la ingeniería de software, por lo que podrían cometerse varios errores nuevamente y podrían ocurrir algunos "redescubrimientos" costosos
    2. Deberíamos adoptar un enfoque más “ágil” al proponer y desarrollar técnicas cuánticas de ingeniería de software, es decir, no esperar a que los lenguajes de programación cuántica sean “estables” o “refinados” para adaptar las técnicas existentes o crear otras nuevas, sino desarrollarlos en paralelo con la evolución de los lenguajes cuánticos, a partir de ahora.
    3. Aprendiendo de los errores del pasado, a la hora de proponer nuevas técnicas cuánticas de ingeniería de software, la validación empírica debería ser imprescindible.
  3. Proponer y validar técnicas de ingeniería de software para lograr una nueva “era dorada” para la ingeniería de software cuántica.

 

 


 

4.3. Quantum Computing

La promesa de la computación cuántica es acelerar enormemente algoritmos tan complejos. Hoy en día, incluso las supercomputadoras fallan debido a la alta complejidad algorítmica porque muchos algoritmos aún funcionan en secuencias que se basan en los resultados de un paso anterior.

 

Campos en los que avanzará rápidamente:

        Ciencia de datos

        Reconocimiento de patrones

        Ciberseguridad

Obstáculo identificado: Falta de métodos apropiados y tecnología insuficientemente escalable.

 

4.3.1. Computación cuántica

Simuladores cuánticos

Se simula el algoritmo cuántico en hardware clásico (CPU) y computadoras cuánticas reales, con unidades de procesamiento cuántico (QPU), en las que se construyen qubits utilizando una amplia variedad de tecnologías: métodos de trampa de iones, superconductores y fotónicos, entre otros.

 

Computadoras cuánticas

Afectan la forma en que se desarrollan las aplicaciones

        De recocido cuántico: los que se basan en la construcción de modelos cuadráticos binarios para resolver un problema

        Basadas en compuertas: los que se basan en la construcción de circuitos cuánticos basados en compuertas.

 

Qubits

Bits que se mantienen en superposición y utilizan principios cuánticos para completar los cálculos. Un dígito binario siempre está en uno de dos estados definidos, es decir, cero o uno. Los qubits se encuentran en una superposición de estos estados binarios clásicos de cero y uno.

 

Superposición

Capacidad de los qubits de estar en más de un estado físico a la vez, lo que nos permite paralelizar combinaciones. Múltiples qubits también pueden enredarse. Si mide el estado de un qubit entrelazado con otro qubit, el resultado de medir el otro qubit se correlaciona de alguna manera con el primero, incluso si los dos qubits están muy separados. La superposición y el entrelazamiento se usan juntos para la cuántica.

        Estos efectos crean desafíos prácticos con las computadoras cuánticas reales:

        Requieren entornos de laboratorios sofisticados

        La información puede decaer cuando se captura el estado del sistema.

 

Desde un punto de vista algorítmico, la computación cuántica puede resolver problemas de mayor complejidad que la computación clásica, más rápido y también con ahorros de costos y energía.

 

4.3.2. Aplicaciones

Las aplicaciones de la computación cuántica son múltiples. Debido al paralelismo extremo de los algoritmos cuánticos, la computación cuántica puede acelerar algunos desafíos paralelos masivos, como la ciencia de datos y el reconocimiento de patrones.

En el lado oscuro, los algoritmos paralelos masivos también facilitarán la piratería de cualquier clave criptográfica actual con mucho menos esfuerzo del que se supone actualmente.

Desarrollo de software cuántico

Las plataformas de software cuántico ofrecen las siguientes funciones:

  1. Brindan a los usuarios acceso a computadoras cuánticas para realizar cálculos cuánticos a través de servicios en la nube.
  2. Proporcionan abstracciones entre el hardware subyacente y las aplicaciones de software reales. Esto incluye bibliotecas para facilitar el uso de la computadora cuántica en simulación o como hardware real.
  3. Ofrecen kits de desarrollo y plataformas informáticas para aumentar la competencia del usuario final.
  4. Apoyan a los ingenieros de software en el desarrollo y prueba de sus algoritmos cuánticos.
  5. Mejoran la confiabilidad y el rendimiento de las computadoras cuánticas físicas. Una debilidad inherente de cualquier sistema de computación cuántica son los errores en la transición de estados digitales a estados cuánticos. Pueden ocurrir errores aleatorios debido al hardware utilizado actualmente. El software de corrección de errores aumenta la estabilidad y la confiabilidad de las computadoras cuánticas.

 

4.3.3. Retos identificados

  1. Los proveedores de hardware cuántico como IBM, Rigetti y Google ofrecen unos 100 qubits a escala de laboratorio 4,5. Esto es impresionante y demuestra cuán rápido está evolucionando la tecnología, pero aún no es suficiente para ejecutar aplicaciones de software reales. Por lo tanto, las aplicaciones cuánticas que imaginamos hoy están separando la pila de hardware real del nivel de software
  2. Esperamos que las computadoras cuánticas se amplíen a un ritmo como el de la ley de Moore. A corto plazo, una red cuántica accesible mediante servicios en la nube podría mostrar resultados desde la perspectiva del software. Al conectar dispositivos cuánticos individuales, se podría crear una supercomputadora cuántica. Un paso adelante más grande es una red cuántica basada en qubits entrelazados para el intercambio rápido de información. La ciberseguridad es un dominio de aplicación obvio de dicha red para facilitar la distribución de claves cuánticas con un protocolo de criptografía que se basa en partículas cuánticas interconectadas.
  3. Construir e incluso usar una computadora cuántica implica una gran inversión debido a la pila de hardware cuántico subyacente.

 

5. Temas emergentes o tendencias

Basado en los artículos analizados, se pueden identificar algunos temas emergentes y tendencias en el campo de estudio de la computación cuántica y la ingeniería de software cuántico. A continuación, se presenta una discusión sobre estos temas:

Avances en la disponibilidad y accesibilidad de la computación cuántica: Se destaca en los artículos que la computación cuántica se ha vuelto más accesible y disponible para un público más amplio. La existencia de servicios en la nube y simulaciones permite que los desarrolladores tengan acceso a recursos de computación cuántica sin necesidad de poseer su propio hardware especializado. Esta tendencia de mayor accesibilidad ha fomentado el inicio de proyectos de software cuántico por parte de los practicantes y ha impulsado el interés en esta tecnología emergente.

 

Necesidad de modelos y estándares en la ingeniería de software cuántico: Dado que la computación cuántica es una tecnología en sus primeros pasos, existe una falta de modelos, estándares y métodos para el desarrollo de sistemas cuánticos. Los artículos resaltan la importancia de establecer una base sólida de ingeniería de software cuántico mediante la adopción de enfoques similares a los que se han utilizado en la ingeniería de software clásica. Esta necesidad de modelos y estándares es un tema recurrente en los artículos analizados.

 

Integración de la computación cuántica en diferentes dominios: Se menciona la necesidad de explorar y aplicar la computación cuántica en diversos dominios y sectores. Los artículos sugieren que la computación cuántica tiene el potencial de impactar áreas como la criptografía, la optimización, la simulación molecular y el aprendizaje automático. Esta tendencia hacia la integración de la computación cuántica en diferentes campos indica un interés creciente en aprovechar sus capacidades para abordar problemas complejos y desafiantes en diversas áreas de estudio.

 

Orientación hacia el emprendimiento en el ámbito del software cuántico: Uno de los artículos menciona la evaluación de tecnologías para ayudar a los desarrolladores a establecer su propio negocio de software cuántico. Esto sugiere una tendencia emergente hacia el emprendimiento en el campo de la computación cuántica y la exploración de oportunidades comerciales relacionadas con el desarrollo y la prestación de servicios de software cuántico.

 

Los temas emergentes y las tendencias identificadas en los artículos analizados incluyen la mayor disponibilidad y accesibilidad de la computación cuántica, la necesidad de establecer modelos y estándares en la ingeniería de software cuántico, la integración de la computación cuántica en diversos dominios y el enfoque hacia el emprendimiento en el ámbito del software cuántico. Estas tendencias reflejan el interés y el avance continuo en el campo de la computación cuántica y ofrecen perspectivas sobre el futuro desarrollo de esta tecnología.

 

Comparación y síntesis

En términos de metodología, los papers analizados presentan diferentes enfoques. El primer artículo, "Quantum Computing" de Jose Luis Hevia, Guido Peterssen, Christof Ebert y Mario Piattini, no especifica la metodología utilizada, ya que se trata de un artículo editorial que destaca la disponibilidad y accesibilidad de la computación cuántica, así como la evaluación de tecnologías para ayudar a los desarrolladores a iniciar su propio negocio de software cuántico.

El segundo artículo, "The Talavera Manifesto for Quantum Software Engineering and Programming", no describe una metodología específica, pero se enfoca en la necesidad de desarrollar modelos, estándares y métodos en la ingeniería de software cuántico. Propone volver a los principios de la ingeniería de software clásica para guiar el desarrollo de sistemas cuánticos.

El tercer artículo, "Toward a Quantum Software Engineering" de Mario Piattini, Manuel Serrano, Ricardo Perez-Castillo, Guido Petersen y Jose Luis Hevia, no se menciona explícitamente la metodología utilizada, pero se destaca la necesidad de establecer una base sólida de ingeniería de software cuántico para impulsar el desarrollo de nuevos sistemas y la migración de los existentes.

En cuanto a los resultados y conclusiones, los artículos enfatizan los siguientes hallazgos y conclusiones:

        La computación cuántica se ha vuelto más accesible y disponible para un público más amplio a través de servicios en la nube y simulaciones.

        Existe una falta de modelos, estándares y métodos en la ingeniería de software cuántico, lo que resalta la necesidad de establecer una base sólida en este campo.

        La integración de la computación cuántica en diferentes dominios, como la criptografía, la optimización y el aprendizaje automático, presenta oportunidades de aplicación y desarrollo.

        Se sugiere la exploración de oportunidades empresariales en el ámbito del software cuántico, y se evalúan tecnologías que puedan ayudar a los desarrolladores a establecer su propio negocio en este campo.

6. Discusión

La interpretación de los resultados del análisis en relación con los objetivos planteados revela varios aspectos importantes. En primer lugar, se destaca la relevancia y creciente disponibilidad de la computación cuántica, lo cual respalda la importancia de investigar y desarrollar en el campo del software cuántico. Los papers seleccionados proporcionan perspectivas y propuestas para abordar los desafíos actuales en esta área.

Una reflexión crítica sobre los aspectos positivos y negativos de los papers seleccionados revela lo siguiente:

 

6.1. Aspectos positivos

        Los papers reconocen la necesidad de una base sólida en ingeniería de software cuántico y plantean propuestas para su desarrollo.

        Se resalta la importancia de la disponibilidad y accesibilidad de la computación cuántica, lo que fomenta la participación de más desarrolladores en este campo emergente.

        Los papers ofrecen orientación práctica y evaluación de tecnologías para ayudar a los desarrolladores a iniciar sus propios proyectos de software cuántico o emprender en este ámbito.

 

6.2. Aspectos negativos

        Se observa una falta de consenso en términos de modelos, estándares y métodos en la ingeniería de software cuántico, lo que refleja la etapa temprana de desarrollo de este campo.

        No se mencionan ejemplos específicos de proyectos de tecnología cuántica realizados, lo que podría haber enriquecido la discusión sobre las experiencias prácticas y los desafíos encontrados.

 

6.3. Trabajo Futuro

Identificar posibles lagunas o áreas para futuras investigaciones es esencial para el avance del campo. Con base en los papers analizados, se pueden identificar las siguientes áreas de interés para futuras investigaciones:

        Desarrollo de modelos y estándares en la ingeniería de software cuántico para facilitar la creación y migración de sistemas cuánticos.

        Exploración de aplicaciones más amplias de la computación cuántica en diferentes dominios, como la biotecnología, la logística y la simulación de materiales.

        Investigación sobre la seguridad y privacidad en el contexto de la computación cuántica, especialmente en lo que respecta a la criptografía y la protección de datos sensibles.

        Evaluación de las implicaciones éticas y sociales de la computación cuántica, considerando aspectos como la equidad, el impacto medioambiental y la gobernanza de esta tecnología emergente.

Estas áreas ofrecen oportunidades para profundizar en el conocimiento y abordar los desafíos pendientes en el campo del software cuántico, promoviendo así su desarrollo y aplicabilidad en diversos sectores.

 

7. Conclusiones. - El análisis realizado sobre los papers seleccionados ha proporcionado una visión amplia del campo de estudio de la computación cuántica y el desarrollo de software relacionado. A partir de este análisis, se pueden destacar las siguientes conclusiones:

Quantum computing ha dejado de ser un concepto teórico y se ha convertido en una realidad accesible para todos. La disponibilidad de computadoras cuánticas a través de servicios en la nube o simulaciones ha permitido a los desarrolladores explorar y familiarizarse con esta tecnología novedosa.

Los papers analizados abordan diferentes aspectos relacionados con la computación cuántica y el desarrollo de software cuántico. Se han presentado tecnologías, enfoques metodológicos y guías prácticas para ayudar a los desarrolladores a iniciar sus propios proyectos de software cuántico y establecer negocios en este ámbito.

Se ha observado una tendencia emergente en el campo de estudio hacia la ingeniería de software cuántico. A medida que la tecnología cuántica avanza, se reconoce la necesidad de modelos, estándares y métodos que respalden el diseño y la migración de sistemas cuánticos.

La comparación de los papers reveló diferentes enfoques metodológicos, resultados y conclusiones. Sin embargo, existe una convergencia en la importancia de promover la colaboración entre investigadores y desarrolladores de software cuántico para avanzar en el campo.

Los principales hallazgos de los papers destacan la necesidad de establecer un marco teórico sólido para respaldar la ingeniería de software cuántico. Se identificaron lagunas en la literatura existente, lo que sugiere áreas para futuras investigaciones, como el desarrollo de estándares y mejores prácticas para el diseño y la implementación de sistemas cuánticos.

En general, el análisis de estos papers proporciona una base sólida para comprender el estado actual de la computación cuántica y la ingeniería de software cuántico. A medida que esta tecnología continúa evolucionando, es fundamental seguir investigando y explorando nuevas soluciones para aprovechar todo su potencial en el desarrollo de software avanzado y revolucionar diversos campos de aplicación.

 

 


1.1.  

7. Referencias

[1] Hevia, J. L., Peterssen, G., Ebert, C., and Piattini, M. (2021). Quantum Computing. Publisher: IEE SOFTWARE

[2] Piattini, M., Peterssen, G., Pérez-Castillo, R., Hevia, J. L., Serrano, M. A., Hernández, G., Rodríguez de Guzmán, I. G., Paradela, C. A., Polo, M., Murina, E., Jiménez, L., Marqueño, J. C., Gallego, R., Tura, J., Phillipson, F., Murillo, J. M., Niño, A., and Rodríguez, M. (2020). The Talavera Manifesto for Quantum Software Engineering and Programming. Publisher: Interna-tional Workshop on QuANtum SoftWare Engineering & pRogramming (QANSWER).

[3] Piattini, M., Serrano, M., Perez-Castillo, R., Petersen, G., and Hevia, J. L. (2021). FEATURE ARTICLE: QUANTUM SOFTWARE - Toward a Quantum Software Engineering. Publisher: IEEE Computer Society

 

 

 

 


 

Nota contribución de los autores:

1. Concepción y diseño del estudio

2. Adquisición de datos

3. Análisis de datos

4. Discusión de los resultados

5. Redacción del manuscrito

6. Aprobación de la versión final del manuscrito

 

AA ha contribuido en: 1, 2, 3, 4, 5 y 6.

SPM ha contribuido en: 1, 2, 3, 4, 5 y 6.

 

 

Nota de aceptación: Este artículo fue aprobado por los editores de la revista Dr. Rafael Sotelo y Mag. Ing. Fernando A. Hernández Gobertti.

 



[1] Profesora e Ingeniera, Universidad de la República, ag.arismendi17@gmail.com,

ORCID iD: https://orcid.org/0009-0009-1192-4026

[2] Profesor y Magister, Universidad ORT Uruguay, sebapombo@gmail.com,

ORCID iD: https://orcid.org/0009-0005-1999-8290