Prévia do material em texto
Modelo conceitual Prof. Mauro Rezende Filho Descrição Modelos conceituais e representações abstratas e psicológicas de como as tarefas devem ser realizadas; em termos gerais, o processo de desenvolvimento de uma representação gráfica (ou modelo) do mundo real. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 1/91 Propósito Os engenheiros usam modelos conceituais como forma de sistematizar processos. O processo de modelagem conceitual requer que sejam tomadas decisões sobre o escopo e o nível de detalhamento do modelo. Essas decisões geralmente devem ser um acordo entre as partes interessadas que precisam do modelo para auxiliar na tomada de decisões. Preparação Antes de iniciar seus estudos, certifique-se de que você tenha à disposição o software Excel, de modo que possa replicar o conteúdo e o exercício que serão apresentados. Objetivos Módulo 1 Abstração de modelo Reconhecer o conceito e as técnicas de abstração de modelo. Módulo 2 Técnicas de abstração de simulação de modelos conceituais Reconhecer as técnicas de abstração de simulação de eventos discretos e de comportamento em um modelo qualitativo. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 2/91 Módulo 3 Simulação manual e o método das três fases Reconhecer simulação manual e o método das três fases. Módulo 4 Outras dinâmicas de simulação Reconhecer outras dinâmicas de simulação. Introdução Olá! Antes de começarmos, assista ao vídeo e conheça os fundamentos de modelagem conceitual. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 3/91 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 4/91 1 - Abstração de modelo Ao �nal deste módulo, você será capaz de reconhecer o conceito e as técnicas de abstração de modelo. Vamos começar! Conceito e técnicas de abstração de modelo Assista ao vídeo onde vamos explicitar o conceito de abstração de modelo e também elencar as técnicas já validadas que fazem parte desse método. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 5/91 Conceito de abstração do modelo Como o foco deste conteúdo está nas técnicas de abstração de modelo, começaremos com a descrição do conceito de abstração de modelo. A imagem a seguir ilustra o processo de modelagem e simulação. Existe algum sistema do mundo real (ou hipotético) a partir do qual queremos criar um modelo para responder a algumas perguntas. Como um sistema do mundo real deve ser projetado? Como um sistema do mundo real responderia a estímulos específicos? Como as pessoas operam um sistema do mundo real (ou seja, treinamento)? Por que um sistema do mundo real está se comportando de uma maneira específica (ou seja, diagnóstico)? 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 6/91 Um modelo é usado por vários motivos, como: Custo normalmente mais baixo ao usar um modelo em vez do sistema do mundo real; Preocupações de segurança ao usar um sistema do mundo real; Controle experimental sobre o modelo; A indisponibilidade do sistema do mundo real (por exemplo, sistemas de armas do inimigo); A inexistência do sistema do mundo real. Abstração do modelo no processo de simulação. O desenvolvimento de um modelo de simulação, conforme mostrado, envolve duas etapas. O primeiro passo é o desenvolvimento de um modelo conceitual, uma forma de “pensar” e representar o sistema do mundo real. As decisões cruciais tomadas por um desenvolvedor de modelo nessa fase incluem: 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 7/91 Essa determinação é baseada em fatores como: as perguntas que serão respondidas pelo modelo utilizado; os recursos computacionais e de desenvolvimento disponíveis para construir, validar e usar o modelo; e os dados disponíveis que descrevem o sistema do mundo real e suas interfaces. Referimo-nos a esse processo de determinação como abstração, uma vez que o modelo conceitual é uma representação mais simples do sistema mais complexo do mundo real. O processo de determinar se o modelo conceitual é uma representação adequadamente precisa do sistema do mundo real é a validação. Determinação de quais fatores in�uenciam o comportamento do sistema. Comportamentos do sistema a serem incorporados ao modelo. A maneira pela qual os comportamentos do sistema são representados. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 8/91 Um modelo conceitual é então implementado na forma de um conjunto de instruções executável por computador conhecido como modelo de simulação. A verificação é o processo de determinar se a versão implementada do modelo é uma representação precisa do modelo conceitual. A fase final do desenvolvimento do modelo mostrada na imagem envolve a interface dos usuários com um modelo de simulação em execução. A extensão em que os usuários acreditam que o modelo de simulação é uma representação precisa do sistema do mundo real é definida como a credibilidade do modelo. O foco deste estudo está na primeira etapa de simulação, criando e manipulando o modelo conceitual. Os primeiros trabalhos no campo de modelagem e simulação se concentraram no desenvolvimento de modelos conceituais e de simulação únicos para um sistema do mundo real. Essa abordagem funciona bem se houver um pequeno conjunto de questões a ser abordado usando o modelo e se esse conjunto for conhecido a priori antes do início do desenvolvimento do modelo. No entanto, tais situações raramente são o caso: Novas questões surgem depois que o modelo está em uso. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 9/91 Zeigler (1984) introduziu o conceito de modelagem multifacetada para fornecer uma abordagem mais eficaz para o desenvolvimento de modelos. Um modelo multifacetado é um conjunto de modelos conceituais relacionados a um sistema do mundo real, enfatizando diferentes aspectos do sistema necessários para abordar diferentes questões sobre o sistema do mundo real. Os modelos são decompostos e/ou combinados para abordar novas questões. As questões associadas a um modelo cobrem um amplo espectro de perspectivas do sistema do mundo real. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 10/91 O termo “multifacetado” reconhece a existência da multiplicidade de objetivos e modelos como um fato da vida. Não implica necessariamente uma estrutura hierárquica; em vez disso, o conceito suporta a decomposição parcial dos sistemas. Uma chave para o conceito de modelagem multifacetada é a relação entre os vários modelos conceituais. Definimos uma transformação de modelo como a evolução do mapeamento do modelo conceitual para o modelo conceitual propriamente dito. Uma transformação de um modelo conceitual complexo para um mais simples é uma transformação simplificadora. Uma variedade de transformações simplificadoras pode ser aplicada a um modelo conceitual. Objetivo e motivação Tendo introduzido a noção de abstração de modelo, estabelecemos agora o objetivo específico e a motivação para esse esforço de pesquisa. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 11/91 O objetivo é identificar, categorizar, desenvolver e demonstrar técnicas de abstração de modelo para manipular modelos de simulação de software e/ou componentes de modelo. Essas técnicas são utilizadas para diminuir afidelidade do modelo para atender os requisitos da simulação e/ou os recursos computacionais disponíveis para execução do modelo. O conceito de manipulação da fidelidade do modelo de simulação para acomodar requisitos de simulação e/ou recursos computacionais não é novo; geralmente é parte integrante do processo de desenvolvimento da simulação. No entanto, esse aspecto do desenvolvimento da simulação tem sido geralmente realizado de forma ad hoc. Saiba mais Trabalhos recentes no desenvolvimento de modelos com componentes de resolução e fidelidade variadas e na reutilização de componentes do modelo renovaram o interesse em meios eficazes de manipular a fidelidade do modelo, preservando a validade dos resultados. O desenvolvimento de tais técnicas é o foco desse esforço de pesquisa. Uma melhor compreensão das técnicas de abstração de modelo também é importante para projetar e usar modelos que incluem processos e entidades em níveis de resolução distintamente diferentes. Técnicas de abstração de modelo também são necessárias para concretizar o conceito de fidelidade seletiva em modelos, em que o nível de resolução do modelo é ajustado para atender aos requisitos da simulação. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 12/91 Assim, a motivação para esse esforço é fornecer aos desenvolvedores de modelos um conjunto de ferramentas que possa melhorar o processo de modelagem e simulação em três pontos: Projeto Execução Reutilização Abordaremos cada uma dessas áreas a seguir. Melhorando o projeto do modelo A compreensão das técnicas de abstração do modelo e sua aplicação pode fornecer ao desenvolvedor do modelo uma caixa de ferramentas melhor para conduzir o projeto do modelo. Com base em técnicas específicas de outras disciplinas, como raciocínio qualitativo, fornecemos ao projetista de modelos um catálogo mais amplo de técnicas para aplicar ao problema de projetar um modelo no nível apropriado de resolução e fidelidade. Além disso, ao entender as interações e relações entre as técnicas de abstração, o projetista do modelo pode evitar problemas que surgem de uma incompatibilidade de níveis de fidelidade. Exemplo 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 13/91 Uma entidade sendo modelada com muitos detalhes em relação a outras entidades no modelo e uma escolha inadequada de resolução de tempo para os comportamentos representados. Em última análise, uma maior compreensão das técnicas de abstração de modelos é parte de um amadurecimento geral da disciplina de desenvolvimento de modelos, de um ofício para uma disciplina mais orientada para a engenharia. O desenvolvimento do modelo como um ofício depende da experiência do desenvolvedor do modelo individual. Ao amadurecer para uma disciplina orientada para a engenharia, uma direção muito maior é fornecida ao desenvolvedor do modelo na tomada de decisões cruciais de projeto do modelo. Melhorando a execução do modelo Talvez a motivação mais óbvia para investigar técnicas de abstração de modelo seja a redução potencial nos requisitos de recursos para modelos mais simples. O desenvolvimento de modelos sempre envolveu uma troca entre a complexidade do modelo e os recursos correlacionados necessários para projetar, executar e validar o modelo, e a exatidão e precisão do modelo. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 14/91 As abstrações se movem ao longo da curva de troca na direção de requisitos de recursos reduzidos. Embora normalmente se pense em recursos computacionais (como ciclos de computação) nesse contexto, o nível de abstração do modelo conceitual impacta vários outros recursos. Exemplos de tais recursos incluem (mas não estão limitados a) o seguinte: Tempo de desenvolvimento para projetar, codificar e testar um modelo de simulação; Tempo necessário para documentar um modelo; Recursos de execução (como ciclos de CPU e memória); Requisitos de armazenamento do modelo (por exemplo, espaço em disco); Tempo necessário para coletar dados para validação do modelo; Tempo necessário para validar o modelo. O desenvolvimento claro de modelos mais simples tem um retorno potencialmente significativo. Além da economia de recursos na execução do modelo, as técnicas de abstração também são motivadas pelo conceito em evolução de fidelidade seletiva. A ideia de fidelidade seletiva é apenas modelar em detalhes os comportamentos do sistema do mundo real que são necessários. A fidelidade seletiva pode envolver decisões de fidelidade em: “Tempo de compilação” “Tempo de execução” 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 15/91 Requer a capacidade de selecionar o modelo apropriado para um aplicativo específico, sem exigir alterações significativas em nenhuma das interfaces que o modelo possui com elementos externos. Também chamada de fidelidade seletiva dinâmica, é caracterizada pela seleção de um modelo ou componente(s) do modelo para execução com base no valor atual do estado do sistema. Por exemplo, considere um modelo de atividade da unidade terrestre e um sensor aéreo. Um modelo detalhado só é necessário quando a unidade estiver dentro da área de cobertura ativa do sensor; unidades fora da área de cobertura do sensor naquele tempo de simulação só precisam ser modeladas em um nível grosseiro. No entanto, à medida que a abrangência do sensor aumenta (o que pode ser ditado por eventos externos à simulação, como entrada do operador), o conjunto de unidades que devem ser modeladas em detalhes muda. Técnicas de abstração de modelo são a chave para alcançar a faixa de fidelidade seletiva, incluindo fidelidade seletiva dinâmica. Melhorando a reutilização do modelo 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 16/91 As técnicas de abstração de modelos também têm benefícios potenciais para permitir e melhorar a reutilização de modelos. Uma área que ganha cada vez mais popularidade em termos de utilização e reutilização de modelos é a integração de modelos de diferentes níveis de resolução. O modelo integrado fornece recursos que geralmente são difíceis de alcançar pela expansão de modelos individuais. Exemplo A integração de um modelo de combate ar-ar com um modelo de campanha aérea fornece uma resolução mais precisa do combate aéreo dentro do modelo de campanha aérea. Além disso, fornece também um escopo mais amplo e um contexto mais realista para o modelo de combate ar-ar. Juntos, o modelo integrado fornece um escopo e detalhes mais amplos do que qualquer modelo individual (assumindo que o requisito de simulação é para um modelo de nível de campanha com representação de combate individual). O valor das técnicas de abstração de modelo estabelecidas é que elas fornecem um meio para determinar se um modelo é uma abstração válida do outro e, se não, quais as modificações necessárias para tornar um modelo uma abstração válida do outro. Muitas vezes, essas integrações são implementadas sem abordar esse problema explicitamente ou o produto final requer um novo procedimento de validação. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 17/91 Técnicas de abstração de modelo bem definidas podem ser usadas para aumentar a validade (e facilitar a validação) dos resultados de tais integrações. As técnicas de abstração de modelos também podem facilitar a reutilização de modelos, pois fornecem meios para transformar modelos para atender aos requisitos de simulação. Essas técnicas ainda fornecem um passo para medir o nível de resolução de um modelo, que pode ser uma métrica útil para determinar qual dos vários modeloscandidatos é o mais apropriado para uma aplicação de reutilização. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 18/91 Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos? Questão 1 Ocultar a complexidade da implementação pode A facilitar a programação. B tornar a programação complexa. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 19/91 Parabéns! A alternativa A está correta. A programação não precisa saber como as funções embutidas estão funcionando, mas pode usar essas funções complexas diretamente no programa. Não fornece mais número de recursos ou melhor recurso. Questão 2 Um telefone é composto de vários componentes, como placa-mãe, câmera, sensores etc. Se o processador representa todo o funcionamento do telefone, o display mostra apenas o display, e o telefone é representado como um todo. Qual dos seguintes itens a seguir tem o nível mais alto de abstração? C fornecer mais número de recursos. D fornecer melhores recursos. E tornar mais complexo para o usuário. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 20/91 Parabéns! A alternativa D está correta. O telefone como um todo tem o nível mais alto de abstração. Isso ocorre porque o telefone, sendo uma única unidade, representa todo o sistema. Considerando que placa-mãe, tela e câmera são seus componentes. A Placa-mãe B Display C Câmera D Telefone E Memória 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 21/91 2 - Técnicas de abstração de simulação de modelos conceituais Ao �nal deste módulo, você será capaz de reconhecer as técnicas de abstração de simulação de eventos discretos e de comportamento em um modelo qualitativo. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 22/91 Vamos começar! As técnicas de abstração da simulação de eventos discretos e de comportamento em um modelo qualitativo Assista ao vídeo para entender mais sobre as técnicas de abstração da simulação de eventos discretos, a aplicação e como elas se relacionam com o comportamento em um modelo qualitativo. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 23/91 Técnicas de abstração da simulação de eventos discretos Existe uma base substancial de trabalho na aplicação de técnicas de abstração de modelo para modelagem e simulação. Vamos resumir brevemente as ideias de dois pesquisadores-chave nesse campo. São eles: Zeigler e Fishwick. Técnicas de abstração de modelos: Zeigler Zeigler dedicou uma parte significativa de seu texto de 1976 sobre modelagem e simulação ao desenvolvimento de uma estrutura formal para descrever a simulação de eventos discretos, incluindo operações de abstração de modelos. Ele discute a simplificação do modelo, que equivale a simplificar as transformações em nossa terminologia. Zeigler usa os termos: “Modelo base” Para expressar o modelo mais detalhado. “Modelo agrupado” 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 24/91 Para expressar os resultados de transformações simplificadas aplicadas a um modelo. O uso do termo “modelo agrupado” sugere abstração por agregação; no entanto, como definimos agregação, as técnicas de simplificação descritas por Zeigler incluem abstrações por outros meios além da agregação. Ele identifica quatro categorias gerais de técnicas: I. descarte de um ou mais componentes, variáveis descritivas e/ou regras de interação Os fatores incluídos em um modelo podem ter uma influência variável no resultado do modelo. Alguns fatores têm uma contribuição importante, enquanto outros podem ter uma contribuição menor. Reduzir o número de fatores pode simplificar os modelos. A redução é baseada na eliminação de fatores que menos afetam o comportamento do modelo dentro do quadro experimental de interesse. Esse conceito é equivalente ao conceito de encontrar o limite apropriado do sistema. Existe potencialmente um relacionamento entre entidades, variáveis descritivas e regras de interação, de modo que a eliminação de uma entidade pode exigir a eliminação de variáveis descritivas associadas e regras de interação e assim por diante. A eliminação Eliminando componentes 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 25/91 de variáveis descritivas associadas é uma instância de um conjunto mais geral de abstrações acionadas por alguma abstração inicial. II. substituição de uma ou mais variáveis controladas deterministicamente por variáveis aleatórias Esta técnica de abstração de modelo envolve a substituição de algum conjunto de regras de interação que determina a saída do modelo por computação determinística por meio de uma regra de interação (mais simples) com base em um mecanismo de probabilidade. III. aprofundandamento de conjuntos de intervalo de uma ou mais variáveis descritivas Neste procedimento de simplificação, as variáveis descritivas no modelo base e no modelo concentrado são as mesmas, mas o conjunto de intervalo das variáveis é menor do que o intervalo definido para as variáveis no modelo base. Um exemplo de engrossamento é o arredondamento dos valores das variáveis. Substituindo variáveis determinísticas por variáveis aleatórias Conjuntos de intervalo aproximados 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 26/91 “Quantizar o modelo” é outra maneira de expressar o tipo de abstração, onde um intervalo de valores de variáveis de modelo é mapeado para um único estado de simulação. Outro exemplo é denominado “classificação”. Zeigler explica essa técnica de simplificação com um exemplo de modelo de elevador. As pessoas no elevador podem ser representadas como indivíduos com nomes, ou mais grosseiramente como um número inteiro de pessoas no elevador, ou ainda mais grosseiramente como um valor booleano indicando se há ou não pessoas no elevador. IV. agrupamento de componentes em blocos, agregando variáveis descritivas dentro dos blocos Os componentes podem ser combinados ou agrupados para abstrair um modelo. Os exemplos fornecidos por Zeigler são geralmente hierarquias nas quais os componentes de nível inferior são controlados pelos componentes superiores de alguma forma. Abstração do processo: Fishwick Agrupando componentes 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 27/91 Paul Fishwick é outro pesquisador da comunidade de simulação que investigou as questões de níveis de resolução e abstração. Ele definiu uma abordagem de abstração com base em processos representados em um modelo. A justificativa para o uso da abstração inclui o raciocínio descrito a seguir em itens. Um modelo abstrato geralmente é menos complexo computacionalmente do que o modelo básico. Um modelo abstrato é mais fácil de entender na maioria dos casos. A criação de modelos abstratos facilita a construção de uma biblioteca de diferentes modelos que representam o mesmo processo (que ele descreve como uma “rede”). 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 28/91 Técnicas de abstração de comportamento dentro de um modelo qualitativo Olhemos agora para a questão específica das abstrações do modelo dentro de um sistema de raciocínio qualitativo. Os primeiros tipos de abstrações são de comportamento dentro de um modelo qualitativo. Para muitos sistemas dinâmicos complexos, existem distinções entre os possíveiscomportamentos do sistema que tornam a simulação intratável e, no entanto, não são de interesse do modelador. Em muitos casos, a biblioteca de modelos para um processo representa um caminho evolutivo para o processo de modelagem. Os processos geralmente são modelados usando métodos simples no início e depois evoluem com detalhes adicionais para se tornar representações mais complexas à medida que o ciclo de desenvolvimento continua. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 29/91 Essas distinções claramente adicionam complexidade desnecessária ao modelo. No contexto da simulação qualitativa, o objetivo das técnicas de abstração de comportamento é combinar comportamentos simulados cujas diferenças são irrelevantes para atingir os objetivos da simulação. Um objetivo de simulação pode ser uma consulta que o sistema de raciocínio qualitativo apresenta ao modelo; isso equivale ao nosso conceito de um requisito de simulação. As técnicas de abstração de comportamento incluem: Agregação de comportamento Abstração da caixa de vibração Decomposição do modelo Abstração da escala de tempo Agregação de ciclos repetidos Outras agregações 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 30/91 Abordaremos cada uma dessas técnicas a seguir. Agregação de comportamento Agregação de comportamento é baseado no fato de que a simulação qualitativa pode ser usada para determinar todos os estados de simulação (ou todos os possíveis estados). Existem duas representações principais para possíveis comportamentos do sistema, conforme descrito por Kuipers (1994). Árvore de comportamento Os estados sucessores são determinados para cada estado, começando com o inicial. Visão total Todos os estados possíveis do sistema são gerados, e uma relação de sucessor imediato é usada para ligar os estados em um grafo de transição. Todos os comportamentos possíveis são implícitos 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 31/91 por caminhos através do grafo. Uma extensão do trabalho inicial de simulação qualitativa é descrita por Clancy e Kuipers (1998) e envolve técnicas para agregar comportamentos. Trata-se da caracterização de todos os comportamentos possíveis do sistema (todas as sequências de estados do sistema) como uma rede. Essa rede de descrições finitas destaca distinções em vários níveis de detalhamento. Os diferentes níveis de detalhes permitem que o modelador negocie os requisitos computacionais (e a tratabilidade) do modelo e o nível de detalhe necessário para executar o raciocínio (os requisitos de simulação). As abstrações garantem que apenas as distinções relevantes para o requisito de simulação sejam computadas. Abstração da caixa de vibração A vibração ocorre quando a derivada de uma variável é restrita apenas pela continuidade; ou seja, a direção de seu valor pode ser qualquer valor qualitativo. Exemplo A vibração pode ocorrer quando uma variável é definida como a diferença entre duas variáveis que são funções monotonicamente crescentes. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 32/91 A simulação age em todos os valores possíveis para as derivadas qualitativas das variáveis de vibração, resultando em ramificações intratáveis. A abstração da caixa de vibração, descrita por Clancy e Kuipers (1993), elimina a vibração quando há um único estado qualitativo. Uma caixa de vibração é uma região dentro do espaço de estados do modelo em que as derivadas qualitativas de variáveis potencialmente de vibração podem variar, enquanto os valores qualitativos das outras variáveis permanecem os mesmos. Decomposição do modelo A aplicação da decomposição de modelos no domínio da simulação qualitativa também é motivada pelo nível de complexidade dos modelos de sistemas do mundo real e pela necessidade de modelos abstratos para tratabilidade. Assim como outras técnicas de abstração usadas na simulação qualitativa, essa técnica elimina cálculos de modelo que envolvem detalhes irrelevantes, detalhes estes que devem ser analisados caso a caso. Em tese, aplicar a decomposição é dividir o modelo em componentes frouxamente conectados e modelar cada componente separadamente enquanto aborda especificamente as interações. A decomposição do modelo usa uma análise causal das restrições para particionar as variáveis em componentes fortemente conectados. As relações causais entre os componentes são analisadas de forma que a execução 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 33/91 pode restringir o comportamento dos componentes executados posteriormente. Onde não há relação causal os componentes podem ser executados em paralelo. O algoritmo de decomposição do modelo envolve três etapas principais: particionamento de variáveis, criação de submodelos e execução da simulação particionada. O objetivo do particionamento de variáveis é combinar variáveis fortemente conectadas dentro da rede de restrições e separar variáveis que não estão conectadas. Abstração de escala de tempo Outra técnica para lidar com a tratabilidade de simulações qualitativas é a abstração de escala de tempo. Representar e analisar sistemas cujos processos variam amplamente no tempo tem sido considerado por muitos anos. Simon e Ando (1961) apresentam um exemplo inicial de exame de escalas de tempo para ajudar a tornar as representações do sistema mais tratáveis. Veja, a seguir, as chaves para implementar a abstração de escala de tempo. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 34/91 Desenvolver uma estrutura hierárquica de componentes do modelo que mantenha representações consistentes das entidades em escalas de tempo amplamente variadas. De�nir o mecanismo para transferir o controle entre os mecanismos dentro da hierarquia. Comunicar informações entre os níveis. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 35/91 A estrutura hierárquica na simulação qualitativa é baseada em tratar o estado de equilíbrio em um modelo mais rápido como as condições iniciais para um modelo mais lento e propagar as condições finais de um modelo mais lento como um novo estado de equilíbrio do modelo mais rápido. Para manter a consistência dos resultados, são feitas várias suposições sobre os modelos mais rápidos e mais lentos. Assume-se que variáveis com os mesmos nomes nos modelos significam a mesma coisa. Todas as variáveis independentes no modelo mais rápido também devem aparecer como variáveis no modelo mais lento. De�nir o que constitui uma separação su�cientemente ampla de escalas de tempo. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 36/91 É definido o conceito de estados correspondentes (que descrevem a mesma situação). Uma variável que aparece nos estados correspondentes deve denotar o mesmo valor, representando os pontos de referência correspondentes. Se uma variável aparece em ambos os modelos e um ponto de referência da variável em um modelo corresponde a um intervalo aberto entre os valores de referência no outro modelo, um novo valor de referência pode ser criado no segundo modelo para corresponder ao valor de referência no primeiro modelo. Outros tipos de agregação A abstração temporal é na verdade apenas um dos quatro tipos de abstrações identificados por Iwasaki (1992). As outras três dimensões de abstração são descritas a seguir. Estrutural Agrupa um grupo de componentes fisicamente próximos. Funcional Agrupa um grupo de componentes quecoletivamente atingem uma função distinta de nível superior. Quantitativa Ignora pequenas diferenças nos valores das variáveis. Iwasaki prossegue observando que essas “dimensões de abstrações” não são necessariamente independentes. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 37/91 Por exemplo, a abstração estrutural pode exigir abstração temporal se as transições de estado da estrutura agregada forem mais longas que o tamanho de agregação temporal. Tanto a agregação estrutural (com base na proximidade física) como a funcional (com base na função ou missão), conforme definido por Iwasaki, envolvem entidades agregadoras. Curiosidade Essa referência é um dos poucos exemplos de agregação de entidade ou processo na literatura de simulação qualitativa. Agregação de ciclos repetidos A técnica final de abstração de comportamento, introduzida por Weld (1985), envolve a agregação de comportamentos quando um ciclo repetitivo de comportamentos é detectado. O princípio fundamental desse tipo de agregação é que, em algumas circunstâncias, um ciclo particular de comportamentos em uma simulação causal é repetido até que algumas condições amplas sejam atendidas. Os resultados de simulação válidos podem ser obtidos com menos computação, substituindo o ciclo por um processo abstrato contínuo. A agregação de Weld é uma técnica para reconhecer quando os processos se repetem e para gerar uma descrição de processo mais abstrata da mudança ao longo do tempo. As entradas para agregação incluem um histórico de alterações de valor de parâmetro ao longo do tempo, um conjunto de processos ativos, a definição de 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 38/91 processo e uma lista de parâmetros totalmente ordenados. A saída é uma representação de processo contínua do comportamento do sistema. O reconhecimento do ciclo ocorre em três etapas, como indicado a seguir. Observe que a repetição pode ser temporal, espacial ou ambas. A repetição temporal refere-se ao comportamento em que um objeto repete a mesma ação em momentos diferentes, por exemplo, começando nos momentos ti, ti + 1, ti + 2 e assim por diante. O Análise de processos ativos para detectar situações em que o mesmo comportamento está ocorrendo. Determinação de quais sequências de processos estão se repetindo. Determinação se o ciclo está realmente se repetindo. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 39/91 comportamento difere apenas no tempo de execução. Na repetição espacial, vários objetos diferentes realizam a mesma ação ao mesmo tempo; o comportamento difere apenas no objeto que executa o comportamento. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 40/91 Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos? Questão 1 Quais das seguintes características são consideradas críticas na pesquisa qualitativa? A Coleta de dados com a ajuda de ferramentas de pesquisa padronizadas. B Amostragem de design com técnicas de amostragem probabilística. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 41/91 Parabéns! A alternativa C está correta. Na pesquisa qualitativa, usamos uma metodologia indutiva que parte do particular para o geral. Em outras palavras, estudamos a sociedade de baixo para cima, depois nos movemos para cima para fazer com que as teorias difiram apenas no objeto que realiza o comportamento. Questão 2 O que é necessário para prosseguir com a modelagem de um problema? C Coleta de dados com evidências empíricas de baixo para cima. D Coleta de dados com evidências esquemáticas de cima para baixo. E Amostragem de design com técnicas de amostragem determinística. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 42/91 Parabéns! A alternativa B está correta. Antes de iniciar o projeto, é necessário ter um objetivo claramente definido, pois, uma vez identificado o problema, podemos decidir que técnica será utilizada para a modelagem. A Desenvolvimento de um projeto de pesquisa. B Formular o objetivo do problema. C Decidir sobre o procedimento de análise de dados. D Formular pelo menos uma hipótese para o projeto. E Coletar dados para o projeto. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 43/91 3 - Simulação manual e o método das três fases Ao �nal deste módulo, você será capaz de reconhecer simulação manual e o método das três fases. Vamos começar! 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 44/91 Reconhecendo simulação manual e o método das três fases Assista ao vídeo para entender a importância da simulação manual e como implementar o método das três fases. Simulação manual Uma simulação é a imitação da operação de um processo ou sistema do mundo real ao longo do tempo. As simulações requerem o uso de modelos; o modelo representa 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 45/91 as principais características ou comportamentos do sistema ou processo selecionado, enquanto a simulação representa a evolução do modelo ao longo do tempo. Muitas vezes, os computadores são usados para executar a simulação; entretanto, muitos modelos podem ser operados sem o uso de computadores, ou seja, uma simulação manual. Fila do Banco do Brasil em Itabuna, Bahia, 2020. Um bom exemplo é a teoria das filas, um ramo da matemática que estuda como as filas se formam, como funcionam e por que funcionam mal. A teoria das filas examina todos os componentes da espera na fila, incluindo o processo de chegada, o processo de serviço, o número de servidores, o número de lugares no sistema e o número de clientes – que podem ser pessoas, pacotes de dados, carros ou qualquer outra coisa. Outro exemplo são os diagramas de ciclo de atividades (ACDS), uma maneira de modelar as interações dos objetos do sistema. São particularmente úteis para sistemas com uma estrutura de filas forte. Eles são baseados na ideia de Tocher (1963) de engrenagens estocásticas. O ACDS tem a vantagem da parcimônia, pois usa apenas dois símbolos que descrevem o ciclo de vida dos objetos ou entidades do 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 46/91 sistema: uma entidade é qualquer componente do modelo que pode ser imaginado para manter sua identidade ao longo do tempo. As entidades estão ociosas, em filas fictícias ou reais, ou ativas, engajadas com outras entidades em atividades demoradas. Os símbolos que usamos são mostrados na imagem a seguir. Estado da fila e estado da atividade. Um estado ativo geralmente envolve a cooperação de diferentes classes de entidades. A duração do estado ativo sempre pode ser determinada com antecedência – geralmente tomando uma amostra de uma distribuição de probabilidade apropriada se o modelo de simulação for estocástico. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 47/91 Vamos usar como exemplo as etapas pelas quais passa um navio quando chega ao Porto. A descarga de um navio em um cais é um estado ativo, onde um navio-entidade e um cais-entidade estão envolvidos na atividade de descarga (possivelmente também com outras entidades, como guindastes etc.). Um estado passivo ou estado de fila não envolve cooperação entre diferentes classes de entidade e geralmente é um estado no qual a entidade espera que algo aconteça.Fila de navios para descarga. O período que uma entidade passará em uma fila não pode ser determinado antecipadamente porque depende da duração das atividades imediatamente anteriores e posteriores. O tempo que um navio passa esperando em uma fila ociosa para descarregar em um berço depende do seu horário de chegada e do tempo que um dos berços que ele pode usar fica vago. Um ciclo de vida (ciclo de atividade) de filas e atividades é definido para cada tipo de entidade. Impomos a restrição de que filas e atividades devem se alternar em qualquer 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 48/91 ciclo de vida (se necessário fazemos isso acontecer criando filas fictícias). Mostraremos como desenhar uma ACD usando o exemplo de uma choperia, usado por muitos autores, uma vez que seu contexto é implicitamente entendido pela maioria dos leitores. A primeira versão simples tem três entidades chamadas “cliente”, “garçonete” e “copo”. O cliente bebe ou espera para beber. A garçonete serve uma bebida ou está ociosa. O copo é usado para beber, está vazio, é servido pela garçonete ou está cheio esperando para ser bebido. Podemos resumir os estados para cada entidade como segue na imagem. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 49/91 Estados da choperia. Cada ciclo de vida para cada tipo de entidade pode ser desenhado como na imagem a seguir. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 50/91 Ciclos de entidade da choperia. O ACD para a choperia pode ser então desenhado combinando as atividades comuns como na imagem a seguir. ACD da choperia. O ACD ilustra logicamente que a atividade BEBENDO não pode começar a menos que um cliente esteja na fila ESPERANDO e um copo esteja na fila CHEIO. Da mesma forma, a atividade ESPERANDO não pode ser iniciada a menos que uma garçonete esteja na fila OCUPADA e um copo esteja na fila VAZIA. O ACD também tem uma interpretação mais forte. Ou seja, quando um cliente estiver na fila ESPERANDO e 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 51/91 houver um copo CHEIO na fila, então a atividade BEBER será iniciada. Da mesma forma, quando há uma garçonete na fila OCUPADA, e um copo na fila VAZIO, então a atividade SERVINDO será iniciada. Ao término de qualquer atividade, o movimento das entidades é fixo. Após o SERVINDO, a garçonete vai para a fila OCUPADA e o copo vai para a fila SERVINDO. Depois de BEBER, o copo vai para a fila VAZIO e o cliente para a fila ESPERANDO. É uma convenção útil, mas não essencial, que filas e atividades devem se alternar. Isso torna a modelagem mais robusta no caso de uma mudança inevitável no requisito do modelo. Também é uma convenção útil, mas não essencial, que todos os ciclos de vida da entidade sejam fechados. Embora isso exija a introdução de uma fila de “mundo exterior” para as entidades que “visitam” o sistema, tem a vantagem de ajudar o analista a pensar nos ciclos de vida das entidades com mais rigor e, portanto, com uma maior perspectiva de sucesso. Método das três fases 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 52/91 O primeiro passo é certificar-se de que a lógica do sistema foi devidamente compreendida. Uma das melhores maneiras de fazer isso é executar uma simulação manual. Há uma variedade de métodos para tanto, mas usaremos o método ACD. Isso ajudará a entender o método das três fases. Para realizar uma simulação manual com um ACD, desenhamos os ciclos de vida em uma grande folha de papel ou tabuleiro (usando diferentes cores para distinguir os ciclos de diferentes tipos de entidades). O estado atual do modelo é descrito pela posição de cada entidade em uma fila ou atividade; isso é facilmente mostrado usando contadores coloridos em pontos apropriados no tabuleiro. Um evento é uma mudança no estado do modelo que ocorre em um instante de tempo. Quando uma atividade começa, sua duração pode ser amostrada de uma distribuição especificada, e a hora em que ela terminará pode ser anotada no tabuleiro ou na próxima lista de eventos. A atividade deve terminar exatamente nesse momento; portanto, as conclusões das atividades são eventos vinculados. No entanto, não sabemos de antemão quando uma atividade pode começar: isso depende da combinação correta de entidades disponíveis nas filas anteriores. Os inícios das atividades são eventos adicionais. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 53/91 Um dos benefícios da simulação manual é estabelecer prioridades onde elas existem. No exemplo final da choperia a ser mostrado mais à frente, a garçonete da entidade pode enfrentar uma possível escolha de atividade para começar primeiro. Talvez seja importante estabelecer que existe uma prioridade e qual é. Escrever código de computador diretamente pode fazer, com facilidade, que esse problema seja esquecido e tratado ao acaso. No método das três fases, a simulação procede como uma repetição das três fases descritas a seguir. Fase 1 Verifique os tempos de término de todas as atividades atualmente em andamento. Encontre o mais antigo deles. Avance o relógio para essa hora. Fase 2 Para a atividade(s) que terminou, mova as entidades para suas filas apropriadas. Risque a nota que mostra quando a atividade deveria terminar. Fase 3 Digitalize as atividades em ordem crescente de número de atividades (elas devem ser numeradas antes do início da execução). Inicie qualquer atividade que possa começar movendo as entidades apropriadas das filas para a atividade. Faça uma amostra do tempo de duração da atividade, calcule quando a atividade terminará e anote esse tempo. Observe esta estrutura de simulação comum: 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 54/91 adiantar o horário para o próximo evento; executar eventos vinculados (conclusões de atividades); executar eventos condicionais (inicia a atividade). Podemos registrar o estado da simulação usando as três fases. Diagrama de ciclo de atividade da choperia modificado. Então, se dissermos que a bebida da atividade leva 4 minutos; despejar leva 3 minutos; copos e clientes são sincronizados como na imagem; e cada entidade está em suas filas iniciais apropriadas (OCUPADO, VAZIO, ESPERANDO), a partir disso obtemos a tabela a seguir. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 55/91 A B C 0 - Enchimento inicia e termina em 3 3 Enchimento termina Bebendo inicia e termina em 7 Enchimento inicia e termina em 6 6 Enchimento termina Bebendo inicia e termina em 10 Enchimento inicia e termina em 9 7 Bebendo termina - 9 Enchimento termina Bebendo inicia e termina em 13 Enchimento inicia e termina em 12 10 Bebendo termina - 12 Enchimento termina Bebendo inicia e termina em 16 Enchimento inicia e termina em 15 Mauro Rezende Filho. Claro que poderíamos coletar estatísticas de uma simulação manual, mas isso seria muito cansativo, então usamos o computador para automatizar todo o processo. No 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 56/91 entanto, vale ressaltar novamente que uma simulação manual é um passo importante no entendimento do processo que está sendo modelado. As três fases executadas são geralmente expressas como A, B e C, como vimos. O executivo percorre as fases à medida que a simulação prossegue. Fase A (varredura de tempo) Determine quando o próximo evento deve ocorrer e decida quais eventos B devemocorrer. Mova também a hora do relógio da simulação para a hora do próximo evento. Fase B (chamada B) Execute apenas os eventos B identificados na fase A como sendo devidos agora. Fase C (varredura C) Tente cada um dos eventos C por sua vez e execute as condições que forem satisfeitas. Repita o C até que não ocorram mais eventos C (ou seja, nenhuma atividade pode ser iniciada). 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 57/91 Falta pouco para atingir seus objetivos. Vamos praticar alguns conceitos? Questão 1 A simulação manual deve ser pensada como uma técnica para 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 58/91 Parabéns! A alternativa A está correta. Existem diversas maneiras de modelar as interações do sistema. Todavia, o ciclo ACDS é uma das melhores maneiras de realizar a interação entre os objetos que compõem o sistema, de forma a fazê-lo funcionar de forma ótima. A aumentar a compreensão de um problema. B obter uma solução relativamente barata para um problema. C fornecer respostas rápidas e sujas para problemas complexos. D atribuir o intervalo exato do intervalo de números aleatórios como a probabilidade. E desenvolver uma distribuição de probabilidade cumulativa. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 59/91 Questão 2 A simulação de uma situação é a singularidade do modelo de Parabéns! A alternativa B está correta. A sistema de informação gerencial. B sistema de apoio à decisão. C processamento eletrônico de dados. D sistema de processamento de informações. E sistema de acesso a dados. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 60/91 Os modelos de simulação têm por objetivo representar o mundo real gerando informações para o apoio à decisão. 4 - Outras dinâmicas de simulação Ao �nal deste módulo, você será capaz de reconhecer outras dinâmicas de simulação. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 61/91 Vamos começar! Reconhecendo outras dinâmicas de simulação Assista ao vídeo para conhecer outras dinâmicas de simulação, assim como as: baseadas em atividade, baseadas em eventos, o método de fluxo de processo e aquelas simulações de eventos simultâneos. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 62/91 Outras visões de dinâmica de simulação Baseada em atividade A estrutura mais simples é passar por todas as atividades, testando uma de cada vez e iniciando ou terminando as apropriadas. Se alguma atividade for executada, a lista inteira pode precisar ser pesquisada novamente. É possível que uma atividade mais acima na lista, que antes estava bloqueada, agora possa ser executada no novo estado do sistema. A principal vantagem desse tipo de estrutura é ser de fácil programação. Cada atividade pode ser programada e testada como um módulo separado. A simplicidade da estrutura é particularmente valiosa ao lidar com modelos logicamente complicados, cujas atividades são predominantemente “multirrecursos”, ou seja, que exigem que várias entidades diferentes estejam em estados particulares antes de poderem começar. Exemplo 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 63/91 Uma atividade para fazer com que um navio deixe o porto, onde as condições podem ser: que um navio esteja esperando para partir; um rebocador esteja disponível; um piloto esteja disponível; a maré esteja alta; e a entrada no cais é gratuita. No entanto, uma estrutura baseada em atividades produz um programa de computador ineficiente, no sentido de que muitos testes malsucedidos precisam ser realizados. As melhorias podem ser feitas apenas com a reciclagem se determinadas atividades forem executadas, e não de outra forma. As linguagens puramente baseadas em atividades estão agora mais ou menos extintas, tendo sido substituídas pelo método das três fases. Essa estrutura combina certa eficiência na execução apenas do evento vinculado relevante, com a capacidade de lidar com atividades logicamente inter-relacionadas de maneira simples. Baseada em eventos Uma abordagem diferente é usar as informações disponíveis da varredura de tempo para agir diretamente no bit relevante do programa. Esta é uma estrutura baseada em eventos. O executivo se ramifica diretamente para a atividade associada ao evento mais antigo identificado. A eficiência desse tipo de estrutura é sua principal virtude, mas pode ser muito difícil de usar em modelos do tipo multirrecurso, onde surgem referências cruzadas entre ramificações. O modelo provavelmente será usado para fazer 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 64/91 comparações. Um grande número de estados possíveis do sistema deve ser considerado ao escrever o programa. O método de �uxo de processo Uma estrutura de simulação que está crescendo em popularidade é o método de fluxo de processos baseado na linguagem de simulação SIMULA. SIMULA é uma família de linguagens de programação projetada para suportar simulação de eventos discretos, criada entre 1962 e 1968 por Kristen Nygaard e Ole-Johan Dahl, no Centro Norueguês de Computação em Oslo. A essência do método é escrever cada ciclo de vida de entidade em uma ACD como um bloco de código com comandos PAUSE e ENABLE para significar que o ciclo não pode continuar até que outras entidades estejam disponíveis para permitir que uma atividade ocorra. O executivo de tal programa requer um cruzamento 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 65/91 complexo e extenso dos blocos de código, e a alteração do modelo é difícil. Eventos simultâneos Um dos problemas mais difíceis na criação de um programa de simulação é atender a eventos simultâneos. O modelo provavelmente será usado para fazer execuções comparativas, onde é importante garantir que diferenças indesejadas entre execuções não sejam geradas devido a mudanças na ordem em que as atividades são executadas. Isso também é necessário para depurar o programa seguindo o progresso da simulação em detalhes. Se usarmos a versão mais complexa da choperia na imagem a seguir, então a visão do método das três fases expressa prioridade, como segue. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 66/91 O método das três fases. Medidas de estatísticas de desempenho 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 67/91 Estamos quase sempre interessados no desempenho do sistema real e, portanto, do modelo do sistema. Para verificar isso, precisaremos calcular algum tipo de medida de saída para eventualmente comparar com outras formas alternativas do modelo. As medidas de saída de desempenho podem ser: Observacionais São baseadas no número de entidades observadas durante o processo. Dependentes do tempo São baseadas no período em que as estatísticas são coletadas. Existem quatro medidas de desempenho comumente utilizadas: Hora do sistema, Tempo de fila, Número médio de tempo na fila e Utilização de recursos. Veremos melhor cada uma delas a seguir. Hora do sistema O tempo do sistema é uma medida de saída observacional. É a quantidade total de tempo que a entidade passa no sistema. A hora do sistema começa quando a entidade chega e entra na fila. Termina quando o tempo de serviço da entidade termina e sai do sistema. O tempo médio do sistema para todas as entidades é demaior importância para o profissional. A representação matemática do tempo médio do sistema é: 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 68/91 Onde a hora do sistema para uma entidade individual (hora de chegada - hora de partida) e o número de entidades processadas pelo sistema. Tempo de �la O tempo de fila também é uma medida observacional. É semelhante ao tempo do sistema, exceto que contabiliza apenas o tempo que uma entidade passa na fila. O tempo de fila é preferido por alguns profissionais porque eles suspeitam que o período mais questionável, pelo menos em processos de serviço orientados ao cliente, é o tempo de espera na fila. Muitos clientes estão pelo menos parcialmente satisfeitos quando seus tempos de serviço começam, mesmo que o tempo de serviço em si possa ser longo. A fórmula para o tempo de fila é: Onde o tempo de fila para uma entidade individual (tempo de chegada da fila tempo de início do serviço) e = o número de entidades que são processadas pela Tempo médio no sistema = ∑n i=1 Ti n Ti = n = Tempo médio na fila = ∑n i=1Di n Di = n 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 69/91 fila. Número médio de tempo na �la O número médio de tempo na fila é uma estatística dependente do tempo. Dessa forma, o número médio de tempo na fila não é diretamente uma função do número de entidades que foram processadas pela fila. É sim o número médio de entidades que você poderia esperar ver na fila a qualquer momento durante o período de interesse. A qualquer momento, a fila terá um número discreto de entidades. No entanto, como o número médio de tempo na fila é um valor médio, ele geralmente produzirá um número que também possui um valor fracionário. Para filas levemente carregadas, é possível que o número médio de tempo na fila seja menor que 1. A fórmula para calcular o número médio de tempo na fila é: Onde: = número na fila por determinado período de tempo = período de tempo em que é observado = tempo total para a simulação Número médio de tempo na fila Q = ∫ T 0 Qdt T Q dt Q T 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 70/91 Como a equação para o número médio de tempo na fila depende do tempo, é necessária uma explicação adicional. A equação basicamente calcula o tempo total de entidade na fila que é observado durante a execução da simulação dividido pelo tempo total de execução da simulação. Em uma simulação de cliente de entidade, isso corresponderia ao tempo de espera do cliente por todos os clientes que estavam aguardando na fila. Cada período é calculado multiplicando o número de clientes esperando na fila pela quantidade de tempo que esse número de clientes aguardou. Uma alteração no número de clientes em espera na fila desencadeia o início de um novo período de cálculo. Ao final, todos os períodos com clientes-minutos são totalizados n divididos pela duração da simulação. Dica Os cálculos manuais do número médio de tempo na fila são mais bem-tratados desenhando um gráfico de dois eixos do sistema. O eixo vertical registra o número de entidades na fila. O eixo horizontal registra o tempo de simulação. Uma linha é desenhada no número de entidades na fila pelo período em que esse número de entidades está na fila. O tempo da entidade é estimado calculando a área de cada caixa, que é o número de entidades esperando multiplicado pela hora final para esse número de entidades na fila menos a hora inicial para esse número de entidades na fila. A área total é calculada pela soma de todas as áreas individuais. O número médio de tempo na fila é então calculado dividindo a área total pela duração da execução da simulação: 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 71/91 Cálculo do número médio de tempo na fila. Utilização de recursos A utilização de recursos também é uma estatística dependente do tempo. A qualquer momento, um único recurso pode estar ocioso ou ocupado. O estado ocioso corresponde a um nível de utilização de recursos de 0. Naturalmente, o estado ocupado corresponde a um nível de utilização de recursos de 1. O período em que o recurso está no nível 0 ou 1 é uma função das entidades que entram no sistema. A fórmula para a utilização média de recursos é: Onde: Utilização média dos recursos = ∫ T 0 Bdt T 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 72/91 = 0 para ocioso ou 1 para ocupado = período de tempo em que B é observado = tempo total para a simulação Assim como o número médio de tempo na fila, estamos somando o tempo em que o recurso está ocupado ou ocioso e dividindo pelo tempo total da execução da simulação. A taxa de utilização média pode ser calculada usando um gráfico de barras da mesma maneira que para o número médio de tempo na fila. A única diferença é que o eixo vertical do gráfico pode assumir apenas um valor de 0 ou 1. Exemplo de indicadores na simulação manual Os seguintes tempos entre chegadas e serviços foram observados em um sistema de fila única e servidor único: Tempos entre chegadas (min.): 1, 4, 2, 1, 8, 2, 4, 3 Tempos de serviço (min.): 2, 5, 4, 1, 3, 2, 1, 3 B dt T 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 73/91 Calcule estatísticas resumidas para o número médio de tempo na fila, tempo médio do sistema e utilização média com base em 20 min. Solução: É melhor começar organizando nossos dados em um gráfico com títulos para o número de chegada, hora de chegada, hora de início do serviço, hora do fim do serviço e hora total do sistema. Podemos então preencher o gráfico com nossos dados de entrada: Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 1 1 1 3 2 Mauro Rezende Filho. O primeiro evento é a primeira chegada, que ocorre 1 minuto após o início do sistema. Como não há mais ninguém na fila e o servidor está ocioso, o cliente pode imediatamente aproveitar o recurso e iniciar o tempo de serviço. Isso significa que o tempo de serviço também começa 1 minuto após o início do sistema. O início do serviço é o segundo evento. O tempo de atendimento para o primeiro cliente foi de 2 minutos. Isso significa que o fim do serviço ocorre em 3 minutos. O fim do serviço é o terceiro evento do sistema. Observe também que o tempo total em que o cliente 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 74/91 esteve no sistema é o tempo de término ou saída do serviço de 3 minutos menos o tempo de chegada de 1 minuto. O quarto evento é a chegada da segunda entidade. Como não há ninguém na fila e o servidor está ocioso, essa entidade também vai diretamente para o servidor. Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 1 1 1 3 2 2 5 5 Mauro Rezende Filho. A segunda entidade está programada para ter um tempo de serviço de 5 minutos. Isso significa que o tempo de serviço da segunda entidade terminaria em 10 minutos. No entanto, o tempo entre chegadas entre a segunda e a terceira entidades é de 2 minutos. Isso resulta na chegada da terceira entidade em 7 minutos. Assim, o próximo evento não é o fim do serviço da segunda entidade, mas a chegada ao sistema da terceira entidade. Como o servidor está ocupado com a segunda entidade, a terceira entidade ocupa a primeira posição na fila. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 75/91 Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 1 1 1 3 2 2 5 5 3 7 Mauro Rezende Filho. Neste ponto, duas coisasdiferentes podem ocorrer. O término do tempo de serviço para a entidade 2 pode ocorrer em 10 minutos, ou outra entidade pode chegar ao sistema antes desse tempo. Como se vê, o tempo entre chegadas entre a terceira e a quarta entidades é de 1 minuto. Isso significa que a quarta entidade chega aos 8 minutos. Isso ocorre antes que o tempo de serviço termine para a segunda entidade. A quarta entidade entra na fila atrás da terceira entidade. Agora há duas entidades na fila. Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 1 1 1 3 2 2 5 5 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 76/91 Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 3 7 4 8 Mauro Rezende Filho. Agora, dois outros eventos podem ocorrer. O tempo de atendimento para a entidade 2 pode terminar em 10 minutos, ou a quinta entidade pode chegar ao sistema. Como se vê, o tempo entre chegadas para a quinta entidade é de 8 minutos. Isso significa que o fim do serviço para a segunda entidade será o próximo evento. Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 1 1 1 3 2 2 5 5 10 5 3 7 10 4 8 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 77/91 Mauro Rezende Filho. Podemos calcular a hora do sistema para a segunda entidade da mesma maneira que a primeira entidade. Como a segunda entidade não esperou na fila antes de ser atendida, seu horário de sistema é o mesmo que seu horário de atendimento. Aos 10 minutos ocorre um segundo evento. Como a entidade 3 estava esperando na fila, assim que a entidade 2 terminou, a entidade 3 imediatamente apreendeu o recurso em 10 minutos. Com a entidade 3 agora sendo atendida, apenas a entidade 4 está esperando na fila. A entidade 3 tem um tempo de atendimento de 4 minutos. Isso significa que seu tempo de serviço será concluído em 14 minutos. Como o tempo entre chegadas para a entidade 5 foi de 8 minutos, o tempo de serviço para a entidade 3 será concluído antes que a entidade 5 chegue aos 16 minutos. Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 1 1 1 3 2 2 5 5 10 5 3 7 10 14 7 4 8 14 Mauro Rezende Filho. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 78/91 O cálculo da hora do sistema para a terceira entidade é ligeiramente diferente. A entidade 3 realmente esperou na fila por 3 minutos. Portanto, nesse caso, o tempo do sistema é 14 minutos menos 7 minutos, para um tempo do sistema de 7 minutos. Como a entidade 4 estava esperando na fila quando a entidade 3 terminou, ela imediatamente saiu da fila e capturou o servidor. A fila agora não tem entidades. O próximo evento acaba sendo o fim do tempo de atendimento da entidade 4. Isso ocorre porque a entidade quatro tem um tempo de atendimento curto de apenas 1 minuto. A entidade 4 também esperou na fila. O tempo do sistema para a entidade quatro é de 15 minutos menos 8 ou 7 minutos. Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 1 1 1 3 2 2 5 5 10 5 3 7 10 14 7 4 8 14 15 7 Mauro Rezende Filho. Continuando o mesmo procedimento, obteremos: 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 79/91 Chegada número Hora de chegada Tempo inicial Tempo final Tempo do sistema 1 1 1 3 2 2 5 5 10 5 3 7 10 14 7 4 8 14 15 7 5 16 16 19 3 6 18 19 21 7 22 Mauro Rezende Filho. Nossa lista de eventos agora está completa e podemos voltar nossa atenção para o cálculo das medidas de desempenho de saída. A medida de desempenho mais fácil de calcular é a hora do sistema das entidades. No tempo 20, apenas cinco clientes diferentes saíram do sistema. Não precisamos nos preocupar com nenhuma entidade ainda no sistema quando estamos calculando um tipo de medida observacional, como o tempo do sistema. Podemos calcular o tempo médio do sistema somando todos os tempos individuais do sistema e dividindo por 5. Assim, o tempo médio do sistema para todas as entidades que foram processadas pelo sistema foi de 4,8 minutos. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 80/91 Para a entidade 1 a 1 minuto e a entidade 2 a 5 minutos, o serviço está disponível imediatamente. Quando a entidade 3 chega aos 7 minutos, ela deve esperar na fila. A entidade 3 espera na fila até que a entidade 4 chegue em 8 minutos. Isso significa que por 1 minuto entre 7 e 8 minutos havia uma entidade na fila: O próximo evento relevante é o fim do serviço da entidade 2 aos 10 minutos. Isso significa que duas entidades, entidades 3 e 4, esperaram na fila pelo período entre 8 e 10 minutos: Aos 10 minutos há apenas uma entidade, a entidade 4, na fila. O próximo evento relevante é o fim de serviço da entidade 3 aos 14 minutos. Isso significa que a entidade 4 esperou na fila sozinha entre 10 e 14 minutos: Tempo médio no sistema = 2 + 5 + 7 + 7 + 3 5 = 4, 8 1 entidade na fila × (8 − 7) minutos = 1 entidade-minuto 2 entidades na fila × (10 − 8) minutos = 4 entidades-minuto 1 entidade na fila × (14 − 10) minutos = 4 entidades-minuto 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 81/91 Aos 14 minutos, não há ninguém esperando na fila. O próximo evento é a chegada da entidade 5 aos 16 minutos. Como não há ninguém na fila e o servidor está ocioso, a entidade 5 não tem tempo de fila. O próximo evento que ocorre é a chegada da entidade 6 aos 18 minutos. O servidor está ocupado, então a entidade 6 entra na fila. O próximo evento relevante é o fim do tempo de serviço para a entidade 5 aos 19 minutos. Esse evento faz com que a entidade 6 saia da fila. A entidade 6 foi a única entidade na fila por 1 minuto: Quando a entidade 6 sai da fila, não há outras entidades na fila. A próxima entidade não chega até 22 minutos. Isso significa que, para o restante da simulação, até 20 minutos, a fila é 0. O tempo médio na fila agora pode ser calculado somando os períodos de tempo que as entidades ficaram esperando na fila e dividindo pelo tempo de simulação: 1 entidade na fila × (19 − 18) minuto = 1 entidade-minuto Número médio de tempo na fila Q = 1 + 4 + 4 + 1 20 = 0, 50 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 82/91 Falta pouco para atingir seus objetivos. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 83/91 Vamos praticar alguns conceitos? Questão 1 Considere um sistema em que navios chegam a um porto para carregar algum produto. A seguir estão anotados os valores entre chegadas (em horas) para vinte navios. As durações da carga (em horas) de cada navio são as seguintes: O intervalo médio entre chegadas será igual a A 6,8 horas. B 7,4 horas. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 84/91 Parabéns! A alternativa C está correta. Somando os intervalos, obtemos: Como temos vinte intervalos, então o intervalo médio = 166 ÷ 20 = 8,3 horas. Questão 2 Considere um sistema em que navios chegam a um porto para carregar algum produto. Abaixo estão anotados os valores entre chegadas (em horas) para 20 navios: C 8,3 horas. D 7,9 horas. E 8,7 horas. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 85/91 As durações da carga (em horas) de cada navio são as seguintes: O número médio na fila será igual a A 0,6478. B 0,5389. C 0,7015. D 0,4834. E 1,1495. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio#86/91 Parabéns! A alternativa B está correta. Montando a dinâmica do sistema: Observa-se que temos 97 horas na fila, e 180 horas do sistema em operação, portanto o número médio na fila = 97 ÷ 180 = 0,5389. Considerações �nais Discutimos os propósitos da simulação, assim como seus conceitos básicos. Vimos um modelo de simulação manual passo a passo para fornecer experiência no manuseio da lista de eventos e no cálculo de estatísticas resumidas. Embora possa ter pouco valor operacional real, o pequeno exemplo demonstra claramente a 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 87/91 complexidade de lidar com a lista de eventos e calcular até mesmo algumas estatísticas resumidas. Também apresentamos as técnicas e os mecanismos de abstração de comportamento em determinado modelo qualitativo e seus benefícios para melhorar a reutilização de modelos. Apresentamos a agregação de comportamento e de ciclos repetidos, entre outras técnicas utilizadas por Zeigler e Fishwick. Vimos o conceito de decomposição do modelo e a abstração de escala de tempo, o método das três fases e também outras dinâmicas de simulação. Felizmente, a maioria dos projetos de simulação usará um pacote de software de simulação que isola completamente o profissional da manutenção manual da lista de eventos ou do cálculo de estatísticas resumidas. Podcast Neste podcast, confira um resumo dos principais pontos estudados e também vamos responder as seguintes perguntas: É válida a abstração em modelagem no mundo atual? Com a grande variedade de softwares de simulação, ainda é aplicável a simulação manual? Onde aplicamos a simulação? Vamos lá! 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 88/91 Explore + Compreenda um pouco mais sobre modelos conceituais, lendo o artigo: Aplicações da manufatura aditiva em oftalmologia, de Bianca Figueiredo Barczewski e colaboradores, publicado na Revista Brasileira de Oftalmologia. Referências CLANCY, D. J.; KUIPERS, B. J. Qualitative simulation as a temporally-extended constraint satisfaction problem. Cambridge: AAAI; MIT, 1998. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 89/91 FISHWICK, P. The role of process abstraction in simulation. IEEE Transactions on Systems, Man, and Cybernetics, n. 18, p. 18-39, 1988. FISHWICK, P. An integrated approach to system modeling using a synthesis of artificial intelligence, software engineering, and simulation methodologies. ACM Transactions on Modeling and Computer Simulation, n. 2, p. 307-330, 1992. IWASAKI, Y. Causal ordering in a mixed structure. In: NATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE, 6., Cambridge, 1988. Proceedings […]. Cambridge: AIII; MIT Press, 1988. IWASAKI, Y. Reasoning with multiple abstraction models. In: IWASAKI, Y. Recent advances in qualitative physics, faltings and struss. Cambridge: MIT Press, 1992. KUIPERS, B. Qualitative reasoning: modeling and simulation with incomplete knowledge. Cambridge: MIT Press, 1994. SIMON, H. A.; ANDO, A. Aggregation of variables in dynamic systems. Econometrica, n. 29, p. 111-138, 1961. WELD, D. S. Combining discrete and continuous process models. Massachussetts: MIT, 1985. ZEIGLER, B. Theory of modeling and simulation. New York: Wiley and Sons, 1976. ZEIGLER, B. Multifaceted modeling and discrete event simulation. San Diego: Academic Press, 1984. 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 90/91 Material para download Clique no botão abaixo para fazer o download do conteúdo completo em formato PDF. Download material O que você achou do conteúdo? Relatar problema 25/05/2024, 07:45 Modelo conceitual https://stecine.azureedge.net/repositorio/00212en/04497/index.html?brand=estacio# 91/91 javascript:CriaPDF()