View
7
Download
0
Category
Preview:
Citation preview
1
COMPA TP - Módulo 1; Sem Resoluções 1
Computação Avançada
Módulo 1 (Aula Teórico-Prática)Modelação e Análise de Sistemas Computacionais
Nuno Pereira npereira@dei.isep.ipp.ptEduardo Tovar emt@dei.isep.ipp.pt
COMPA TP - Módulo 1; Sem Resoluções 2
PARTE I
Revisão das Regras das RdP
2
COMPA TP - Módulo 1; Sem Resoluções 3
A
Conjunto de Exemplos (1)(Marcação Inicial)
B
22
C
22
COMPA TP - Módulo 1; Sem Resoluções 4
A B
22
C
22
A C
22
Transição habilitada. Transição não habilitada.
Transição habilitada.
Conjunto de Exemplos (1)(Evolução da Marcação)
Após disparo Após disparo
3
COMPA TP - Módulo 1; Sem Resoluções 5
Conjunto de Exemplos (2)(Marcação Inicial)
F
22
D
22
E
1010 100100
COMPA TP - Módulo 1; Sem Resoluções 6
Conjunto de Exemplos (2)(Evolução da Marcação)
F
22
D
22
E
1010 100100
F
22
D
22
E
1010 100100
1010
Disparo acrescenta dez marcas na posição posterior.
100100
Após disparo Após disparoApós disparo
Disparo acrescenta duas marcas na posição posterior.
Disparo acrescenta cem marcas na
posição posterior.
4
COMPA TP - Módulo 1; Sem Resoluções 7
Conjunto de Exemplos (3)(Marcação Inicial)
G H
22
I
22
33
COMPA TP - Módulo 1; Sem Resoluções 8
Conjunto de Exemplos (3)(Evolução da Marcação)
G H
22
IH
22
22 33
I
22
33
Após disparoApós disparo
Transição não habilitada.
5
COMPA TP - Módulo 1; Sem Resoluções 9
Conjunto de Exemplos (4)(Marcação Inicial)
J K L
22 22
33
55
COMPA TP - Módulo 1; Sem Resoluções 10
Conjunto de Exemplos (4)(Evolução da Marcação)
J K L
22 22
33
55
J K L
22 22
33
55
Após disparo Após disparoApós disparo
6
COMPA TP - Módulo 1; Sem Resoluções 11
M
Conjunto de Exemplos (5)(Marcação Inicial)
N
33
COMPA TP - Módulo 1; Sem Resoluções 12
M
Conjunto de Exemplos (5)(Evolução da Marcação)
N
33
M N
33
Após disparoApós disparo
7
COMPA TP - Módulo 1; Sem Resoluções 13
Exercício
2233
•Qual é a sequência de disparo de transições?
t1
t2
t3
t4
P1
P2 P3
P4
P5
P6
P7
P8
COMPA TP - Módulo 1; Sem Resoluções 14
Exercício
2233
t1
t2
t3
t4
P1
P2 P3
P4
P5
P6
P7
P8
8
COMPA TP - Módulo 1; Sem Resoluções 15
Exercício
2233
t1
t2
t3
t4
P1
P2 P3
P4
P5
P6
P7
P8
COMPA TP - Módulo 1; Sem Resoluções 16
Exercício
2233
t1
t2
t3
t4
P1
P2 P3
P4
P5
P6
P7
P8
9
COMPA TP - Módulo 1; Sem Resoluções 17
Exercício
2233
t1
t2
t3
t4
P1
P2 P3
P4
P5
P6
P7
P8
COMPA TP - Módulo 1; Sem Resoluções 18
Exercício
2233
t1
t2
t3
t4
P1
P2 P3
P4
P5
P6
P7
P8
10
COMPA TP - Módulo 1; Sem Resoluções 19
Exercício
• Elaborar o respectivo gráfico das marcações acessíveis
COMPA TP - Módulo 1; Sem Resoluções 20
Exercício
• Elaborar o respectivo gráfico das marcações acessíveis
11
COMPA TP - Módulo 1; Sem Resoluções 21
PARTE II
Exemplos de Modelação
COMPA TP - Módulo 1; Sem Resoluções 22
Exemplos de Modelação
1. Semáforos de Trânsito2. Sistema Sequencial c/ Monitorização3. Comutador Simples4. Trabalhos de Impressão 5. Servidor de Base de Dados (Exercício)
12
COMPA TP - Módulo 1; Sem Resoluções 23
1. Semáforos de Trânsito
• Um semáforo de trânsito com três cores.• Apenas uma cor está acesa de
cada vez
COMPA TP - Módulo 1; Sem Resoluções 24
1. Semáforos de Trânsito
• Um semáforo de trânsito com três cores.• Apenas uma cor está acesa de
cada vez
VerdeVerde
AmareloAmarelo
VermelhoVermelho
13
COMPA TP - Módulo 1; Sem Resoluções 25
1. Semáforos de Trânsito• Dois semáforos de trânsito num cruzamento (S1 e S2).• Não podemos ter dois semáforos a verde!
S1S1 S2S2
COMPA TP - Módulo 1; Sem Resoluções 26
1. Semáforos de Trânsito
Este modelo NÃO garante alternância!Este modelo NÃO garante alternância!
Verde S2Verde S2
Amarelo S2Amarelo S2
Vermelho S2Vermelho S2
Verde S1Verde S1
Amarelo S1Amarelo S1
Vermelho S1Vermelho S1
S1S1 S2S2
• Dois semáforos de trânsito num cruzamento (S1 e S2).• Não podemos ter dois semáforos a verde!• Devemos garantir alternância entre os dois semáforos.
14
COMPA TP - Módulo 1; Sem Resoluções 27
1. Semáforos de Trânsito• Dois semáforos de trânsito num cruzamento (S1 e S2).• Não podemos ter dois semáforos a verde!• Devemos garantir alternância entre os dois semáforos.
S1S1 S2S2
COMPA TP - Módulo 1; Sem Resoluções 28
1. Semáforos de Trânsito
• Sequência de transições
S1S1 S2S2
Verde S2Verde S2
Amarelo S2Amarelo S2
Vermelho S2Vermelho S2
Verde S1Verde S1
Amarelo S1Amarelo S1
Vermelho S1Vermelho S1
15
COMPA TP - Módulo 1; Sem Resoluções 29
1. Semáforos de Trânsito
• Sequência de transições
Verde S2Verde S2
Amarelo S2Amarelo S2
Vermelho S2Vermelho S2
Verde S1Verde S1
Amarelo S1Amarelo S1
Vermelho S1Vermelho S1
S1S1 S2S2
COMPA TP - Módulo 1; Sem Resoluções 30
1. Semáforos de Trânsito
• Sequência de transições
Verde S2Verde S2
Amarelo S2Amarelo S2
Vermelho S2Vermelho S2
Verde S1Verde S1
Amarelo S1Amarelo S1
Vermelho S1Vermelho S1
S1S1 S2S2NOTA: A duração deste estado é zero.
16
COMPA TP - Módulo 1; Sem Resoluções 31
1. Semáforos de Trânsito
• Sequência de transições
Verde S2Verde S2
Amarelo S2Amarelo S2
Vermelho S2Vermelho S2
Verde S1Verde S1
Amarelo S1Amarelo S1
Vermelho S1Vermelho S1
S1S1 S2S2
COMPA TP - Módulo 1; Sem Resoluções 32
1. Semáforos de Trânsito
• Sequência de transições
Verde S2Verde S2
Amarelo S2Amarelo S2
Vermelho S2Vermelho S2
Verde S1Verde S1
Amarelo S1Amarelo S1
Vermelho S1Vermelho S1
S1S1 S2S2
17
COMPA TP - Módulo 1; Sem Resoluções 33
1. Semáforos de Trânsito
• Sequência de transições
Verde S2Verde S2
Amarelo S2Amarelo S2
Vermelho S2Vermelho S2
Verde S1Verde S1
Amarelo S1Amarelo S1
Vermelho S1Vermelho S1
S1S1 S2S2
COMPA TP - Módulo 1; Sem Resoluções 34
2. Sistema Sequencial c/ Monitorização
• Um sistema executa 4 processos sequenciais: A, B, C e D.• Enquanto estiverem a ser executados os processos B e D, é
despoletado um processo secundário de monitorização
• Passos de modelação:
1. Começamos por modelar a sequência de processos;2. Depois, modelamos a activação do processo de monitorização.
18
COMPA TP - Módulo 1; Sem Resoluções 35
2. Sistema Sequencial c/ Monitorização
• Um sistema executa 4 processos sequenciais: A, B, C e D.• Enquanto estiverem a ser executados os processos B ou D, é
despoletado um processo secundário de monitorização1. Come1. Começçamos por modelar a amos por modelar a sequência de processossequência de processos
COMPA TP - Módulo 1; Sem Resoluções 36
2. Sistema Sequencial c/ Monitorização
• Um sistema executa 4 processos sequenciais: A, B, C e D.• Enquanto estiverem a ser executados os processos B ou D, é
despoletado um processo secundário de monitorização2. E agora modelamos a 2. E agora modelamos a activaactivaçção do processo de ão do processo de monitorizamonitorizaççãoão
19
COMPA TP - Módulo 1; Sem Resoluções 37
2. Sistema Sequencial c/ Monitorização
• Um sistema executa 4 processos sequenciais: A, B, C e D.• Enquanto estiverem a ser executados os processos B ou D, é
despoletado um processo secundário de monitorização
AA
BB
CC
DD
O processo de monitorizaO processo de monitorizaçção ão éédespoletado despoletado enquantoenquanto existir uma existir uma marca em B marca em B ouou DD
MonitorizaMonitorizaççãoão
EsperaEspera
2. E agora modelamos a 2. E agora modelamos a activaactivaçção do processo de ão do processo de monitorizamonitorizaççãoão
COMPA TP - Módulo 1; Sem Resoluções 38
• Um comutador (switch) que serve as portas de entrada em Round-Robin (RR).
• Consideremos que:– Cada porta tem uma fila de entrada de mensagens com capacidade
máxima de 50 mensagens;– O comutador precisa de V unidades de tempo para verificar se fila de
entrada de mensagens tem mensagens;– O comutador demora C unidades de tempo para colocar a mensagem
na fila de saída da porta de destino;– A chegada de mensagens a uma porta do comutador acontece de
acordo com um processo de poisson (tempo entre chegadas exponencial).
3. Comutador Simples
RoundRound--RobinRobinPISCOPISCO
20
COMPA TP - Módulo 1; Sem Resoluções 39
3. Comutador Simples• Por simplicidade vamos modelar apenas 4 portas.
• Passos de modelação:1. Comecemos por modelar o mecanismo RR de serviço às filas do
comutador; 2. De seguida modelamos a verificação das filas de mensagens e
comutação em cada nó;3. Finalmente, modelar o caso quando o Buffer de mensagens
está vazio.
COMPA TP - Módulo 1; Sem Resoluções 40
3. Comutador Simples• Por simplicidade vamos modelar apenas 4 portas.• Comecemos por modelar o mecanismo RR de serviço às filas do
comutador:
21
COMPA TP - Módulo 1; Sem Resoluções 41
3. Comutador Simples• De seguida modelamos a verificação das filas de
mensagens e comutação em cada nó:
COMPA TP - Módulo 1; Sem Resoluções 42
3. Comutador Simples• Falta modelar o caso quando o Buffer de mensagens
está vazio:
22
COMPA TP - Módulo 1; Sem Resoluções 43
3. Comutador Simples• Falta modelar o caso quando o Buffer de mensagens
está vazio:
FimFim
Chegada Chegada MsgMsg
BufferBuffer MsgMsg
BufferBuffer c/ c/ MsgMsg
Porta XPorta X
5050
5050
BufferBuffer VazioVazio
5050
Tamanho do Tamanho do BufferBuffer
Leitura da posiLeitura da posiçção. Se tem menos de 50 ão. Se tem menos de 50 marcas, então existem mensagens no marcas, então existem mensagens no bufferbuffer; senão, o ; senão, o bufferbuffer estestáá vazio.vazio.
InInííciocio
Tempo de verificaTempo de verificaçção da ão da fila de mensagens (fila de mensagens (VV))
Tempo Tempo para colocar a para colocar a mensagem na fila de mensagem na fila de sasaíída da porta de da da porta de destinodestino ((CC))
COMPA TP - Módulo 1; Sem Resoluções 44
3. Comutador Simples• O modelo final:
23
COMPA TP - Módulo 1; Sem Resoluções 45
4. Trabalhos de Impressão• Temos 3 processos P1, P2, P3.• O processo P1 faz o pré-processamento de trabalhos de
impressão.• Após o pré-processamento de P1, pode ser executado o
processo P2 ou P3 que enviam os trabalhos para as impressoras
• Os processos acedem às seguintes estruturas de dados partilhadas:– P1: Acede a I1 ou I2– P2: Acede a I1– P3: Acede a I2
COMPA TP - Módulo 1; Sem Resoluções 46
4. Trabalhos de Impressão
• Passos de modelação:
1. Vamos começar por fazer a estrutura sequencial básica: Chegada de pedidos → P1 → P2 ou P3;
2. Modelar os acessos aos recursos (Impressoras I1 e I2):1. Começamos por modelar o acesso feito por P2 e P3;2. Modelar o acesso feito por P1 aos recursos partilhados.
24
COMPA TP - Módulo 1; Sem Resoluções 47
4. Trabalhos de Impressão
• Vamos começar por fazer a estrutura sequencial básica: Chegada de pedidos → P1 → P2 ou P3:
COMPA TP - Módulo 1; Sem Resoluções 48
4. Trabalhos de Impressão
• Temos de modelar os acessos aos recursos (Impressoras I1 e I2); Começamos por modelar o acesso feito por P2 e P3:
25
COMPA TP - Módulo 1; Sem Resoluções 49
4. Trabalhos de Impressão
• Como modelar o acesso feito por P1 aos recursos partilhados?
COMPA TP - Módulo 1; Sem Resoluções 50
4. Trabalhos de Impressão
Fila PedidosFila Pedidos
Chegada Chegada PedidoPedido
P2P2
Pedido Pedido ImpressoImpresso
• Temos de modelar a alternativa de aceder a um recurso ou outro (I1 ou I2)…
P1P1
P3P3
I1I1
I2I2
26
COMPA TP - Módulo 1; Sem Resoluções 51
4. Trabalhos de Impressão
• Modelar a alternativa de aceder a um recurso ou outro:
Fila PedidosFila Pedidos
Chegada Chegada PedidoPedido
I2I2
I1I1
P1 utiliza I1P1 utiliza I1
P1 utiliza I2P1 utiliza I2
P2P2
P3P3
Pedido Pedido ImpressoImpresso
P1 utiliza I1 P1 utiliza I1 OUOU I2I2
P1 enquanto utiliza I1P1 enquanto utiliza I1
P1 enquanto utiliza I2P1 enquanto utiliza I2
COMPA TP - Módulo 1; Sem Resoluções 52
4. Trabalhos de Impressão
• Temos de modelar o facto de apenas poder ser executada uma das opções:
Fila PedidosFila Pedidos
Chegada Chegada PedidoPedido
I2I2
I1I1
P1 utiliza I1P1 utiliza I1
P1 utiliza I2P1 utiliza I2
P2P2
P3P3
Pedido Pedido ImpressoImpresso
27
COMPA TP - Módulo 1; Sem Resoluções 53
4. Trabalhos de Impressão
• Adicionando todos os acesso aos recursos, temos o modelo final:
COMPA TP - Módulo 1; Sem Resoluções 54
Exercício: 5. Servidor de Base de Dados
• Uma base de dados cria processos que acedem a uma tabela. Os processos podem ter dois estados: escrita e leitura.
• As operações de leitura e escrita são exclusivas; Quando temos um leitor a aceder à tabela, nenhum escritor pode aceder a esta e vice-versa.
• São permitidos vários leitores ao mesmo tempo, mas por restrições do sistema, apenas podemos ter um máximo de cinco leitores a aceder àtabela ao mesmo tempo.
• Apenas podemos ter um escritor de cada vez.
• Podem existir em simultâneo um máximo de 50 processos a pendentes para efectuar leituras.
• Podem existir em simultâneo um máximo de 10 processos a pendentes para efectuar escritas.
28
COMPA TP - Módulo 1; Sem Resoluções 55
5. Servidor de Base de Dados
• Começamos pelas duas filas; Leitores e escritores:
COMPA TP - Módulo 1; Sem Resoluções 56
5. Servidor de Base de Dados
• E depois modelamos a leitura e escrita:
Recommended