Académique Documents
Professionnel Documents
Culture Documents
Tlio Almeida Peixoto a, Joo Jos de Assis Rangel a*, talo de Oliveira Matias a,
Jos Arnaldo Barra Montevechi b, Rafael de Carvalho Miranda b
a
Resumo
O objetivo deste trabalho descrever o ambiente de desenvolvimento de modelos de simulao a eventos
discretos Ururau. A simulao discreta normalmente utilizada para analisar problemas de pesquisa
operacional relacionados principalmente logstica e s linhas de produo, tanto em empresas como no
meio acadmico. Os ambientes de simulao a eventos discretos so os softwares utilizados para a
construo dos modelos de simulao. Estes softwares so, na maioria das vezes, de cdigo fechado e o
funcionamento interno como uma caixa preta para os pesquisadores e desenvolvedores dos modelos de
simulao. Assim, com a finalidade de explorar a arquitetura interna dos ambientes de simulao discreta,
foi proposto o Ururau. O Ururau um software de cdigo aberto (licena GPL - General Public License)
e multiplataforma, pois desenvolvido em linguagem Java. Ele possui, ainda, uma interface grfica, que
permite o desenvolvimento de modelos de maneira facilitada, atravs de mdulos que podem ser
interligados para representar a lgica de um sistema dinmico e estocstico. A simbologia utilizada para
desenvolver os modelos de simulao baseada em IDEF-SIM, que tambm usada para a
documentao de modelos conceituais para qualquer outro ambiente de simulao discreta. Os resultados
preliminares mostraram que o Ururau permite a execuo dos modelos de simulao at cinco vezes mais
rpida do que os softwares Arena ou ProModel e com resultados equivalentes.
Abstract
The aim of this paper is to describe the Ururau, a development environment of discrete event simulation
models. The discrete simulation is commonly used to analyze problems of operational research primarily
related to logistics and production lines, both in business and in academia. The discrete event simulation
environments are the software used for the construction of simulation models. This software is, in most
cases, of closed source and the internal functioning is like a black box for researchers and developers of
simulation models. Thus, Ururau was proposed in order to explore the internal architecture of the discrete
simulation environment. The Ururau is an open source software (GPL - General Public License) and
multiplatform, because it is developed in Java language. It even has a graphical interface, that allows the
development of models, in an easy way, via modules that can be linked together to represent the logic of a
dynamic and stochastic system. The symbology used to develop simulation models is based on IDEFSIM, which is also used for documentation of conceptual models for any other discrete simulation
environment. Preliminary results showed that the Ururau allows the execution of simulation models up to
five times faster than the Arena or ProModel software and with equivalent results.
1. Introduo
O objetivo deste trabalho descrever o ambiente de desenvolvimento de modelos de
simulao a eventos discretos Ururau, apresentado, inicialmente, de forma resumida em
Peixoto, Rangel e Matias (2011). So detalhados, tambm, neste trabalho, os principais
componentes para funcionamento de um ambiente de simulao a eventos discretos orientado
a processos (Process View). Alm disso, so descritos os principais comandos e a arquitetura
do software e, tambm, demonstradas algumas aplicaes bsicas do simulador com
problemas tpicos de sistemas a eventos discretos.
De uma forma geral, os ambientes de desenvolvimento de modelos de simulao a
eventos discretos podem ser definidos como ferramentas computacionais que auxiliam a
anlise de problemas, que vo de logstica e manufatura at redes de computadores, sem
recorrer a modelos analticos de Teoria das Filas (Banks et al. 2010). Existem conhecidos
mais de sessenta simuladores comerciais, conforme pesquisa do Instituto de Pesquisa
Operacional e Cincias da Administrao - INFORMS (SWAIN, 2007). No Brasil,
anteriormente ao Ururau, no se conhece citao de nenhum outro ambiente de simulao a
eventos discretos que tenha sido desenvolvido com o propsito de construir modelos de
simulao, tanto em interface grfica (GUI Graphic User Interface) quanto em uma API
Application Programming Interface (de maneira complementar a GUI).
O software Ururau utiliza como base a biblioteca de simulao JSL Java Simulation
Library, proposto por Rossetti (2008). O JSL permite a construo de modelos orientados a
processo e, quando necessrio, a adio de novos comandos de processo, quando o modelo de
simulao fica mais complexo. Utiliza, tambm, a linguagem Java, que multiplataforma e
tem licena GPL (General Public License) para desenvolvimento em cdigo livre. O apndice
I mostra como obter uma cpia e executar o software Ururau.
374
375
376
FlexSim, dentre mais de sessenta simuladores comerciais (SWAIN, 2007). Vale destacar que
algumas linguagens de simulao, como GPSS ou SIMAN, evoluram para estes ambientes de
simulao, respectivamente para GPSS (atual) e Rockwell Arena, como descrevem
Goldman, Nance e Wilson (2010). Estes ambientes possuem, pelo menos, uma interface
grfica para facilitar a construo de modelos, alm do mecanismo de avano do tempo,
gerador de nmeros aleatrios e apresentao de resultados em forma de relatrio. Esta
abordagem, apesar de agilizar e facilitar a construo dos modelos, no possibilita a
integrao dos mesmos com bibliotecas provenientes de linguagens de uso geral.
3. A Linguagem IDEF-SIM
Kettinger, Teng e Guha (1997) apontam a presena de mais de 100 tcnicas de modelagem de
processos disponveis na literatura. No entanto, para Ryan e Heavey (2006), poucas dessas
tcnicas fornecem o suporte necessrio a um projeto de simulao.
Para Law (1991), Robinson (2008) e Chwif e Medina (2010), a etapa de modelagem
de processos , provavelmente, a parte mais importante e tambm a mais difcil do processo
de desenvolvimento e uso de modelos de simulao. Sendo que, para Leal, Almeida e
Montevechi (2008) poucas tcnicas de modelagem garantem o apoio correto a projetos de
simulao.
Destacando a importncia do modelo conceitual em projetos de simulao, Leal
(2008) props uma tcnica de modelagem conceitual especfica para ambiente de simulao,
denominada de IDEF-SIM.
A tcnica IDEF-SIM utiliza e adapta elementos lgicos das tcnicas de modelagem
IDEF0, IDEF3 e fluxograma, permitindo a elaborao de modelos conceituais com
informaes teis para a construo do modelo computacional (LEAL et al., 2009).
377
378
Elementos
Entidade
Funes
Tcnica de origem
IDEF3 (modo descrio
das transies)
IDEF0
Fluxo da entidade
Recursos
IDEF0 e IDEF3
IDEF0
Controles
IDEF0
Regras
para
fluxos
paralelos e/ou alternativos
Simbologia
&
Regra E
Regra OU
Regra
E/OU
IDEF3
Movimentao
Fluxograma
Informao explicativa
Fluxo de entrada no
sistema modelado
Ponto final do sistema
IDEF0 e IDEF3
(1) Entidade: so os itens a serem processados pelo sistema, representando matriaprima, produtos, pessoas, documentos, entre outros. Podem ser agrupadas ou
divididas ao longo do processo produtivo e so movimentadas por meios prprios
ou por meio de recursos. Uma vez representado no modelo, o smbolo somente
aparecer no momento em que uma nova entidade for criada. Desta forma, torna-se
claro o nmero de entidades a serem utilizadas e em que pontos do modelo as
entidades sofrero uma transformao.
(2) Funes: representam os locais onde as entidades sofrero alguma ao. Entendemse como funes: postos de trabalho, esteiras de movimentao, filas e estoques ou
postos de atendimento. Estas funes podem modificar uma entidade, como no
caso de postos de trabalho, ou mesmo alterar o ritmo desta entidade no fluxo, como
uma espera (fila, estoque).
(3) Fluxo da entidade: direcionamento da entidade dentro do modelo, caracterizando os
momentos de entrada e sada da entidade nas funes.
379
Montevechi et al. (2010) destacam ainda que, pelo motivo de a tcnica IDEF-SIM ter
sido elaborada com foco em projetos de simulao, ela fornece somente informaes
necessrias elaborao do modelo computacional, evitando, no caso da modelagem
convencional, que um grande volume de informaes requeridas pelo modelo computacional
no seja contemplado pelo modelo conceitual, obrigando o analista de simulao a buscar
estas informaes no sistema a ser simulado.
Apesar de recente, a tcnica de modelagem IDEF-SIM j foi aplicada em vrios casos
reais e pode ser vista em vrios trabalhos presentes na literatura (COSTA, 2010; COSTA et
al., 2010; LEAL, 2008; LEAL et al., 2009; LEAL, ALMEIDA e MONTEVECHI, 2008;
MIRANDA, 2012; MONTEVECHI et al., 2010; OLIVEIRA, 2010; OLIVEIRA et al., 2010 e
PINHO e MORAIS, 2010).
380
381
382
uma viso global do modelo, caso este no caiba na tela. A linguagem de representao do
modelo baseada no IDEF-SIM (MONTEVECHI et al., 2010).
383
(a)
(b)
384
385
386
6.1. Exemplo 1
O primeiro exemplo um sistema bsico de suprimento de cana-de-acar em usina
sucroalcooleira. O problema, descrito na Figura 7, consiste em analisar o corte da cana-deacar na frente de corte (carregamento), o transporte at a usina, o descarregamento e o
retorno do caminho para frente de corte fechando o ciclo.
387
388
Descrio
E1
Entidade: Caminho
F1
M1
F2
M2
R1
R2
Funo: Carregamento
Movimentao: Ir para usina
Funo: Descarregamento
Movimentao: Voltar para a FC
Recurso: Frente de corte
Recurso: Mquina da usina
Parmetros
Chegada de 10 caminhes, 1 a cada 10
minutos.
Funo Normal (40; 4) minutos.
Funo: Constante de 60 minutos.
Funo: Normal (15; 1,5) minutos
Funo: Constante de 60 minutos.
1 frente
1 mquina
389
fila indica que estes processos usam recursos, apesar de no explicitar qual recurso
utilizado.
390
6.2. Exemplo 2
Foi modelado, tambm, um problema de manufatura de automveis, mostrado na Figura 12.
Este exemplo foi adaptado a partir de um sistema utilizado em curso de treinamento fornecido
pela empresa Paragon. O sistema consiste em analisar o final de uma linha de montagem de
automveis. O sistema composto por 4 cabines de inspeo e reparo dos produtos finais
(R1). Cada cabine tem 1 operador, que realiza todas as operaes na cabine. Os veculos (E1)
chegam s cabines 1 por vez.
Ao entrar na cabine, feita uma vistoria inicial. Essa vistoria decide se necessrio
fazer uma regulagem (20% dos veculos) ou no. Esta regulagem realizada com o auxlio de
um equipamento eletrnico (R2). Vale ressaltar que h um nico equipamento disponvel,
compartilhado entre as cabines.
391
Entidade: Automvel
Local: Entrada para as cabines de vistoria
Funo: Vistoria
Funo: Regulagem
Local: Sada da cabine
Recurso: Cabine
Recurso: Equipamento eletrnico
Parmetros
Funo: Normal (7; 1) min. 1 carro por vez.
1 cabine requisitada.
Funo: Triangular (2; 5; 9) minutos.
Funo: Normal (6; 1) minutos
Liberar cabine
4 cabines
1 equipamento
392
221,38
5,63
Semiintervalo
0,80
0,01
ProModel
Desvio
padro
Mdio
Semiintervalo
4,081
220,79
0,051
Ururau
Desvio
padro
Mdio
Semiintervalo
0,72
3,670
219,91
0,94
4,795
5,63
0,02
0,102
5,64
0,01
0,051
Desvio
padro
Outro modo de avaliar as respostas entre os simuladores est na Figura 15. Nesta figura,
mostram-se a comparao do tempo na fila de carregamento e o nmero de caminhes na fila
de carregamento da cana-de-acar extrados da Tabela 4.
393
Tempo
Nmero na fila
223
5,66
222
5,65
221,4
220,8
220
5,64
5,64
219,9
5,63
5,63
5,63
219
5,62
Nmero na fila
221
218
5,61
217
5,6
216
215
5,59
Arena
Promodel
Tempo
Ururau
Arena
.
Promodel
Ururau
Nmero na fila
Outro comparativo da Tabela 4 o tempo que levou para realizar a simulao. O Ururau
foi de cinco a sete vezes mais rpido que os simuladores comerciais (desabilitando as
animaes). Apesar de a execuo ser na ordem de segundos, a vantagem da execuo rpida
das replicaes ajuda na execuo de modelos de otimizao quando esto juntos aos modelos
de simulao.
Os resultados da simulao em Ururau, Arena e ProModel, para o segundo modelo
(manufatura de automveis), so apresentados na Tabela 5. Foram realizadas simulaes com
3000 minutos (50 horas). Foram realizadas 100 replicaes, arbitrariamente, em ambos
simuladores. Os resultados comparados so as mdias do tempo na fila do carregamento e o
nmero na fila, e estes foram considerados estatisticamente iguais sob 95% de confiana, ou
seja, aceita-se a hiptese nula de as mdias serem iguais.
394
Tempo na
fila em min.
(regulagem)
Nmero na
fila
em min.
(regulagem)
Tempo de
processamento (em
seg.)
ProModel
Ururau
Mdio
Semiintervalo
Desvio
padro
Mdio
Semiintervalo
Desvio
padro
Mdio
Semiintervalo
Desvio
padro
0,122
0,010
0,0510
0,111
0,011
0,058
0,120
0,013
0,003
0,001
0,005
0,003
0,001
0,003
0,003
0,001
0,005
Pode-se comparar, tambm, a resposta entre os simuladores, na Figura 16. Nesta figura,
mostram-se a comparao do tempo na fila de carregamento e o nmero de caminhes na fila
de carregamento da cana extrados da Tabela 5.
Tempo
Nmero
0,14
0,12
0,01
0,122
0,120
0,008
0,10
0,006
0,08
0,004
0,003
0,003
0,003
0,06
0,002
0,04
0,02
-0,002
0,00
-0,004
Arena
Promodel
Tempo na Fila
Ururau
Arena
.
Promodel
Ururau
Nmero na Fila
395
Nmero na fila
0,111
8. Concluso
Aps os testes comparativos entre o simulador Ururau e os simuladores comerciais Arena e
ProModel, pde-se constatar que todos apresentaram o funcionamento compatvel para os
modelos executados. Logicamente, no se pode afirmar que o Ururau seja equivalente a estes
softwares comerciais. O ambiente de simulao proposto, o Ururau, um software de
simulao que est em construo e pode ser visto como uma espcie de laboratrio de
pesquisa e desenvolvimento na rea de simulao a eventos discretos.
No entanto, a utilizao do Ururau j pode apresentar certas vantagens. Primeiro, a
possibilidade de se entender o cdigo fonte e a estrutura interna de um ambiente de simulao
a eventos discretos. Segundo, a possibilidade de se desenvolver modelos de simulao para
fins de pesquisa em que se podem adicionar algoritmos especficos ao cdigo fonte do
modelo, como um algoritmo de otimizao ou de avaliao de deciso por redes neurais.
Terceiro, podem-se adicionar novas funcionalidades ao simulador Ururau, de modo a torn-lo
mais compatvel para algum tipo de abordagem especfica e, assim, facilitar a modelagem do
sistema desejado.
Outra questo relativa ao uso do Ururau diz respeito flexibilidade em se poder
desenvolver modelos de simulao em qualquer uma das camadas componentes da estrutura
do software Ururau. Isto quer dizer que se podem elaborar modelos na camada do JSL
(biblioteca de simulao livre), no Ncleo do Ururau ou na camada superior da interface
grfica do Ururau.
Na camada inferior, podem-se construir modelos interligando as bibliotecas em JSL
uma nas outras e, a partir da, obtr-se um modelo de um sistema em cdigo Java. A principal
vantagem desta abordagem est na flexibilidade de construo do modelo de simulao.
396
Agradecimentos
Os autores gostariam de agradecer ao Conselho Nacional de Desenvolvimento Cientfico e
Tecnolgico (CNPq), Fundao de Amparo Pesquisa do Estado do Rio de Janeiro
(FAPERJ) e Fundao de Amparo Pesquisa do Estado de Minas Gerais (FAPEMIG), pelo
suporte financeiro para esta pesquisa.
397
Referncias
Banks, Jerry, Carson Ii, John S., Barry, Nelson L., David M-Nicol. Discrete Event System
Simulation. Fifth Edition, United States of America, Editora: Pearson Education, 2010.
Chwif, L.; Medina, A. C. Modelagem e Simulao de Eventos Discretos: Teoria e Aplicaes. 2. Ed.
So Paulo: Editora dos Autores, 2010.
Costa, R. F. S. Abordagem sistemtica para avaliao econmica de cenrios para modelos de
simulao discreta em manufatura. 139 f. Dissertao (Mestrado em Engenharia de Produo).
Universidade Federal de Itajub (UNIFEI), Itajub, MG, 2010.
Costa, R.F.S.; Montevechi, J. A. B.; Pamplona, M. S. F.; Medeiros, A. L.; Silva, A. L. F.; Friend, J. D.
Discrete-event simulation and activity-based costing to aid the decision making process in a
manufacturing cell. In: The International workshop on Applied Modelling & Simulation, Bzios, RJ,
2010.
Dahl, O., Myhrhaug B., Nygaard, K. Common Base Language, Norwegian Computing Center, 1970.
Goldsman, D., R. E. Nance, And J. R. Wilson. A brief history of simulation revised. In Proceedings of
the 2010 Winter Simulation Conference, 2010,
Henriksen, J. O., Crain, R. C. GPSS/H: A 23-Year Retrospective View. In: Proceedings of the 2000
Winter Simulation Conference, pp. 177-182, 2000.
Iannoni, A. P.; Morabito, R. Anlise do Sistema Logstico de Recepo de Cana-de-acar: Um estudo
de Caso Utilizando Simulao Discreta. Gesto e Produo (UFSCar), So Carlos, v. 9, n. 2, p. 107128, 2002.
Kettinger, W.J.; Teng, J.T.C.; Guha, S. Business process change: a study of methodologies,
techniques, and tools. MIS Quarterly, v.21, n.1, p.5580, 1997.
King, D. H.; Harrison, H. S. Discrete-event simulation in Java: a practitioner's experience. Proceedings
of the 2010 Conference on Grand Challenges in Modeling & Simulation. Vista, 2010.
Lang. N.A; Jacobs, P. H. M. Verbraek, A. Distributed, Open Simulation Model Development with
DSOL Services. In: Proceedings of the 15th European Simulation Symposium and Exhibition, Delft,
2003.
Law, A. Simulation models level of detail determines effectivenes. Industrial Engineering, v.23, n.10,
p.16-18, 1991.
Law, A. M. Simulation modeling and analysis. 4th edition. McGraw-Hill, 2007
Leal, F. Anlise do efeito interativo de falhas em processos de manufatura atravs de projeto de
experimentos simulados. 238 f. Tese (Doutorado em Engenharia Mecnica) Faculdade de
Engenharia do Campus de Guaratinguet, Universidade Estadual Paulista, Guaratinguet, 2008.
Leal, F.; Almeida, D. A.; Montevechi, J. A. B. Uma Proposta de Tcnica de Modelagem Conceitual
para a Simulao atravs de elementos do IDEF. In: Simpsio Brasileiro de Pesquisa Operacional,
Anais... Joo Pessoa, PB, 2008.
398
399
Schriber, T. J.; Brunner, D. T. Inside Simulation Software: How it works and why it matters. In:
Winter Simulation Conference, 2011, Phonix. Proceedings of the 2011 Winter Simulation Conference,
2011.
Silva, D. V. C.; Rangel, J. J. A.; Matias, I. O., Peixoto, T. A. Modelos de simulao a eventos
discretos com aspectos de decises humanas: uma aplicao com Ururau. Revista PODes, 2012.
Swain J. J. INFORMS Simulation software survey. OR/MS Today. Institute for Operations Research
and the Management Sciences (INFORMS), USA. Disponvel online: http://www.ormstoday.org/surveys/Simulation/Simulation1.html. [acessado em 18 de Janeiro de 2012], 2007.
400
e execute o arquivo ururau.jar. Lembre-se que necessrio ter instalado no computador o Java
Runtime Enviromment (JRE) verso 6.0 ou superior, que pode ser obtido em
http://java.com/getjava.
401
1. Gerador de Entidades
EntityProcessGenerator (gerador de entidades - Criar). No necessariamente um
ProcessCommand, mas esta classe vem antes de todos os outros comandos no processo de
construo do modelo. Ele responsvel pela gerao de entidades. A entidade marcada
como visvel (por um atributo) e o nvel de aninhamento (atributo nesting) para uso dos
comandos Batch e Separate. Uma entidade, que invisvel, no processada por nenhum
comando, ou seja, ignorada.
2. Lote
Batch (Lote). Este comando faz com que um nmero determinado de entidades entre em
uma fila e seja transformado em uma entidade. O lote pode ser temporrio, ou seja, pode ser
desfeito posteriormente por um comando que separe lotes (Separate) ou pode ser permanente.
O funcionamento deste comando do seguinte modo: as entidades que passam por este
comando so marcadas como invisveis menos a ensima entidade, por exemplo, se o lote
de 10, ento 9 so invisveis e uma visvel. Tambm sobe um nvel de aninhamento, porque
pode haver um lote posterior a outro lote.
3. Segurar
Hold (Segurar). Este comando segura as entidades em uma fila, at que uma condio
esteja satisfeita.
402
4. Separar
Separate (Separar). Este comando desfaz um lote temporrio feito pelo comando Batch.
O comando diminui o nvel de aninhamento e torna-o visvel.
5. Prender
Seize (Local - Prender). Este comando prende uma ou mais entidades para
processamento. Para cada entidade que passa pelo comando Seize, um ou mais recursos so
ocupados, dependendo da quantidade requisitada de recursos. possvel que uma entidade
fique presa enquanto dois ou mais recursos fique trabalhando nesta entidade se a quantidade
requisitada for maior que um. As entidades que no puderem ser atendidas entram na fila at
que o recurso seja liberado.
6. Liberar
Release (Local - Liberar). Libera o recurso requisitado para a entidade. Basta apontar
qual recurso e qual fila para que o recurso utilizado pela entidade corrente seja liberado.
7. Atraso
Delay (Funo - Atraso). Tempo que leva para uma entidade levar para processamento.
Recebe uma expresso que uma distribuio de probabilidade.
8. Processo
Process (Funo - Processo). Agrega em um s comando os comandos Seize, Delay,
Release nesta ordem.
403
9. Terminar
Terminate (Terminar). Termina a lista de comandos. As entidades visveis so
contabilizadas neste ponto.
10. Desvio
JumpTo (Desvio). Desvia o processamento de comandos para outro comando.
passado um ndice que simboliza a posio de onde est o comando.
11. Decisor
Decide (X - Decisor). Junto com o JumpTo, desvia a execuo dos comandos em funo
de uma condio. Existem dois tipos de deciso: por chance e por condio. Se for por
chance, o desvio acontece quando for definido que o JumpTo tem x% de chance de acontecer
para uma posio previamente especificada, se no, o processamento vai para o comando com
o ramo falso. Caso o tipo do Decide for por condio, ento o JumpTo desvia o fluxo caso a
expresso lgica especificada for verdadeira. Caso esta expresso seja falsa, o fluxo de
entidades segue para o ramo falso.
404
14. Gravao
Record (Gravao). Este comando tem funo de contador ou mede o intervalo de
tempo em funo de um atributo (previamente definido) com o valor do tempo de simulao
atual.
405