Abstract
Quantum computing is getting closer and closer to bringing all its potential applications to our lives. This means that in a few years the current IT will evolve into hybrid software systems where quantum and classical computing paradigms should be designed, developed, and operated together. This is a big challenge that will require software modernization processes for transforming and migrating legacy software systems (which may include adding new existing quantum software) toward such hybrid software systems. This chapter discusses the challenges of hybrid software and how software modernization (based on architecture-driven modernization) can be used as a reengineering solution for an effective evolution of classical and quantum software.
Chapter PDF
Keywords
References
Zhao, J., Quantum Software Engineering: Landscapes and Horizons. 2020.
Gupta, S., Sharma, V.: Effects of quantum computing on businesses. In: 2023 4th International Conference on Intelligent Engineering and Management (ICIEM). IEEE (2023)
Cross, A.: The IBM Q experience and QISKit open-source quantum computing software. In: APS March Meeting Abstracts (2018)
Svore, K., et al.: Q#: Enabling scalable quantum computing and development with a high-level DSL. In: Proceedings of the Real World Domain Specific Languages Workshop 2018. Association for Computing Machinery, Vienna (2018) Article 7
Hancock, A., et al. Cirq: A Python Framework for Creating, Editing, and Invoking Quantum Circuits. 2019.
Kessler, E.J.A.O.T.T., Introduction to Quantum Computing on AWS. 2020.
Alsalman, A.I.S.: Accelerating quantum readiness for sectors: risk management and strategies for sectors. J Quant Inf Sci. 13(2), 33–44 (2023)
Zapata Computing, The First Annual Report on Enterprise Quantum Computing Adoption. 2022.
McArdle, S., et al.: Quantum computational chemistry. Rev Modern Phys. 92(1), 015003 (2020)
Aaronson, S.J.S.A.: The limits of quantum computers. Sci Am. 298(3), 62–69 (2008)
Pérez-Castillo, R., Mas, B., Pizka, M.: Understanding legacy architecture patterns. In: 2015 International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE) (2015)
Garcia-Alonso, J., et al.: Quantum software as a service through a quantum API gateway. IEEE Internet Computing. 26(1), 34–41 (2021)
Colanzi, T., et al.: Are we speaking the industry language? The practice and literature of modernizing legacy systems with microservices. In: 15th Brazilian Symposium on Software Components, Architectures, and Reuse (2021)
Khadka, R., et al.: How do professionals perceive legacy systems and software modernization? In: Proceedings of the 36th International Conference on Software Engineering (2014)
Comella-Dorda, S., et al.: A Survey of Legacy System Modernization Approaches. Carnegie-Mellon Univ Pittsburgh, PA, Software Engineering Inst (2000)
Pérez-Castillo, R., Serrano, M.A., Piattini, M.: Software modernization to embrace quantum technology. Adv Eng Softw. 151, 102933 (2021)
Heim, B., et al.: Quantum programming languages. Nat Rev Phys. 2(12), 709–722 (2020)
Jiménez-Navajas, L., Pérez-Castillo, R., Piattini, M.: Reverse engineering of quantum programs toward KDM models. In: 13th International Conference on the Quality of Information and Communications Technology (QUATIC), pp. 249–262. Springer International Publishing, Faro, Portugal. (Online Conference) (2020)
Pérez-Castillo, R., de Guzmán, I.G.R., Piattini, M.: Architecture-driven modernization. In: Modern Software Engineering Concepts and Practices: Advanced Approaches, pp. 75–103. IGI Global (2011)
Favre, J.-M., Towards a Basic Theory to Model Model Driven Engineering. 2011.
Piattini, M., et al.: The Talavera Manifesto for Quantum Software Engineering and Programming. In: QANSWER (2020)
MacQuarrie, E.R., et al.: The emerging commercial landscape of quantum computing. Nat Rev Phys. 2(11), 596–598 (2020)
Ferrari, D., et al.: Compiler design for distributed quantum computing. IEEE Trans Quantum Eng. 2, 1–20 (2021)
McCaskey, A., et al.: Hybrid programming for near-term quantum computing systems. In: 2018 IEEE International Conference on Rebooting Computing (ICRC) (2018)
Ulrich, W.M., Legacy Systems: Transformation Strategies. 2002.
De Lucia, A., et al.: Emerging Methods, Technologies, and Process Management in Software Engineering, pp. 1–276 (2007)
Kazman, R., Woods, S.G., Carriere, S.J.: Requirements for integrating software architecture and reengineering models: CORUM II. In: Reverse Engineering – Working Conference Proceedings, pp. 154–163 (1998)
Sneed, H.M.: Estimating the costs of a reengineering project. In: Proceedings of the 12th Working Conference on Reverse Engineering, pp. 111–119. IEEE Computer Society (2005)
Müller, H.A., et al.: Reverse engineering: a roadmap. In: Proceedings of the Conference on The Future of Software Engineering. ACM, Limerick, Ireland (2000)
Canfora, G., Penta, M.D.: New Frontiers of Reverse Engineering. In: 2007 Future of Software Engineering. IEEE Computer Society (2007)
Ulrich, W.M. and P.H. Newcomb, Information Systems Transformation, 2010.
Schmidt, D.C.: Developing applications using model-driven design environments. IEEE Comp Society. 39(2), 25–32 (2006)
Miller, J., Mukerji, J.: MDA Guide Version 1.0.1. www.omg.org/docs/omg/03-06-01.pdf, p. 62. OMG (2003)
OMG: Architecture-Driven Modernization Standards Roadmap. https://www.omg.org/adm/ADMTF%20Roadmap.pdf (2009)
Pérez-Castillo, R., De Guzmán, I.G.R., Piattini, M.: Knowledge discovery metamodel-ISO/IEC 19506: a standard to modernize legacy systems. Comp Standards Interf. 33, 519–532 (2011)
Khusidman, V., Ulrich, W.: Architecture-Driven Modernization: Transforming the Enterprise. DRAFT V.5. http://www.omg.org/docs/admtf/07-12-01.pdf, p. 7. OMG (2007)
Jiménez-Navajas, L., Pérez-Castillo, R., Piattini, M.: KDM to UML model transformation for quantum software modernization. In: International Conference on the Quality of Information and Communications Technology, pp. 211–224. Springer (2021)
Weinberg, S.J., et al.: Supply chain logistics with quantum and classical annealing algorithms. Sci Rep. 13(1), 4770 (2023)
Cross, A.W., et al., OpenQASM 3: A Broader and Deeper Quantum Assembly Language. 2021.
Jiménez-Navajas, L., Pérez-Castillo, R., Piattini, M.: Reverse engineering of quantum programs toward KDM models. In: International Conference on the Quality of Information and Communications Technology, pp. 249–262. Springer (2020)
ISO/IEC: Knowledge Discovery Meta-model (KDM). https://www.iso.org/standard/32625.html (2009)
IBM: IBM Quantum Experience Webpage. https://quantum-computing.ibm.com/
OMG: UML 2.5.1. https://www.omg.org/spec/UML/2.5.1/PDF (2017)
Ribo, J.M. J. Franch Gutiérrez A Two-Tiered Methodology to Extend the UML Metamodel. 2002.
Pérez-Delgado, C.A., Perez-Gonzalez, H.G.: Towards a quantum software modeling language. In: Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops (2020)
Pérez-Castillo, R., Jiménez-Navajas, L., Piattini, M.: Modelling quantum circuits with UML. In: Second International Workshop on Quantum Software Engineering (Q-SE 2021). IEEE Computer Society, Madrid (2021) (Online). p. In Press
Foundation, E.: ATL – A Model Transformation Technology. https://www.eclipse.org/atl/
UML ECORE. https://github.com/ricpdc/qrev-api/blob/main/qrev-api/resources/metamodels/uml.ecore
Eclipse: EMF, ECore & Meta Model. 27/03/2021. https://www.eclipse.org/modeling/emft/search/concepts/subtopic.html
OMG: The Essential MOF (EMOF) Model. https://it-dev.mpiwg-berlin.mpg.de/svn/JET/trunk/doc/latex/Diplomarbeit/websources/OMG/06-01-01.pdf (2006)
Pérez-Castillo, R., Jiménez-Navajas, L., Piattini, M.: Modelling quantum circuits with UML. In: 43rd ACM/IEEE International Conference on Software Engineering Workshops. 2021 IEEE/ACM 2nd International Workshop on Quantum Software Engineering (Q-SE), pp. 7–12. IEEE Computer Society, Virtual (2021) (originally in Madrid, Spain)
OMG. Architecture-Driven Modernization: Knowledge Discovery Meta-Model (KDM). https://www.omg.org/spec/KDM/1.4/PDF (2016)
Visual Paradigm’s Homepage. https://www.visual-paradigm.com/
Romero, D.J.R.: jsUML2 – A lightweight HTML5/javascript library for UML 2 diagramming. http://www.jrromero.net/tools/jsUML2
Qiskit, I.: Getting Started with Qiskit. https://qiskit.org/documentation/tutorials/circuits/1_getting_started_with_qiskit.html (2022)
Cantalejo, I.: EGL Scripts for Transforming Quantum UML Models into Python Code. https://github.com/ivyncm/PythonGenerator/tree/main/EGLtemplates (2023)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2024 The Author(s)
About this chapter
Cite this chapter
Jiménez-Navajas, L., Pérez-Castillo, R., Piattini, M. (2024). Engineering Hybrid Software Systems. In: Exman, I., Pérez-Castillo, R., Piattini, M., Felderer, M. (eds) Quantum Software. Springer, Cham. https://doi.org/10.1007/978-3-031-64136-7_9
Download citation
DOI: https://doi.org/10.1007/978-3-031-64136-7_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-64135-0
Online ISBN: 978-3-031-64136-7
eBook Packages: Computer ScienceComputer Science (R0)