Você está na página 1de 69

-URIUniversidade Regional Integrada do Alto Uruguai e das Misses Departamento de Engenharias e Cincia da Computao Cincia da Computao / Sistemas de Informao

Modelagem e Simulao de Sistemas

Braulio Adriano de Mello

Santo ngelo, Outubro de 2001


ltima atualizao: 10/10/2007

Sumrio
1. A Simulao de Sistemas....................................................................................................................4 1.1 Um pequeno histrico ................................................................................................................5 2. Modelos de simulao ........................................................................................................................7 2.1 Introduo ....................................................................................................................................7 2.2 Sistema ..........................................................................................................................................8 2.3 Modelo ..........................................................................................................................................8 2.4 Cenrios ........................................................................................................................................9 2.5 Parmetros do Modelo ...............................................................................................................9 3. Propriedades dos modelos de Simulao ......................................................................................11 4. Classificao dos modelos de simulao........................................................................................13 4.1 Modelos Determinsticos..........................................................................................................13 4.2 Modelos Estocsticos................................................................................................................13 4.3 Modelos Estticos .....................................................................................................................13 4.4 Modelos Dinmicos ..................................................................................................................14 5. Classificao dos Modelos quanto s mudanas que sofrem suas variveis de estado...........15 5.1 Modelagem para simulao discreta .......................................................................................17 5.1.1 Simulao orientada a evento...........................................................................................18 5.1.2 Simulao Orientada ao Exame da Atividade ...............................................................18 5.1.3 Simulao Orientada a processo......................................................................................19 5.2 Modelagem para simulao contnua......................................................................................19 5.3 Exemplo: construo e execuo de um modelo .................................................................19 5.3.1 Enunciado do sistema .......................................................................................................19 5.3.2 Modelagem e simulao ....................................................................................................20 5.4 Exerccios....................................................................................................................................24 6. Modelos baseados em redes de filas...............................................................................................26 6.1 Centros de servio .....................................................................................................................26 7. Algoritmos de escalonamento.........................................................................................................30 8. Estgios para a construo de modelos de representao ..........................................................31 8.1 Trabalho: Implementao de uma ferramenta de simulao ..............................................32 9. Paradigmas de Simulao orientada a objeto ................................................................................35 9.1 Introduo ..................................................................................................................................35 9.2 Simulao orientada a objetos .................................................................................................36 9.3 Proposta de classificao de paradigmas de simulao apresentada em [COP97]...........37 9.3.1 Quanto ao atendimento de solicitaes..........................................................................38 9.3.2 Classificao das entidades quanto forma de descrio dos eventos ......................38 9.3.3 Classificao quanto ao mecanismo utilizado pelas entidades para troca de informaes........................................................................................................................................38 9.3.4 Classificao quanto autonomia da entidade ..............................................................39 9.3.5 Classificao das entidades quanto ao tempo de permanncia no sistema ...............39 9.3.6 Classificao das entidades quanto capacidade de tomar iniciativas .......................39 9.3.7 Classificao quanto tica pela qual feita a descrio do comportamento das entidades.............................................................................................................................................40 10. Soluo do Modelo ...........................................................................................................................41 11. Uso do computador com o Arena..................................................................................................43 11.1 ARENA...................................................................................................................................43

3 11.2 O ambiente do ARENA ...................................................................................................... 43 11.3 Construo de modelos........................................................................................................ 44 11.4 O exerccio do modelo......................................................................................................... 45 11.5 Template................................................................................................................................. 46 11.6 Trabalho para ser entregue no final da disciplina............................................................. 48 12. Probabilidade e estatstica em simulao ...................................................................................... 49 12.1 Coleta de dados ..................................................................................................................... 49 12.2 Estatstica descritiva.............................................................................................................. 49 12.2.1 Agrupamento de dados .................................................................................................... 49 12.2.2 Estimao de parmetros................................................................................................. 51 12.3 Gerao de nmeros e amostras aleatrias ....................................................................... 51 12.3.1 Amostras aleatrias ........................................................................................................... 51 12.3.2 Teste de aleatoriedade ...................................................................................................... 52 12.4 Distribuies de Probabilidade ........................................................................................... 52 12.4.1 Distribuio uniforme ...................................................................................................... 52 12.4.2 Distribuio exponencial.................................................................................................. 53 12.4.3 Distribuio de Poisson.................................................................................................... 53 12.4.4 O mtodo de Monte Carlo .............................................................................................. 53 12.5 Inferncia estatstica.............................................................................................................. 54 13. Estudo estatstico ............................................................................................................................. 55 13.1 Estimao do intervalo de confiana ................................................................................. 55 13.2 Hipteses de teste ................................................................................................................. 56 13.3 Problemas estatsticos relacionados com a simulao ..................................................... 57 14. Referncias Bibliogrficas ............................................................................................................... 58 Anexo I...................................................................................................................................................... 59

1.

A Simulao de Sistemas

A simulao pode ser vista como o estudo do comportamento de sistemas reais atravs do exerccio de modelos. Um modelo incorpora caractersticas que permitem representar o comportamento do sistema real [LAW1982]. Sistema pode ser interpretado como uma coleo de itens entre os quais se possa encontrar ou definir alguma relao de funcionalidade. O termo simulao bastante genrico, visto que so variadas as formas e mecanismos utilizados para a representao do comportamento de sistemas. O termo simulao tambm possui grande abrangncia em relao ao seu campo de aplicao. Por exemplo, a simulao pode ser aplicada na industria, organizaes pblicas, na representao de software/hardware, entre outros. Os benefcios da simulao de sistemas, aliados agilidade oferecida pelos meios computacionais, tm sido largamente utilizados como ferramenta auxiliar na soluo de problemas diversos. Justifica-se tal afirmao considerando que, com o uso de um computador, uma grande quantidade de eventos pode ser executada em curto espao de tempo. De modo geral, o uso da simulao recomendado principalmente em dois casos. Primeiro, quando a soluo de problemas muito cara ou mesmo impossvel atravs de experimentos. E em segundo, quando os problemas so muito complexos para tratamento analtico. Com o uso da simulao, principalmente quando se observam caractersticas estocsticas, sistemas podem ter seu comportamento representado com maior fidelidade e realismo. So fatores que tornam desejvel o uso de tcnicas de simulao [FIL95] aliadas aos benefcios computacionais: Tempo: em computador possvel realizar experimentos que, se executados sobre o sistema real, poderiam consumir anos; Custo: embora a simulao em computador exija recursos humanos e alguns equipamentos, geralmente o custo se mantm muito abaixo se comparado execuo de experimentos sobre o sistema real; Impossibilidade de experimentao direta: h situaes em que experimentaes diretas no sistema real no podem ser realizadas por questes de segurana, de tempo, de acesso, ou ainda de inexistncia (sistema em construo); Visualizao: os computadores oferecem recursos que facilitam a visualizao dos resultados de uma simulao (grficos, tabelas, entre outros), bem como do estado do sistema durante o exerccio de um modelo; Repetio: depois de construdo, um modelo de representao pode ser executado n vezes a um custo muito baixo; Interferncia: um modelo extremamente mais flexvel para a realizao de mudanas se comparado a um sistema real. Esta uma caracterstica bastante

5 desejvel no estudo de sistemas com objetivos de gerao de informaes de apoio a tomada de decises. Modelos de simulao podem ser considerados como uma descrio do sistema real. O exerccio (execuo) de modelos de simulao em computador tem potencial para fornecer resultados mais precisos sem que seja preciso interferir no sistema real. Tais resultados, quando analisados estatisticamente, produzem informaes que podem contribuir grandemente na tomada de decises que visam a soluo de problemas. Um outro ponto relevante a considerar em simulao a ordem de ocorrncia dos eventos. Considera-se como evento (mudana de estado) qualquer acontecimento que interfere no sistema. Como a simulao trata do comportamento de sistemas, ou seja, ordem em que os eventos acontecem, essencial que uma varivel de tempo seja contabilizada. O tempo em que cada evento ocorre estudado para avaliar se este evento deveria ocorrer naquele instante, antes ou depois. Restringindo um pouco mais a simulao de sistemas para os meios computacionais, e considerando os modelos como um dos mtodos de representao de sistemas, o seguinte conceito pode ser adotado: Simulao uma tcnica numrica para realizar experincias em um computador digital, a qual envolve certos tipos de modelos lgicos que descrevem o comportamento de um sistema sobre extensos intervalos de tempo.[xxx] Basicamente, o uso da simulao pode oferecer vantagens quando necessrio [FIL95]: Estimar distribuio de variveis aleatrias; Testar hipteses estatsticas; Comparar cenrios representando diferentes solues para um problema em estudo; Avaliar o comportamento de uma soluo analtica; Avaliar um processo de tomadas de deciso em tempo real.

1.1

Um pequeno histrico

Nas dcadas de 60 e 70 a simulao era excessivamente cara e utilizava ferramentas que geralmente s eram disponveis em grandes corporaes. A mo de obra precisava ser especializada, pois a construo e execuo de modelos dependia de conhecimentos muito acima da mdia observada em usurios comuns. O grupo que trabalhava em simulao geralmente era composto por doutores que desenvolviam sistemas grandes e complexos utilizando as linguagens disponveis na poca, tais como o Fortran. No final da dcada de 70 e na dcada de 80, os computadores foram se tornando mais rpidos e mais baratos. Nesta poca, por exemplo, as linhas de montagens de carros passaram a utilizar a simulao para resolver problemas tais como de segurana e otimizao da linha. Nesta mesma poca, a simulao comeou a ser utilizada em negcios e por estudantes e pesquisadores que descobriram seu potencial. No final da dcada de 80 o valor da simulao foi reconhecido por muitas organizaes. Tanto, que vrias delas fizeram da simulao um requisito para que investimentos grandes pudessem ser aprovados. No entanto, organizaes pequenas raramente utilizavam essa tcnica.

6 Nos anos 90 a simulao atingiu um grau de maturidade suficiente para que seja adotada por organizaes de variadas reas e diferentes portes. utilizada em estgios iniciais de projetos, em animaes, pesquisa, entre outros. Este avano foi principalmente possvel pelo surgimento de ferramentas voltadas para a simulao e fceis de usar, e pela disponibilidade de computadores mais rpidos e baratos.

2.
2.1

Modelos de simulao
Introduo

Os problemas enfrentados pela indstria, centros de pesquisas, organizaes em geral so cada vez maiores e mais complexos, exigindo, cada vez mais, tcnicas e procedimentos para auxlio nos seus tratamentos. Uma destas tcnicas a modelagem para simulao cujo objetivo representar o comportamento de sistemas atravs de um modelo. A resoluo de quaisquer problemas requer primeiro que estes sejam bem definidos, ou seja, especificar com preciso suficiente os objetivos. Para tanto, necessrio um bom conhecimento do sistema sobre estudo para que se possa entender o problema sem dubiedade. A situao no diferente quando se quer resolver problemas usando simulao. O sistema deve ser bem conhecido para que se possa detectar os problemas relacionados e traar as metas a serem alcanadas. A simulao de sistemas pode ser desmembrada em algumas etapas bsicas [FIL95], tambm discutidas no mbito de pesquisa operacional. So elas: Problema: identificao de um problema apresentado pelo sistema em estudo, bem como das partes (ou sub-sistemas) que interferem no problema identificado (envolve coleta de amostras); Estudo do sistema: descrever o sistema em termos de componentes, atividades, entidades, eventos, restries, propsitos que motivaram o uso da simulao para soluo de problemas; Modelo: construo do modelo de representao do sistema em estudo. modelo precisa ser validado; O

Soluo: realizar experimentos sobre o modelo construdo, e utilizar as informaes resultantes para propor solues ao problema detectado inicialmente; Operacionalizar soluo: Executar alteraes no sistema real com base nos resultados de simulao; Realimentao: re-elaborao parcial do trabalho de acordo com resultados obtidos na interferncia sobre o sistema real.

Problema Sistema Modelo Soluo Operacionalizao Figura 2.1 Etapas de Simulao (Fonte: [FIL95]) Os propsitos essenciais do estudo das tcnicas de simulao de sistemas se concentram principalmente nas atividades de estudo do sistema real, construo do modelo, e execuo de experimentos sobre o modelo. So tambm os propsitos principais desta disciplina. Realimentao

2.2

Sistema

Para os propsitos desta disciplina, o termo sistema pode ser definido como um conjunto estruturado de itens (componentes ou sub-sistemas) entre os quais se possa encontrar ou definir alguma relao de funcionalidade. O valor dos atributos de um componente, num dado instante de tempo, definem o estado do modelo.

2.3

Modelo

De modo geral, os modelos so utilizados para solucionar problemas que seriam muito caros em uma soluo experimental ou muito complicados para tratamento analtico. A construo de um modelo pode visar a soluo de um problema especfico dentro de um sistema. Deste modo, pode existir um nmero variado de modelos para um mesmo sistema, cada modelo respeitando as caractersticas de um problema particular. Identificado um problema dentro de um sistema para o qual se pode construir um modelo, preciso que se tenha uma estrutura organizada para descrever este modelo. Para isso, utilizada uma linguagem de simulao capaz de fornecer esta estrutura, bem como permitir a traduo do modelo em uma forma aceitvel para seu processamento em computador. Neste caso, o computador ser utilizado para exercitar o modelo de forma a produzir sadas que possam ser analisadas, a fim de que decises relacionadas com a resoluo do problema possam ser tomadas. Com a ajuda de computadores possvel simular grande quantidade de eventos em curto espao de tempo. Atravs do exerccio de um modelo que representa um sistema possvel fazer uma estimativa do comportamento futuro deste sistema. Ao exerccio de um modelo d-se o nome de simulao. Vale ressaltar que o experimento no pode ser comparado com a simulao. Enquanto experimento caracterizado por tentativas de mudanas no prprio sistema, simulao exercida

9 sobre uma representao do sistema. Tambm, o experimento pode ter um custo muito elevado, o que justifica, em grande parte dos casos, a construo de modelos para simulao. Como exemplos prticos da aplicao da simulao pode-se citar o estudo dos efeitos de variaes no meio ambiente, mudanas complexas em um determinado ambiente, ou ensino de habilidades (simulador de vo). Diante dos resultados do exerccio de um modelo so realizadas anlises de situaes novas sobre as quais se tem pouco conhecimento, permite fornecer dados para concepo de novas regras, ou ganho de experincia no projeto do prprio modelo. Modelos tambm devem incorporar elementos reais de forma simples, mantendo uma relao custo X benefcio coerente. Ou seja, evitar a construo de um modelo muito complexo que dificulte ou mesmo impossibilite a sua compreenso e manipulao. Evitar tambm a construo de modelos demasiadamente simples que no representem as propriedades desejveis do sistema em estudo. De acordo com a nfase dada aqui para simulao com o uso de computadores, pode-se definir a simulao como uma tcnica numrica par realizar experincias em um computador digital, as quais envolvem certos tipos de modelos lgicos que descrevem o comportamento de um sistema sobre extensos intervalos de tempo. Por sistema entende-se como uma coleo de itens entre os quais se possa encontrar ou definir alguma relao, que so objeto de estudo na construo do modelo. Ento, os modelos so descries de um sistema, considerando que eles so concebidos atravs de uma abstrao da realidade, ou seja, apenas aspectos relevantes do sistema real so considerados.

2.4

Cenrios

Dentro do contexto de otimizao, existem objetivos a serem alcanados pelo sistema que deve trabalhar satisfazendo restries impostas pelo meio ambiente. Desta forma, a soluo do problema em estudo deve ser a que melhor atinge os objetivos dentre as que satisfazem as restries. A observao e o acompanhamento do comportamento do modelo, operando com uma determinada soluo, so feitas para avaliar se as restries esto sendo satisfeitas e se os objetivos esto sendo alcanados. Com freqncia, uma soluo para o problema pode representar uma configurao para o sistema ou uma poltica de operao do sistema. Assim, as diferentes alternativas de soluo do problema devem ser enumeradas para a definio dos cenrios a serem avaliados durante os experimentos de simulao [FIL95]. Pode acontecer que os cenrios em comparao sejam to distintos que so desenvolvidos dois ou mais programas para representa-los. Mesmo em tais casos considera-se que h um nico modelo que seleciona o programa a ser executado de acordo com o cenrio desejado.

2.5

Parmetros do Modelo

Os parmetros definem o cenrio de cada corrida (simulao). So controlados externamente pelo usurio no incio de cada corrida e portam-se como constantes durante a corrida de simulao. Podem representar uma configurao especfica para o sistema ou uma determinada poltica de operao do sistema. Tambm podem ser sementes de inicializao dos geradores de variveis (aleatrias) independentes. Entre estes parmetros esto a quantidade e a distribuio da demanda de servio, os algoritmos de escalonamento, o nmero mdio de vezes que um usurio visita um dispositivo, o

10 nmero de usurios em um sistema fechado e a distribuio do tempo entre chegadas de usurios em um sistema aberto. Alguns destes parmetros caracterizam a carga do sistema, como por exemplo, a distribuio do tempo entre chegadas de usurios. Pode-se dizer que a habilidade mais importante de um projetista o entendimento de como o sistema se comporta, a capacidade de estimar o conjunto inicial dos parmetros do sistema e a habilidade de realizar anlises de modificao de parmetros com preciso.

11

3.

Propriedades dos modelos de Simulao

Para abordar o projeto e aplicao de modelos de simulao em computador, requisito uma definio de modelo de simulao. Deste modo, um modelo cientfico pode ser definido como uma abstrao de um sistema real, que possa ser utilizado com os propsitos de predio e controle. A finalidade de um modelo cientfico permitir ao analista determinar em que propores uma ou mais mudanas em determinados aspectos de um sistema podero afetar outros aspectos deste sistema ou do sistema como um todo. A utilidade de um modelo est diretamente relacionada sua capacidade de incorporar elementos reais de forma simples. No entanto, um modelo deve conter os aspectos importantes do sistema real, sem que sua complexidade impossibilite a compreenso e manipulao do mesmo. Essa caracterstica pode ser difcil de ser alcanada, pois modelos realsticos raramente so simples, e modelos simples raramente so realsticos. No que se refere aos modelos matemticos para a simulao em computadores, estes so constitudos por 4 elementos: componentes, variveis, parmetros e relaes funcionais. O componente representa a parte do modelo sobre a qual so realizados os estudos de simulao. Os componentes dos modelos tendem a variar largamente, dependendo do sistema que esta sendo simulado. Por exemplo, em um sistema de gerenciamento de redes, podem ser considerados componentes os objetos gerenciados, os agentes de gerenciamento e as aplicaes gerentes. As variveis so utilizadas nos modelos de simulao para relacionar um componente com outro. Tais variveis podem ser classificadas como variveis exgenas, variveis de estado e variveis endgenas. As variveis exgenas so as variveis independentes ou de entrada do modelo. So consideradas como tendo sido previamente determinadas e fornecidas, independentemente do sistema do qual est sendo construdo o modelo. Desta forma estas variveis podem ser vistas como atuantes sobre o modelo, mas no influenciadas por ele ( a direo causa-efeito ocorre somente no sentido varivel exgena -> sistema). As variveis exgenas podem ser classificadas como controlveis e no controlveis. As variveis controlveis so as variveis ou parmetros que podem ser manipuladas ou controladas pelos elementos encarregados da deciso ou de estabelecer o programa de ao em relao ao sistema. Variveis no controlveis so geradas pelas circunstncias nas quais o sistema modelado existe e no pelo prprio sistema ou pelos elementos encarregados das decises a ele relativas. As variveis de estado descrevem o estado de um sistema ou de um de seus componentes, quer no incio de um determinado perodo de tempo, quer no seu trmino, ou ainda durante o decorrer de um certo perodo. Elas interagem com as variveis exgenas e com as endgenas, de acordo com as relaes funcionais previamente estabelecidas. O valor das variveis de estado durante um determinado perodo de tempo pode

12 depender do valor de variveis exgenas de um perodo de tempo anterior de variveis de sada de perodos precedentes. Quando um componente utiliza em sua entrada parte de sua sada ocorre um loop no modelo. Estes loops podem ser utilizados para introduzir retardos na simulao. Em um sistema de gerenciamento de redes, as variveis de estado podem incluir nmero de pedidos na fila, resultado de uma operao de gerenciamento ou nmero de objetos selecionados. Variveis endgenas so as variveis dependentes ou de sada do sistema. So geradas pela interao das variveis exgenas e de estado, de acordo com as caractersticas operacionais do sistema. Em um sistema de gerenciamento de redes, so variveis endgenas a mdia de operaes realizadas com sucesso ou o conjunto de informaes resultantes da ocorrncia de eventos nos objetos gerenciados. Dependendo da finalidade de uma simulao, uma varivel pode ser classificada como varivel exgena, de estado ou endgena. (Citar exemplo de agente de gerenciamento dentro do sistema) Quanto s variveis exgenas, elas podem ser utilizadas de dois modos diferentes em experincias de simulao. Na primeira, elas so tratadas como parmetros. Neste caso, os parmetros devem ser determinados pelas condies do problema ou pelos elementos encarregados da deciso. Tais condies ou elementos devem ser previamente lidos pelo computador como dados de entrada, ou geradas internamente se forem variveis estocsticas (atravs de mtodos pr-definidos). As relaes funcionais que descrevem as interaes das variveis com os componentes de um modelo so duplas: identidades e caractersticas operacionais. Ambas so usadas para gerar o comportamento do sistema. As identidades podem tomar a forma quer de definies quer de proposies tautolgicas relativas aos componentes do modelo. Para um sistema de gerenciamento, a mtrica do trfego entre uma estao gerente e um recurso remoto pode ser considerado um exemplo. (Em uma firma, lucro = vendas - custo) Uma caracterstica operacional uma hiptese, geralmente uma equao matemtica que relaciona as variveis endgenas e de estado de um sistema com usas variveis exgenas. Diferentemente dos componentes e variveis que podem ser diretamente observados no sistema real, os parmetros das caractersticas operacionais somente podem ser obtidos atravs da inferncia estatstica.

13

4.

Classificao dos modelos de simulao

Existem diferentes classificaes propostas para os modelos de simulao. Aqui utilizado um sistema que classifica os modelos de simulao em determinsticos, estocsticos, estticos e dinmicos.

4.1

Modelos Determinsticos

Nos modelos determinsticos no se permite s variveis exgenas e endgenas serem variveis randmicas. Tambm, as caractersticas operacionais devem ser relaes exatas e no funes de densidade de probabilidade. Os modelos determinsticos so menos computacionalmente exigentes que os modelos estocsticos. Estes modelos podem freqentemente ser resolvidos por tcnicas como a do clculo de mximos e mnimos (tcnica analtica). Em resumo, mtodos analticos so mais eficientes que os mtodos de simulao na resoluo de problemas determinsticos.

4.2

Modelos Estocsticos

Modelos so estocsticos quando pelo menos uma das caractersticas operacionais dada por uma funo de probabilidade. Geralmente so mais complexos que modelos determinsticos. Deste modo, a simulao mais adequada como mtodo de anlise e soluo para os modelos estocsticos. Estes modelos so adequados gerao randmica de dados para serem utilizados nos estgios de observao ou de testes.

4.3

Modelos Estticos

Modelos estticos no consideram a varivel de tempo. Nas pesquisas operacionais, geralmente a maioria dos trabalhos nas reas da programao linear, no linear e na teoria dos jogos, tm sido relacionadas com modelos estticos. No entanto, o uso de simulao pode no ser recomendado pelo fato de que a maioria dos modelos estticos so completamente determinsticos. Assim, as solues podem normalmente ser obtidas por tcnicas analticas diretas.

14

4.4

Modelos Dinmicos

Os modelos matemticos que tratam de interaes variveis com o tempo so chamados modelos dinmicos (ocorrncia de uma ordem termporal entre eventos).

15

5.

Classificao dos Modelos quanto s mudanas que sofrem suas variveis de estado

Os modelos de um sistema podem ser classificados como modelos de mudana discreta e modelos de mudana contnua. Estes termos descrevem o modelo e no o sistema. Um sistema pode ser modelado tanto atravs de um modelo de mudana discreta (ou discreto) quanto um modelo de mudana contnua (ou contnuo). O tempo a principal varivel independente em um modelo de simulao dinmico. As demais variveis (variveis de estado) podem ser consideradas como funes do tempo, portanto so variveis dependentes. As variveis de estado do sistema so classificadas de acordo com os valores que tomam ao longo da simulao. Os modelos dinmicos so classificados de acordo com os instantes de tempo em que as variveis de estado tm seus valores alterados. Um modelo discreto se todas as variveis de estado tm seus valores alterados apenas em um nmero contvel de instantes de tempo. Um modelo contnuo se todas as variveis de estado tm seus valores alterados a qualquer instante de tempo. Um modelo misto se algumas variveis de estado tm os seus valores alterados a qualquer instante de tempo e outras apenas em um nmero contvel de instantes de tempo [FIL95].

Modelo de mudana discreta: aquele em que as variveis dependentes variam


discretamente em pontos especficos do tempo simulado, referidos como tempo de evento. A varivel tempo pode ser contnua ou discreta em tais modelos, dependendo se as mudanas discretas nas variveis dependentes podem ocorrer em qualquer ponto do tempo real ou unicamente em pontos predeterminados.
Varivel dependente

Tempo de evento

Figura 1 - Varivel dependente em um modelo discreto

16

Modelo de mudana contnua: aquele em que as variveis dependentes podem variar continuamente ao longo do tempo simulado. Um modelo contnuo pode ser tanto contnuo no tempo ou discreto no tempo, dependendo se os valores das variveis dependentes esto sempre disponveis em qualquer ponto do tempo simulado, ou apenas em pontos especficos.

Varivel dependente Tempo

Figura 2 - Varivel dependente em um modelo contnuo com tempo contnuo

Varivel dependente Tempo

Figura 3 - Varivel dependente em um modelo contnuo com tempo discreto

Algumas vezes pode ser til modelar um sistema discreto por um modelo contnuo, considerando as entidades do sistema como um agregado e no como entidades individuais. Podemos encontrar um exemplo de tal convenincia na anlise do movimento das partculas de um gs.

17

Varivel dependente

Tempo

Figura 4 Modelo de mudana combinada

Modelo de mudana combinada: aquele em que as variveis dependentes podem


variar discretamente, continuamente, ou continuamente com saltos discretos superpostos. A varivel tempo pode ser discreta ou contnua. O aspecto mais importante de uma simulao combinada surge nas mudanas de variaes discretas para contnuas e vice-versa. Uma linguagem de simulao combinada deve conter meios de detectar tis ocorrncias e modelar suas conseqncias. Em resumo, chama-se simulao discreta ao exerccio de um modelo discreto. De forma anloga, de simulao contnua ao exerccio de um modelo contnuo. E, de simulao combinada ao exerccio de um modelo combinado.

5.1

Modelagem para simulao discreta

Os objetos em um sistema discreto so chamados entidades. Existem vrios tipos de entidade e cada uma tem vrios tipos de caractersticas ou atributos. Embora possam estar envolvidas em diferentes tipos de atividades, pode ser conveniente agruparmos as entidades baseados em um atributo comum. Grupos de entidades so chamados arquivos ou conjuntos. O objetivo de um modelo para simulao discreta reproduzir as atividades das entidades engajadas e, a partir da, conhecer algo sobre o comportamento e desempenho do sistema. Isto conseguido quando definimos os estados do sistema e construmos atividades que o movem de um estado a outro. O estado de um sistema definido em termos de valores numricos dados aos atributos das entidades. Um sistema est em determinado estado, quando todas as suas entidades esto em estados consonantes com o domnio dos valores dos atributos que definem aquele estado. Em simulao discreta, o estado do sistema s pode mudar nos tempos de eventos. Uma vez que o estado do sistema permanece constante entre tempos de eventos, uma descrio completa do estado do sistema pode ser obtida avanando o tempo simulado de um evento a outro. Este mecanismo usado na maioria das linguagens para simulao discreta.

18

Processo

Atividade

Tempo Evento de chegada Evento de entrada em servio Evento de fim de servio

Figura 5 - Relaes entre evento, processo e atividade

A formulao de um modelo para simulao discreta pode ser realizada de trs formas: Pela definio das mudanas nos estados que podem ocorrer em cada tempo de evento; Pela descrio das atividades nas quais as entidades do sistema se envolvem e; Pela descrio do processo atravs do qual as entidades do sistema fluem. Um evento acontece em um ponto isolado do tempo, no qual decises devem ser tomadas de forma a iniciar ou terminar um atividade. Um processo uma seqncia ordenada de eventos e pode englobar vrias atividades. Estes conceitos levam naturalmente a trs alternativas de viso de um modelo para simulao discreta: Modelagem orientada a evento Modelagem orientada ao exame da atividade Modelagem orientada a processo 5.1.1 Simulao orientada a evento

Na simulao orientada a evento, um sistema modelado pela definio das mudanas que ocorrem no tempo de evento. A tarefa do modelador determinar os eventos que podem causar a mudana no estado do sistema e ento desenvolver a lgica associada com cada tipo de evento. A simulao do sistema produzida pela execuo da lgica associada a cada evento, em uma seqncia ordenada no tempo. 5.1.2 Simulao Orientada ao Exame da Atividade

Neste caso, o modelador descreve as atividades nas quais as entidades do sistema esto engajadas e prescreve as condies que causam o incio e o fim de uma atividade. Os eventos que iniciam ou terminam uma atividade no so escalonados pelo modelador, mas iniciados a partir das condies especificadas para a atividade. medida que o tempo simulado avana, as condies para incio ou fim de uma atividade so examinadas. Para nos assegurarmos de que cada atividade levada em considerao, necessrio examinar todo o conjunto de atividades a cada avano do tempo.

19 5.1.3 Simulao Orientada a processo

Muitas estruturas de modelos para simulao incluem seqncias de eventos as quais ocorrem em padres definidos, por exemplo, uma fila de entidades esperando por um servidor. A lgica associada com tal seqncia de eventos pode ser generalizada e definida por uma nica afirmao. Uma linguagem para simulao pode ento traduzir tal afirmao na seqncia de eventos associada. Uma linguagem orientada a processo emprega tais afirmaes para modelar o fluxo das entidades no sistema. Estas afirmaes definem uma seqncia de eventos que automaticamente executada pela linguagem de simulao. Exemplo do professor: crie entidades chegando a cada T unidades de tempo espere pelo professor avance o tempo simulado pelo tempo de servio libere o professor termine as atividades da entidade

5.2

Modelagem para simulao contnua

Em um modelo para simulao contnua, o estado do sistema representado por variveis dependentes que mudam continuamente no tempo. Um modelo para simulao contnua construdo pela definio das equaes que definem as relaes entre suas variveis de estado, cujo comportamento dinmico simula o sistema real.

5.3

Exemplo: construo e execuo de um modelo

Esta seo apresenta o desenvolvimento e execuo de um modelo simples de um sistema de atendimento de alunos por professores. 5.3.1 Enunciado do sistema Ao chegar na sala do professor, o aluno deve esperar em uma fila at que chegue a sua vez de ser atendido. Quando chega a sua vez, o aluno conversa com o professor e depois abandona a sala dando oportunidade para que um novo aluno possa ser atendido. Apenas por uma questo de simplicidade, vamos assumir que o tempo de chegada dos alunos e o tempo gasto por cada aluno em atendimento so conhecidos. Os so valores dados na Tabela 1.

20
Tabela1 - Tempo de chegada de alunos e tempo de atendimento

Aluno 1 2 3 4 5 6 7 8 9 10

Tempo de chegada 6,0 24,0 26,0 35,0 44,0 52,0 58,0 70,0 77,0 89,0

Tempo de atendimento 9,0 7,5 10,0 6,5 6,0 5,0 9,0 7,5 6,5 11,0

O objetivo realizar uma simulao manual do processo apresentado acima, de forma a determinar o tempo mdio que um estudante passa tirando dvidas com o professor e a percentagem do tempo que o professor fica ocupado tirando dvidas. 5.3.2 Modelagem e simulao O sistema acima pode ser definido pelo professor e pelos estudantes. No so considerados estudantes que no tm dvidas. Assume-se ento, que o processo de estudo do aluno, atravs do qual ele percebe suas dvidas no importante para o nosso objetivo. Ao excluirmos este processo do escopo do sistema, assumimos que o aparecimento de alunos para atendimento so entradas do sistema, bem como a demanda de tempo de atendimento para cada aluno. Neste processo de simulao usa-se a linguagem natural, considerando que os alunos so atendidos por ordem de chegada. Definio dos estados do sistema: nmero de estudantes espera de atendimento ocupao ou no do professor importante frisar que existem outros modos de definir o estado de um sistema. Por exemplo, com base no nmero total de estudantes no sistema. A mudana de estado do sistema pode ocorrer devido a dois eventos: um estudante chega para atendimento um estudante acaba de tirar suas dvidas e parte do sistema Para ilustrar a simulao pode-se traar o retrato dinmico do estado do sistema, pelo processamento dos eventos de chegada e sada de estudantes ordenados no tempo. A simulao manual do exemplo, correspondente s entradas da tabela inicial, pode ser apresentada de acordo com duas vises. A viso do estudante (descrio orientada a processo) e a viso da ocorrncia ordenada dos eventos, no caso da viso do professor (descrio orientada a evento). A tabela seguinte apresenta a viso do estudante, assumindo inicialmente: que no havia estudantes no sistema, que o professor estava desocupado e que o primeiro aluno com dvida chegou no tempo 2,4 minutos. Na tabela, as colunas 1 e 2 foram tiradas da tabela inicial. A coluna 3 depende se o aluno anterior j partiu do sistema. O valor da coluna vai ser o maior valor entre o tempo de chegada do estudante e o tempo de partida do aluno imediatamente anterior. A coluna 4 a soma da coluna 3 com o valor do tempo de atendimento dado na tabela inicial. A

21 coluna 5 computa o tempo que o estudante passa na fila, simplesmente subtraindo do tempo que o estudante comea a ser atendido (coluna 3), o tempo em que o estudante chegou ao sistema (coluna 2). De forma similar, a coluna 6 computa o tempo que um estudante passa no sistema, subtraindo seu tempo de chegada (coluna 2), do seu tempo de sada (coluna 4). O tempo mdio que um estudante passa no sistema pode ser facilmente calculado pela tabela abaixo, sendo seu valor igual a 9,75 minutos.
Tabela 2 - Simulao Manual: a viso do estudante

Aluno 1 2 3 4 5 6 7 8 9 10

tempo de tempo de chegada a entrada em sala atendimento 6,0 6,0 24,0 24,0 26,0 31,5 35,0 41,5 44,0 48,0 52,0 54,0 58,0 59,0 70,0 70,0 77,0 77,5 89,0 89,0

tempo de tempo sada da sala espera fila 15,0 0,0 31,5 0,0 41,5 5,5 48,0 6,5 54,0 4,0 59,0 2,0 68,0 1,0 77,5 0,0 84,0 0,5 100,0 0,0

de tempo total na gasto 9,0 7,5 15,5 13,0 10,0 7,0 10,0 7,5 7,0 11,0

Uma descrio do exemplo orientada a evento pode ser vista na tabela abaixo. Nesta tabela, os eventos foram listados em ordem cronolgica, e nela podemos facilmente calcular a percentagem para ocupao do professor, cujo valor igual a 78%. Para manter a ordem cronolgica dos eventos, foi necessrio manter um calendrio de futuros eventos a serem processados, o que foi conseguido colocando em ordem correta os eventos de chegada e partida de estudantes. A ordem correta do processamento dos eventos foi obtida deste calendrio, que vai sempre fornecer com exatido o prximo evento a ser processado.
Tabela 3 - Simulao Manual: viso do professor.

Tempo de evento 0,0 6,0 15,0 24,0 26,0 31,5 35,0 41,0 44,0 48,0 52,0 54,0 58,0 59,0 68,0

Aluno 1 1 2 3 2 4 3 5 4 6 5 7 6 7

tipo do nmero evento de alunos na fila inicio 0 chegada 0 sada 0 chegada 0 chegada 1 sada 0 chegada 1 sada 0 chegada 1 sada 0 chegada 1 sada 0 chegada 1 sada 0 sada 0

nmero de alunos na sala 0 1 0 1 2 1 2 1 2 1 2 1 2 1 0

estado do tempo de professor ocupao do prof. livre ocupado livre 9,0 ocupado ocupado ocupado ocupado ocupado ocupado ocupado ocupado ocupado ocupado ocupado livre 44,0

22 70,0 77,0 77,5 84,0 89,0 100,0 8 9 8 9 10 10 chegada chegada sada Sada chegada Sada 0 1 0 0 0 0 1 2 1 0 1 0 ocupado ocupado ocupado livre ocupado livre 14,0 11,0

Qualquer que seja a viso de descrio do exemplo, a lgica associada ao processo de chegada e partida de estudantes depende do estado do sistema. No caso da chegada do estudante, se o professor est livre ele se torna ocupado, entrando o estudante em atendimento, tendo seu tempo de partida escalonado para o tempo corrente mais seu tempo de atendimento. Se o professor estiver ocupado, o estudante entra na fila de espera, aumentando o nmero de alunos em espera. No caso de partida de um estudante, se existe algum outro estudante em espera, o estado do professor ainda continua ocupa, o nmero de estudantes na fila decrementado de uma unidade, o novo estudante entra em atendimento, sendo sua partida escalonada para o tempo corrente mais seu tempo de atendimento. Contudo, se a fila de espera estiver vazia, simplesmente o estado do professor alterado para livre. Segunda etapa do exerccio: Alterar o modelo incluindo mais uma entidade permanente denominada Reprografia. O tempo de chegada nesta entidade permanente igual ao tempo de sada do atendimento na entidade Professor. Os tempos de atendimento na Reprografia so apresentados na Tabela 4 a seguir. Tabela 4 Tempo de atendimento na Reprografia Aluno Tempo de atendimento 1 3,0 2 4,5 3 7,0 4 2,0 5 15,0 6 11,0 7 8,0 8 3,0 9 2,0 10 5,0 Objetivos: 1. Mdia de tempo que os alunos permanecem no modelo 2. Tempo mdio de espera na fila da Reprografia 3. Percentual de ociosidade da Reprografia Terceira etapa do exerccio: Alterar o modelo incluindo mais uma entidade permanente denominada Biblioteca. Esta entidade permanente deve ser includa entre a entidade de atendimento do professor e a entidade Reprografia. Assim, o aluno, aps ser atendido pelo professor se dirige a Biblioteca e em seguida

23 a Reprografia. O tempo de chegada na entidade permanente Biblioteca igual ao tempo de sada do atendimento na entidade Professor. O tempo de chegada na entidade permanente Reprografia passa a ser o tempo de sada de atendimento da entidade Biblioteca. A entidade Biblioteca possui uma caracterstica diferente das outras. A biblioteca no possui limite de atendimentos simultneos em funo do espao disponvel para acesso ao acervo. Assim que o aluno chega na Biblioteca o atendimento sempre imediatamente iniciado. Neste caso essencial tomar cuidado com a ordem de sada dos alunos da Biblioteca. A inexistncia de fila pode fazer com que a ordem de sada seja diferente da ordem de chegada, o que ir interferir no comportamento da prxima entidade permanente. Os tempos de atendimento na Biblioteca so apresentados na Tabela 5 a seguir. Tabela 5 Tempo de atendimento na Biblioteca Aluno Tempo de atendimento 1 8,0 2 30,0 3 2,0 4 7,0 5 18,0 6 1,0 7 20,0 8 10,0 9 9,0 10 8,0 Objetivos: 4. Mdia de tempo que os alunos permanecem no modelo 5. Tempo mdio de espera na fila da Reprografia 6. Percentual de ociosidade da Biblioteca e da Reprografia Obs. A Biblioteca, assim como as demais entidades, considerada ociosa quando no houver nenhuma entidade temporria fazendo uso dos seus servios. Quarta etapa do exerccio: A entidade permanente Professor deve ser alterada para atender, simultaneamente, at dois alunos. Ou seja, representar o comportamento de um setor de atendimento com dois professores. Utilizar os mesmos tempos de chegada e de atendimento para simular o modelo com esta nova caracterstica. Objetivos: 7. Mdia de tempo que os alunos permanecem no modelo 8. Tempo mdio de espera na fila da Reprografia 9. Percentual de ociosidade da Biblioteca e da Reprografia

Quinta etapa do exerccio:

24 Nesta etapa os alunos nmero 4 e nmero 7 retornam para a Biblioteca para buscar mais bibliografia aps serem atendidos na entidade Reprografia. Ao sarem da biblioteca (usando o mesmo tempo de atendimento da primeira passagem) passam novamente pela Reprografia (tambm utilizando o mesmo tempo de atendimento da primeira passagem) e ento abandonam o modelo. O retorno destes alunos entidades permanentes anteriores deve ser realizado de forma consistente no tempo de simulao. Objetivos: 10. Mdia de tempo que os alunos permanecem no modelo 11. Tempo mdio de espera na fila da Reprografia 12. Percentual de ociosidade da Biblioteca e da Reprografia Obs. A Biblioteca, assim como as demais entidades, considerada ociosa quando no houver nenhuma entidade temporria fazendo uso dos seus servios.

5.4

Exerccios

1. Um porto possui um ancoradouro que pode acomodar somente um barco a cada vez. Barcos chegam entre 30(+-5) horas cada, e esperam na ordem de chegada para descarregar. A descarga leva 25(+-20) horas. Assim que um barco termina sua descarga ele deixa o ancoradouro. Simule este sistema para 10 barcos. 2. Dados os seguintes tempos de chegada para um centro de servio nico (0,2; 0,6; 2,2; 2,6; 3,0) e os tempos de servio correspondentes (0,8; 0,4; 1,2; 0,2; 0,2), faa uma tabela para a simulao do sistema, com uma viso orientada a evento, e uma outra com uma viso orientada a processo, calculando quando o servio comea, o tempo de partida, e o tempo de espera na fila de cada um dos cinco usurios. Sabendo que o tempo total de simulao de 4,0 unidades de tempo, calcule a utilizao, o tempo mdio de espera, o tamanho mdio da fila e a vazo do centro de servio. 3. Imagine vrios microcomputadores ligados entre si por um caminho fechado unidirecional (rede em anel). Para trocarem mensagens, as vrias estaes devem esperar pelo recebimento de uma seqncia padro de bits, chamada permisso. Quando de posse da permisso, a estao pode enviar uma mensagem, passando a permisso logo a seguir para a prxima estao no anel. Se uma estao receber a permisso e no tiver mensagens para enviar, deve passar a permisso frente, imediatamente. A cada mensagem recebida, a estao deve enviar estao emissora um reconhecimento de recepo da mensagem (um outro padro especial de bits). Sabendo-se que o tamanho das mensagens varivel, descreva o sistema especificando quem so as entidades, quais so as atividades que estas entidades esto envolvidas, qual o processo por que passa uma entidade e quais os eventos associados ao sistema. 4. Um orelho usado por pessoas que querem telefonar. O intervalo mdio de chegada dessas pessoas de 15 minutos (+-10). Elas gastam de 5 a 15 minutos telefonando. Simular este sistema para 10 pessoas. 5. Em um banco, um caixa, ao atender um cliente para saque de dinheiro, deve ir at o cadastro para conferir a assinatura do cheque, no que leva um tempo uniformemente distribudo com mdia CONFERE. Sabendo que existem trs caixas para saque, que os clientes escolhem um dos caixas com a mesma probabilidade, que o tempo de atendimento ao cliente, alm do

25 tempo de conferncia de assinatura, exponencialmente distribudo com mdia ATENDE, e que os clientes chegam ao banco com um tempo entre chegadas tambm exponencialmente distribudo, mas com mdia CHEG, faa uma descrio do sistema usando a orientao a evento, e uma outra usando a orientao a processo. 6. Escreva um programa em Pascal, ou uma outra linguagem qualquer, para a simulao do problema do professor tirando dvidas apresentado anteriormente. Use orientao a evento sabendo que o tempo entre chegadas e atendimento so randmicos, e no os dados na tabela. 7. Uma universidade mantm um setor de reprografia com 3 mquinas de xerox, sendo que uma das mquinas tem rendimento 30% inferior s outras duas. E destas duas, uma permite a cpia automtica de folhas avulsas, inclusive frente e verso. A mquina mais lenta alcana 20 cpias por minuto, se de um nico original. Em geral, as duas mquinas manuais so utilizadas para cpia de material encadernado, e a automtica para folhas avulsas, contudo, podendo tambm ser utilizada em material encadernado. Este tipo de material consome tempo adicional entre as trocas de original, naturalmente. O setor mantm um arquivo onde so armazenados materiais deixados pelos professores. Cerca de 30% das cpias so feitas a partir do material arquivado. Os pedidos para cpias so atendidos na ordem de chegada, salvo + - 5% que so considerados urgentes, e que geralmente consomem pouco tempo (poucas cpias de poucos originais). Atravs do exerccio de modelos de simulao, avalie a capacidade de atendimento deste setor diante de aspectos do sistema que considere importante para seu bom funcionamento. (e.g. limite de usurios do xerox para que a fila se mantenha com mdia inferior a 10 pessoas). 8. O balco de uma sorveteria ~e atendido por um atendente. Os fregueses chegam de acordo com uma distribuio uniforme com intervalo [1-5] minutos. Eles so atendidos em uma base de acordo com a disciplina de fila First In First Out. O tempo de atendimento de cada cliente dado pela distribuio uniforme com intervalo [1-8]. Construa um ou mais modelos de simulao de modo a determinar o se vivel contratar um segundo atendente para a sorveteria. Justifique sua resposta utilizando argumentos tais como ociosidade dos atendentes, entre outros.

26

6.

Modelos baseados em redes de filas

Os sistemas, cuja modelagem, simulao e anlise so consideradas, so compostos de recursos. So exemplos de recursos a UCP de um computador ou um enlace de comunicao. Os usurios fazem uso destes recursos ao requererem seus servios. Durante o tempo que um usurio est recebendo um servio, outros usurios podem requisitar o mesmo servio, o que causar a conteno para o uso do recurso, resultando em filas ou linhas de espera. O nvel de conteno e a quantidade de recursos requisitados vo afetar decisivamente o comportamento do sistema [SOARES92]. A conteno de recursos dentro de um sistema um ponto fundamental na operao do mesmo. Se no h conteno, a anlise de desempenho usualmente fcil de se efetuar. Entretanto, sistemas de computao, redes de comunicao, entre outros, geralmente exibem algum grau de conteno. Um analista raramente construir um modelo de um sistema sem considerar modelos previamente construdos. Normalmente se utilizam as caractersticas gerais de um modelo na construo de um outro modelo. Pode-se usar estruturas de redes de filas na construo de modelos utilizados na modelagem discreta orientada a processo. Outros exemplos: Redes de Petri; Diagramas lgicos.

6.1

Centros de servio

Uma rede de filas bsica consiste de entidades chamadas centros de servio e um conjunto de entidades chamadas usurios, que recebem os servios nos centros. Um centro de servio consiste de um ou mais servidores, correspondentes a recursos no sistema modelado, e uma rea de espera (fila) para usurios que esto requisitando o servio. Alguns analistas chamam os centros de servios de servidores ou filas. A UCP de um computador um exemplo de recurso que pode ser modelado como um centro de servio. Um usurio corresponde a uma entidade que circula pelo sistema modelado. Alguns analistas se referem aos usurios como tarefas ou transaes. Um programa de computador um exemplo de entidade que pode ser modelada por um usurio.

27

1 fila 1 servidor

1 fila 2 servidores

2 filas 1 servidor

Infinitos servidores

Figura 6.1 Centros de servio

A rede de filas mais simples corresponde a um nico centro de servio. O sistema pode ser muito complexo, mas o modelo simples. claro que modelos com um nico centro de servio no podem capturar toda a complexidade dos sistemas reais. Contudo, s vezes, tais modelos oferecem informaes bastante teis. Um nico centro de servio em um modelo de rede de filas possui vrios mecanismos relacionando os usurios com a rea de espera e o servidor. Por exemplo, em um modelo de prestao de servios hipottico existe um nico servidor para o atendimento de clientes (entidades temporrias). O atendimento individual, ininterrupto e realizado de acordo com a ordem de chegada dos clientes. Quando diversos usurios aguardam por um servio e o servidor fica livre, uma deciso deve ser tomada sobre qual usurio deve entrar em servio (disciplina de fila). Encerrado o atendimento de um cliente, um outro cliente da fila pode ento ser atendido. Caso a fila esteja vazia, o servidor permanece ocioso at a chegada do prximo cliente [FIL95]. Supondo que ocorram a chegada e o atendimento de n clientes com intervalos de chegada r1...rn contados a partir do instante 0, e sejam s1...sn os valores dos tempos de atendimento dos clientes. Denote por r=(ri) o vetor de intervalos entre chegadas e por s=(si) o vetor de tempos de atendimento. Assim: Intervalo entre chegadas: ri; Tempo de atendimento: si; Onde: i = 1...n

A partir desses dados, so determinados para cada cliente, os instantes de chegada, o incio e trmino de atendimento ou partida do sistema, dados pelas seguintes expresses: Chegada: ai = ai1 + ri Incio de atendimento: bi = max{ ci-1, bi} i = 1...n Trmino de atendimento: ci = bi + si

28 Desta forma, o instante de chegada de cada cliente calculado a partir do instante de chegada do cliente anterior adicionando-se o tamanho do intervalo correspondente. O atendimento de um cliente tem incio ou no instante de sua chegada, caso o servidor esteja ocioso por no haver cliente no sistema, ou no instante de trmino do atendimento do cliente anterior, caso contrrio. Finalmente, o instante de trmino de atendimento obtido somando-se o instante de incio de atendimento ao tempo de atendimento. A partir desses valores, definem-se os tempos de espera na fila e de permanncia no sistema para cada cliente: Tempo de fila: wi = bi ai Tempo de sistema: ui = ci ai Onde: i = 1...n

O tempo de espera de um cliente o tempo durante o qual ele permanece na fila. O tempo de sistema o tempo durante o qual o cliente permanece no sistema e compreende o tempo de espera e o tempo de atendimento: u = w + s. Exemplo: sejam r=(1,2,1,7,1,4) e s=(4,2,1,4,3,4)
Tabela 6.1 Exemplo de calculo de a, b, c, u, w, e v

I 1 2 3 4 5 6

r 1 2 1 7 1 4

s 4 2 1 4 3 4

a 1 3 4 11 12 16

b 1 5 7 11 15 18

c 5 7 8 15 18 22

u 4 4 4 4 6 6

W 0 2 3 0 3 2

V 2 3 3 2

Um centro de servio pode conter vrios servidores. Um servidor pode atender um usurio com uma taxa constante, ou a taxa de servio pode ser dependente do nmero de usurios na fila de espera. A fila de espera pode ter uma capacidade infinita ou finita. Pode tambm existir diferentes tipos de usurios (classe de usurios). Centros de servios so recursos ativos. Centros que no realizam servio so os centros passivos. Centro de servios passivos so uma extenso bastante poderosa s redes de filas convencionais. A memria de um computador um exemplo de recurso que poderia ser modelado como um centro de servio passivo. Os recursos passivos permitem o compartilhamento de um nmero finito de itens do recurso (fichas do recurso passivo). Existem variados tipos de centros de servios que so interconectados:

29

Modelo aberto

Modelo fechado Modelo misto Figura 6.2 Tipos de modelos Quando um usurio deixa um centro de servio, algum mecanismo deve ser fornecido de forma a determinar para qual centro ir a seguir. Isto roteamento.

30

7.

Algoritmos de escalonamento

Algoritmos de escalonamento so utilizados para decidir que usurio deve entrar em servio quanto um servidor se encontra disponvel. So conhecidos como disciplinas da fila. So elas: FCFS (first come first served): os usurios entram em servio exatamente na mesma ordem que chegam ao centro de servio correspondente; LCFS (last come fisrt served): tem a estrutura de uma pilha onde o ltimo usurio a chegar ao centro o que entrar em servio assim que um servidor estiver disponvel. Alguns consideram esta disciplina preemptiva (se um usurio chegar ao centro com esta disciplina e um outro usurio estiver em servio, este ltimo retirado do atendimento, colocado no topo da pilha, entrando o novo usurios em servio. Assim que este completar seu servio, o usurio no topo da pilha entra novamente em atendimento). RR (round robin): um usurio escalonado atendido por um intervalo de tempo pequeno, um quantum. Se o servio no completado neste tempo, ele colocado no final da fila e outro usurio atendido at que esgote seu quantum ou termine o servio; PS (processos sharing): todos os usurios dividem a capacidade do centro de servio, como se executassem em paralelo (comparada a RR, tem quantum = 0); IS (infinite server): no existe fila, todos os usurios so servidos assim que chegam ao centro de servio; PRTY (nonpreemptive priority): usurio em atendimento no afetado quando um usurio de mais alta prioridade chega ao centro; PRTYPR (preemptive-resume priority): a chegada de um usurio com mais alta prioridade a um centro tira de servio o de prioridade mais baixa, que s reentrar em servio assim que todos os usurrios com prioridades maiores que a sua forem atendidos.

31

8.

Estgios para a construo de modelos de representao

O processo de construo de modelos que representam sistemas reais pode ser dirigido por uma seqncia de estgios de forma a simplificar, agilizar, e melhorar a fidelidade do modelo. Considerando a estreita relao entre a simulao e a orientao a objetos, como discutido anteriormente neste texto, as tcnicas de engenharia de software oferecem contribuies relevantes no trabalho de projeto de modelos. Neste contexto, a seguir so brevemente apresentados os estgios por que um projetista passa ao construir modelos para simulao de sistemas. So eles: 1. Identificao do problema: neste estgio, o problema discutido no escopo do sistema real. Por exemplo, a existncia de uma ociosidade exagerada em um equipamento que pertena a uma linha de montagem, ou a necessidade de reestruturao no fluxo de informaes em um departamento administrativo, ou o desempenho insuficiente de um protocolo de comunicao em um multicomputador. Uma vez identificado um problema, pode-se avaliar a viabilidade do uso da simulao para o trabalho de busca de alternativas coerentes. Esta avaliao acontece em consonncia com os propsitos da simulao. 2. Formulao do problema: aps identificado, o problema ento formulado com vistas simulao. Tomando como exemplo o protocolo de comunicao do item anterior, o buffer designado para o armazenamento de mensagens entrantes pode estar sendo insuficiente. Devido natureza evolucionria da simulao, a definio do problema um processo contnuo, que ocorre durante todo o estudo; 3. Objetivos: na seqncia, o objetivo fazer com que as polticas do protocolo sejam manipuladas de forma que o nmero de mensagens no buffer no ultrapasse um determinado limite. A partir da so definidos os objetivos especficos, estgio que enumera as caractersticas internas do sistema real que precisam ser representadas no modelo. Por exemplo, a freqncia com que o protocolo recebe mensagens para enviar, tamanho das mensagens, etc. 4. Construo do modelo: um modelo vai consistir de uma descrio esttica e de uma descrio dinmica. A descrio esttica define os elementos do sistema e suas caractersticas. A descrio dinmica vai definir o modo como os elementos do sistema interagem causando mudanas no estado do sistema no decorrer do tempo. O modelador deve conhecer bem a estrutura e as regras de operao do sistema e saber extrair o essencial do sistema, sem incluir detalhes desnecessrios. A quantidade de detalhes includa no modelo deve ser baseada no propsito para o qual foi construdo; 5. Determinao dos dados de entrada e sada: geralmente os valores de entrada so de incio hipotticos ou baseados em alguma anlise preliminar. Depende do objetivo do modelo;

32 6. Traduo do modelo: diz respeito traduo do modelo para uma forma reconhecida pelo computador; 7. Verificao: consiste em determinar se o modelo traduzido executa no computador como esperado; 8. Validao: tem por objetivo comprovar que ele representa o sistema real com fidelidade suficiente para garantir a obteno de solues satisfatrias para o problema original. Normalmente so utilizados cenrios em que o comportamento real j conhecido previamente e que pode ser comparado com o comportamento obtido com a simulao. Tambm pode envolver uma comparao da estrutura do modelo e do sistema, e comparaes do nmero de vezes que decises fundamentais ou tarefas dos subsistemas so realizadas. Outros modelos do mesmo sistema tambm podem ser utilizados na validao; 9. Plano de ttica e estratgia: refere-se ao estabelecimento de condies experimentais para a execuo da simulao. Ou seja, o plano estratgico consiste no desenvolvimento de um projeto experimental eficiente tanto para explicar as relaes entre o resultados simulados e as variveis controladas, quanto para determinar a combinao dos valores das variveis controladas que minimizariam ou maximizariam a resposta simulada. J o plano ttico consiste em determinar como cada simulao deve ser realizada para se obter o mximo de informaes sobre os dados; 10.Experimentao e anlise dos resultados: exercitao do modelo e interpretao dos resultados; 11.Implementao dos resultados e documentao do modelo.

8.1

Trabalho: Implementao de uma ferramenta de simulao

Este trabalho tem como objetivo a especificao e construo de uma ferramenta de simulao, baseada no conceito de centros de servio, que suporte a execuo de modelos em computador. As caractersticas do tipo de modelos que a ferramenta deve suportar so descritas nesta seo, alm das caractersticas da ferramenta. A linguagem de implementao de livre escolha do aluno, desde que seja uma linguagem convencional e no de simulao. As entidades permanentes que a ferramenta deve oferecer para a construo de modelos so identificadas pelas figuras a seguir. (a) Chegada de entidades temporrias (b) Sada de entidades temporrias

(c) Roteamento

33

(d) Centro de servio (1 servidor)

(e) Centro de servio (2 servidores)

(f) Centro de servio (infinitos servidores)

A entidade (a), que representa a chegada de entidades temporrias no modelo, obedece a um padro de chegada definido por uma distribuio de probabilidade uniforme. Os atributos mnimo e mximo devem ser fornecidos pelo projetista do modelo. A entidade (b) representa a sada de entidades temporrias do modelo e implementa apenas um contador acumulador. A entidade (c) representa a escolha de uma rota no modelo que as entidades temporrias podem seguir. Esta entidade no consome tempo e o projetista deve fornecer, como atributo, o percentual de entidades temporrias que desviam a rota (para baixo). A entidade (d) representa um centro de servio com um servidor. Implementa conteno e o tempo de atendimento dado por uma distribuio uniforme. Os atributos mnimo e mximo da distribuio precisam ser fornecidos pelo projetista do modelo. A entidade (e) representa um centro de servio com dois servidores. Implementa conteno e o tempo de atendimento dado por uma distribuio uniforme para ambos os servidores. Os atributos mnimo e mximo da distribuio so fornecidos pelo projetista do modelo e podem ser diferentes para cada servidor. A entidade (f) representa um centro de servio com infinitos servidores. No implementa conteno e o tempo de atendimento dado por uma distribuio uniforme para ambos os servidores. Os atributos mnimo e mximo da distribuio so fornecidos pelo projetista do modelo e so os mesmos para todos os servidores. Na construo de um modelo o projetista pode combinar qualquer quantidade de entidades permanentes e em qualquer ordem. A ferramenta deve manter a consistncia do modelo durante a execuo. Para a construo de modelos deve ser definida uma estrutura para que o projetista, utilizando um arquivo texto, construa a especificao do modelo. Tomando como exemplo a estrutura a seguir: CS1-1 4,8 CS1-3

34 Nesta estrutura, o centro de servio com um servidor nmero 1 (CS1-1) atente as entidades temporrias em tempos que variam entre 4 e 8 unidades de tempo. Aps atendidas, as entidades so encaminhadas para o centro de servio com um servidor nmero 3 (CS1-3). A definio de estruturas para especificar todas as informaes relevantes para a construo de modelos faz parte do trabalho. Para executar o modelo, a ferramenta deve fazer a leitura das especificaes a partir do documento texto e ento executar a simulao. Os resultados da simulao devem ser gravados em um arquivo de sada com nome definido pelo projetista do modelo no momento da execuo. Aps a execuo (ou exerccio) de um modelo, a ferramenta deve informar os seguintes resultados: Ociosidade das entidades permanentes, individualmente por servidor; Ociosidade mdia das entidades permanentes; Tempo mdio de espera das entidades temporrias na fila de cada entidade permanente; Tempo mdio de atendimento das entidades temporrias em cada entidade permanente; Tempo mdio de toda a permanncia, no modelo, das entidades temporrias.

Um estudo de caso simples deve ser implementado e executado na ferramenta construda. A existncia deste estudo relevante para a validao da ferramenta. O instrumento de apresentao do trabalho o artigo. Para tanto, deve ser escrito um texto usando o formato da SBC (www.sbc.org.br) contendo: ttulo, identificao dos autores, resumo, introduo, desenvolvimento, concluso, e referncias bibliogrficas. Basta um artigo por grupo de trabalho. A avaliao individual por aluno. De posse do artigo, o aluno deve demonstrar domnio sobre a ferramenta considerando: uso, detalhes de implementao, e justificativas em relao s decises de projeto da ferramenta.

35

9.

Paradigmas de Simulao orientada a objeto

Este captulo foi retirado na ntegra da tese de doutorado [COP 97] desenvolvida no programa de ps-graduao em computao do Instituto de Informtica da UFRGS. Com o objetivo de adaptar o contedo aos propsitos da disciplina de simulao, considerando tambm nveis adequados de explorao dos temas para graduao, algumas partes das abordagens originais foram omitidas e/ou remodeladas (simplificadas).

9.1

Introduo

A orientao a objetos tornou-se popular nos ltimos anos como uma abordagem poderosa para o desenvolvimento de sistemas computacionais complexos. Reusabilidade e extensibilidade esto entre os benefcios prometidos quando se usa seus conceitos. Particularmente, a reusabilidade pode ser abordada em termos de composio e tecnologias de gerao. As tecnologias de composio caracterizam-se pelos conjuntos de componentes atmicos que, no caso ideal, so reutilizados sem alteraes. No caso ideal dispese de componentes passivos que so operados (compostos) por um agente externo. Exemplos de tais componentes podem ser esqueletos de programas, subrotinas, funes e classes de objetos. As tecnologias de gerao so mais difceis de caracterizar porque os componentes reutilizveis no so facilmente identificveis como entidades concretas. Os itens reutilizveis so inseridos em um programa, como por exemplo os geradores de aplicaes. Em orientao a objetos, as classes abstratas e os frameworks so tipos de projetos reutilizveis. Uma classe abstrata uma classe que no fornece a implementao de todas as operaes que definem a interface, necessitando de redefinies em subclasses. Um framework funciona como um molde para a construo de aplicaes ou subsistemas dentro do domnio de uma aplicao. Basicamente, aplicaes especficas so construdas especializando as classes do framework para fornecer a implementao de alguns mtodos, enquanto a maior parte da funcionalidade da aplicao herdada. Considerando que um modelo de simulao pertence classe dos sistemas de software, nada mais natural do que aplicar esses (resusabilidade e extensibilidade) conceitos no desenvolvimento de sistemas de simulao. Deve ficar claro, entretanto, que existe uma grande diferena entre um paradigma de simulao, isto , as idias e recursos usados na construo de um modelo, e um paradigma de projeto e implementao aplicado ao desenvolvimento de sistemas de simulao. Linguagens orientadas a objetos podem ser aplicadas na implementao de sistemas de simulao que utilizam conceitos de modelagem distintos. Ainda que todos possam ser chamados de sistemas orientados a objetos, pode haver confuso quanto ao significado do termo simulao orientada a objetos.

36

9.2

Simulao orientada a objetos

Em geral, um projeto de simulao progride atravs de seqncias lgicas e estruturadas de atividades. Para melhorar esse processo, o conceito de ambiente de simulao envolve uma linguagem de simulao e ferramentas de suporte. A linguagem de modelagem a maior contribuio para um ambiente de simulao porque influencia diretamente a maioria dos outros recursos. Quando se usa conceitos de orientao a objetos para desenvolver um sistema, o mesmo organizado como uma coleo de objetos discretos que incorporam tanto as estruturas de dados como o comportamento. Esta definio coerente como a idia de que modelos de simulao podem ser vistos como uma coleo de entidades que interagem entre si. Levando este fato em considerao, pode-se inferir que um modelo de simulao normalmente incorpora conceitos de orientao a objetos, uma vez que este paradigma uma forma natural de se construir modelos de simulao porque pode-se facilmente mapear entidades em objetos. Essa idia reforada como o fato de que a primeira linguagem a incorporar conceitos de orientao a objetos foi a linguagem Simula. Entidades de um modelo de simulao podem ser vistas como agregaes de uma estrutura esttica e de uma estrutura dinmica. Ambas so descritas utilizando-se rotinas e estruturas de dados. No entanto, as abordagens clssicas de simulao (orientao a eventos, orientao a processos e orientao a atividades) geram um cdigo onde a descrio individual de cada entidade no facilmente identificvel. Na abordagem orientada a eventos, por exemplo, a descrio do comportamento pode encontrar-se espalhada em diversas rotinas de evento. Em um modelo de tamanho considervel, a identificao de quais rotinas descrevem o comportamento de uma determinada entidade pode no ser trivial. Alm disso, no existe relao visvel entre a descrio do comportamento, composta de rotinas, e a descrio da estrutura esttica, em geral composta por variveis e estruturas de dados. Na abordagem orientada a processos, o problema minimizado no que diz respeito descrio do comportamento na medida em que uma nica rotina, uma rotina de processo, descreve todo o ciclo de vida da entidade. O problema persiste, porm, no que diz respeito ao relacionamento entre a estrutura esttica e a estrutura dinmica da entidade. Alm desses aspectos, nenhuma das abordagens possui construes que permitam identificar com clareza os mecanismos de comunicao utilizados pelas entidades para troca de informaes entre outros fatores. Este tipo de projeto produz, em geral, cdigo muito rpido mas difcil de ler e de manter. A descrio individualizada das entidades de simulao um problema de projeto de software. A soluo est relacionada com a escolha de uma metodologia de projeto/implementao que enfatize a modularizao e o encapsulamento. Diversos autores apontam como melhor soluo o uso da abordagem orientada a objetos. A compatibilidade entre a orientao a objetos e os formalismos de simulao discreta tem sido destacada. O mapeamento de entidades em objetos uma forma natural de se agregar a descrio das entidades. Ao mapear-se entidades de simulao em objetos, entretanto, alguns aspectos tem de ser levados em considerao. O estado de um objeto descrito pelo conjunto de seus atributos de dados e seus valores possveis. Para isso, existem duas perspectivas (propostas por diferentes autores [COP97]: o estado de um objeto descrito pelo conjunto de seus atributos de dados e seus valores possveis o estado de uma entidade de simulao definido pelo subconjunto de seus atributos que so especificamente usados para descrever o comportamento da entidade.

37 Por exemplo, em um objeto que representa um buffer, o estado pode ser definido apenas pelo nmero de peas armazenadas na fila. No que se refere s mensagens, em orientao a objetos uma mensagem usualmente corresponde ativao de um processo do objeto receptor. Em modelos de simulao, entretanto, a troca de mensagens mais complexa. So necessrias mensagens temporizadas de maneira a permitir o escalonamento de eventos futuros. Mensagens no temporizadas so teis apenas para operaes que no implicam em avano do tempo simulado. Considerando os aspectos relativos troca de mensagens, existem dois tipos de entidades: entidades de receptor passivo, onde a entidade emissora determina o instante de tempo em que o receptor ir processar a mensagem; entidades de receptor ativo, onde a entidade receptora armazena as mensagens em um buffer para processamento posterior.

Deste modo, pode-se identificar claramente que um ambiente de simulao deve distinguir o paradigma de simulao da estratgia de projeto/implementao oferecida. Desta forma, pode-se definir ambientes de simulao orientados a objetos como sendo aqueles que oferecem os conceitos de orientao a objetos como uma estratgia de projeto e implementao, independentemente dos paradigmas de simulao suportados pelo ambiente.

9.3 Proposta de classificao de paradigmas de simulao apresentada em [COP97]


As entidades so o elemento fundamental de um modelo de simulao. Pode-se dizer que um modelo de simulao nada mais do que a descrio do comportamento de um conjunto de entidades. Desta forma a identificao das entidades que compem um modelo, bem como a anlise dos aspectos de seu comportamento que so relevantes pra o problema em questo so, conseqentemente, as etapas mais importantes do processo de modelagem. No processo tradicional de modelagem, aps o estudo do problema, define-se o paradigma de simula~c"ao que ser usado e adequa-se todas as entidades do modelo ao paradigma escolhido. Quando as entidades so usadas como unidade de modularizao, mapeadas para objetos, precebe-se que possvel identificar cada entidade como um modelo individual. Trabalando-se desta forma, no existe a necessidade de todas as entidades serem descritas segundo o mesmo paradigma de simulao. Para cada entidade pode-se adotar o paradigma mais conveniente. Essa flexibilidade facilita no apenas a descrio das entidades como tambm seu reuso. A seguir apresentada uma classificao para entidades de modelos de simulao discreta baseada nos diferentes aspectos envolvidos na sua descrio [COP97]. Tais aspectos so identificados e as respectivas abordagens de modelagem apresentadas. A classificao diz respeito s entidades e no ao modelo porque considera-se as entidades como pequenos modelos individuais que, agrupados hierarquicamente ou no, formam modelos mais complexos. Classificam-se as entidades: Quanto ao atendimento de solicitaes Quanto forma de descrio dos eventos Quanto ao mecanismo utilizado para troca de informaes

38 Quanto autonomia da entidade Quanto ao tempo de permanncia no sistema Quanto capacidade de tomar iniciativas Quanto tica pela qual feita a descrio do comportamento das entidades

9.3.1 Quanto ao atendimento de solicitaes Durante uma simulao, uma entidade freqentemente solicitada a fornecer informaes ou executar aes. Dependendo do tipo de entidade, esta poder ter a capacidade de escolher entre atender ou no a uma solicitao. Entidades de receptor passivo no tm poder de escolha. Neste caso a entidade reage no momento da solicitao, sendo que a entidade emissora determina, atravs de uma solicitao, quando a reao ir ocorrer. Entidades de receptor ativo, por outro lado, possuem buffers ou filas para armazenar as solicitaes recebidas, podendo escolher o momento em que as mesmas sero atendidas ou simplesmente recusadas. Pode-se considerar ainda uma terceira categoria: Entidades de receptor semi-ativo. Estas entidades caracterizam-se por possuir uma fila de mensagens, ou seja, a entidade emissora no determina o momento em que a solicitao ser atendida. A entidade receptora, porm no tem capacidade para alterar a ordem em que as mensagens sero atendidas, ou seja, as mensagens sero atendidas na ordem em que foram recebidas, se houver disponibilidade. 9.3.2 Classificao das entidades quanto forma de descrio dos eventos O comportamento de uma entidade em um modelo de simulao discreto ~e sempre descrito em termos de eventos, ou seja, das aes instantneas que provocam alteraes nos estados do modelo. Existem, porm, diferentes abordagens para a descrio desses eventos. Estas abordagens, orientao a eventos, a processos e a atividades, so chamadas de vises de mundo, e a cada uma est associada uma estratgia ou algoritmo de simulao. 9.3.3 Classificao quanto ao mecanismo utilizado pelas entidades para troca de informaes Em um modelo de simulao as entidades se comunicam de maneira a trocar informaes e servios. Diferentes tcnicas podem ser usadas para efetivar tal comunicao. O mtodo mais simples aquele no qual as entidades podem acessar os atributos de dados umas das outras livremente, obtendo assim as informaes de que necessitam. Este mtodo ser chamado de comunicao livre. Quando o modelo orientado a processos, so necessrios mecanismos de sincronizao entre os processos, de maneira a garantir que a informao correta est sendo obtida no momento em que est disponvel. Outras tcnicas prevem o encapsulamento das informaes de cada entidade. Neste caso as entidades no tm acesso direto aos atributos de dados umas das outras. Para estas situaes, duas tcnicas bastante conhecidas so o uso de portas e de mensagens. O sistema de troca de mensagens parte do princpio no qual toda entidade possui um identificador nico. Uma mensagem ser composta, em geral, pelo identificador da entidade emissora, identificador da entidade destino, identificador do tio de mensagem e uma lista de parmetros. Neste tipo de sistema, toda a troca de informaes entre entidades s possvel atravs de mensagens. Para que o sistema funcione preciso que se estabeleam protocolos de comunicao entre as entidades que precisam conversar.

39 As mensagens podem ser sncronas ou assncronas. Quando se usam mensagens sncronas, a entidade que envia a mensagem aguarda o tratamento da mesma por parte da entidade receptora. Utilizando-se mensagens assncronas a entidade emissora continua seu processamento independentemente do tratamento mensagem enviada se efetuar ou no. Maiores informaes em [COP97]. Tanto as portas como as mensagens podem ser usadas com entidades de receptor ativo, semi-ativo ou passivo. No sistemas de comunicao livre, porm, as entidades so de receptor passivo, obrigatoriamente, visto que as entidades no tm nenhum controle sobre o acesso a suas informaes. importante no confundir a forma com que as entidades atendem as solicitaes (receptor ativo, semi-ativo ou passivo) com o fato da troca de mensagens ser sncrona ou no. Uma mensagem sncrona pode ser enviada para uma entidade que se utiliza de um receptor ativo. Neste caso a entidade emissora corre o risco de ter de aguardar at que o destinatrio resolva atender sua solicitao antes de poder prosseguir em sua execuo. Sinais de controle podem ser acrescentados ao protocolo de comunicao das entidades de forma a otimizar essas situaes. 9.3.4 Classificao quanto autonomia da entidade A classificao das entidades quanto a sua autonomia est diretamente ligada ao uso do modelo do ator. Quanto se usa uma linguagem orientada a objetos convencional como C++ ou Object Pascal, os objetos so passivos e compartilham uma nica " thread" de execuo. Neste caso todas as mensagens so sncronas e as entidades possuem receptor passivo. Quando se usa o modelo do ator, os objetos possuem sua "thread" prpria de execuo, podem enviar mensagens de forma assncrona e as entidades podem trabalhar com receptores ativos ou semi-ativos. As entidades de um modelo de simulao sero consideradas autnomas na medida em que forem mapeadas para objetos. O uso de entidades autnomas associado com mensagens no tipadas, atribui um acerta independncia entidade, permitindo, entre outras coisas, que esta no conhea, em tempo de compilao, com quem ir se comunicar durante a execuo, que instncias de um tipo de entidade no previstas em tempo de compilao possam ser ativadas durante a execuo ou, ao contrrio, que entidades previstas possam ser desativadas sem a necessidade de se interromper o processo de simulao. O uso de entidades autnomas permite a interao com as mesmas, por parte do usurio, durante a simulao, seja para interferir no seu ciclo de vida ou na forma pela qual a entidade reage s mensagens ou simplesmente para obter informaes. 9.3.5 Classificao das entidades quanto ao tempo de permanncia no sistema Uma entidade pode ser permanente ou temporria. Entidades permanentes existem durante todo o tempo de simulao. Se imaginarmos o modelo de um guich de atendimento onde clientes chegam, aguardam em uma fila, so atendidos e vo embora, os "clientes" so considerados entidades temporrias pois chegam, so atendidos e desaparecem do sistema. O guich, por outro lado, considerado uma entidade permanente pois existir durante toda a simulao. 9.3.6 Classificao das entidades quanto capacidade de tomar iniciativas Existem entidades ativas e entidades passivas. Por entidades ativas entende-se aquelas capazes de tomar a iniciativa de solicitar um servio ou desencadear uma seqncia de aes. Entidades passivas, por outro lado, so capazes apenas de responder a solicitaes. No exemplo do guich de atendimento, pode-se projetar " cliente" como uma entidade ativa capaz de solicitar servios. O guich, neste caso, poderia no tomar iniciativas sendo apenas ocupado por clientes

40 em certos momentos. Em algumas linguagens de simulao as entidades passivas so chamadas de recursos. Esta classificao, porm, no muito rgida. Por vezes uma entidade pode ser passiva em relao a uma dada categoria de entidades e ativa em relao a outra. Por exemplo, guich passivo em relao aos clientes mas poderia no ser em relao a uma entidade funcionrio. 9.3.7 Classificao quanto tica pela qual feita a descrio do comportamento das entidades Um modelo de simulao, em geral, composto por entidades que prestam servios (servidores) e por entidades que solicitam servios (clientes). Independente da viso de viso de mundo utilizada, o modelo de simulao pode ser descrito tanto do ponto de vista das entidades clientes como das entidades servidores. Se for adotada a tica do cliente as entidades cliente sero modeladas como entidades ativas e as servidoras como passivas. Se for escolhida a tica do servidor, ir ocorrer o contrrio. Para melhor entendimento pode-se utilizar como exemplo a linha de produo de uma pea qualquer. Nesta, blocos de material so manipulados em estaes de trabalho at que sejam considerados acabados. Pode-se imaginar, ento, os blocos como entidades temporrias (clientes), que so atendidas por estaes de trabalho modeladas como entidades permanentes (servidores). Se o modelo for descrito utilizando-se a tica do cliente, o mesmo ser descrito do ponto de vista das peas. Cada bloco de material que entrar no sistema ter conhecimento sobre todas as operaes pelas quais deve passar at que seja considerado pronto e ser capaz de requisitar, sucessivamente, os servios necessrios. Se for utilizada a tica do servidor, os blocos de material contero apenas uma identificao do tipo de pea que deve ser produzido, e cada estao de trabalho saber o que fazer com tal tipo de pea e para qual estao deve ser enviada depois de processada. O limite entre as duas abordagens, entretanto, no bem definido. Nem todos os problemas de simulao se enquadram na situao proposta. Alguns modelos podero, inclusive, adotar uma abordagem mista onde para algumas entidades ser escolhida a tica do cliente e para outras a tica do servidor. Uma mesma entidade pode assumir uma postura de servidor perante algumas entidades e de cliente perante outras. A escolha ir depender exclusivamente do tipo de problema. Algumas linguagens de simulao impem no apenas a viso de mundo mas tambm a tica de descrio do comportamento das entidades.

41

10. Soluo do Modelo


A tcnica analtica o mtodo geralmente mais rpido e portanto o preferido, quando aplicvel. O problema com o mtodo que muitas hipteses de simplificao devem ser feita para que possamos resolver o modelo. Simulao mais geral e pode ser aplicada em situaes mais complexas. O preo a ser pago pela generalidade que um tempo maior exigido na obteno de medidas de desempenho precisas. Outra vantagem da soluo analtica a obteno do resultado exato para o modelo sobre estudo, o que no acontece com a simulao. Por outro lado, devido s simplificaes, o modelo pode no ser uma representao precisa do sistema real e o resultado exato obtido ser desprovido de qualquer utilidade. A soluo analtica de um modelo de redes de filas exige que algumas restries sejam satisfeitas. So algumas delas: As decises de roteamento devem ser feitas atravs da especificao de um conjunto de probabilidades de ramificao A posse simultnea de recursos no permitida Somente recursos ativos so permitidos Somente fontes, classes e sorvedouros so permitidos na rota As disciplinas das filas s podem ser FCFS, PS, LCFS e IS Disciplinas de filas com prioridade no so permitidas As nicas medidas de desempenho disponveis so: utilizao, vazo, comprimento mdio da fila, tempo mdio na fila, distribuio do comprimento da fila.

Embora muitos modelos analticos no possam ser resolvidos por conta da violao de restries expostas acima, alguns destes modelos podem ser resolvidos atravs de tcnicas especiais, sem uso de simulao. Estas so as tcnicas de aproximao. A Simulao um mtodo de soluo que tenta imitar o comportamento do sistema, se constituindo em um experimento estatstico que observa o comportamento do modelo no decorrer do tempo. O modelo pode ser exercitado com dados obtidos de medidas do sistema ou com valores aleatrios gerados a partir de distribuies, com a finalidade de representar o tempo de chegada de usurios, tempos de servio e probabilidades de roteamento. Os valores aleatrios gerados no so de fato randmicos, mas produzidos por um algoritmo, de acordo com a distribuio de probabilidade. medida que a simulao executada, os usurios circulam entre os vrios recursos. Durante o exerccio, medidas de desempenho so calculadas, a partir de dados observados, baseadas nos valores aleatrios utilizados durante a execuo. Para muitas simulaes, as sadas aleatrias (medidas de desempenho) atingem um estado estacionrio. Estar em um estado estacionrio no significa que o estado permanecer o mesmo a partir de ento, mas

42 simplesmente que as que as distribuies associadas com os estados do sistema convergiram para um estado limite. Na simulao possvel associar atributos aos usurios. Nos atributos so armazenadas informaes sobre o usurio respectivo. Por exemplo: identificao do usurio, contadores, tempo de servio, entre outros. Alm dos atributos, um modelo de simulao pode conter variveis globais, que podem ser utilizadas para a identificao de qualquer tipo de condio, estando seus valores disponveis aos usurios em qualquer tempo. Um exemplo de varivel global seria aquele onde a varivel usada para catalogar o nmero de usurios presentes em uma cadeia aberta. A simulao tambm permite o uso de diferentes tipos de distribuies para o tempo entre chegadas, para os tempos de servio, para as demandas de trabalho, para a alocao e criao de fichas, e para as atribuies de valores s variveis. Tambm, so permitidas disciplinas de filas mais complexas, e podem ser preemptivas. Pode-se observar tambm algumas desvantagens na simulao, principalmente relacionadas com os problemas estatsticos prprios da simulao.

43

11. Uso do computador com o Arena


Como visto anteriormente, a simulao de sistemas realizada atravs da repetio de um determinado processo que representa o sistema real atravs de um modelo. Deste modo, a simulao deve ser executada em quantidade suficiente para que os resultados obtidos tenham um grau de confiabilidade aceitvel. Uma das principais ferramentas utilizadas na execuo destas repeties o computador. Linguagens voltadas simulao comearam a surgir na dcada de 60. Como exemplo, pode-se citar a linguagem GPSS, utilizada por um longo perodo. Ao longo do tempo as linguagens foram evoluindo at que, na dcada de 80, comearam a surgir programas com capacidade de executar a simulao visual. So exemplos: ARENA, TAYLOR e PROMODEL. Cada programa de simulao possui uma caracterstica bsica que os diferencia uns dos outros, ou seja, a viso do sistema real. Este termo significa a forma com que o programa foi concebido, ou como ele v um sistema a ser simulado.

11.1 ARENA
O ARENA foi criado pela empresa Systems Modeling em 1993 e ele o sucessor de um outro produto, o SIMAN, desenvolvido em 1982. Este produto foi uma evoluo da arquitetura do GPSS e, durante anos, foi lder entre os produtos de simulao para uso geral. Em 1990 ele recebeu um complemento chamado de CINEMA que adicionava maiores habilidades grficas. Este conjunto foi melhorado e, a partir de 1993, passou a se denominar ARENA. O ARENA utiliza uma interface grfica para que o usurio possa fazer uso de mdulos utilizados na descrio de sistemas reais. Esta interface grfica facilita grandemente o uso do ambiente. O ARENA tambm disponibiliza o Input Processor e o Output Processor. O primeiro permite analisar dados reais do funcionamento do processo e escolher a melhor distribuio estatstica que se aplica a ele. O segundo uma ferramenta com diversos recursos que permite analisar dados coletados durante a simulao.

11.2 O ambiente do ARENA


Aps inicializado, o ARENA apresenta uma tela cinza chamada de Contents Region e nela que o modelo vai sendo construdo. Acima apresentada a barra de ferramentas e um menu secundrio. No lado esquerdo est a panel area, onde so apresentados os painis com os templates (botes que representam os mdulos disponveis). Tambm so disponibilizados alguns modelos de simulao como exemplos. Aps o reconhecimento inicial do ambiente, aconselhvel o estudo de alguns desses modelos exemplos.

44 Para executar o modelo so apresentados na parte inferior esquerda do monitor alguns cones voltados para o controle da execuo.

11.3 Construo de modelos


Nesta seo so apresentados os principais passos para a construo de um modelo de simulao no ARENA, atravs de um exemplo. Como exemplo utilizado um sistema de pedgio com as seguintes distribuies de probabilidade: Veculos chegam ao pedgio a intervalos EXPO(30); A durao do atendimento de GAMM(6.98,1.51). Para que se possa simular um sistema com o uso do ARENA preciso descrever: O fluxo dentro do sistema As duraes, distncias, velocidades, etc. A tcnica utilizada pelo ARENA para se montar qualquer modelo a programao visual. Ou seja, o fluxo do sistema montado na tela do computador na forma de um diagrama de blocos. No caso do problema do pedgio preciso fornecer ao ARENA o diagrama de blocos com a ocorrncia dos eventos: O veculo chega (bloco ARRIVE) O veculo atendido (bloco SERVER), o que compreende as seguintes etapas: Entra na fila e permanece at chegar sua vez Atendimento Desocupao do posto do pedgio O Veculo sai do sistema (bloco DEPART). Para a construo do modelo, inicialmente preciso inicializar um modelo clicando em menu principal (arquivo) e novo. Em seguida clicar na orelhinha (attach) e inserir o template COMMON que contm os principais blocos (ou mdulos) para se construir o diagrama de blocos na contents area. Em seguida deve-se clicar sobre o mdulo arrive e clicar novamente sobre a rea do modelo (onde o modelo ser construdo). Assim j est adicionado ao modelo o mdulo arrive, cuja funo gerar usurios para o modelo, ou seja, representa a chegada de veculos. Aps a insero desse mdulo no modelo, preciso fornecer informaes este mdulo. Para isso, de um duplo clique sobre o retngulo que contm a palavra Arrive. Assim apresentada uma janela de configurao do mdulo deste. Nesta janela, inicialmente deve ser fornecido o nome do componente do modelo (ou estao). Neste caso o nome pode ser chegada. A seguir, levar o cursor at o campo Time Between e escolher uma das opes (distribuies de probabilidade). Neste caso, de acordo com o enunciado do sistema, deve ser a distribuio EXPO(Mean), onde a varivel Mean deve ser substituda por 30.

45 Em seguida, na seo abaixo (Leave Data), deve-se fornecer dados de sada do usurio, isto , o nome da prxima estao de trabalho (ou componente). Para tal, deve-se digitar atendimento (por exemplo) no campo Station, que ser o nome dado para o componente de servio. Para campos no preenchidos o ARENA assume valores default. Por fim, confirmar as alteraes da janela. O prximo mdulo ser do tipo SERVER (disponvel no template COMMON). Para inserir este mdulo no modelo realizar a mesma seqncia de passos utilizada para inserir o mdulo ARRIVE. Este bloco vai representar todos os eventos que ocorrem no posto de atendimento: entrada na fila, pagamento e sada do posto. Para alterar os campos deste mdulo deve-se dar um duplo clique sobre o mesmo e a respectiva janela ser apresentada. Ento preencher os campos conforme o seguinte: O nome da estao (ou componente) atendimento O prximo campo a ser preenchido seria Resource, onde deve-se colocar o nome do trabalhador que opera a estao de trabalho (caixa, por exemplo). No entanto o campo Resoure foi preenchido automaticamente pelo ARENA com ATENDIMENTO-R. Trata-se de uma iniciativa do ARENA em dar o nome do recurso igual ao nome da estao de trabalho acrescido da letra R. Fornecer agora a durao do atendimento no pedgio preenchendo o campo Process Time com GAMM(6.98,1.51). Na seo onde se fornece dados sobre a sada da transao clique no campo ao lado de onde se l station e digite SAIDA, para dizer que o veculo, aps ser atendido pelo servidor do pedgio, se dirige para o local denominado SAIDA. Confirme as alteraes realizadas. Para alguns dos campos, valores no foram fornecidos. Nestes casos o Arena assume valores default. So eles: Capacity type=capacity. Ou seja, o servidor estar disponvel o tempo todo. A opo schedule pode ser utilizada para informar os momentos de indisponibilidade do servidor Para configurar um atendente disponvel no bloco servidor, o Capacity deve ser igual a 1. O ltimo bloco o bloco DEPART. O procedimento para incluir este bloco na Contents Region o mesmo dos anteriores. Com um duplo clique neste bloco a sua tela de apresentao mostrada. Basta fornecer o nome do bloco (geralmente sada) e confirmar.

11.4 O exerccio do modelo


At este ponto, a estrutura do modelo e a configurao de cada um dos blocos est concluda. Contudo, ainda deve-se fornecer outros dados tais como a durao da simulao ou o tipo de figura utilizada. Para isso usa-se o bloco SIMULATE. Utiliza-se o procedimento j conhecido para inserir um bloco SIMULATE e mostrar a sua tela de apresentao. O quadro vermelho que aparece acima do bloco a figura que ser utilizada na simulao. Esta figura far o papel do usurio do modelo para os quais os centros de servio prestam seus servios. Neste bloco, o campo Length of Replication deve ser preenchido com a durao da simulao. Uma unidade corresponde a um segundo de simulao real. Confirmar a configurao do bloco.

46 Agora o modelo pode ser executado. Para isso, basta pressionar no boto RUN que fica na parte inferior esquerda do monitor. Neste momento, o ARENA ir conferir o modelo e informar se existe algum tipo de erro. Se no existe, o modelo executado, e ao final de sua execuo, os resultados da simulao so apresentados. Como exerccio, pode-se alterar o tempo entre chegada dos usurios de expo(30) para expo(5). Neste caso, o tamanho da fila no ser suficiente. Para resolver este problema, pode-se alterar o nmero de atendentes do servidor alterando o campo Capacity de 1 para 3, por exemplo. Assim o mdulo de atendimento fica com 3 atendentes. O modelo pode ento ser executado novamente, e os resultados observados. No exemplo acima, no existe interligao entre os mdulos. O conhecimento da rota de um usurio foi dada pelo preenchimento do campo Station da seo Leave Data dos blocos Arrive e Server. No entanto, aconselhavel se fazer a interlizao dos blocos para facilitar o entendimento do modelo. Para fazer a interligao necessrio pressionar na opo connect dentro dos mdulos Arrive e Server. Em seguida, pressionar no icone para interligao que fica na barra de ferramentas e fazer a interligao a partir das setas que aparecem nas extremidades dos blocos. (Fazer alteraes no modelo sobre distribuies, nmero de elementos do servidor, etc, e analisar os resultados).

11.5 Template
Um mdulo uma unidade que pode ser utilizada para construir partes de um modelo de simulao. J um painel um conjunto de mdulos destinados a modelar um tipo especfico de sistema. Um template ento o conjunto de um ou mais painis que compreendem todos os mdulos necessrios para a construo de um tipo especfico de modelo. No ARENA, o painel COMMON contm mdulos bsicos para modelar o funcionamento da maioria dos sistemas. composto por mdulos lgicos e de dados. O painel TRANSFER contm dispositivos especficos de transferncia como, por exemplo, transportadores, esteiras, etc. O painel SUPPORT contm mdulos especializados e mdulos bsicos para criao de lgica em outros nveis. O mdulos lgicos do painel COMMON so os seguintes: ARRIVE: para a criao de entidades que chegam no sistema; DEPART: libera as entidades que deixam o sistema; SERVER: servidor bsico, utilizado para representar a prestao de um servio um usurio por um determinado tempo; INSPECT: Fornece a opo de enviar uma frao de entidades para um mdulo alternativo. Utilizado quando se deseja representar falha na prestao de servios um percentual dos usurios que o solicitam; ADVANCED SERVER: fornece capacidade adicional de modelao alm do servidor bsico (SERVER); PROCESS: representa o processamento do recurso no ADVANCE SERVER

47 ENTER: representa a entrada de um ADVANCE SERVER; LEAVE: representa a sada de um ADVANCE SERVER; Os mdulos de dados do painel COMMON so: EXPRESSIONS: permite a definio de expresses para o modelo; QUEUE: permite a definio de filas adicionais para os mdulos servidores; RECIPES: permite a definio de dados relacionados a uma localizao; SEQUENCES: permite a definio de seqncias utilizadas pelas entidades no sistema; SETS: fornece a possibilidade de se definir conjuntos de recursos, filas, etc. SIMULATE: define informaes de projeto, nmero de replicaes e smbolo de animao durante a simulao; STATICS: permite a definio de dados pr estabelecidos, ou estticos, usados no mdulo recipes; TATISTICS: permite ao usurio definir e solicitar estatsticas adicionais; STORAGE: permite a definio de armazenamento, que so reas de permanncia de entidades; VARIABLES: Permite a definio de variveis; EXERCCIO: Modelar uma fbrica de pipas da seguinte forma: Chegada entre pedidos com uma distribuio EXPO(12) Tempo de corte TRIA(8,10,12) Tempo de costura TRIA(10,11.5,14) Tempo de inspeo igual a 7.5, sendo que o ndice de rejeio igual a 15% Tempo de deslocamento entre Corte e costura igual a 2 Tempo de deslocamento entre inspeo e costura igual a 5 Tempo de deslocamento entre costura e inspeo igual a 5 Tempo de deslocamento entre inspeo e remessa igual a 5 minutos O tempo de simulao deve ser de 960 minutos.

48

11.6 Trabalho para ser entregue no final da disciplina


At a ltima semana de aula, do respectivo semestre letivo, deve ser entregue um trabalho de modelagem e simulao de um sistema qualquer escolha do aluno (existente ou hipottico). Como ponto fundamental do trabalho, importante que a descrio em texto do sistema esteja coerente com os objetivos, com os modelos esttico e dinmico, e resultados do exerccio do modelo. O trabalho pode ser feito em grupos, contudo a avaliao INDIVIDUAL. No momento da apresentao cada aluno deve demonstrar domnio sobre os detalhes de funcionamento e implementao do trabalho. No momento da apresentao do trabalho o aluno deve ter em mos (impresso) a parte escrita, no formato de artigo, de acordo com o seguinte: Ttulo Identificao dos autores Resumo (100- 300 palavras) Introduo (identificao da rea, identificao do problema, soluo proposta no corpo do artigo, organizao/estrutura do artigo) Simulao (breve fundamentao sobre princpios, aplicaes, ..., da simulao) Descrio informal (texto) do sistema em estudo (sistema que ser simulado) Tarefa de abstrao do sistema real para levantamento de requisitos, seguido do projeto e construo do modelo de representao. Tambm, o estudo de variabilidade. Este item pode ser subdividido em mltiplas sees no artigo. Exerccio do modelo de simulao e avaliao dos resultados Concluses e aspectos que podem dar continuidade ao trabalho Bibliografia

O Anexo I apresenta um exemplo comentado da apresentao escrita do trabalho aqui solicitado. No texto deste exemplo so discutidos aspectos tcnicos que precisam ser considerados nos estgios de desenvolvimento de uma simulao, como discutido na seo 7.7 desta apostila.

49

12. Probabilidade e estatstica em simulao


12.1 Coleta de dados
Aquisio de dados o processo de obteno de dados sobre um fenmeno de interesse (tanto utilizando o sistema, quanto o modelo). Na aquisio de dados pode-se utilizar documentos, questionrios, pesquisa de campo e experimentao fsica. A experimentao fsica comumente o mtodo de obteno de dados mais caro e que consome mais tempo. O processo inclui medio, gravao e edio de dados. Um grande cuidado deve ser tomado ao se planejar a experincia, de forma a assegurar que os dados obtidos sejam representativos. Para determinar o comportamento de um sistema, podemos observ-lo enquanto ele trabalha. Isto uma medida de desempenho, freqentemente utilizadas na conduo de avaliao de desempenho de sistemas de computao. Veja bem, medidas de desempenho so aquelas obtidas do sistema, enquanto avaliao de desempenho so resultados (medidos ou estimados) obtidos do modelo. No que se refere experimentao, mesmo quando medidas so possveis e suficientes para se entender o funcionamento do sistema, difcil utilizar os dados obtidos para predizer o comportamento futuro do sistema sob mudanas de carga e configurao. Enquanto se tenta projetar um novo sistema, medidas so raramente de alguma utilidade. Nestes casos s resta trabalhar com o modelo para aquisio de dados.

12.2 Estatstica descritiva


Tanto a coleta de dados para a definio das entradas do modelo, quanto nas coletas de dados de desempenho a partir do modelo, encontramos o problema de como converter os dados obtidos em uma forma usvel. Sempre h o interesse pelo tratamento projetado para resumir caractersticas importantes de um conjunto de dados. Tais tratamentos normalmente resumem os dados s custas da perda de alguma informao contida nos mesmos. 12.2.1 Agrupamento de dados O agrupamento em classes um dos mtodos para transformao de dados. Neste mtodo, os dados so resumidos pela tabulao do nmero de dados que ocorreram dentro de cada classe. Esse tipo de tabela chamado de tabela de freqncia.

50 No exerccio do professor, os dados agrupados em classes so os tempos de espera dos estudantes para atendimento pelo professor. Uma tabela de distribuio obtida na resoluo do problema poderia ser como a apresentada a seguir: Tempo de espera do aluno 0 -> 10 10 -> 20 20 -> 30 30 -> 40 40 -> 50 50 -> 60 > 60 Nmero de alunos 8 14 21 11 8 7 5

Classes com sem limite inferior ou superior fixados so chamadas de classes abertas. Veja exemplo na tabela acima. Outra, a tabela de freqncia acumulada, que obtida pela adio sucessiva das freqncias da tabela anterior. Tempo de espera do aluno, menor que: 10 20 30 40 50 60 Nmero acumulado de alunos 8 22 43 54 62 69 74

Outra variao obtida pela converso da tabela cumulativa, pela diviso de cada classe cumulativa pelo nmero total de dados. Tempo de espera do aluno, menor que: 10 20 30 40 50 60 Distribuio de freqncia 0,108 0,297 0,581 0,730 0,838 0,932 1

51 As tabelas so muitas vezes apresentadas sob a forma de grficos de forma a facilitar a interpretao dos dados. A forma grfica mais comum o histograma, que apresenta as classes de freqncia como retngulos, cujos comprimentos so proporcionais freqncia nas classes. 12.2.2 Estimao de parmetros Populao o conjunto de dados que consiste de todas as observaes possveis de uma varivel aleatria. Amostra contm apenas parte de todas as observaes possveis. Outro mtodo de resumir um conjunto de dados v-lo como uma amostra, que ento utilizada para a estimao de parmetros da populao associada. Os parmetros da populao usualmente de maior interesse so a mdia (parmetro) e a varincia (estatstica) Estatsticas baseadas em observao - interessa apenas o valor (sexo das pessoas que freqentam um determinado lugar) Estatsticas sobre variveis persistentes no tempo - valores das amostras so definidos sobre o tempo (nmero de pessoas em uma fila)

12.3 Gerao de nmeros e amostras aleatrias


O mtodo mais prtico para a gerao de amostras aleatrias a partir de uma dada distribuio primeiro gerar uma ou mais amostras uniformemente distribudas, entre 0 e 1, e ento transformar as amostras uniformes nas novas amostras desejadas. Amostras independentes, uniformemente distribudas no intervalo 0 a 1, so chamadas nmeros aleatrios.

So trs os mtodos para a obteno de nmeros aleatrios: atravs de uma leitura de uma tabela de nmeros aleatrios; uso de dispositivos fsicos que geram sinais aleatrios; e emprego de uma equao recursiva, que gera o i-simo nmero randmico a partir do (i-1)simo nmero. Como os nmeros so gerados a partir de uma equao determinstica, so chamados de pseudo-aleatrios 12.3.1 Amostras aleatrias Para a gerao de amostras aleatrias existem quatro mtodos fundamentais que podem ser utilizados. O mtodo da transformada inversa a tcnica mais simples. Ele parte do pressuposto de que a varivel aleatria R=F(x) (onde F(x) a funo de distribuio de probabilidade da varivel aleatria X, de onde se quer a amostra) uniformemente distribuda no intervalo [0,1]. Assim, para gerar uma amostra aleatria da distribuio X, ns geramos primeiro um nmero aleatrio r e depois resolve-se a equao: r = F(x).

52 O Mtodo da aceitao / rejeio consiste na gerao de amostras a partir de uma distribuio. Algumas destas amostras so ento rejeitadas de forma que as amostras restantes tenham a distribuio desejada. Mtodos de aceitao e rejeio foram desenvolvidos tanto para distribuies contnuas quanto para discretas, sendo a eficincia do mtodo dependente do nmero de rejeies exigidas. O mtodo da composio parte do pressuposto que a funo densidade da varivel cuja amostra se deseja, pode ser obtida da soma ponderada de funes de distribuio. Este mtodo pode ento ser usado para selecionar uma das subdistribuies e, o mesmo procedimento ou um outro qualquer, para se obter uma amostra da subdistribuio. Pode-se ver assim que um mtodo para pode ser dependente de outro. Quanto aos mtodos que empregam probabilidades especiais, algumas vezes a distribuio de onde se deseja obter uma amostra possui alguma propriedade especial ou est relacionada com outra distribuio, a partir da qual mais fcil obter uma amostra aleatria. Tal propriedade ou relao ento usada na gerao desejada. 12.3.2 Teste de aleatoriedade A validade estatstica dos resultados de uma simulao depende do grau de aleatoriedade dos nmeros aleatrios gerados. Exatamente por isso, vrios procedimentos estatsticos foram desenvolvidos para testar esta aleatoriedade. Infelizmente, contudo, mesmo estes testes no garantem que a seqncia gerada seja apropriada para uma particular aplicao.

12.4 Distribuies de Probabilidade


Distribuies de probabilidade ocorrem em quase todas as partes. Usurios chegam a um centro de servio de acordo com um certo padro chamado distribuio de chegada. A quantidade de servio requerida segue um padro correspondente, que chamamos de distribuio de demanda de trabalho. No caso especial, e ao mesmo tempo tpico, em que o servidor tem uma capacidade fixa, o valor da distribuio da demanda de trabalho pode ser dividido pela capacidade, na determinao de um padro chamado distribuio de tempo de servio. Filas passivas tm tambm distribuies associadas, correspondentes ao nmero de fichas requeridas por um usurio. Uma soluo para a introduo desta variabilidade estatstica em modelos consiste na observao e medida de padres que ocorrem durante um certo perodo de operao do sistema. Os valores especficos so armazenados e posteriormente utilizados como entradas para o modelo de simulao. Tambm pode-se introduzir uma distribuio aleatria nos modelos, o que mais vivel. O modo mais simples de se representar uma distribuio atravs do uso de funes de distribuio e funes de densidade de probabilidade. 12.4.1 Distribuio uniforme A distribuio uniforme especifica que os valores compreendidos entre um mnimo e um mximo so equiprovveis. O uso da distribuio uniforme geralmente significa um completo desconhecimento da varivel aleatria, conhecendo-se apenas seus limites.

53

1 ;a x b ba a+b (b valor m edio = ; variancia = 2 f ( x) =

Funo de densidade de probabilidade uniforme 12.4.2 Distribuio exponencial O intervalo entre ocorrncias tem uma distribuio exponencial se: a probabilidade de acontecer um evento em um intervalo de tempo t pequeno proporcional ao tamanho deste intervalo;
a probabilidade de ocorrncia de mais de um evento neste intervalo nula e; a ocorrncia de um evento independente da ocorrncia de outros.

Uma propriedade importante da distribuio exponencial que ela no tem memria, ou seja, se uma atividade vem ocorrendo h t unidades de tempo, ento a probabilidade que esta atividade termine em t unidades de tempo a mesma que se a atividade tivesse comeado no instante t, qualquer que seja t. O uso da distribuio exponencial supe uma grande varincia.

f (x) =

e x

,0

,0 ,5 =2,0

=0,5 =1,0

12.4.3 Distribuio de Poisson A distribuio de Poisson uma distribuio discreta. Se a durao do intervalo de tempo entre chegadas exponencialmente distribuda e se as chegadas ocorrem uma de cada vez, ento o nmero de chegadas em um intervalo fixo qualquer tem uma distribuio de Poisson.

12.4.4 O mtodo de Monte Carlo Em [PRA99] o Mtodo de Monte Carlo definido como:

54 Uma maneira de se transformar um conjunto de nmeros aleatrios em outro conjunto de nmeros (variveis aleatrias), com a mesma distribuio da varivel considerada Em resumo, o este mtodo oferece uma garantia de que, quando um processo de gerao aleatria de nmeros exercido para uma grande massa de dados, os valores simulados guardam uma estreita semelhana com os valores reais no que se refere a variveis randmicas. Ou seja, a durao mdia obtida dos nmeros sorteados tende a ser idntica durao do processo na vida real (sistema real).

12.5 Inferncia estatstica


Em estudos de simulao, inferncias ou predies, concernentes ao comportamento do sistema sobre estudo, devem ser realizadas, baseadas nos resultados experimentais obtidos da simulao. Devido ao fato de que a simulao possui elementos aleatrios, as sadas de uma simulao so amostras observadas de variveis aleatrias, e em conseqncia, qualquer assertiva que se fizer quanto operao do sistema, baseada em resultados de simulao, deve levar em considerao a variabilidade inerente destas sadas. Esta variabilidade levada em considerao pelo uso de intervalos de confiana ou atravs de hipteses de teste. Para a definio desta variabilidade, pode ser feita uma anlise estatstica detalhada (durante o processo de obteno de informao) sobre a preciso e sensibilidade do modelo. Basicamente, deve-se estudar que sada seria obtida caso a simulao fosse realizada novamente ou se tivesse tido um tempo de execuo maior. Quando isto feito, assume-se que o modelo de simulao estocstico e que os elementos aleatrios do modelo vo produzir sadas que so probabilsticas. Em [SOARES92] apresentado um estudo mais aprofundado sobre a inferncia estatstica em estudos de simulao.

55

13. Estudo estatstico


Os estudos de simulao concernentes ao comportamento do sistema sobre estudo devem ser realizados com base nos resultados experimentais obtidos da simulao. Como a simulao possui elementos aleatrios, deve-se levar em considerao a variabilidade desses resultados. A forma de se considerar esta variabilidade atravs dos intervalos de confiana ou hipteses de teste. O intervalo de confiana um intervalo onde o parmetro da populao deve se encontrar, como uma probabilidade dada, chamada nvel de confiana. No desenvolvimento do intervalo de confiana para a mdia, assume-se que as amostras so independentes e identicamente distribudas.

13.1 Estimao do intervalo de confiana


Como resultado de pesquisas, existem mtodos utilizados para estimao de intervalos de confiana, entre eles o mtodo de replicaes independentes, diviso em subintervalos, o mtodo regenerativo e o espectral. Um mtodo no pode ser considerado melhor do que o outro, mas um pode ser mais apropriado que outro para situaes determinadas. No mtodo das replicaes independentes: Neste mtodo a simulao repetida vrias vezes, partindo sempre do mesmo estado inicial, variando a seqncia de nmeros aleatrios gerados a cada replicao. Normalmente, a seqncia de nmeros aleatrios para a segunda replicao comea onde a seqncia da primeira replicao terminou, e assim por diante. A mdia de cada subintervalo pode ser calculada pela diviso do somatrio de amostras do subintervalo pelo nmero de amostras deste intervalo. Esse mtodo tem a propriedade desejvel que as amostras so independentes, alm disso, o mtodo pode ser usado tanto para anlise do estado transitrio quanto do permanente. Como desvantagem, cada replicao contm um segmento inicial de partida que pode no ser representativo na anlise do comportamento permanente. No Mtodo da diviso em Subintervalos o procedimento consiste na diviso de uma nica execuo da simulao em subintervalos. Cuidados devem ser tomados na estimao da largura dos subintervalos e quanto ao clculo em suas fronteiras (um mesmo valor no pode entrar no calculo em dois subintervalos). A vantagem do uso de subintervalos na estimativa dos intervalos de confiana que uma nica execuo pode ser feita na obteno da estimativa, alm disso, apenas um perodo transiente includo na sada. A desvantagem do procedimento a necessidade do estabelecimento da largura do subintervalo, de forma a torn-los independentes. Ainda outra desvantagem, diz respeito ao clculo nas fronteiras de uma rajada. Cuidados devem ser tomados

56 na computao das mdias, quando uma observao se estende por mais de uma rajada, por exemplo, uma chegada no subintervalo i que parte do sistema no subintervalo i+1. O mtodo regenerativo divide uma execuo em intervalos chamados ciclos. Um ciclo comea quando um estado especfico do sistema atingido e, neste estado, o comportamento futuro do modelo independente do passado. Quando um retorno feito a tal estado, o ciclo termina e uma observao independente de cada quantidade de interesse obtida. Ao se definir o ciclo desta forma, se obtm amostras independentes do modelo, evitando o problema da covarincia encontrado no uso de subintervalos. Um problema estatstico diferente surge entretanto, o comprimento do ciclo no determinstico, mas sim uma varivel aleatria. O estado de regenerao deve ter as seguintes propriedades: 1- o modelo volta periodicamente ao estado de regenerao. 2- quando o modelo entra no estado de regenerao, o comportamento futuro do modelo depende apenas deste estado. Todo ciclo tem um comportamento estatisticamente idntico a qualquer outro ciclo. desejvel que o estado de regenerao ocorra freqentemente em uma simulao de tamanho razovel. Sem esta propriedade, o mtodo no pode ser aplicado com segurana. Tambm desejvel que o estado seja facilmente detectado pela simulao. Por esta razo, os pacotes de modelagem, que oferecem o mtodo regenerativo para o clculo do intervalo de confiana, geralmente s permitem como estados de regenerao aqueles especificados apenas pelo nmero de usurios em cada n, entendendo que caractersticas adicionais dos estados so especificadas implicitamente pela linguagem. O Em resumo, as vantagens do mtodo regenerativo esto baseadas na obteno de variveis aleatrias independentes e identicamente distribudas para cada ciclo. O mtodo espectral, ao contrrio dos outros mtodos, no exige que as amostras sejam independentes e identicamente distribudas. Ele leva em considerao a correlao entre os dados. Como vantagem sobre as replicaes independentes, o mtodo espectral permite fazer uma nica simulao ao invs de vrias execues. Isto no exige preocupao com a estimao do estado inicial. Este mtodo se aplica a todas as anlises do comportamento de equilbrio dos modelos simulados, que utilizam redes de fila estendidas, sendo independente da existncia ou no de estados de regenerao.

13.2 Hipteses de teste


Em algumas aplicaes de simulao, o objetivo decidir se uma afirmao feita sobre um parmetro falsa ou verdadeira. Por exemplo, ns poderemos querer saber se as mudanas em uma regra de atendimento qualquer reduz o tempo de espera em uma fila. Estas comparaes so s vezes realizadas usando testes de hipteses, que devem levar em considerao a variao natural das medidas em simulao. O procedimento geral de teste de hipteses pede a definio de uma hiptese nula e uma hiptese substituta. A hiptese nula usualmente estabelecida com o objetivo de se determinar se ela pode ou no ser rejeitada em favor da hiptese substituta.

57 So dois os tipos de erro que podem ser cometidos ao se aplicar um critrio de deciso de rejeio. Primeiro, uma hiptese numa pode ser rejeitada quando ela verdadeira. Em segundo, uma hiptese nula pode ser aceita quando ela falsa. Uma regra de deciso pode ento ser avaliada pelas probabilidades associadas aos erros citados.

13.3 Problemas estatsticos relacionados com a simulao


A resoluo de um modelo de simulao pode apresentar variados erros de diferentes fontes. Uma particular fonte de erro a estimao imprecisa dos parmetros de entrada do modelo. Para a execuo do modelo, deve-se fornecer valores para as distribuies do tempo de servio, distribuies do tempo de chegada, probabilidades de rotas, nmero de fichas de um recurso passivo, populao da cadeia, disciplina das filas, entre outros. Os valores fornecidos so simples estimativas dos parmetros reais. Alguns destes parmetros so crticos na soluo do modelo, e pequenos erros cometidos em sua estimativa podem redundar em grandes erros nas medidas de desempenho. Existem tambm erros inerentes ao modelo. A estrutura do modelo pode estar incorreta, podendo omitir alguns elementos chaves importantes, ou seja, o modelo pode conter alguns erros lgicos. Ao se resolver um modelo por simulao, ns introduzimos tambm, erros concernentes variabilidade estatstica dos resultados, concernentes ao transitrio da simulao, gerao de amostras aleatrias, entre outros. Inicialmente, se as condies iniciais da simulao no esto de acordo, podem ocorrer problemas. O estado mais comumente utilizado o vazio. Tambm pode-se iniciar uma simulao do estado de maior probabilidade de ocorrncia ou na mdia do estado de equilbrio. Para reduzir a probabilidade de erros na estimativa da mdia no estado estacionrio podese utilizar um perodo de aquecimento. Para isso, se estabelece um ponto de truncamento, antes do qual, nenhum valor obtido includo na estatstica. Tambm importante a deciso quanto ao comprimento da seqncia de simulao e nmero de replicaes de uma simulao. O uso de poucas seqncias de grande comprimento geralmente produz uma melhor estimativa da mdia no estado permanente, do que o uso de vrias seqncias de comprimento pequeno. Isto acontece devido ao fato que menos amostras no estado transiente so contabilizadas e/ou menos dados so truncados. Quanto maior o transitrio, maior deve ser a seqncia de simulao. Contudo, o reduzido nmero de amostras correspondentes a poucas replicaes pode piorar nossa estimao da varincia da mdia. O uso de vrias pequenas execues pode, no entanto, introduzir uma polarizao devido s condies iniciais. O fim de uma simulao pode ser determinado pelo tempo, nmero de amostras que determinado pelo nmero de elementos que entram no sistema, ou nmero de entidades que ser processada pelo sistema.

58

14. Referncias Bibliogrficas


[JAIN91] JAIN, Raj. The art of computer systems performance analysis: tecnhiques for experimental design, measurement, simulation, and modeling, John Willey & Sons, Canada, 1991. [SOARES92] SOARES, Luiz Fernando Gomes. Modelagem e Simulao Discreta de Sistemas, Editora Campus, Rio de Janeiro, 1992. [NAYLOR71] NAYLOR, T.; Balintfy, J.; BURDICK, D.; CHU, K. Tcnicas de Simulao em Computadores, Editora Vozes, So Paulo, 1971. [STRACK85] STRACK, J. Modelagem e Simulao de Sistemas, Editora LTC, Rio de Janeiro, 1985. [LAW82] LAW, A. ; KELTON, W.: Simulation Modeling and Analysis. Editora McGraw-Hill Book, New York, 1982. [COP 97] COPSTEIN, B. SIMOO: Plataforma Orientada a Objetos para Simulao Discreta Multi-Paradigma. 1997. 137 f. Tese de Doutorado, UFRGS, Curso de Ps-Graduao em Cincia da Computao. CPGCC da UFRGS, Porto Alegre. [FER95] FERSCHA, A. Parallel and Distributed Simulation of Discrete Event Systems. In: Handbook of Parallel and Distributed Computing. McGraw-Hill, University of Vienna, Vienna, ustria, 1995. [FIL01] FILHO, Paulo Jos de Freitas. 2001. 322 fls. Introduo Modelagem e Simulao de Sistemas: Com Aplicaes em Arena. Visual Books Editora, Florianpolis, SC. [FIL95] FILHO, Clovis Perin. Introduo simulao de sistemas. 1995. 159f. Campinas, SP: Editora da UNICAMP. [PRA99] PRADO, Darci. 1999. 122 fls. Teoria das Filas e da Simulao. Editora de Desenvolvimento Gerencial, Belo Horizonte, Srie Pesquisa Operacional, vol2.

59

Anexo I

60

Uso da simulao para avaliao de desempenho dos algoritmos do Elevador e do Menor Seek Primeiro, utilizados no deslocamento do brao de HDs
Braulio Adriano de Mello (braulio@inf.ufrgs.br) Universidade Federal do Rio Grande do Sul Instituto de Informtica - UFRGS Disciplina de Modelagem e Simulao de Sistemas Discretos Prof.: xxxxxxxxxxx

1. Introduo
A simulao se apresenta como uma ferramenta adequada para o estudo do comportamento de sistemas em geral. Seus benefcios esto amparados na possibilidade de realizar experimentos sobre um sistema real sem que seja preciso interferir nesse sistema. Para isso, so utilizados modelos de representao. Como exemplo do uso da simulao, neste trabalho apresentado um exerccio de representao do comportamento de dois algoritmos utilizados no deslocamento do brao de suporte das cabeas de leitura de discos rgidos. Os algoritmos so: elevador, e menor seek primeiro [TAN 95]. Partindo do estudo do comportamento de ambos os algoritmos, realizada a definio do modelo conceitual dos algoritmos, e em seguida, a implementao do modelo utilizando a linguagem de simulao Simscript [SIM 89]. Diante dos resultados alcanados perante o exerccio (execuo) dos modelos implementados, ento desenvolvido um breve estudo de comparao de desempenho entre os algoritmos considerando uma situao de demanda de acesso ao disco previamente especificada e delimitada. O trabalho apresenta inicialmente uma descrio do sistema real (algoritmos), seguida da definio e delimitao do modelo conceitual, com base em um propsito definido (objetivo). So ento abordadas as especificaes sobre a coleta da amostra utilizada como base para definies das probabilidades e demais aspectos de implementao. Em seguida, so apresentados alguns aspectos de avaliao dos resultados alcanados visando a comparao de desempenho entre os algoritmos simulados, as consideraes finais e referncias.

O deslocamento do brao de discos rgidos determinado por algoritmos que podem implementar formas distintas de escalonamento. Estes algoritmos interferem diretamente na performance apresentada no trabalho de leitura e gravao de dados nos discos de armazenamento. O trabalho de acesso aos dados do disco pode ser feito considerando o bloco como a unidade de alocao utilizada pelo sistema operacional. Ou seja, para gravar um arquivo o sistema operacional deve alocar tantos blocos quanto necessrio, sendo que parte do espao do ltimo bloco alocado pode no ser totalmente utilizado. Isto conhecido como fragmentao interna. Para se medir o desempenho do algoritmo que controla o deslocamento do brao, de modo a alcanar os blocos do disco que contm a informao desejada, preciso conhecer o cilindro em que o respectivo bloco se encontra. Como os blocos que contm as informaes de um arquivo em particular podem estar em cilindros diferentes no disco (fragmentao externa), entende-se que o brao deve se deslocar alcanando os blocos desejados para que o acesso solicitado tenha sucesso. O tempo necessrio para que o brao possa alcanar o cilindro desejado um dos principais fatores que determinam o desempenho do disco. Este tempo conhecido como tempo de seek. A latncia rotacional (tempo para que o setor procurado se posicione embaixo da cabea de leitura) e o tempo de transferncia dos dados tambm influenciam no desempenho geral do disco. Considerando a mesma latncia rotacional, o mesmo tempo de transferncia de dados e a mesma velocidade de deslocamento do brao, resta ento a ordem de busca dos cilindros como fator diferenciador quanto ao desempenho, sendo este o objeto de estudo deste trabalho.

2. Descrio do sistema real

61
Sero considerados, para este trabalho, dois algoritmos distintos que determinam as regras de busca dos cilindros que contm os blocos desejados, sendo: algoritmo do menor seek primeiro, e algoritmo do elevador. considerada tambm a existncia de uma tabela, indexada pelo nmero do cilindro, com todas as requisies pendentes para cada cilindro. Desta forma, qualquer um dos algoritmos citados poder identificar, de acordo com sua poltica, qual o prximo cilindro a ser alcanado. A tabela dinmica, ou seja, a medida em que o brao do disco vai alcanando os cilindros solicitados, novas requisies podem ser recebidas pela tabela.

Inicia simulao

Posiciona brao do disco no cilindro inicial e seta flag de direo para crescente

Gera requisio

Uma nova requisio pode ser gerada a qualquer momento

existe requisio na direo apontada pelo flag?

No

flag na direo crescente?

Sim

No
Sim Seta flag de direo para crescente

Verifica prximo cilindro na ordem identificada pelo flag

Seta flag de direo para decrescente

Processa deslocamento do brao do disco, e atualiza variveis de estado

H requisies pendentes na tabela? No

Sim

No

Tempo da replicao esgotado? No Tempo de replicao esgotado? Sim Sim

Emite relatrios

Figura 2.1 - Fluxograma do algoritmo do Elevador

62

Modo de Operao deslocamento do brao

dos

Algoritmos

de

O algoritmo do menor seek primeiro, partindo do cilindro em que se encontra, desloca o brao do disco para o cilindro mais prximo, se houver requisio pendente. Este algoritmo apresenta bom desempenho, no entanto tende a manter o brao no meio do disco cometendo, de certa forma, injustia com os cilindros mais prximos do incio ou fim do disco. O algoritmo do elevador faz com que o brao do disco se desloque apenas em uma direo enquanto houver requisies naquela direo. Por exemplo, se houver as requisies para os cilindros 4, 20, 32, 40 e 64, e o brao est no cilindro 32 quando ocorre uma requisio para o cilindro 30, o

brao segue at os cilindros 40 e 64. Quando no mais houver requisies para cilindros na direo atual, troca de direo e procede da mesma forma. Ou seja, depois de atender a requisio para o cilindro 64 o brao ser deslocado ao cilindro 30, seguindo em direo ao endereo inicial enquanto houver requisies nesta direo. O algoritmo do elevador corrige a injustia com os cilindros mais afastados do centro do disco, contudo tende a prejudicar a performance em comparao ao algoritmo do menor seek primeiro. O que nem sempre acontece, dependendo da ordem das requisies. O comportamento de ambos os algoritmos apresentado na figura 2.1 e figura 2.2, respectivamente.

Inicia simulao

Posiciona brao do disco no cilindro inicial

Gera requisio

Uma nova requisio pode ser gerada a qualquer momento

Identifica cilindro mais prximo, de acordo com tabela, em relao a posio atual do brao

No

Processa deslocamento do brao do disco, e atualiza variveis de estado

Tempo da replicao esgotado?

Sim

H requisies pendentes na tabela?

Sim

No

No Tempo de replicao esgotado? Sim Emite relatrios

Figura 2.2 - Fluxograma do algoritmo do Menor Seek Primeiro

63
Utilizao do brao do disco.

3. Objetivos 4. Modelo conceitual


Objetivo Geral: Avaliar o desempenho entre o algoritmo do menor seek primeiro e o algoritmo do elevador. Objetivos Especficos: Tamanho mximo, mdio e mnimo da fila de requisies pendentes; Mdia (time seek): 8,5 msec(Read); 9,5 msec(Write) Seek time (track-to-track): 1,2 msec(Read); 1,9 msec(Read) Step Time: Significa o tempo para mover a cabea de leitura de um cilindro para o cilindro adjacente. Corresponde ao seek time track-to-track. Para a definio do ambiente de simulao que visa avaliar os dois algoritmos de deslocamento do brao propostos, so utilizadas as especificaes tcnicas do disco Seagate ST310210A [BAR 00]. O manual deste produto fornece as seguintes especificaes:

Bytes por setor: 512 Setores por trilha (default): 63 Default heads: 16 Cilindros: 16.383 Setores: 19.925.880 RPM: 7.200 Latncia rotacional: 8,32 msec (a mdia rotacional de 4,16 msec) conveniente modelar o tempo entre chegadas das requisies para leitura/gravao de blocos atravs de uma distribuio exponencial. Em conseqncia, o nmero destes eventos em um intervalo de tempo segue uma distribuio de Poisson. Como, neste trabalho, os resultados do experimento sero coletados levando em considerao o nmero de requisies que so emitidas em intervalos fixos de tempo (1 segundo), a preferncia na escolha da distribuio de probabilidade indica a Poisson. Assumindo o disco em estudo como tendo alto nvel de fragmentao externa [TAN 95] e pouco espao livre, o nmero do cilindro onde est o bloco solicitado segue uma distribuio uniforme de 1 at 16.383. Este nmero representa o nmero de cilindros do disco, de acordo com especificaes do fabricante. Para o clculo do tempo gasto pela brao do disco para se deslocar de um cilindro para outro so utilizados valores fornecidos pelo fabricante, sendo: Full stroke: A metade do tempo gasto pelo disco para se deslocar do primeiro cilindro de dados at o ltimo cilindro de dados, e novamente at o primeiro. Este tempo dado pela mdia de 100 experimentos como descrito, sendo: 18,6 mls. Nmero de cilindros: 16.383.

Tempo de seek: Tempo necessrio para, a partir de um cilindro, posicionar a cabea de leitura no cilindro imediatamente posterior ou anterior. O tempo gasto varia no intervalo de 1,2 a 1,9 mls. Ento, o tempo geral de seek entre os cilindros solicitados pelas requisies calculado da seguinte forma: Tempo seek = randi.f (1.2,1.9,1) + ((18,6 / 16383) * abs.f(cilindro requisitado - cilindro atual)) Descrio do Modelo So modelados como entidades permanentes do sistema o brao do disco, cilindros (num total de 16.383 de acordo com fabricante do disco utilizado). So entidades temporrias do modelo as requisies de acesso blocos que so emitidas. Variveis: identificador do cilindro requisitado; identificador da posio atual do brao do disco; estrutura de dados que armazena as requisies pendentes; nmero de requisies pendentes; flag de direo (para o algoritmo do elevador); demais variveis de estado necessrias para demonstrar o estado do sistema nos instantes do tempo de simulao. Eventos: chegada da requisio na estrutura de dados; inicio do atendimento da

URI - Universidade Regional Integrada do Alto Uruguai e das Misses


requisio; inicio do deslocamento do brao do disco; fim do deslocamento do brao do disco; fim do atendimento da requisio. Abstrao do sistema (granularidade): relevante obter como resultado valores relativos fila de requisies e utilizao do brao de cada algoritmo para um mesmo nmero de requisies emitidas. Considerando para isso, as mesmas condies de processamento, fragmentao do disco, espao livre do disco, entre outros. Deste modo, no foram considerados aspectos tais como diferentes exigncias de acesso ao disco e nvel de fragmentao do disco. Tais aspectos poderiam tornar o modelo excessivamente complexo diante do objetivo proposto. Eventos exgenos: tempo entre chegadas das requisies de acesso (distribuio de Poisson com mdia E(x)); tempo de atendimento de cada requisio; identificao do cilindro requisitado (distribuio uniforme com min=1 e max=16.383 [BAR 00]). Eventos endgenos: ordem (instante) em que a requisio chega na estrutura de dados; tempo em que inicia o atendimento cada uma das requisies; tempo em que o brao inicia a busca do cilindro requisitado; tempo em que este cilindro alcanado; tempo em que a requisio abandona o modelo. que ser utilizada [TAN 95]. Em funo disso, propostas no to usuais podem ser mais adequadas de acordo com a finalidade. Para este trabalho, foi assumido um processamento com emisso de requisies de acesso ao disco variando entre altas e baixas taxas. Para a execuo do experimento foi utilizado um programa simples cujo objetivo era criar, gravar e ler arquivos aleatoriamente (distribuio uniforme [TAN 95]), mantendo o tamanho dos arquivos menores do que uma unidade de alocao do disco (4kb neste caso). Durante a execuo deste programa, foram utilizados outros programas com o objetivo de provocar concorrncia pelo uso do processador (calculadora por exemplo). Isto interferiu no grau de multiprogramao, cujo resultado pode ser observado (Fig.1) nas variaes do nmero de requisies. Para os propsitos deste trabalho importante que a mesma situao seja fornecida para ambos os algoritmos de deslocamento do brao do disco, pois o objetivo avaliar/comparar a performance destes. Alterando as distribuies de probabilidade, a mesma avaliao tambm pode ser realizada combinando situaes diferentes de estado do disco e nvel de acesso ao disco. Por exemplo: alta e baixa taxa de fragmentao; freqncia de acesso ao disco; disco com pouco, mdio ou muito espao livre. Clculo da Mdia
n

5. Experimento para coleta da amostra


O nmero de requisies de acesso ao HD est diretamente relacionado ao modo como o computador esta sendo utilizado. Ou seja, finalidade dos processos que esto sendo executados. Quando disparado um processo que indexa um banco de dados por exemplo, naturalmente o acesso ao disco expressivo. Por outro lado, quando disparado um processo cuja finalidade no exige acesso constante ao disco, a situao inversa. Os autores que trabalham com teoria de Sistemas Operacionais (SO) abordam estes aspectos e, quando discutidos itens estratgicos de SO, valorizam o estudo do tipo de aplicao
X 2 4 6 P(X)

E ( X ) = x i . p ( xi )
i =1

Tendo os valores da amostra coletada atravs do experimento (Fig.1), e considerando que a varivel X discreta, calcula-se ento a Esperana Matemtica (Mdia) com o uso da frmula: A tabela (Tab.1) apresenta o nmero de requisies de acesso ao disco que ocorreram durante um segundo (X), e o a freqncia de X durante o experimento.

7/511 8/511 58/511

X*P(X) 14/511 32/511 348/511

Simulao Discreta de Sistemas__________________________________________________

64

URI - Universidade Regional Integrada do Alto Uruguai e das Misses


7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 24 26 28 30 1/511 61/511 1/511 90/511 2/511 75/511 2/511 61/511 8/511 55/511 7/511 29/511 3/511 14/511 11/511 11/511 3/511 3/511 1/511 7/511 488/511 9/511 900/511 22/511 900/511 26/511 854/511 120/511 880/511 119/511 522/511 57/511 280/511 242/511 264/511 78/511 84/511 30/511

E(X)=12,2818 Tabela 5.1 - Tabela de freqncia da ocorrncia de requisies de acesso


Ento, de acordo com a amostra coletada, E(X) = 12,2818, sendo:
k

P( x) . X
j

E ( x) =

j =1

Sendo que, para a Distribuio de Poisson, E(X) = V(X) = , ento = 12,2818 em:

e i P ( x) = i!

Simulao Discreta de Sistemas__________________________________________________

65

URI - Universidade Regional Integrada do Alto Uruguai e das Misses

Freqncia das Requisies


40 30 20 10 0 1 28 55 82 109 136 163 190 217 244 271 298 325 352 379 406 433 460 487 Num Req

Segundos
Figura 5.1 - Freqncia das Requisies obtidas atravs de experimento a cada instante de tempo

Desvio padro:

6. Exerccio da Simulao
Os modelos dos algoritmos de deslocamento do brao (elevador e menor seek primeiro) foram implementados utilizando a linguagem de simulao Simscript [SIM 89]. Ambas as implementaes diferem apenas no modo como feito o acesso ao prximo nmero de cilindro requisitado, de acordo com o respectivo algoritmo em estudo. Para cada modelo, foram executadas 9 replicaes distintas cujos resultados so estudados na seo seguinte. Em cada replicao, foi simulado o atendimento de 5000 requisies de acesso aos cilindros do disco, gerando resultados em termos de tamanho de fila do recurso BRAO (braco do disco) e sua utilizao.

= V ( x) = 12,2818 = 3,5045
Grau de confidncia: Na aplicao do teste do Chi-Quadrado o 2 calculado se manteve acima do 2 observado, rejeitando a hiptese. Justifica-se este aspecto pelo fato de que o experimento foi realizado considerando interferncias expressivas no grau de multiprogramao, intercaladas com instantes com baixa interferncia. Assim, houve grande variao na freqncia observada (como pode ser observado na Tab.1). Deste modo, para estabelecer grau de confidncia mais adequado que se faa o experimento para diferentes situaes de uso do computador individualmente. Por exemplo, combinando alto/mdio/baixo grau de multiprogramao e alto/mdio/baixo acesso ao disco. Considerando estes aspectos, pode-se alcanar uma relao mais homognea entre valores esperados e valores observados no teste do chiquadrado. No entanto, neste caso basta que a mesma situao seja submetida aos 2 algoritmos pelo fato de que o objetivo deste trabalho o estabelecimento de uma relao de desempenho entre ambos.

7. Apresentao dos resultados


Para questes de comparao do desempenho entre os dois algoritmos de deslocamento, neste trabalho foi utilizado como parmetro de referncia o tamanho mdio da fila. Foi feita a escolha por este parmetro pelo fato de que uma das formas bastante utilizadas em Sistemas Operacionais para medir o desempenho de algoritmos deste tipo baseado no nmero de requisies atendidas [TAN 95].

Simulao Discreta de Sistemas__________________________________________________

66

URI - Universidade Regional Integrada do Alto Uruguai e das Misses


Nas perspectivas futuras algumas consideraes so feitas a respeito da continuidade do trabalho apontando outros parmetros de avaliao. A tabela 6.1 apresenta os resultados (tamanho mdio da fila) das 9 replicaes
X 0,00132958 0,00084762 0,00095374 0,00111293 0,00125250 0,00103760 0,00165512 0,00179678 0,00178869 P(X) 0,111111111 0,111111111 0,111111111 0,111111111 0,111111111 0,111111111 0,111111111 0,111111111 0,111111111 E(X) = X*P(X) 0,000147731 0,00009418 0,000105971 0,000123659 0,000139167 0,000115289 0,000183902 0,000199642 0,000198743 0,001308284 (X - E(X)) 2,12956E-05 -0,000460664 -0,000354544 -0,000195354 -5,57844E-05 -0,000270684 0,000346836 0,000488496 0,000480406 (X - E(X))2 (X - E(X))2 * P(X) 4,53501E-10 5,0389E-11 2,12212E-07 2,35791E-08 1,25702E-07 1,39669E-08 3,81634E-08 4,24037E-09 3,1119E-09 3,45767E-10 7,32701E-08 8,14112E-09 1,20295E-07 1,33661E-08 2,38628E-07 2,65142E-08 2,30789E-07 2,56433E-08 Var(X) = 1,15847E-07

executadas utilizando o modelo de representao do algoritmo do elevador, sendo calculado ento o tamanho mdio da fila entre as 9 replicaes (E(X)), e um intervalo de confidncia de 90%.

Tabela 6.1 - Resultados do exerccio do modelo do algoritmo do Elevador


Algoritmo do Elevador: Tendo Var(X) = 1,15847E-07, ento: Desvio Padro =

1,15847E - 07 = 0,000340363

Para um intervalo de confidncia de 90%, = 0,1 e R(nmero de replicaes) = 9, tem-se: GL = R-1 = 9 - 1 = 8 (Graus de Liberdade). = 0,1 / 2 = 0,05 Utilizando a Tabela dos valores percentis (tp) da distribuio t de Student: Para = 0,95 e GL = 8, t = 1,86 Ento: E(X) - 1,86*0,000340363 <= Intervalo <= E(X) + 1,86*0,000340363 E(X) - 0,000633076 <= Intervalo <= E(X) + 0,000633076 0,000675209 <= Intervalo <= 0,00194136

A tabela 6.2 apresenta os resultados (tamanho mdio da fila) das 9 replicaes executadas utilizando o modelo de representao do algoritmo do menor seek primeiro, sendo calculado
X 0,00107974 0,00087517 0,00085494 0,00105578 P(X) 0,111111111 0,111111111 0,111111111 0,111111111

ento o tamanho mdio da fila entre as 9 replicaes (E(X)), e um intervalo de confidncia de 90%.

X*P(X) (X - E(X)) 0,000119971 0,000155904 9,72411E-05 -4,86656E-05 9,49933E-05 -6,88956E-05 0,000117309 0,000131944

(X - E(X))2 (X - E(X))2 * P(X) 2,43062E-08 2,70069E-09 2,36834E-09 2,63148E-10 4,7466E-09 5,274E-10 1,74093E-08 1,93437E-09

Simulao Discreta de Sistemas__________________________________________________

67

URI - Universidade Regional Integrada do Alto Uruguai e das Misses


0,00094403 0,00073557 0,00100161 0,00086902 0,00089866 0,111111111 0,111111111 0,111111111 0,111111111 0,111111111 E(X) = 0,000104892 2,01944E-05 0,00008173 -0,000188266 0,00011129 7,77744E-05 9,65578E-05 -5,48156E-05 9,98511E-05 -2,51756E-05 0,000923836 4,07816E-10 4,53128E-11 3,54439E-08 3,93821E-09 6,04886E-09 6,72096E-10 3,00475E-09 3,33861E-10 6,33809E-10 7,04232E-11 Var(X) = 1,04855E-08

Tabela 6.2 - Resultados do exerccio do modelo do algoritmo do Menor Seek Primeiro


Algoritmo do Menor Seek Primeiro: Tendo Var(X) = 1,04855E-08 , ento: Desvio Padro =

1,04855E - 08

= 0,000102399

Para um intervalo de confidncia de 90%, = 0,1 e R(nmero de replicaes) = 9, tem-se: GL = R-1 = 9 - 1 = 8 (Graus de Liberdade). = 0,1 / 2 = 0,05 Utilizando a Tabela dos valores percentis (tp) da distribuio t de Student: Para = 0,95 e GL = 8, t = 1,86 Ento: E(X) - 1,86*0,000102399 <= Intervalo <= E(X) + 1,86*0,000102399 E(X) - 0,000190462 <= Intervalo <= E(X) + 0,000190462 0,000733374 <= Intervalo <= 0,001114297 Considerando o tamanho mdio da fila nas 9 replicaes (para 5000 requisies cada) de cada um dos algoritmos de deslocamento simulados nas condies especificadas, pode-se constatar que: Considerando E(X), o algoritmo do menor seek primeiro mantm a mdia da fila de requisies em torno 70% do tamanho mdio da fila mantida pelo algoritmo do elevador para atender o mesmo nmero de requisioes (objetivo principal); A interseco entre o intervalo de confidncia encontrado para ambos os algoritmos (para 90%) igual ao intervalo de confidncia do algoritmo do menor seek primeiro. Isto refora a afirmao inicial de que, dependendo da ordem em que as requisies so emitidas no que diz respeito ao nmero do cilindro, o algoritmo do elevador tente a se aproximar do desempenho do outro algoritmo simulado. do brao de discos rgidos. Para o desenvolvimento deste estudo, foram utilizadas algumas tcnicas de modelagem, simulao e avaliao de resultados conhecidas. Foram estudados o algoritmo do elevador e o algoritmo do menor seek primeiro. Como resultado principal, foi observado o melhor desempenho do segundo algoritmo (em torno de 30%) se comparado ao primeiro, levando em considerao o tamanho mdio da fila como parmetro de avaliao. Como complemento/continuidade deste estudo, proposta a realizao de novas simulaes (exerccios) considerando diferentes situaes. Por exemplo, combinando alto/mdio/baixo grau de multiprogramao e alto/mdio/baixo acesso ao disco. Intercalando com nveis distintos de fragmentao e espao vazio do disco, entre outros.

8. Consideraes finais
Neste trabalho foi apresentado um estudo de dois algoritmos utilizados para o deslocamento

9. Referncias bibliogrficas
[BAR 00] Barracuda ATA II Family. Product Manual. Publication Number:

Simulao Discreta de Sistemas__________________________________________________

68

URI - Universidade Regional Integrada do Alto Uruguai e das Misses


20400151-001, Rev. A, February, Seagate Technology, 2000. Encontrado no site http://www.seagate.com/support/d isc/specs/model_st3.html [TAN 95] TANEMBAUM, A.: Sistemas Operacionais Modernos. PrenticeHall do Brasil, Rio de Janeiro, 1995.

[SIM 89] SIMSCRIPT. UNIX SIMSCRIPT II.5 User's Manual. CACI Products Company, Canad, 1989. [KIV 87] KIVIAT, P. J.; Villanueva, R.; Markowitz, H. M. SIMSCRIPT II.5 Programming Language. CACI Products Company, 1987. [SIM 85] SIMSCRIPT. SIMSCRIPT II.5 Reference Handbook. CACI Products Company, 1985.

[SPI 85] SPIEGEL, M. R. Estatstica. 2a Edio, McGraw-Hill, So Paulo, 1985.

Simulao Discreta de Sistemas__________________________________________________

69

Você também pode gostar