Você está na página 1de 49

MÁQUINAS DE ESTADOS FINITOS

Conceitos – Propriedades – Modelagem e Simulação


Lindolpho Oliveira de Araújo Junior (2022)
AULA DO DIA 09/05/2022
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Uma máquina de estados finitos é uma modelagem de um
comportamento de um sistema dinâmico a eventos discretos (SED),
composto por estados, transições e ações

• Um estado armazena informações sobre o passado/presente


(condição)

• Uma transição indica uma mudança de estado e é descrita por uma


condição que precisa ser realizada para que a transição ocorra

• Uma ação é a descrição de uma atividade que deve ser realizada


em determinado momento
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Estado, Transição ação
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Uma máquina de estados é um sistema sequencial

• O conjunto de estados é finito

• As entradas e saídas são consideradas em instantes de


tempo discretos que são definidos por pulsos de um sinal de
sincronização chamado relógio (clock)
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Representação de máquinas de estados

1. Tabela de Transição

EA – Estado Atual
PE – Próximo Estado
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Representação de máquinas de estados

2. Diagrama de Estados
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Representação de máquinas de estados

Exemplo 1
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Representação de máquinas de estados

Exemplo 1
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Representação de máquinas de estados

Exemplo 2

Considere um sistema sequencial descrito abaixo:

Eventos de Entrada : x(t) ∋ {a, b, c}


Eventos de Saída : z(t) ∋ {0, 1}
Conjunto de Estados : s(t) ∋ {S0 , S1 , S2 , S3 }
Estado Inicial : s(0) = S0
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Representação de máquinas de estados

Exemplo 2 - As funções de transição e de saída são:


Tabela de Transição de Estados

EA – Estado Atual
PE – Próximo Estado
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Representação de máquinas de estados
Diagrama de Estados
Diagrama de Estados - Exemplo 2
Tabela de Transição de Estados
MODELO GRÁFICO DA MEF

X0 Estado inicial da MEF

a Transição de estado

a Rótulo da transição (label ou etiqueta)

Xn Estado ‘n’ da MEF


MODELO MATEMÁTICO DA MEF

M = MEF

• “M” é uma quádrupla M = (E, E0, T, Σ), onde:


• E: é o conjunto de estados do sistema
• E0: é o estado inicial do sistema
• T: é a função de transição global do sistema
• Σ: é o alfabeto de eventos do sistema
MEF – REPRESENTAÇÃO DE SISTEMAS

• Sistemas sequenciais puros

• Sistemas pseudo-paralelos

• Modelagem por estados globais


MEF – REPRESENTAÇÃO DE SISTEMAS
• Etapas para modelagem:

1. Identificar os eventos que atuam no sistema (alfabeto)


2. Determinar o alfabeto de entrada e alfabeto de saída
3. Identificar e enumerar dos estados globais do sistema
4. Identificar as funções parciais de transição de estados
5. Construir o modelo gráfico da MEF para o sistema
6. Associar as ações aos estados do modelo
MEF – EXEMPLOS
• Fluxos
MEF – EXEMPLOS

Abertura e fechamento
de uma porta automática
MEF – EXEMPLOS
• Controle simples de um elevador
AULA DO DIA 11/05/2022
MÁQUINAS DE ESTADOS FINITOS (MEF)
As máquinas de estados são classificados de acordo com o tipo de função de saída,
em dois tipos:

1. Máquina de Mealy;
2. Máquina de Moore.

A máquina de Mealy é um sistema sequencial cuja saída no tempo (t) depende do


estado e da entrada no tempo (t), ou seja:

z(t) = H(s(t), x(t))

A máquina de Moore é um sistema sequencial cuja saída no tempo (t) depende


somente do estado no tempo (t), ou seja:

z(t) = H(s(t))
MÁQUINAS DE ESTADOS FINITOS (MEF)
Exemplo 1
Máquina de Mealy
z(t) = H(s(t), x(t))
MÁQUINAS DE ESTADOS FINITOS (MEF)
Máquina de Moore
Exemplo 2 z(t) = H(s(t))
Diagrama de Estados

Tabela de Transição de Estados


MÁQUINAS DE ESTADOS FINITOS (MEF)
Passos para criação de modelos por MEF:

1. Enumerar os estados globais do sistema

2. Identificar o estado inicial do sistema

3. Enumerar o alfabeto de eventos de entrada do sistema

4. Enumerar o alfabeto de eventos de saída do sistema

5. Enumerar as ações desenvolvidas em cada estado global do sistema

6. Representar matematicamente o sistema por uma quádrupla:

MEF = (X,x0,Σ,f)

7. Construir a representação gráfica da MEF


MÁQUINAS DE ESTADOS FINITOS (MEF)
• Exemplo carro sobre trilhos

O sistema representado é sequencial, por quê?


MÁQUINAS DE ESTADOS FINITOS (MEF)
• Exemplo carro sobre trilhos (sistema sequencial)

• Espaço de Estados Globais

X = {Repouso, Deslocando para direita, Deslocando para esquerda}

X0 = Repouso
X1 = Deslocando para direita
X2 = Deslocando para esquerda
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Exemplo carro sobre trilhos (sistema sequencial)

• Estado Inicial. Qual deles? Por quê?

X0 = Repouso
X1 = Deslocando para direita
X2 = Deslocando para esquerda
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Exemplo carro sobre trilhos (sistema sequencial)

• Alfabeto de eventos de entrada do sistema.

Σ = {a, b, ordem de marcha}


MÁQUINAS DE ESTADOS FINITOS (MEF)
• Exemplo carro sobre trilhos (sistema sequencial)

• Função de transição global do sistema (f).

f = { f1, f2, f3, f4, ... , fn)

conjunto das funções parciais de transição do sistema.


MÁQUINAS DE ESTADOS FINITOS (MEF)
• Exemplo carro sobre trilhos (sistema sequencial)

• Ações que caracterizam os estados globais do sistema.

Acionar motor sentido direita (de ‘a’ para ‘b’)

Acionar motor sentido esquerda (de ‘b’ para ‘a’)

Desligar motor
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Exemplo carro sobre trilhos (sistema sequencial)
• Modelo gráfico.
a.m.b’ X1
Estado Ação
X0 b
X0 Motor desligado
X1 Motor direita
X2 Motor esquerda
a X2
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Exemplo carro sobre trilhos (sistema sequencial)
• Modelo gráfico.
a.m.b’ X1
Funções de transição parciais

X0 b F1 = (X0, a.m.b’) → X1
F2 = (X1, b) → X2
F3 = (X2, a) → X0
a X2
MÁQUINAS DE ESTADOS FINITOS (MEF)

Dois carros sobre trilhos

O sistema representado é
sequencial, por quê?
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Dois carros sobre trilhos (sistema sequencial)

• Espaço de Estados Globais

X = {X0, X1, X2, X3, X4, X5, X6, X7}

X0 = Repouso
X1 = C1 e C2 deslocando para direita
X2 = C1 aguardando em B e C2 deslocando para direita
X3 = C2 aguardando em D e C1 deslocando para direita
X4 = C1 em B e C2 em D
X5 = C1 e C2 deslocando para a esquerda
X6 = C1 parado em A e C2 deslocando para a esquerda
X7 = C2 parado em C e C1 deslocando para a esquerda
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Dois carros sobre trilhos (sistema sequencial)

• Estado Inicial. Qual deles? Por quê?

X0 = Repouso
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Dois carros sobre trilhos (sistema sequencial)

• Alfabeto de eventos de entrada do sistema.

Σi = {a, b, c, d, M}, onde M = ordem de marcha

• Alfabeto de eventos de saída do sistema.

Σo = {M1, M2, M3, M4}


MÁQUINAS DE ESTADOS FINITOS (MEF)
• Dois carros sobre trilhos (sistema sequencial)
• Função de transição global do sistema (f).

f = { f1, f2, f3, f4, ... , fn)

conjunto das funções parciais de transição do sistema.


MÁQUINAS DE ESTADOS FINITOS (MEF)
• Dois carros sobre trilhos (sistema sequencial)

• Modelo gráfico.

X2 b.d X6 X0
b.d’ a.c’
a.c.b’.d’.m a.c
b.d True a.c
X0 X1 X4 X5 X0

b’.d X3 b.d a’.c X7 X0


a.c
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Dois carros sobre trilhos (sistema sequencial)
Funções de transição parciais
F1 = (X0, a.c.b’.d’.m) → X1
F2 = (X1, b.d’) → X2
F3 = (X1, b’.d) → X3
F4 = (X2, b.d) → X4
F5 = (X3, b.d) → X4
F6 = (X4, True) → X5
F7 = (X5, a.c’) → X6
F8 = (X5, a’.c) → X7
F9 = (X6, a.c) → X0
F10 = (X7, a.c) → X0
F11 = (X1, b.d) → X4
F12 = (X5, a.c) → X0
AULA DO DIA 16/05/2022
MÁQUINAS DE ESTADOS FINITOS (MEF)
CARRO COM SELEÇÃO DE TRAJETO
Um sistema de carro para transporte de peças deve servir dois grupos de operários em
diferentes posições (B e C), conforme ilustrado na figura. Se um operário localizado em
B pressionar a botoeira P1, o carro deve efetuar o trajeto ABA. Se um operário
localizado em C pressionar a botoeira P2, o carro deve efetuar o trajeto ACA. Os
comandos só serão aceitos se o carro estiver na posição de repouso (A). O
acionamento do carro é feito por M1 para a esquerda e M2 para a direita. O atuador
V1 controla o destino do carro, sendo que quando V1=0, implica que o carro vai para
C, e V1=1 implica que o carro vai para B.
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Estados do sistema - (X)
• Estado inicial - (X0)
• Conjunto de funções parciais de transição - (f)
• Alfabeto de eventos (entrada e de saída) - (Σ)
• Ações que caracterizam os estados
• Grafo de estados - (MEF)
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Estados do sistema (globais)
• X0 = Repouso (M desligado)
• X1 = C deslocando direita (AB) (M tracionando direita, V=1)
• X2 = C deslocando esquerda (BA) (M tracionando esquerda,
V=1)
• X3 = C deslocando direita (AC) (M tracionando direita, V=0)
• X4 = C deslocando esquerda (CA) (M tracionando esquerda,
V=0)
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Estado inicial (X0)
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Grafo de estados
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Conjunto de funções parciais de transição

• F1 = (X0, P1.A) → X1
• F2 = (X1, B) → X2
• F3 = (X2, A) → X0
• F4 = (X0, P2.A) → X3
• F5 = (X3, C) → X4
• F6 = (X4, A) → X0

• F = {F1, F2, F3, F4, F5, F6} Transição global do sistema
MÁQUINAS DE ESTADOS FINITOS (MEF)
• Alfabeto de eventos (entrada e de saída)

• Alfabeto de eventos de entrada (A, A’,B, B’, C, C’, P1, P1’,


P2, P2’)

• Alfabeto de eventos de saída (MP, MD, ME, V10, V11)


MÁQUINAS DE ESTADOS FINITOS (MEF)
• Ações que caracterizam os estados
A = (Carro parado, carro direita, carro esquerda, V1 = 0, V1 =
1)
MÁQUINAS DE ESTADOS FINITOS (MEF)
• A empresa de refrigerantes X deseja projetar um circuito que realize o controle
de venda de 1 lata de refrigerante na sua máquina de refrigerantes. Para isto, a
empresa o contratou, você como projetista-chefe do projeto deve especificar
(desenhar) o diagrama de uma máquina estados finitos (FSM) que realize o
controle da entrada de moedas na máquina. Se entrar o valor correto a latinha
deve sair da máquina, caso contrário, deve voltar para o estado inicial e
devolver as moedas. Sabe-se que o preço do refrigerante é um real, e também
que a máquina somente aceita moedas de 1 real, 50 centavos e 25 centavos.
Porém, a máquina pode aceitar qualquer seqüencia de moedas. Sendo assim:

• a) Desenhe o diagrama da máquina de estados que realiza esta operação.


• b) Defina o alfabeto de entrada e o alfabeto de saída

Você também pode gostar