The QPath Blog


QQualityb

QPath solves most of the quality problems of quantum computing platforms

Author

Quantum computing is gaining a lot of interest since there are countless, cutting-edge applications in multiple areas (economics, chemistry, medicine and health, logistics, energy, artificial intelligence, security, etc.). The achievement of such applications requires the use of a completely different kind of computers and algorithms, which have the potential to solve tasks that we do not even dare dream of today. Several quantum programming languages, software development kits, and platforms [1] are already available for coding these new algorithms. But all the existing and even planned quantum software is not enough.

In fact, it is necessary a new “quantum software engineering” [2]. Quantum software will need to be developed in an appropriate way. We can achieve something as influential as the methods and tools that have improved considerably in the last decades: structured programming, object-oriented programming, or DevOps/continuous software engineering [3].

However, to produce “quality quantum software”, making the required significant investments in knowledge and platforms, we must know well the impact on quality of the main quantum software development kits and tools. Sodhi & Kapur [4] have published recently in ICSA 2021 (18th IEEE International Conference on Software Architecture [5]) an analysis about this issue.

They experimented with the main quantum programming platforms, examining how they affect the main software quality characteristics: Availability, Interoperability, Maintainability, Manageability, Performance, Reliability, Scalability, Security, Testability and Usability. Some of the characteristics that impact the most, in their study, on quality attributes, are:

1) Lower level of the programming abstractions, which increases code complexity impacting in maintainability, testability, reliability, and availability.

2) Platform heterogeneity, which deteriorates software cohesion, affecting maintainability, reliability, robustness, reusability, and the manageability and testability of the system.

3) Remote software development and deployment, which make programming, testing, and debugging quantum programs slower affecting maintainability and testability.

4) Dependency on the known quantum algorithms, affecting the ability to perform enhancement and corrective maintenance, and testability and interoperability (with classical software).

5) Limited portability of software, which provokes the lack of standardization in several areas, affecting availability, interoperability, maintainability, and scalability.

6)  Lack of native quantum operating system, decreasing performance, manageability,  reliability, scalability, and security.

7) Fundamentally different programming model, which can increase code complexity affecting maintainability, interoperability, security, and testability.

QuantumPath® has been developed bearing in mind the principles of the “Talavera Manifesto[6] which urges to take care of producing quantum software by applying knowledge and lessons learned from the software engineering field.

Therefore, QPath® solves most of the previous mention quality problems of quantum computing platforms [7]:

1)   Lower level of the programming abstractions, QPath® is agnostic about quantum programming languages and technologies, supporting visual designers of gates-based circuits and the Annealer Compositor [8].

2)   Platform heterogeneity, QPath® provides the necessary tools for the development team to focus on the development of the solution without having to worry about the specificities of quantum platforms and their necessary requirement [9].

3)   Remote software development and deployment, QPath® offers a complete set of tools for the design, construction, testing and execution of quantum assets both from the context of agnostic and platform-specific solutions.

4)   Dependency on the known quantum algorithms, QPath® support the creation of new quantum algorithms through its development, testing and implementation, to their deployment and the reuse of the existing ones. Extensibility capacity in the main and critical modules of the platform. So that it is possible to attach to the platform new connectors supported by partner and third-party technologies, which expand the value added of the product.

5)   Limited portability of software, QPath® allows you to create your Quantum Application Assets and set the environment´s requirements, let the underground details to the system, from model to results, the lifecycle path is totally automatic). QPath followes the principle of “write once, run everywhere”.

6)  Lack of native quantum operating system, QPath’s enterprise backend contemplates -by design- the security, high availability, load balancing and asynchronous customer processing.

7) Fundamentally different programming model, QPath® is a platform designed to support the integration of hybrid classical/quantum software and therefore contains the necessary tools to facilitate the integration of classical software with quantum computing [10]. Moreover, QPath® makes it easy for classic development teams to manage hybrid software projects life cycle.

For all these reasons (and for more others [11]), QuantumPath® is an excellent platform for the development of quality practical quantum software, which integrates transparently with the main quantum computers solving most of the quality problems of quantum computing platforms.

 [1] Peterssen, G., Hevia, José Luis (2021). Introduction to quantum software development with QPath. https://www.quantumpath.es/index.php/2021/01/13/introduction-to-quantum-software-development-with-qpath/

 [2] Piattini, M., Serrano, M., Pérez-Castillo, R., Peterssen, G. & Hevia, J.L. (2021). Towards a Quantum Software Engineering. IT Professional, vol. 23, no. 1, pp. 62-66, 1 Jan.-Feb. 2021, doi: 10.1109/MITP.2020.3019522.

 [3] Piattini, M., Peterssen, G., and Pérez-Castillo, R. (2020b). Quantum Computing: A New Software Engineering Golden Age. ACM SIGSOFT Software Engineering Newsletter 45 (3), June 2020, 12-14.

 [4] Sodhi, B. & Kapur, R. (2021). Quantum Computing Platforms: Assessing Impact on Quality Attributes and SDLC Activities (Accepted in ICSA 2021) January 2021 DOI: 10.13140/RG.2.2.20190.66886/1.

 [6] The Talavera Manifesto for Quantum Software Engineering and Programming. http://ceur-ws.org/Vol-2561/paper0.pdf. 2020

 [9] Peterssen, G. (2021). QPath, an accelerator of commercial quantum software development, https://www.quantumpath.es/index.php/2020/11/26/qpath_accelerator/

 [10] Peterssen, G. (2021). QPath, a (very) useful platform for the emerging quantum software business. https://www.quantumpath.es/index.php/2020/12/02/qpath_useful_platform/

 [11] Piattini, M. (2020).  QPath helps secure investment and accelerates the adoption of quantum applications. https://www.quantumpath.es/index.php/2020/11/16/qpath_help_investment/