<div class="page">
<div class="cover text-center">
<img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo">
# Diagrames de seqüència
<div class="text-end fit-content ms-auto my-3 mt-auto pt-3">
<p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p>
<p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p>
<p><strong>Curs:</strong> 2024/2025</p>
</div>
<div>
<p class="fw-bold mb-0">Llicència: BY-NC-SA</p>
<p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p>
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank">
<img class="mx-auto" src="/itb/images/license.png" alt="Licence"/>
</a>
</div><!--license-->
</div><!--cover-->
</div><!--page-->
{:toc}
## Introducció
Els __diagrames de seqüència__ són un tipus de __diagrames de comportament UML__.
{height=600}{.center}
Els diagrames de seqüència s'utilitzen per modelar __la seqüència temporal__ de les interaccions
dels dirents actors i parts del sistema (objectes).
Els diagrames de seqüència es representen normalment amb una línia de temps vertical,
amb cada element del sistema representat com un quadre o rectangle.
Les caixes estan connectades per fletxes que indiquen el flux d'informació o control
entre diferents objectes.
Els quadres també poden incloure informació addicional com ara el nom del objecte,
la seva classe o la signatura del seu mètode.
## Elements del diagrama de seqüència
### Objectes
Els objectes són les diferents parts o components del sistema que interactuen entre si.
Cada objecte es representa com un rectangle amb el nom de l'objecte a la part superior
del diagrama.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T14:53:40.854Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;hP12fAefAjtc7uq_qmfN\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; value=\&quot;Objecte 1\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;160\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;50\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 1.1: Representació d'un objecte</figcaption>
### Actors
Els actors són les persones o sistemes externs que interactuen amb el sistema.
Els actors es representen com una figura humana amb el nom de l'actor a la part superior.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T14:52:27.510Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;MONngZHniseDxR-CY8b8\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; value=\&quot;Actor\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};participant=umlActor;verticalAlign=bottom;horizontal=1;align=center;labelPosition=center;verticalLabelPosition=top;\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;80\&quot; y=\&quot;40\&quot; width=\&quot;20\&quot; height=\&quot;50\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 2.1: Representació d'un actor</figcaption>
### Línies de vida
Les línies de vida són les línies verticals que representen el temps.
Cada objecte o actor té la seva pròpia línia de vida, on aniran representant-se
les diferents interaccions.
Les línies de vida es representen com una línia vertical amb el nom de l'objecte o actor
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T14:29:15.597Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;Cjdw51MG8an_L4vjikSj\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1195\&quot; dy=\&quot;615\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; value=\&quot;Objecte 1\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;160\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;200\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; value=\&quot;Actor\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};participant=umlActor;verticalAlign=bottom;horizontal=1;align=center;labelPosition=center;verticalLabelPosition=top;\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;80\&quot; y=\&quot;40\&quot; width=\&quot;20\&quot; height=\&quot;200\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 3.1: Representació de les línia de vida d'un actor i d'un objecte</figcaption>
### Missatges
Els missatges són les fletxes que connecten els diferents objectes i actors i que representen
una interacció i flux d'informació entre ells.
Els missatges poden ser de diferents tipus:
- __Síncrons__: El missatge s'envia de manera síncrona (el remitent espera una resposta).
Es representa amb una fletxa sòlida.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T14:55:44.704Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;938ByFXOCjCnQnObGU6I\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;qAMTP-JClASPQzwKjELb-1\&quot; value=\&quot;Missatge síncron\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry width=\&quot;80\&quot; relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;380\&quot; y=\&quot;180\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;580\&quot; y=\&quot;180\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 2.4.1: Missatge síncron</figcaption>
- __Resposta__: El missatge és una resposta a un missatge anterior.
Es representa amb una fletxa discontínua.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T14:57:34.232Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;NuZd21BZSu_1Wi-ZFVCy\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;qAMTP-JClASPQzwKjELb-2\&quot; value=\&quot;Missatge de resposta\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;560\&quot; y=\&quot;160\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;360\&quot; y=\&quot;160\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 2.4.2: Missatge de resposta</figcaption>
- __Asíncrons__: El missatge s'envia de manera asíncrona (el remitent no espera una resposta).
Es representa amb una fletxa puntejada.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T14:59:01.660Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;y31pgGvqs6Yhn3_QE_tG\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;qAMTP-JClASPQzwKjELb-1\&quot; value=\&quot;Missatge asíncron\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;curved=0;rounded=0;endFill=0;endSize=12;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry width=\&quot;80\&quot; relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;380\&quot; y=\&quot;180\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;580\&quot; y=\&quot;180\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 2.4.3: Missatge asíncron</figcaption>
### Barres d'activació
Les barres d'activació són les barres horitzontals que indiquen el temps que un objecte
està actiu en una interacció. Normalment un objecte està actiu des del primer missatge
que envia o reb, fins l'últim.
Es representen amb un rectangle que es dibuixa sobre la línia de vida de l'objecte.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T15:06:30.154Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;u1B6VNXpGCiwIpvbOKK9\&quot; version=\&quot;24.0.0\&quot; type=\&quot;google\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; value=\&quot;Objecte 1\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;240\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;160\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;55\&quot; y=\&quot;80\&quot; width=\&quot;10\&quot; height=\&quot;60\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-7\&quot; value=\&quot;Missatge 1\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=horizontal;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;95\&quot; y=\&quot;120\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;180\&quot; y=\&quot;120\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; value=\&quot;\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};participant=umlActor;\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;80\&quot; y=\&quot;40\&quot; width=\&quot;20\&quot; height=\&quot;160\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; vertex=\&quot;1\&quot; parent=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot;&gt;\n &lt;mxGeometry x=\&quot;5\&quot; y=\&quot;80\&quot; width=\&quot;10\&quot; height=\&quot;60\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-4\&quot; value=\&quot;Objecte 2\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;440\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;160\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;Sdb-hj05ttBLRFs4y2Tk-4\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;55\&quot; y=\&quot;90\&quot; width=\&quot;10\&quot; height=\&quot;40\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-10\&quot; value=\&quot;Missatge 2\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; target=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;323\&quot; y=\&quot;140\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;340\&quot; y=\&quot;130\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;413\&quot; y=\&quot;140\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;490\&quot; y=\&quot;140\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-11\&quot; value=\&quot;Missatge 3\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;305\&quot; y=\&quot;240\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;450\&quot; y=\&quot;170\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;430\&quot; y=\&quot;160\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;390\&quot; y=\&quot;160\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;190\&quot; y=\&quot;240\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;110\&quot; y=\&quot;240\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;eu7Ndj_BuhtA-A4-d7in-1\&quot; value=\&quot;Missatge 4\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot; target=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;89.5\&quot; y=\&quot;180\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;250\&quot; y=\&quot;180\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;440\&quot; y=\&quot;150\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;400\&quot; y=\&quot;150\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;200\&quot; y=\&quot;230\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;295\&quot; y=\&quot;180\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 3.1: Representació de les barres d'activació en la interacció entre un actor i dos objectes</figcaption>
### Bloc de selecció
Els blocs de selecció són els blocs que indiquen que una seqüència d'interaccions
es produirà si es compleix una condició. Es poden indicar diferents camins alternatius
amb diferents condicions.
Es representen amb un rectangle amb el text `alt` o `Alternative` i la condició.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T15:15:03.195Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;-wa2emjzjzYZuz1Znn00\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; value=\&quot;Objecte 1\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;240\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;280\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;55\&quot; y=\&quot;80\&quot; width=\&quot;10\&quot; height=\&quot;170\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-7\&quot; value=\&quot;Missatge 1\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=horizontal;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;95\&quot; y=\&quot;120\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;180\&quot; y=\&quot;120\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; value=\&quot;\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};participant=umlActor;\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;80\&quot; y=\&quot;40\&quot; width=\&quot;20\&quot; height=\&quot;280\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;5\&quot; y=\&quot;80\&quot; width=\&quot;10\&quot; height=\&quot;170\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-4\&quot; value=\&quot;Objecte 2\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;440\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;280\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;Sdb-hj05ttBLRFs4y2Tk-4\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;55\&quot; y=\&quot;90\&quot; width=\&quot;10\&quot; height=\&quot;150\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-10\&quot; value=\&quot;Missatge 2\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; target=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;323\&quot; y=\&quot;140\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;340\&quot; y=\&quot;130\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;413\&quot; y=\&quot;140\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;490\&quot; y=\&quot;140\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-11\&quot; value=\&quot;Missatge 3\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;305\&quot; y=\&quot;240\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;450\&quot; y=\&quot;170\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;430\&quot; y=\&quot;160\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;390\&quot; y=\&quot;160\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;190\&quot; y=\&quot;240\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;110\&quot; y=\&quot;240\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;eu7Ndj_BuhtA-A4-d7in-1\&quot; value=\&quot;Missatge 4\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; target=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;89.5\&quot; y=\&quot;180\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;250\&quot; y=\&quot;180\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;440\&quot; y=\&quot;150\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;400\&quot; y=\&quot;150\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;200\&quot; y=\&quot;230\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;295\&quot; y=\&quot;180\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint as=\&quot;offset\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-1\&quot; value=\&quot;Alternative\&quot; style=\&quot;shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=70;height=20;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;140\&quot; width=\&quot;540\&quot; height=\&quot;170\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-2\&quot; value=\&quot;\&quot; style=\&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;dashed=1;dashPattern=12 12;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;200\&quot; width=\&quot;550\&quot; height=\&quot;8\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-3\&quot; value=\&quot;[condició 1]\&quot; style=\&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;160\&quot; width=\&quot;80\&quot; height=\&quot;40\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-4\&quot; value=\&quot;[condició 2]\&quot; style=\&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;210\&quot; width=\&quot;80\&quot; height=\&quot;40\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-6\&quot; value=\&quot;Missatge 6\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;95\&quot; y=\&quot;240\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;245\&quot; y=\&quot;240\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;435\&quot; y=\&quot;210\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;395\&quot; y=\&quot;210\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;195\&quot; y=\&quot;290\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;295\&quot; y=\&quot;240\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint as=\&quot;offset\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-7\&quot; value=\&quot;\&quot; style=\&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;dashed=1;dashPattern=12 12;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;250\&quot; width=\&quot;550\&quot; height=\&quot;8\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-8\&quot; value=\&quot;[else]\&quot; style=\&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;260\&quot; width=\&quot;80\&quot; height=\&quot;40\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-9\&quot; value=\&quot;Missatge 5\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot; source=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;300\&quot; y=\&quot;229.5\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;445\&quot; y=\&quot;229.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;425\&quot; y=\&quot;219.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;385\&quot; y=\&quot;219.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;185\&quot; y=\&quot;299.5\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;490\&quot; y=\&quot;229.5\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-10\&quot; value=\&quot;Missatge 7\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot; source=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;300\&quot; y=\&quot;279.5\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;445\&quot; y=\&quot;279.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;425\&quot; y=\&quot;269.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;385\&quot; y=\&quot;269.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;185\&quot; y=\&quot;349.5\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;490\&quot; y=\&quot;279.5\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-11\&quot; value=\&quot;Missatge 8\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot; source=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; target=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;90\&quot; y=\&quot;289.5\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;240\&quot; y=\&quot;289.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;430\&quot; y=\&quot;259.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;390\&quot; y=\&quot;259.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;190\&quot; y=\&quot;339.5\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;290\&quot; y=\&quot;289.5\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint as=\&quot;offset\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 4.1: Representació d'un bloc de selecció amb tres possibles alternatives</figcaption>
També es poden representar blocs opcionals amb el text `opt` o `Optional`.
### Bloc de repetició
Els blocs de repetició són els blocs que indiquen que una seqüència d'interaccions
s'ha de repetir un nombre determinat de vegades o fins que es complisca una condició.
Es representen amb un rectangle amb el text `loop` i el nombre de repeticions o la condició.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T15:19:50.596Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;T4DR8Kp4KgwRLhFNIxgm\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; value=\&quot;Objecte 1\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;240\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;190\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;55\&quot; y=\&quot;80\&quot; width=\&quot;10\&quot; height=\&quot;60\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-7\&quot; value=\&quot;Missatge 1\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=horizontal;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;95\&quot; y=\&quot;120\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;180\&quot; y=\&quot;120\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; value=\&quot;\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};participant=umlActor;\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;80\&quot; y=\&quot;40\&quot; width=\&quot;20\&quot; height=\&quot;190\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;5\&quot; y=\&quot;80\&quot; width=\&quot;10\&quot; height=\&quot;60\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-4\&quot; value=\&quot;Objecte 2\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;440\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;190\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;Sdb-hj05ttBLRFs4y2Tk-4\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;55\&quot; y=\&quot;90\&quot; width=\&quot;10\&quot; height=\&quot;40\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-10\&quot; value=\&quot;Missatge 2\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; target=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;323\&quot; y=\&quot;140\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;340\&quot; y=\&quot;130\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;413\&quot; y=\&quot;140\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;490\&quot; y=\&quot;140\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-11\&quot; value=\&quot;Missatge 3\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;305\&quot; y=\&quot;240\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;450\&quot; y=\&quot;170\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;430\&quot; y=\&quot;160\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;390\&quot; y=\&quot;160\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;190\&quot; y=\&quot;240\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;110\&quot; y=\&quot;240\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;eu7Ndj_BuhtA-A4-d7in-1\&quot; value=\&quot;Missatge 4\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; target=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;89.5\&quot; y=\&quot;180\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;250\&quot; y=\&quot;180\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;440\&quot; y=\&quot;150\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;400\&quot; y=\&quot;150\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;200\&quot; y=\&quot;230\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;295\&quot; y=\&quot;180\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint as=\&quot;offset\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-1\&quot; value=\&quot;&amp;lt;b&amp;gt;Loop&amp;lt;&#x2F;b&amp;gt;\&quot; style=\&quot;shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=70;height=20;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;140\&quot; width=\&quot;540\&quot; height=\&quot;70\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-3\&quot; value=\&quot;[while condició 1]\&quot; style=\&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;160\&quot; width=\&quot;80\&quot; height=\&quot;40\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 5.1: Representació d'un bloc de repetició basat en una condició</figcaption>
### Bloc de paral·lelisme
Els blocs de paral·lelisme són els blocs que indiquen que una seqüència d'interaccions
es produirà de manera paral·lela.
Es representen amb un rectangle amb el text `par` o `Parallel`.
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;resize&quot;:true,&quot;toolbar&quot;:&quot;zoom layers tags lightbox&quot;,&quot;edit&quot;:&quot;_blank&quot;,&quot;xml&quot;:&quot;&lt;mxfile host=\&quot;app.diagrams.net\&quot; modified=\&quot;2024-03-25T15:24:31.975Z\&quot; agent=\&quot;Mozilla&#x2F;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit&#x2F;537.36 (KHTML, like Gecko) Chrome&#x2F;123.0.0.0 Safari&#x2F;537.36\&quot; etag=\&quot;FwvNcsghAYMfsV8XBzWV\&quot; version=\&quot;24.0.0\&quot; type=\&quot;device\&quot;&gt;\n &lt;diagram name=\&quot;Page-1\&quot; id=\&quot;2YBvvXClWsGukQMizWep\&quot;&gt;\n &lt;mxGraphModel dx=\&quot;1434\&quot; dy=\&quot;738\&quot; grid=\&quot;1\&quot; gridSize=\&quot;10\&quot; guides=\&quot;1\&quot; tooltips=\&quot;1\&quot; connect=\&quot;1\&quot; arrows=\&quot;1\&quot; fold=\&quot;1\&quot; page=\&quot;1\&quot; pageScale=\&quot;1\&quot; pageWidth=\&quot;850\&quot; pageHeight=\&quot;1100\&quot; math=\&quot;0\&quot; shadow=\&quot;0\&quot;&gt;\n &lt;root&gt;\n &lt;mxCell id=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;1\&quot; parent=\&quot;0\&quot; &#x2F;&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; value=\&quot;Objecte 1\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;240\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;210\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;aM9ryv3xv72pqoxQDRHE-5\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;55\&quot; y=\&quot;80\&quot; width=\&quot;10\&quot; height=\&quot;90\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;aM9ryv3xv72pqoxQDRHE-7\&quot; value=\&quot;Missatge 1\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=horizontal;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; source=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; target=\&quot;aM9ryv3xv72pqoxQDRHE-6\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;95\&quot; y=\&quot;120\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;180\&quot; y=\&quot;120\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; value=\&quot;\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};participant=umlActor;\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;80\&quot; y=\&quot;40\&quot; width=\&quot;20\&quot; height=\&quot;210\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;Sdb-hj05ttBLRFs4y2Tk-3\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;5\&quot; y=\&quot;80\&quot; width=\&quot;10\&quot; height=\&quot;110\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-4\&quot; value=\&quot;Objecte 2\&quot; style=\&quot;shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;1\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;440\&quot; y=\&quot;40\&quot; width=\&quot;120\&quot; height=\&quot;210\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; value=\&quot;\&quot; style=\&quot;html=1;points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&amp;quot;edgeStyle&amp;quot;:&amp;quot;elbowEdgeStyle&amp;quot;,&amp;quot;elbow&amp;quot;:&amp;quot;vertical&amp;quot;,&amp;quot;curved&amp;quot;:0,&amp;quot;rounded&amp;quot;:0};\&quot; parent=\&quot;Sdb-hj05ttBLRFs4y2Tk-4\&quot; vertex=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;55\&quot; y=\&quot;130\&quot; width=\&quot;10\&quot; height=\&quot;60\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;Sdb-hj05ttBLRFs4y2Tk-10\&quot; value=\&quot;Missatge 2\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=block;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; parent=\&quot;1\&quot; edge=\&quot;1\&quot;&gt;\n &lt;mxGeometry x=\&quot;0.375\&quot; relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;95\&quot; y=\&quot;170\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;340\&quot; y=\&quot;170\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;413\&quot; y=\&quot;180\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;495\&quot; y=\&quot;170\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;mxPoint as=\&quot;offset\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-1\&quot; value=\&quot;&amp;lt;b&amp;gt;Parallel&amp;lt;&#x2F;b&amp;gt;\&quot; style=\&quot;shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=70;height=20;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;90\&quot; width=\&quot;540\&quot; height=\&quot;90\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-6\&quot; value=\&quot;Missatge 3\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;95\&quot; y=\&quot;210\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;245\&quot; y=\&quot;210\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;435\&quot; y=\&quot;180\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;395\&quot; y=\&quot;180\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;195\&quot; y=\&quot;260\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;295\&quot; y=\&quot;210\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint as=\&quot;offset\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-7\&quot; value=\&quot;\&quot; style=\&quot;line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;dashed=1;dashPattern=12 12;\&quot; vertex=\&quot;1\&quot; parent=\&quot;1\&quot;&gt;\n &lt;mxGeometry y=\&quot;140\&quot; width=\&quot;550\&quot; height=\&quot;8\&quot; as=\&quot;geometry\&quot; &#x2F;&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;mxCell id=\&quot;DbhwEI8M_S4MQkj1gcN5-9\&quot; value=\&quot;Missatge 4\&quot; style=\&quot;html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;\&quot; edge=\&quot;1\&quot; parent=\&quot;1\&quot; source=\&quot;Sdb-hj05ttBLRFs4y2Tk-5\&quot; target=\&quot;eu7Ndj_BuhtA-A4-d7in-2\&quot;&gt;\n &lt;mxGeometry x=\&quot;-0.375\&quot; y=\&quot;1\&quot; relative=\&quot;1\&quot; as=\&quot;geometry\&quot;&gt;\n &lt;mxPoint x=\&quot;300\&quot; y=\&quot;229.5\&quot; as=\&quot;targetPoint\&quot; &#x2F;&gt;\n &lt;Array as=\&quot;points\&quot;&gt;\n &lt;mxPoint x=\&quot;445\&quot; y=\&quot;229.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;425\&quot; y=\&quot;219.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;385\&quot; y=\&quot;219.5\&quot; &#x2F;&gt;\n &lt;mxPoint x=\&quot;185\&quot; y=\&quot;299.5\&quot; &#x2F;&gt;\n &lt;&#x2F;Array&gt;\n &lt;mxPoint x=\&quot;490\&quot; y=\&quot;229.5\&quot; as=\&quot;sourcePoint\&quot; &#x2F;&gt;\n &lt;mxPoint as=\&quot;offset\&quot; &#x2F;&gt;\n &lt;&#x2F;mxGeometry&gt;\n &lt;&#x2F;mxCell&gt;\n &lt;&#x2F;root&gt;\n &lt;&#x2F;mxGraphModel&gt;\n &lt;&#x2F;diagram&gt;\n&lt;&#x2F;mxfile&gt;\n\n&quot;}"></div><script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js"></script>
<figcaption>Figura 6.1: Representació d'un bloc de paral·lelisme</figcaption>
## Recursos i bibliografia
- UML Sequence Diagram Tutorial per Lucid Software: https://www.youtube.com/watch?v=pCK6prSq8aw
- https://www.uml-diagrams.org/sequence-diagrams.html
- https://ioc.xtec.cat/materials/FP/Recursos/fp_dam_m05_/web/fp_dam_m05_htmlindex/WebContent/u3/a1/continguts.html
- https://ioc.xtec.cat/materials/FP/Recursos/fp_dam_m05_/web/fp_dam_m05_htmlindex/WebContent/u3/a2/continguts.html