terça-feira, 3 de junho de 2014

Linguagem de simulação e tipos de simuladores

Linguagens de Simulação
Modelos de simulação são geralmente muito complicados, tendo várias interações dentro de elementos de sistema e muitas destas alterações transformam dinamicamente durante a execução do programa. Assim, começou a se desenvolver linguagens especiais que promovem a tradução mais fácil do que as linguagens genéricas.
A simulação de sistemas pode envolver vários níveis de complexidade e assim softwares específicos têm sido desenvolvidos para diferentes casos.
As linguagens de simulação e os pacotes de simulação discreta são ferramentas muito úteis para a simulação de sistemas discretos. Alguns pacotes também incluem recursos para modelar sistemas de variáveis contínuas ou com um mix de variáveis contínuas e discretas.
As linguagens de simulação em computador facilitam o desenvolvimento e execução de simulações de sistemas complexos do mundo real. Neste contexto existem as linguagens de programação de uso geral como o FORTRAN, Pascal, C, C++, entre outros (MIYAGI, 2006).
As linguagens de simulação economizam tempo de desenvolvimento, utilizam-se de recursos para avançar o tempo, programar eventos, manipular entidades, gerar valores aleatórios coletar dados estatísticos e gerar relatórios.
Características
ü  Fornece automaticamente a maioria dos aspectos necessários na programação;
ü  Reduz o trabalho de programação;
ü  Fornece um framework natural para modelagem;
ü  Os modelos podem ser alterados facilmente;
ü  Fornece melhor detecção de erros.

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

Tipos de Simulações
ü  Emulação - utilizam do hardware ou firmware;
ü  Simulação de Monte Carlo;
ü  Simulação Dirigida por Traces;
ü  Simulação de Eventos Discretos.

Linguagens específicas
As linguagens específicas como GPSS, SIMAN V, SIMSCRIPT II.5, SLAM II, e pacotes de simulação são orientadas para objetos como MODSIM III e similares.
Como a linguagem especificada nessa pesquisa, foi preferencialmente, o GPSS, buscou-se uma ênfase maior para sua definição.
ü  GPSS (General Purpose Simulation System)
A primeira versão do GPSS foi lançada em 1961, pela IBM. O GPSS sempre foi a principal linguagem de simulação da IBM, e um grande número de aplicações foram desenvolvidas nestes longos anos de existência.
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. A linguagem Arena, ferramenta de simulação bastante conhecida atualmente, também foi fortemente influenciada pelo GPSS.
Na linguagem GPSS, um modelo é descrito através de um diagrama de blocos. Onde há um conjunto de blocos à disposição do programador, os quais podem ser interconectados para representar um sistema.
GPSS é uma linguagem de programação para o fim específico de simulação e com alto grau de estruturação e orientada para transações. Foi projetada para facilitar a simulação de sistemas de filas.
            A figura abaixo apresenta os principais blocos, no ambiente WebGPSS.

Alguns Blocos do Ambiente GPSS
Ÿ  GENERATE e TERMINATE - Criar e destruir transações;
Ÿ  ASSIGN - Alterar parâmetros de transações;
Ÿ  TEST, 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

ü  SIMAN V, SINSCRIPT II.5 e SLAM II
São programas de simulação de alto nível, que têm estruturas especialmente concebidas para facilitar a construção de modelos. Estas linguagens derivam da escolha da abordagem (por interação de processos, agendamento de eventos, etc.) para a modelagem de um sistema. Estas linguagens possuem praticamente todos os recursos e facilidades do GPSS mais a capacidade de realizar simulação contínua (sistemas com variação contínua do estado das variáveis).
ü  MODSIM III
É um descendente da linguagem que uma empresa desenvolveu para o exército americano. Sua sintaxe é herdada do Modula-2 e Ada, assim como os conceitos de simulação provêm do SIMSCRIPT e Simula.

Pacotes de simulação
Os pacotes de software mais populares atualmente, são os seguintes:
ü  ProModel / MedModel
No ProModel / MedModel, um modelo é construído definindo-se um caminho ou rota para uma entidade ou várias entidades (itens como peças, partes, etc.), as capacidades de cada um dos pontos ao longo de uma rota destas entidades, os recursos envolvidos tais como os operadores, o sistema de movimentação das entidades, o agendamento das chegadas de entidades e a especificação dos parâmetros de simulação. Este pacote permite ao usuário a inclusão de sub-rotinas em C ou Pascal.
ü  SIMFACTORY II.5
É um simulador de sistemas escrito em SIMSCRIPT II.5 e MODSIM III para profissionais que não possuem muita experiência nas técnicas de análise de sistemas. Um modelo é construído em etapas: definindo primeiramente o layout (arranjo físico do sistema) que consiste em estações de processamento, buffers, áreas de recepção de partes e caminhos dos transportadores, definição do produto, recursos e por fim, as interrupções.
ü  AutoMod
AutoMod, combina as características de uma linguagem de simulação para fins gerais e um simulador de sistemas específicos. Possui recursos de programação gerais incluindo a especificação de processos e procedimentos, recursos, filas e variáveis. O simulador é voltado para análise de sistemas de movimentação de materiais onde pode-se definir elementos como: esteiras, veículos transportadores, pontes rolantes, etc.
ü  Taylor II
Um modelo em Taylor II consiste de quatro entidades fundamentais: elements, jobs, routings e products. Os tipos de elements são classificados em estação de entrada/saída, máquina, buffer, esteira transportadora, transporte, caminho, apoio, estoque. As três operações básicas são: processamento, transporte e armazenamento.
ü  Witness
WITNESS contém elementos próprios para sistema de manufatura e é orientada às máquinas (machine-oriented). Por exemplo, máquinas podem ser do tipo: single, batch, production, assembly, multi-station ou multi-cycle.
ü  Arena
Arena é um pacote de simulação extensível e com recursos de animação. O modelo é construído selecionando-se módulos que contêm características do processo. Por exemplo, um módulo de inspeção pode modelar a tarefa de inspeção de um processo. Depois da escolha e especificação dos parâmetros dos módulos, o Arena executa uma animação do processo (MIYAGI, 2006).


Vantagens da Simulação

ü  Uma vez criado, um modelo pode ser utilizado inúmeras vezes para avaliar projetos e políticas propostas;
ü  A metodologia de análise utilizada pela simulação permite a avaliação de um sistema proposto, mesmo que os dados de entrada estejam, ainda, na forma de “esquemas” ou rascunhos;
ü  A simulação é, geralmente, mais fácil de aplicar do que métodos analíticos;
ü  Uma vez que os modelos de simulação podem ser quase tão detalhados quanto os sistemas reais, novas políticas e procedimentos operacionais, regras de decisão, fluxos de informação etc., podem ser avaliados sem que o sistema real seja perturbado;
ü  Hipóteses sobre como ou por que certos fenômenos acontecem podem ser testadas para confirmação;
ü  O tempo pode ser controlado. Permitindo reproduzir os fenômenos de maneira lenta ou acelerada, para que se possa melhor estudá-los;
ü  Pode-se compreender melhor quais variáveis são as mais importantes em relação a performance e como as mesmas interagem entre si e com os outros elementos do sistema;
ü  A identificação de “gargalos”, pode ser obtida de forma facilitada, principalmente com a ajuda visual;
ü  Um estudo de simulação  mostra como realmente um sistema opera;

Desvantagens da Simulação
ü  A construção de modelos requer treinamento especial. Envolve arte e, portanto, o aprendizado se dá ao longo do tempo, com a aquisição de experiência;
ü  Os resultados da simulação são, muitas vezes, de difícil interpretação. Uma vez que os modelos tentam capturar a variabilidade do sistema, é comum que existam dificuldades em determinar quando uma observação realizada durante uma execução se deve a alguma relação significante no sistema ou a processos aleatórios construídos e embutidos no modelo;
ü  A modelagem e a experimentação associadas a modelos de simulação consomem muitos recursos, principalmente tempo. A tentativa de simplificação na modelagem ou nos experimentos objetivando economia de recursos costuma levar a resultados insatisfatórios (FREITAS).

Simuladores
Um simulador é um aparato/software capaz de reproduzir o comportamento de algum sistema. Os simuladores reproduzem sensações que na realidade não estão ocorrendo (ARAUJO, 2007).

Tipos de Simuladores
ü  Simulador de carros;
ü  Simulador de voo;
ü  Simulador de vida;
ü  Simulador de Guerra;
ü  simulador de raios X.




Fontes

 ARAUJO, S. Nascimento A. Simulação e Modelação Computacional Aplicada. Disponível em: <http://simulacaoemodelacaocomputacional.blogspot.com.br/2007/10/tipos-de-simuladores.html> Acesso em 01/ 06/2014.

FREITAS, Paulo José de Filho. Modelagem e Simulação de Sistemas. Disponível em: <http://www.inf.ufsc.br/~guiga/ine5101/LivroPF/Cap%201.pdf> Acesso em : 31/05/2014.

Linguagem de Simulação. Disponível em:
<http://www.comp.ita.br/~rahiman/CC236/Linguagens%20de%20Simulacao.pdf> Acesso em 01/ 06/2014.

MIYAGI, Prof. Dr. Paulo E. Introdução a Simulação Discreta. Disponível em: <http://minerva.ufpel.edu.br/~alejandro.martins/dis/2012_2/simulacao/Apostila_Simulacao.pdf> Acesso em 01/ 06/2014.