Modelos para Sistemas Comunicantes
P
rofs. Paulo Maciel e Eduardo Tavares
Aluno:
Anderson Luiz Souza Moreira
QUESTÃO 1
O que entende por uma linguagem marcada gerada por um automaton?
Resolução: Para as linguagens formais o termo automaton define‐se que estas besei‐ am‐se em instruções primitivas e na especificação de como cada instrução modifica cada estado. Se considerarmos as linguagens regulares, os autômatos tratam‐se de formalismo operacional ou reconhecedor, sendo basicamente, um sistema de estados finitos, capaz de representar uma linguagem de acordo com regras bem definidas. QUESTÃO 2 O que entende por prefix‐closure e Kleene‐closure? Resolução: prefix‐closure Uma linguagem formal ou simplesmente Linguagem L so‐ bre um alfabeto Ʃ, é um conjunto de palavras sobre Ʃ,ou seja: L ⊆Ʃ*, Em que Ʃ* denota o conjunto de todas as palavras possíveis sobre Ʃ, incluindo também o vazio (ε). Nessa linguagem todos os prefixos de uma palavra – que é qualquer se‐ quencia inicial de símbolos de uma palavra. E se todo os prefixos, de qualquer palavra da linguagem L também é de L . Logo L = L .
Exemplo: abcb é uma palavra sobre o conjunto do alfabeto {a,b,c}. Relativamente à palavra, vale que {ε, a, ab, abc, abcb} são todos os prefixos. Kleene‐closure Vamos considerar a mesma linguagem formal L da explicação ante‐ rior, e denotar que Ʃ * é o conjunto de todos os símbolos das palavras de Ʃ, incluindo vazio. Logo, L*:= {ε} ∪ L ∪ LL ∪ LLL ∪ ・ ・ ・ QUESTÃO 3 O que entende por DES model? Resolução: DES é o acrônimo de Discrete Event System, ou simplesmente Sistema de Eventos Discretos é um sistema orientado a eventos, e que sua evolução depende in‐ teiramente do estado sobre a ocorrência de eventos discretos e assíncronos no decor‐ rer do tempo. Um exemplo que pode ser dado é o sistema de ligar e desligar uma lâm‐ pada. Que podem ter os estados {LIGADO,DESLIGADO}.
QUESTÃO 4
Problema 2.19 (Livro: Discrete Event Systems – Cassandras & Lafortune).
A workcell consists of two machines M1 and M2 and an automated guided vehicle AGV. The automata modeling these three components are shown in Fig. 2.40. The complete system is G = M1||M2||AGV . (a) Find G. (b) Is G blocking or nonblocking? Resolução: (a) e (b) Para a procura de G. Pede‐se que o modelos dos autômatos estejam em para‐ lelismo. Para isso foi utilizada a ferramenta IDES na versão 2.1 para resolução do pro‐ blema. O modelo gerado é o que se segue:
Observe que na marca vermelha está um estado em deadlock, e que o anterior a este também é suscetível a deadlock. Logo o modelo gera um bloqueio quando o as máqui‐ nas M1, M2 e o AGV estão no estado 1. Uma possível solução é a utilização do recurso de coacessibilidade, em que remove todos os estados que não podem ser alcançados. O modelo gerado seguindo essa funcionalidade é mostrado a seguir: Os modelos gerados encontram‐se na página http://www.cin.ufpe.br/~alsm4/modelos/2.19 QUESTÃO 5 Problema 2.39 (Livro: Discrete Event Systems – Cassandras & Lafortune). A simple manufacturing process involves two machines, M1 and M2, and a buffer B in between. There is an infinite supply of parts to M1. When a part is processed at M1, it is placed in B, which has a capacity of one part only. The part is subsequently proc‐ essed by M2. Let us suppose that we build the uncontrolled model of Mi, i = 1, 2, as follows. Each machine has three states: Idle (the initial state), Processing, and Down. Each machine has four transitions: event Start from Idle to Processing, event End from Processing to Idle, event Breakdown from Processing to Down, and event Repair from Down to Idle. The behavior of the system need to be restricted to satisfy the following rules: (i) M1 can only begin processing if the buffer is empty; (ii) M2 can only begin processing if the buffer is full; (iii) M1 cannot begin processing if M2 is down; (iv) If both machines are down, then M2 gets repaired first.
(a) Construct an automaton that represents the admissible behavior, as captured by (i) to (iv) above. This automaton should generate a sublanguage of L(M1||M2). (b) Suppose that the events Start and Repair of each machine can be controlled (that is, enabled or disabled) by a controller. For each state of your automaton in (a) above, identify which feasible events in M1 and M2 the controller should disable. Resolução: Para a esse problema temos de levar em consideração que a máuqina M1 só poderá colocar um novo pacote no buffer assim que este for esvaziado pela máquina M2. O modelo abaixo demonstra esse tipo de funcionamento. Está cheio? Buffer Está vazio? M2 M1 Lembra muito a solução criada para o problema do produtor e consumidor. Assim co‐ mo para resolução da Questão 4, foi utilizada a ferramenta IDES par construção dos autômatos, como descritos a seguir: M1 M2
Buffer A paralelismo entre os modelos gera o seguinte autômato:
Esse modelo originou‐se da formação de M1||M2 (b) para cada um dos modelos que ficaram desabilitados caso a máquina M1 e M2 es‐ tejam sem nenhum pacote a ser produzido ou no caso de ambas as máquinas acessa‐ rem o buffer e o mesmo já esteja cheio para M1 ou vazio para M2. Esses modelos estão disponíveis no site http://www.cin.ufpe.br/~alsm4/modelos/2.39