Sucesos y Acciones
Los sucesos y acciones son los detalles que podemos colocar en las líneas de transición entre estados dentro de nuestro UML, donde el suceso es lo que desencadena o provoca una transición y la acción es la actividad que se ejecuta, es decir, el computo que realiza el sistema y que hace que se modifique el estado.
A pesar de lo explicado anteriormente no siempre aplican esas condiciones, ya que pueden haber estados que no desencadenen acciones o transiciones que se generan debido a que otro estado ha finalizado.
Veamos a continuación un gráfico donde tenemos una representación de un diagrama de estados de una interfaz gráfica de usuario (GUI por sus siglas en ingles), con este ejemplo vamos a poder explicar un poco en términos prácticos los conceptos ya enumerados anteriormente.
Empezamos con el encendido de la PC, esto hace que se desencadene un proceso de arranque, es decir, se desencadena un suceso que hace que se presente la interfaz de usuario, es decir, pasa por la transición desde la inicialización, en el caso del arranque es la acción que se ejecuta durante dicha transición.
Hasta ahora todo lo que hemos venido hablando va tomando sentido, el resultado de los estados anteriores hacen que se pase al modo de operación del PC, al momento que el usuario ha finalizado el uso del equipo y decide apagar el sistema se desencadena una transición por el suceso que hace que se lleve el flujo al momento del apagado, una vez llegado a ese estado la PC es apagada y finaliza el ciclo.
Condiciones de Seguridad
Estas son las condiciones que podemos aplicar a nuestro UML, por ejemplo si seguimos el diagrama anterior, podemos detectar un problema, que sucede si no hay interacción por un tiempo prolongado en el modo de operación del PC, en sistemas operativos comerciales, se suele mostrar un protector de pantalla de forma que el equipo ahorre energía y el monitor no se desgaste, esto es la condición de seguridad y luego si el usuario mueve el ratón o presiona una tecla se sale de esta condición de seguridad y se sigue con los otros estados.
En el siguiente gráfico podemos visualizar lo que hemos venido explicando:
Vemos como la condición de seguridad está en paralelo con el estado de operación y con unas líneas que van en ambas direcciones indicamos los detalles que harán que el flujo del diagrama vaya en uno u otro sentido.
Finalizando este tutorial hemos aprendido que podemos indicar más detalles en los diagramas de estados del objeto del sistema y gracias al ejemplo de GUI pudimos expandir este tema y aplicarlo a lo que necesitábamos.