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.pt Eduardo Tovar emt@dei.isep.ipp.pt COMPA TP - Módulo 1; Sem Resoluções 1 PARTE I Revisão das Regras das RdP COMPA TP - Módulo 1; Sem Resoluções 1
Conjunto de Exemplos (1) (Marcação Inicial) A B C COMPA TP - Módulo 1; Sem Resoluções Conjunto de Exemplos () (Marcação Inicial) D E F 10 100 COMPA TP - Módulo 1; Sem Resoluções 5
Conjunto de Exemplos () (Marcação Inicial) G H I COMPA TP - Módulo 1; Sem Resoluções 7 Conjunto de Exemplos (4) (Marcação Inicial) J K L 5 COMPA TP - Módulo 1; Sem Resoluções 9
Conjunto de Exemplos (5) (Marcação Inicial) M N COMPA TP - Módulo 1; Sem Resoluções 11 Exercício Qual é a sequência de disparo de transições? P 1 t 1 P P t P 5 P 7 t P 6 t 4 P 8 P 4 COMPA TP - Módulo 1; Sem Resoluções 1 4
Exercício P 1 t 1 P P t P 5 P 7 t P 6 t 4 P 8 P 4 COMPA TP - Módulo 1; Sem Resoluções 14 Exercício P 1 t 1 P P t P 5 P 7 t P 6 t 4 P 8 P 4 COMPA TP - Módulo 1; Sem Resoluções 15 5
Exercício P 1 t 1 P P t P 5 P 7 t P 6 t 4 P 8 P 4 COMPA TP - Módulo 1; Sem Resoluções 16 Exercício P 1 t 1 P P t P 5 P 7 t P 6 t 4 P 8 P 4 COMPA TP - Módulo 1; Sem Resoluções 17 6
Exercício P 1 t 1 P P t P 5 P 7 t P 6 t 4 P 8 P 4 COMPA TP - Módulo 1; Sem Resoluções 18 Exercício Elaborar o respectivo gráfico das marcações acessíveis COMPA TP - Módulo 1; Sem Resoluções 19 7
PARTE II Exemplos de Modelação COMPA TP - Módulo 1; Sem Resoluções 1 Exemplos de Modelação 1. Semáforos de Trânsito. Sistema Sequencial c/ Monitorização. Comutador Simples 4. Trabalhos de Impressão 5. Servidor de Base de Dados (Exercício) COMPA TP - Módulo 1; Sem Resoluções 8
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 1. Semáforos de Trânsito Dois semáforos de trânsito num cruzamento (S1 e S). Não podemos ter dois semáforos a verde! S1 S COMPA TP - Módulo 1; Sem Resoluções 5 9
1. Semáforos de Trânsito Dois semáforos de trânsito num cruzamento (S1 e S). Não podemos ter dois semáforos a verde! Devemos garantir alternância entre os dois semáforos. S1 S COMPA TP - Módulo 1; Sem Resoluções 7. 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;. Depois, modelamos a activação do processo de monitorização. COMPA TP - Módulo 1; Sem Resoluções 4 10
. 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 1. Começamos por modelar a sequência de processos COMPA TP - Módulo 1; Sem Resoluções 5. 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. E agora modelamos a activação do processo de monitorização COMPA TP - Módulo 1; Sem Resoluções 6 11
. Comutador Simples Um comutador (switch) que serve as portas de entrada em Round-Robin (RR). Round-Robin Robin PISCO 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). COMPA TP - Módulo 1; Sem Resoluções 8. 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;. De seguida modelamos a verificação das filas de mensagens e comutação em cada nó;. Finalmente, modelar o caso quando o Buffer de mensagens está vazio. COMPA TP - Módulo 1; Sem Resoluções 9 1
. Comutador Simples Por simplicidade vamos modelar apenas 4 portas. Comecemos por modelar o mecanismo RR de serviço às filas do comutador: COMPA TP - Módulo 1; Sem Resoluções 40. 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 41 1
. Comutador Simples Falta modelar o caso quando o Buffer de mensagens está vazio: COMPA TP - Módulo 1; Sem Resoluções 4 O modelo final:. Comutador Simples COMPA TP - Módulo 1; Sem Resoluções 44 14
4. Trabalhos de Impressão Temos processos P1, P, P. O processo P1 faz o pré-processamento de trabalhos de impressão. Após o pré-processamento de P1, pode ser executado o processo P ou P que enviam os trabalhos para as impressoras Os processos acedem às seguintes estruturas de dados partilhadas: P1: Acede a I1 ou I P: Acede a I P: Acede a I COMPA TP - Módulo 1; Sem Resoluções 45 4. Trabalhos de Impressão Passos de modelação: 1. Vamos começar por fazer a estrutura sequencial básica: Chegada de pedidos P1 P ou P;. Modelar os acessos aos recursos (Impressoras I1 e I): 1. Começamos por modelar o acesso feito por P e P;. Modelar o acesso feito por P1 aos recursos partilhados. COMPA TP - Módulo 1; Sem Resoluções 46 15
4. Trabalhos de Impressão Vamos começar por fazer a estrutura sequencial básica: Chegada de pedidos P1 P ou P: COMPA TP - Módulo 1; Sem Resoluções 47 4. Trabalhos de Impressão Temos de modelar os acessos aos recursos (Impressoras I1 e I); Começamos por modelar o acesso feito por P e P: COMPA TP - Módulo 1; Sem Resoluções 48 16
4. Trabalhos de Impressão Como modelar o acesso feito por P1 aos recursos partilhados? COMPA TP - Módulo 1; Sem Resoluções 49 4. Trabalhos de Impressão Adicionando todos os acesso aos recursos, temos o modelo final: COMPA TP - Módulo 1; Sem Resoluções 5 17
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. COMPA TP - Módulo 1; Sem Resoluções 54 5. Servidor de Base de Dados Começamos pelas duas filas; Leitores e escritores: COMPA TP - Módulo 1; Sem Resoluções 55 18
5. Servidor de Base de Dados E depois modelamos a leitura e escrita: COMPA TP - Módulo 1; Sem Resoluções 56 19