  None of the quantum computing applications imagined will ever become a
reality without quantum software. Quantum programmes have, to date, been coded
with ad hoc techniques. Researchers in the field of quantum software
engineering are, therefore, now demanding more systematic techniques and
methods with which to produce software with sufficient quality. One of the
challenges and lessons learned from classic software engineering is the need
for high-level, abstract and technology-independent representations with which
to design software before it is coded. This paper specifically addresses this
challenge for quantum software design. Since UML is a well-proven modelling
language that has been widely employed by industry for some time, we propose a
UML extension for the representation of quantum algorithms. Our proposal
comprises the definition of a UML profile based on various stereotypes that can
be applied to the existing UML activity diagrams in order to represent quantum
circuits. The advantage of this representation is that UML quantum circuits can
be interrelated with other UML elements and diagrams, which will make it
possible to represent various concerns and viewpoints of the so-called hybrid
information systems. This will consequently enable classical and quantum
aspects to be modelled together in integrated designs in a
technological-agnostic manner that is already supported by a considerable
number of existing software design tools.
