terça-feira, 3 de junho de 2014

TIPOS DE SIMULADORES E LINGUAGENS DE SIMULAÇÃO

O QUE É SIMULAÇÃO?

          Os processos de modelagem e simulação estão intimamente vinculados, portanto, pode-se defini-los como uma experimentação computacional, onde usamos modelos de um sistema real ou idealizado para o estudo de problemas reais de natureza complexa, com o objetivo de testar diferentes alternativas operacionais a fim de encontrar e propor melhores formas de operação que visem a otimização do sistema como um todo. Contudo, vale ressaltar, que a simulação propriamente dita nada mais é do que a experimentação, etapa posterior à construção do modelo conceitual e da modelagem computacional, ou seja, trata-se da fase de testes.

Figura 1: Etapas do Processo de Modelagem e Simulação

Como observado no esquema acima, a simulação é a terceira etapa – executada após a construção do modelo conceitual e legitimação do modelo computacional – onde serão consideradas e testadas as diversas alternativas propostas. Nesta fase ocorrerão testes experimentais para a realização das análises pertinentes, a fim de avaliar o efeito de possíveis alterações antes que elas sejam executadas de fato. Dessa forma, o ponto central do processo de simulação é testar várias soluções para um determinado problema antes que as mesmas sejam implementadas, ou seja, os recursos somente serão investidos em propostas exaustivamente avaliadas e que tenham o retorno comprovado.

Situações onde podem ser aplicadas a Modelagem e a Simulação:

- Saber qual melhor estratégia adotar para um investimento futuro, como iniciar uma operação ou projeto novo ou mesmo ampliar e desenvolver um já existente.
- Identificar gargalos e pontos críticos do processo. Exemplo: estoques desnecessários, recursos ociosos, setups desnecessários etc.
- Conceber uma ideia ou compreensão mais clara do processo no qual se deseja melhorar.
- Testar novas alternativas e métodos antes de sua implementação de fato, a fim de evitar interferências no processo em uso naquele momento.

TIPOS DE SIMULADORES

            Simulador é um software com a capacidade de reproduzir o comportamento de um sistema, ou seja, simuladores reproduzem situações que não estão ocorrendo de fato.
Os dois principais tipos de simuladores são:

Simuladores de interface gráfica e orientados a objeto
Esses simuladores apresentam como principais características:
- Interface gráfica de comunicação com o usuário;
- Desenvolvimento de modelos orientados a objeto;
- Criam animações do modelo executado;
- Fornecem relatórios sobre os modelos executados;
- Fornecem ferramentas estatísticas para tratamento dos dados utilizados na simulação.
             Exemplo: ARENA, PROMODEL, AUTOMOD, entre outros.

Simuladores interativos e inteligentes
           Simuladores e interativos e inteligentes são considerados como a nova tendência. Podem-se destacar como principais características:
- Emprego de recursos de realidade virtual;
- Inteligência Artificial;
- Sistemas Especialistas.

O QUE É LINGUAGEM DE SIMULAÇÃO?

       Geralmente, modelos de simulação são muito complicados e possuem várias interações dentro dos elementos de um sistema, além disso, muitas destas interações se modificam ao longo da execução do programa. Pensando nisso, começou-se a desenvolver linguagens especiais que simplificavam a tradução, quando comparadas às linguagens genéricas.

Características:
- Fornece a maioria dos aspectos necessários à programação;
- Reduz o trabalho de programador;
- Fornece um framework natural para modelagem;
- Possibilita a fácil alteração dos modelos;
- Facilita a detecção de erros

Principais Vantagens:
- Modelador já conhece a linguagem;
- Disponibilidade;
- Reduz o tempo de execução;
- Possibilita certa flexibilidade de programação;
- Custos menores de programação.

TIPOS DE LINGUAGENS DE SIMULAÇÃO

Linguagens de simulação contínuas:
- CSMP, DYNAMO
- Equações diferenciais
- Usadas em engenharia química
Linguagens de simulação de eventos discretos:
- SIMULA, GPSS
Combinadas:
- SIMSCRIPT e GASP
- Permitem simulações discretas, contínuas ou combinadas.

LINGUAGEM DE SIMULAÇÃO GPSS

A primeira versão do GPSS (General Purpose Simulation System) foi lançada em 1961 pela IBM. E por ser a principal linguagem de simulação da IBM, a empresa desenvolveu um grande número de aplicações nestes mais de 50 anos de existência do GPSS. Inicialmente, a ideia de projetar o GPSS foi a de inventar uma ferramenta que pudesse ser usada por não especialistas, o que acabou por motivar a representação gráfica dos modelos.
Assim, um modelo GPSS é um diagrama de blocos, por onde fluem transações, que são as entidades temporárias do sistema. Atualmente, as versões disponíveis mais conhecidas são GPPS/H, GPSS World e WebGPSS. Além disso, diversas ferramentas de simulação, como a linguagem ARENA, foram fortemente influenciadas pelo GPSS.

Blocos GPSS
Na linguagem GPSS, um modelo é descrito através de um diagrama de blocos. Funciona da seguinte forma: existe um conjunto de blocos à disposição do programador, os quais podem ser interconectados para representar um sistema. A figura abaixo mostra os desenhos dos principais blocos no ambiente WebGPSS.

Figura 2: Principais Blocos do GPSS.


           O bloco GENERATE é usado para gerar transações (Exemplos: pessoa em um supermercado, navio em um porto, mensagem em uma rede, etc.). Essas transações são as entidades temporárias do modelo e fluem pelo sistema, passando de bloco em bloco. Quando uma transação entra num bloco, a ação correspondente ao bloco é executada. Lembrando que, cada tipo de bloco exerce uma função específica sobre as entidades do modelo. Ressalta-se ainda, que:

- A maioria das entidades de um modelo não precisa ser declarada;
- As informações de saída são geradas automaticamente;
- Cada transação possui um conjunto de atributos, que podem ser testados e alterados durante a vida da transação;
- Quando uma transação entra num bloco, os seus atributos podem ser usados para moldar a ação a ser executada pelo bloco;
- Um mesmo bloco pode reter diversas transações;
- Cópias de uma transação podem ser geradas pelo bloco SPLIT;
- Uma transação é removida do sistema quando entra num bloco TERMINATE;
- O bloco TERMINATE possui um operando que é usado para decrementar o contador de FIM_DE_SIMULAÇÃO, assim quando o contador atinge zero, a simulação termina (o valor inicial do contador é estabelecido no comando START, responsável por colocar o modelo em funcionamento);
- No final da execução do modelo, os resultados da simulação são mostrados automaticamente.

Principais Entidades do GPSS
Entidades básicas
- Blocos (que formam o diagrama)
- Transações (que fluem pelo diagrama)
Equipamentos
- Recursos ou “facilidades” (facilities)
- Depósitos (storages)
- Chaves lógicas (logical switches)

Tipos de Blocos
- GENERATE e TERMINATE: Criar e destruir transações.
- ASSIGN: Alterar parâmetros de transações.
- TEST e TRANSFER: Desviar o fluxo de transações.
- ADVANCE: Fazer uma transação esperar por um período de tempo.
- SEIZE/RELEASE: Requisitar/liberar recurso.
- ENTER/LEAVE: Requisitar/liberar um depósito.
- QUEUE, TABULATE: Coletar estatísticas.
- SPLIT: Duplicar transações.
- LINK: Encadear transações à filas.

EXEMPLO DE APLICAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO GPSS

Barbearia em GPSS
Empreendimento: Barbearia do João com 3 cadeiras na sala de espera
CAD          STORAGE                                  3         ; 3 cadeiras na sala de estar
                  GENERATE                           10,2
                  TEST LE                             S$CAD,2,DESISTE
                   ENTER                              CAD,1
                   SEIZE                                 BARB
                   LEAVE                              CAD,1
                  ADVANCE                            12,2
                   RELEASE                          BARB
                   DESISTE TERMINATE            1

Resultado da Simulação

Figura 3: Resultado da Simulação usando o GPSS.

OBSERVAÇÃO:
Cadeias do GPSS
- Cadeia dos Eventos Correntes (Current Event ChainCEC): contém as transações a serem movimentadas no tempo atual;
- Cadeia dos Eventos Futuros (Future Event ChainFEC): contém as transações a serem movimentadas no tempo futuro (ordenadas pelo tempo em que devem ser movimentadas).



REFERÊNCIAS


Disponível em: <http://www.inf.ufsc.br/~guiga/ine5101/LivroPF/Cap%201.pdf> Acesso em: 01/06/2014.

Disponível em: <http://paginas.fe.up.pt/~feliz/newSim_cap11_PI.pdf> Acesso em: 02/06/2014.

Disponível em: <http://simulacaoemodelacaocomputacional.blogspot.com.br/2007/10/tipos-de-simuladores.html> Acesso em: 02/06/2014.

Disponível em: < http://www.scielo.br/pdf/prod/v9n1/v9n1a02> Acesso em: 03/06/2014.

2 comentários:

  1. a empresa de empréstimo que me concede um empréstimo de 5.000.000,00 USD Quando outros investidores negligenciam minha oferta, mas o sr. benjamin lee me concede um empréstimo de sucesso. eles estão diretamente no financiamento e no projeto de empréstimos em termos de investimento. eles fornecem soluções de financiamento para empresas e indivíduos que buscam acesso a fundos do mercado de capitais, podem ajudá-lo a financiar seu projeto ou expandir seus negócios .. Email Contato :::: Também lfdsloans@outlook.com ou Escreva no WhatsApp número 1- (989) -394-3740)

    ResponderExcluir