43439613-Apostila-ARENA.pdf

14
Simulação de sistemas utilizando Arena Antonio Carlos Fernandes da Silva Geovani Ferreira Gonçalves Dra. Renata Spolon Lobato Professora Simulação de Sistemas Mestrado em Ciência da Computação DCCE/IBILCE/UNESP São José do Rio Preto 2006

Transcript of 43439613-Apostila-ARENA.pdf

Page 1: 43439613-Apostila-ARENA.pdf

Simulação de sistemas utilizando Arena

Antonio Carlos Fernandes da Silva Geovani Ferreira Gonçalves

Dra. Renata Spolon LobatoProfessora

Simulação de SistemasMestrado em Ciência da Computação

DCCE/IBILCE/UNESP

São José do Rio Preto2006

Page 2: 43439613-Apostila-ARENA.pdf

Sumário1. Introdução...................................................................................................................................... 3

2. O que é o Arena?........................................................................................................................... 4

3. Construindo Modelos de simulação no Arena................................................................................5

4. Blocos de modelagem....................................................................................................................6

4.1 Componentes do Flowchar Module........................................................................................ 6

4.1.1 Create................................................................................................................................... 6

4.1.2 Dispose.................................................................................................................................6

4.1.3 Process.................................................................................................................................7

4.1.4 Decide.............................................................................................................................. 7

4.1.5 Batch ............................................................................................................................ 7

4.1.6 Separate...........................................................................................................................8

4.1.7 Assign............................................................................................................................. 8

4.1.8 Record..............................................................................................................................8

4.2 Componentes do Data Module............................................................................................... 9

4.2.1 Entity................................................................................................................................ 9

4.2.2 Queue.............................................................................................................................. 9

4.2.3 Resource........................................................................................................................10

4.2.4 Variable.......................................................................................................................... 10

4.2.5 Schedule........................................................................................................................ 10

4.2.6 Set.................................................................................................................................10

5. Simulando um modelo M | M | 1...................................................................................................11

5.1 Fornecendo dados ao modelo............................................................................................... 11

Referências...................................................................................................................................... 14

Page 3: 43439613-Apostila-ARENA.pdf

1. Introdução

A simulação de processos é uma ferramenta muito eficaz no auxilio a tomada de

decisões, pois permite criar e testar experimentos em modelos, sem interferir no sistema real ou

prevendo o funcionamento de sistemas ainda em desenvolvimento. Devido a importância dos

processos de simulação, uma ferramenta visual e de fácil utilização, como o ARENA, é de grande

importância por permitir que profissionais de várias áreas consigam realizar simulações

computacionais, sem a necessidade de conhecer nenhuma linguagem de programação.

Page 4: 43439613-Apostila-ARENA.pdf

2. O que é o Arena?

O Arena é um software de simulação de processos que permite a elaboração de um

modelo de simulação baseado na linguagem SIMAN (SIMulation ANalysis), através de uma

interface gráfica. A linguagem SIMAN permite a modelagem de um sistema como uma seqüência

de eventos aleatórios que alteram os estados do modelo. No Arena a modelagem é feita

considerando uma visão dos processos do sistema, ou seja, os sistemas são vistos do ponto de

vista das entidades, demonstrando como as mesmas interagem com o sistema.

O Arena permite a realização dos cinco procedimentos a seguir:

● Criação de modelos básicos: provê um ambiente intuitivo para criação de

modelos, através de componentes visuais que são conectados para definição dos

processos.

● Melhoria de modelo: adicionar dados reais (tempos de processos, solicitações

de recurso, etc) para testes.

● Simular o modelo: execução da simulação para verificar se o modelo reflete a

situação do sistema atual. Podem-se verificar possíveis gargalos no sistema e apresenta-

los de forma gráfica.

● Analisar os resultados da simulação: através de relatórios gerados

automaticamente em critérios comuns para decisão, tais como utilização de recursos e

tempo de espera.

● Selecionar a melhor alternativa: realizar alterações no modelo para

contemplar possíveis cenários a serem investigados, e então comparar os resultados para

escolha da melhor opção.

Page 5: 43439613-Apostila-ARENA.pdf

3. Construindo Modelos de simulação no Arena

O passo inicial para a criação de um modelo no ambiente Arena é arrastar os

componentes necessários para a tela principal do software. Os módulos devem ser interligados de

forma a representar o fluxo de informação do sistema real.

Estes módulos se dividem em Flowchart Module (figura 1) e Data Module (figura 2).

Os módulos de fluxo são aqueles que se interconectam e forma uma rede de informações e

comandos, enquanto os módulos de dados não aparecem no modelo, sendo responsáveis por

inserir as especificações de elementos no fluxo. Estes blocos podem ser encontrados no painel

Basic Process.

Na model window existem duas regiões principais, sendo elas:

● model workspace: que contém todos os elementos gráficos, incluindo os

processos flowchart, animações e outros elementos gráficos.

● spreadsheet view: exibe dados do modelo, tais como tempo, custos, e outros

parâmetros no formato de uma planilha.

Figura 1 - Flowchart Module Figura 2 - Data Module

Page 6: 43439613-Apostila-ARENA.pdf

4. Blocos de modelagem

4.1 Componentes do Flowchar Module

Segue abaixo a descrição de cada um dos itens do módulo de componentes do

Flowchar Module:

figura 3 - Componentes do Flowchar Module

4.1.1 Create

O módulo Create é o ponto inicial para a geração de entidades no modelo. Ele é a

forma como as entidades “entram no sistema”. Um modelo pode conter tantos módulos Create

quanto sejam necessários para representação da chegada das diversas entidades no sistema.

Os dois itens principais que devem ser especificados no módulo Create são Tipo da

Entidade (Entity Type) e os dados para o Tempo Entre Chegadas (Time Between Arrivals).

● O Tipo da Entidade é utilizado para identificar qual entidade será criada

(clientes, processos, documentos, etc).

● O Tempo Entre Chegadas provê informações para o modelo de simulação de

como um tipo de entidade em particular chegará até o sistema. Como exemplo, podemos

dizer que clientes chegarão aleatoriamente a cada 1 minuto (Observação: o tipo de

intervalo aleatório – randômico – utiliza distribuição exponencial com valores

especificados).

4.1.2 Dispose

O módulo Dispose marca o fim da permanência da entidade no modelo de simulação.

Este módulo contém um parâmetro que indica se as estatísticas da entidade serão armazenadas.

Page 7: 43439613-Apostila-ARENA.pdf

4.1.3 Process

Este módulo realiza o processamento de cada entidade no sistema. Ele permite

especificar quais são os recursos necessários para a realização do processamento.

O modulo de Processo permite especificar quatro tipos de processamento,

referenciados como ações do processo:

● Delay: Sofre um atraso, para processamento por exemplo;

● Seize, Delay: Reserva um recurso e é processado;

● Seize, Delay, Release: Reserva um recurso, é processado e libera o recurso;

● Delay, Release: É processado e libera o recurso.

O "Delay" deve ser utilizado quando o único aspecto relevante de um processo em

particular é o tempo de processamento, e não a utilização de recursos ou disponibilidade.

Se a modelagem de um recurso é necessária, então o "Seize, Delay, Release" é

apropriado, pois o módulo de Processo então permitirá a especificação dos recursos necessários

para realização do processo. O cálculo das estatísticas será realizado pelo modelo sobre a

utilização e disponibilidade do recurso, além do tempo de processo da entidade.

As ações "Seize, Delay" e "Delay, Release" são apropriadas em modelos mais

complexos, onde certos processos poderão necessitar serem realizados enquanto um recurso em

particular está sendo mantido.

4.1.4 Decide

O modulo Decide permite que processos realizem tomadas de decisão no sistema. Ele

inclui opções para decisões baseadas em uma ou mais condições ou baseadas em uma ou mais

probabilidades. Condições podem ser baseadas em valores de atributos, valores de variáveis, o

tipo da entidade, ou uma expressão.

4.1.5 Batch

O modulo Batch provê um mecanismo de agrupamento no modelo de simulação. Ele

permite o agrupamento de um número de entidades. Este agrupamento de entidades pode ser

permanente ou temporário. O agrupamento temporário deve ser desfeito posteriormente através

do módulo Separate (será exposto logo abaixo).

Batches podem ser realizados com um número específico de entidades ou podem ser

agrupadas através de um atributo em comum.

Page 8: 43439613-Apostila-ARENA.pdf

Entidades que chegam ao módulo Batch são colocadas em uma fila até que o número

necessário de entidades seja acumulado. Uma vez acumulado, uma nova representação de

entidade é criada.

4.1.6 Separate

O módulo Separate pode ser utilizado para criar várias entidades através da cópia de

uma entidade ou dividir uma entidade proveniente de um módulo Batch.

Na divisão de entidades provenientes de batches, a entidade representativa

temporária que foi formada é eliminada e as entidades originais que foram agrupadas são

restauradas. As entidades procedem seqüencialmente pelo módulo na mesma ordem em que

estavam originalmente no momento em que foram adicionadas no lote.

Na duplicação de entidades, o número especificado de cópias é realizado e enviado

para o módulo. A entidade original também é eliminada do módulo.

4.1.7 Assign

O módulo Assign é utilizado para atribuir novos valores para variáveis, atributos de

entidades, tipos de entidades, imagens de entidades (pictures entity), ou outras variáveis de

sistema.

O módulo Assign permite que sejam realizadas múltiplas atribuições dentro do mesmo

módulo.

4.1.8 Record

O módulo Record é utilizado para coletar várias estatísticas no modelo de simulação.

Vários tipos de estatísticas observacionais estão disponíveis, incluindo tempo entre saídas do

módulo, estatísticas de entidades (tempo, custo, etc.), observações gerais, e intervalos de

estatísticas.

Page 9: 43439613-Apostila-ARENA.pdf

4.2 Componentes do Data Module

Figura 4 – Componentes do Data Module

4.2.1 Entity

Neste modulo são definidas as diversas entidades que deverão ser manipuladas no

modelo, bem como são definidas suas imagens de representação na simulação. Informações de

custos iniciais e custos de armazenamento são também definidos na entidade.

As entidades, que podem ser tanto concretas como abstratas, representam os objetos

movendo-se pelo sistema. Cada entidade possui suas próprias características, referenciadas

como atributos. Os atributos podem ser definidos conforme necessários. Os atributos de cada

entidade possuem valores inerentes à própria entidade.

4.2.2 Queue

Este módulo pode ser utilizado para mudar a regra de ordenação de uma fila

específica. A regra de ordenação padrão para todas as filas é o First In First Out. Existe um

campo adicional que permite que a fila seja definida como compartilhada (não disponível na

versão Basic Edition).

Existem dois tipos de filas utilizados pelo Arena, as Individual queues e Internal

queues.

● Individual queues possuem um nome simbólico, uma regra de ordenação

(ranking rule), e uma capacidade específica. Entidades nestas filas podem ser mostradas

em animações; estatísticas podem ser coletadas sobre elas; podem ser ordenadas

utilizando um mecanismo flexível de regras de ordenação; elas podem ser coletadas em

Sets (será descrito logo abaixo); e, quando utilizadas com recursos, elas podem ser

compartilhadas entre módulos.

Page 10: 43439613-Apostila-ARENA.pdf

● Internal queues provêem um mecanismo first-in, first-out para entidades em

uma atividade em particular (módulo), mas não provêem animação, estatísticas ou

mecanismos de ordenação.

4.2.3 Resource

O módulo Resource define os recursos na simulação do sistema, incluindo

informações sobre custos e disponibilidade. Os recursos podem ser classificados como de

capacidade fixa – que não sofrem alteração durante a simulação – ou podem trabalhar baseado

em um schedule.

Resources são elementos estacionários do sistema que podem ser alocados para

entidades. Os recursos podem ser utilizados para representar pessoas, máquinas, ou qualquer

elemento necessário para execução de uma tarefa.

A terminologia associada com o recurso é a seguinte: quando uma entidade requer um recurso,

ela obtém o recurso; e quando ela não necessita mais o recurso é liberado, e fica disponível para

outras entidades. Um recurso é associado com uma fila para armazenar entidades que tentam

obter recursos quando ele está indisponível. A capacidade de um recurso limita o número de

entidades que podem obtê-lo em algum momento.

4.2.4 Variable

O data module Variable é usado para definir dimensões de variáveis e seus valores

iniciais. Variáveis podem ser referenciadas em outros módulos (por exemplo, módulos Decide),

podem sofrer atribuição de novos valores através do módulo Assign, e podem ser usadas em

qualquer expressão.

4.2.5 Schedule

O data module Schedule pode ser utilizado em conjunto com o módulo Resource para

definir uma operação de agendamento para um recurso ou com o módulo Create para definir um

agendamento de chegada.

4.2.6 Set

O data module Set define vários tipos de conjuntos / agrupamentos, incluindo

recursos, contadores, tipos de entidade e imagens de entidade.

Page 11: 43439613-Apostila-ARENA.pdf

5. Simulando um modelo M | M | 1

Para a exemplificação de uso da ferramenta, vamos construir um modelo com um

único servidor , no qual as entidades chegam, entram na fila do servidor e realizam um processo e

deixam o sistema.

Para a modelagem deste sistema precisamos arrastar para a área de trabalho do

ARENA (figura 5):

● Create

● Process

● Dispose

Figura 5 - Componentes básicos para construção do modelo M | M | 1

5.1 Fornecendo dados ao modelo

Assim que os módulos básicos estejam na área de trabalho, devemos fornecer os

dados do modelo. Para acessar as propriedades de cada um dos componentes basta que se de

um duplo clique sobre o componente.

Vamos iniciar configurando o módulo Create, que controlara o processo de chegadas.

Figura 6 – Janela de dialogo padrão do módulo Create, com valores já alterados

Nesta janela de configuração encontramos os seguintes campos:

● Name: Nome para o módulo Create;

Create 1 Process 1 Dispose 2

0 0

0

Page 12: 43439613-Apostila-ARENA.pdf

● Entity Type: especifica um nome de atributo, assim cada entidade criada pelo

módulo terá um atributo especificando seu tipo;

● Ao próximos campos tratam do controle do tempo de chegada das entidades:

■ Type: Ramdom: pode ser visto como uma distribuição exponencial;

■ Value: o valor para Expo;

■ Units: Unidade de tempo para a chegada.

■ Entities per Arrival: Número de entidades por chegada;

■ Max Arrivals: Número máximo de chegadas ao sistema;

■ First Creation: Tempo da primeira chegada.

O próximo módulo a ser configurado é o Process, de um duplo clique e configure o

mesmo de acordo com a figura abaixo:

Figura 6 – Janela de dialogo padrão do módulo Process, já com valores alterados

Os seguintes campos foram alterados:

● Name: Nome para o módulo Process;

● Action: Define tipo de funcionamento do processo (ver tópico 4.1.3);

● Resources: defini nome e o número de servidores necessários para a

realização de uma tarefa;

● Delay Type: forma da distribuição utilizada para gerar o tempo de serviço;

Page 13: 43439613-Apostila-ARENA.pdf

● Unit: unidade de tempo;

● Allocation: forma de alocação do recurso;

● Minimum, Value, Maximum: Valores para a distribuição triangular, selecionada

na caixa Delay Type.

Para concluir a simulação vamos alterar o nome do bloco Dipose, para saida, basta

dar um duplo clique sobre o módulo e alterar a caixa de texto name.

Para finalizarmos a configuração e executarmos a simulação vamos alterar alguns

parâmetros de execução, através do menu Run – Options (Figura 7), nesta janela iremos alterar o

campo Replication Length, para definir o tempo de duração da simulação. Outro parâmetro

importante desta janela é o Number of Replication, que indica quantas vezes a simulação será

executada.

Figura 7 - Janela de opções de execução, aba Replication Parameters.

Para a execução da simulação agora basta pressionar o botão Go (figura 8), ao fim da

simulação será apresentada uma janela de confirmação de exibição do relatório de resultados da

simulação.

Figura 8 – Botão Go

OBS: O Arena não permite o uso de acentuação do português em suas configurações.

Page 14: 43439613-Apostila-ARENA.pdf

Referências

Freitas Filho, Paulo José de. Introdução à modelagem e simulação de sistemas. Florianópolis, Visual Books, 2001.

Araújo, Luciane Calixto de. Manual do Arena 9.0. Universidade Federal de Santa Catarina, 2006.