INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 5 Sistemas Reativos Definição Sistemas Reativos Exemplos Máquinas de Estados 1
Programa Capítulo 5 Sistemas Reativos Definição Sistemas Reativos Exemplos Máquinas de Estados Motivação Alguns sistemas computadorizados possuem componentes autônomos, que podem gerar estímulos de maneira imprevisível; Apesar da sua natureza imprevisível, o sistema deve responder de modo adequado, e dentro de intervalos de tempo pré-estabelecidos, à ocorrência destes eventos; A resposta do sistema a um estímulo externo é geralmente dependente do seu estado; isto é, a resposta depende não somente do estímulo em si, mas também do que ocorreu previamente no sistema; Uma boa maneira de descrever o comportamento de tais sistemas é através do uso de Diagrama de Estados. 2
Sistemas de Controle (1) Um dispositivo, ou conjunto de dispositivos, que comanda o comportamento de outros dispositivos. Sistemas de Controle (2) Utilizam as informações obtidas dos elementos sensores para controlar as ações dos elementos atuadores; Recebem as informações lidas dos sensores para saber o atual estado do processo; Executam cálculos e regras pré-definidas leis de controle e enviam os resultados para os atuadores; Modificam o estado do processo para que se atinja um ponto de operação próximo do desejado. 3
Sensores Responsáveis pela leitura do estado em que o processo se encontra; Medem grandezas mecânicas, físicas e químicas; Enviam para o controlador a atual situação do processo para que este possa tomar as medidas necessárias. Sensor de Cores Atuadores Elementos ativos que atuam sobre uma grandeza física do processo; Atendem a comandos manuais e automáticos; Exemplos: cilindros pneumáticos, cilindros hidráulicos, motores, válvulas e aquecedores elétricos. Atuadores Lineares 4
Atuadores Motor de Passo Injetor de Combustível Programa Capítulo 5 Sistemas Reativos Definição Sistemas Reativos Exemplos Máquinas de Estados 5
Avionics Avionics 6
Sistema de Injeção Eletrônica Programa Capítulo 5 Sistemas Reativos Definição Sistemas Reativos Exemplos Máquinas de Estados 7
Máquina de Estados Uma Máquina de Estados é a descrição de um comportamento. Ela descreve a seqüência de estados que um objeto assume ao longo do seu ciclo de vida. Estado Um estado é uma condição, ou uma situação, durante a qual um objeto satisfaz certas condições, executa determinadas atividades, ou espera pela ocorrência de um evento. Estado 8
Transição (1) Uma transição é uma relação entre dois estados; Ela indica que um objeto no primeiro estado (estado de origem) irá executar certas ações e entrar no segundo estado (estado de destino) quando um evento específico ocorrer. Transição (2) Transição 9
Evento (1) Um evento é a especificação de uma ocorrência significante que tem uma localização bem definida no tempo e no espaço; No contexto de uma Máquina de Estados, um evento é a ocorrência de um estímulo que pode disparar uma transição de estados. Evento (2) Evento 10
Condição de Guarda (1) Em algumas situações uma transição só é disparada se certas condições forem satisfeitas. Tais condições são chamadas de condições de guarda Condição de Guarda (2) Condição de Guarda 11
Ação (1) Uma ação é uma computação atômica que resulta na mudança de estado de um objeto ou no retorno de um valor (resultado). Ação (2) Ação 12
Causa e Efeito (1) Um dos sacrossantos princípios da Física, junto com o da conservação da energia, é o princípio da causalidade: a causa sempre precede o efeito. Marcelo Gleiser em Mundos Invisíveis Causa e Efeito (2) O evento é a causa da mudança de estado; A ação é um dos efeitos da mudança de estado; Dessa forma, tome bastante cuidado para definir corretamente o que é a causa e o que é o efeito. 13
Estado Inicial O estado inicial é um pseudo-estado que define a configuração de uma máquina de estados, ou de um subestado, logo após a sua criação; Só pode haver um único estado inicial em uma máquina de estados, ou em um sub-estado. Estado Inicial Estado Final (1) O estado final indica que a execução de uma máquina de estados, ou de um sub-estado que a contém, foi concluída; A existência de um estado final não é obrigatória; Pode existir mais de um estado final em uma máquina de estados; Entrar no estado final não significa que o sistema deixou de funcionar. 14
Estado Final (2) Estado Final Ação de Entrada (1) Uma ação de entrada é definida através da cláusula entry; Ela representa uma computação atômica que é realizada todas as vezes que uma máquina entra em um estado, independente do estado de origem. 15
Ação de Entrada (2) Uma ação de entrada pode ser usada para substituir uma ação que esteja presente em todas as transições que chegam a um determinado estado. Ação de Saída (1) Uma ação de saída é definida através da cláusula exit; Ela representa uma computação atômica que é realizada todas as vezes que uma máquina sai de um estado, independente do estado de destino. 16
Ação de Saída (2) Uma ação de saída pode ser usada para substituir uma ação que esteja presente em todas as transições que saem de um determinado estado Atividade Uma atividade é definida através da cláusula do; Ela representa uma computação que é executada enquanto uma máquina estiver em um determinado estado; Ao contrário de uma ação, que é considerada instantânea, uma atividade é executada dentro de um intervalo de tempo. 17
Transição Interna Uma transição interna é uma transição que não dispara uma mudança de estado; Ela permite tratar a ocorrência de um evento sem que as ações de entrada e saída sejam executadas. 18