Resumo Sistemas e Sinais Composição de Máquinas de Estados (1) lco@ist.utl.pt Sincronia Composição lado-a-lado Composição em cascata Entradas e saídas na forma de produto Composição hierárquica Instituto Superior Técnico Sistemas e Sinais p.1/19 Sistemas e Sinais p.2/19 Esta Aula Composição de Máquinas de Estados O significa um sistema ser síncrono-reactivo? Como se determina o alfabeto de saída de uma composição lado-a-lado? Como se determina o diagrama de estados da máquina resultante da composição em cascata de duas máquinas? O que é um estado acessível? O que é um porto? Sistemas complexos podem ser decompostos num conjunto de componentes mais simples. Sendo os sistemas funções, podemos usar o operador de composição ( ) na associação em cascata. Mas as máquinas de estados não se exprimem directamente como funções... Como compô-las? Sistemas e Sinais p.3/19 Sistemas e Sinais p.4/19
Sincronia Composição Lado-a-Lado Vamos escolher um tipo particular de ligação de máquinas de estados denominado de sincronia. Neste modelo, todas as máquinas pertencentes à composição reagem simultaneamente e instantaneamente. A reacção das máquinas é apenas consequência de alteração nas suas entradas sistemas reactivos. Aos sistemas que gozam destas duas características denominamos como sistemas síncronos/reactivos. Sistemas e Sinais p.5/19 Sistemas e Sinais p.6/19 Composição Lado-a-Lado Exemplo Definição da máquina composta: Estados=Estados A Estados B Entradas=Entradas A Entradas B Saidas=Saidas A Saidas B estado0=(estado0 A, estado0 B ) actualiza((s A, s B ), (x A, x B ))=((s A, s B ), (y A, y B )) em que 1 0/a 1/b 1/a (s A, y A )=actualiza A (s A, x A ) e (s B, y B )=actualiza B (s B, x B ) 2 0/b 1 0/c (a) (b) Sistemas e Sinais p.7/19 Sistemas e Sinais p.8/19
A saída da máquina A é a entrada da máquina B. As máquinas são executadas simultaneamente. Cada máquina tem a sua entrada, o seu estado e saída. O efeito da entrada propaga-se instantaneamente através da cascata: sincronia. A cascata comporta-se como uma única máquina. Sistemas e Sinais p.9/19 Sistemas e Sinais p.10/19 Entradas=Entradas A Saidas=Saidas B Estados=Estados A Estados B estado0=(estado0 A, estado0 B ) actualiza((s A, s B ), x A )=((s A, s B ), y B) em que (s A, y A )=actualiza A (s A, x A ) e (s B, y B )=actualiza B (s B, y A ) Para a composição ser possível: Saidas A Entradas B Sistemas e Sinais p.11/19 Sistemas e Sinais p.12/19
Exemplo Diagrama de Estados Considere a cascata das máquinas A e B em que a saída de A é ligada à entrada de B. Determine a resposta à sequência de entrada: x=1, 0, 0 (a) 0 0/1 1 (b) 0 1 1/1 2 1/1 Desenhar um círculo para cada estado s Estados A Estados B Para cada estado considerar cada entrada possível da máquina A: 1. procurar o próximo estado s A e a saída y A 2. procurar o próximo estado correspondente s B e a saída y B 3. desenhar um arco para (s A (n+1), s B (n+1)) 4. etiquetar o novo arco com x A /y B. Sistemas e Sinais p.13/19 Sistemas e Sinais p.14/19 Solução Acessibilidade de um Estado 12 00 0/1 02 0/1 11 Um estado é acessível se existir uma sequência de entrada que leve a máquina do estado inicial até esse estado. O estado 2 da máquina B é acessível quando esta funciona sozinha. Esse estado fica não-acessível quando a máquina B é ligada à saída da máquina A. 10 01 Sistemas e Sinais p.15/19 Sistemas e Sinais p.16/19
Ligações Mais Complexas Forma de produto X A X B Máquina A Máquina B Pode ser importante agrupar as entradas e as saídas em portos. Y A Y B Cada arco a entrar ou a sair de um bloco, denomina-se de porto. Cada porto tem um conjunto de valores possíveis chamado de alfabeto do porto. Cada alfabeto do porto inclui o elemento nulo (stuttering). As entradas e as saídas podem ser representadas na forma de produtos cartesianos: Entradas Saidas = Entradas A Entradas B = Saidas A Saidas B Sistemas e Sinais p.17/19 Sistemas e Sinais p.18/19 Composição Hierárquica Usando os mesmos princípios, podemos compor mais do que um par de máquinas: Máquina A Máquina B Máquina C A composição hierárquica consiste em compor a máquina A com B e depois compor a máquina resultante com a máquina C. Sistemas e Sinais p.19/19