2-Modelagem Básica
Tanto a figura quanto a animação abaixo exemplificam de forma básica um modelo de um sistema de fila. Sistemas de filas são sistemas que exigem que os clientes ou objetos esperem para que sejam atendidos ou recebidos por algum serviço. As filas estão presentes em diversos setores de nossas vidas, pessoas esperando no caixa do supermercado ou pacotes que chegam a um roteador para serem encaminhados. No modelo abaixo, é representado um sistema de fila em que clientes entram no sistema, esperam na fila de espera e depois são atendidos um por vez pelo servidor. Nesse sistema, a fila de espera é representada pelo lugar Fila e não há limites de clientes nela. Além disso, não há limites de clientes dentro do sistema. Existe apenas, um limite de atendimento de um cliente por vez. Note que a transição Atender é imediata, pois quando o servidor estiver disponível, o atendimento ao cliente se inicia imediatamente. O lugar Limite indica que apenas um cliente pode ser atendido por vez. Vale ser ressaltado que o servidor pode ser um caixa de um banco, um servidor computacional ou um atendimento num hospital, por exemplo.
Exemplo de um sistema de fila.
Animação de um sistema de fila.
Agora vamos mostrar um exemplo de sistema de fila em que existe um limite de clientes. Observe a figura e a animação abaixo, ela representa um sistema de fila semelhante ao apresentado acima. No entanto, esse sistema possui um limite máximo de capacidade de 10 clientes. O lugar LimitadorClientes com os seus 10 tokens representa esse limite.
Exemplo de um sistema de fila com um limite de 10 clientes.
Animação de um sistema de fila com um limite de 10 clientes.
Ainda vale mostrar um sistema de fila com mais de um servidor. Abaixo é mostrado uma RdP que representa um sistema de fila com dois servidores em paralelo. Tal sistema tem um funcionamento semelhante ao sistema de fila com um servidor. No entanto, o sistema com dois servidores possibilita ao cliente ser atendido por qualquer um dos servidores (estrutura de escolha não-determinística). Além disso, o tempo de espera na fila é esperado ser menor, visto que dois servidores operando em paralelo são mais rápidos que apenas um.
Exemplo de sistema de fila com dois servidores em paralelo.
Sobre as SPNs, uma das principais características é a atribuição de tempo às transições temporizadas. Na animação abaixo, é mostrado um exemplo de como essa atribuição pode ser feita no ambiente de modelagem da ferramenta. Nesse exemplo, estamos considerando que, em média, a cada 0.5 segundos uma requisição chega ao servidor e, em média, a cada 0.1 segundos uma requisição é atendida pelo servidor. Note que nas SPNs os tempos devem estar na mesma unidade de medida. No exemplo, usamos a unidade de segundos.
Requisição em um servidor.
Animação: adicionando propriedades nas transições temporizadas.