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.