3.5. Modelando uma condição de guarda
Normalmente, um evento é recebido e respondido de forma incondicional. Às vezes, porém, o recebimento do evento é condicional. Por exemplo, quando uma ordem de compra de bilhete é inserida no sistema de cinema, ela é considerada provisória até que o pagamento tenha sido recebido.
Muitos sistemas incluem esse tipo de teste para permitir que o cliente pague com mais de um tipo de forma de pagamento, por exemplo, que ele pague metade em dinheiro e metade no cartão de crédito.
A condição de guarda é modelada colocando a expressão lógica dentro de colchetes logo após o nome do evento. Veja, por exemplo, o diagrama abaixo onde a compra só é considerada concluída quando o total pago for igual ao valor total da compra: