O comportamento do sistema pode ser especificado em um diagrama de estados UML, como mostrado na figura abaixo. O estado inicial é indicado pelo círculo e o estado final é indicado pelo círculo delineado. Cada retângulo arredondado representa um estado do sistema, e as setas representam transições entre os estados. As condições em colchetes indicam condições de guardas que restringem quando pode ocorrer transições de estado.
Este gráfico de estado indica que o sistema começa exibindo o estado “lander”. Se a simulação é feita, o simulador irá parar. Caso contrário, o sistema irá solicitar uma velocidade de combustão a partir do utilizador. Aqui, o usuário pode optar por terminar o programa no início. Caso contrário, se a velocidade de combustão é válida, o programa irá calcular o novo estado simulador e exibi-lo. Este loop de controle irá repetir até que a simulação seja concluída.
Embora este diagrama de estados forneça uma descrição mais rigorosa e formal, ele deixa de fora alguns detalhes como quais componentes executam as ações especificadas. Esta informação pode ser captada num outro diagrama UML, tal como um diagrama de sequência UML.