Modelagem e Simulação Material 6 Linguagem GPSS (parte 1)



Documentos relacionados
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

MODELAGEM E SIMULAÇÃO

Simulador do Processador Neander T&D-Bench Simulator Manual do Usuário. por Júlio César Maccali. revisado por Prof. Christian Zambenedetti

1. Instalei o DutotecCAD normalmente no meu computador mas o ícone de inicialização do DutotecCAD não aparece.

Arquitetura de Computadores. Tipos de Instruções

Criando um Modelo Simples

Orientação a Objetos

PASSO A PASSO COMO CRIAR UM NOVO PROJETO EM SCHEMATIC NO SOFTWARE QUARTUS II

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

1 Code::Blocks Criação de projetos

GUIA BÁSICO DA SALA VIRTUAL

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Especificação do 3º Trabalho

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Material de Apoio. SEB - Contas a Pagar. Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com

CONFIGURAÇÃO MINIMA EXIGIDA:

INSTALAÇÃO E OPERAÇÃO DO MILLENIUM III

Manual Módulo Livro Caixa Livro Caixa Atualizada com a versão 1.3.0

Usando o Arena em Simulação

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

Programação de Computadores - I. Profª Beatriz Profº Israel

1.6. Tratamento de Exceções

Lógica de Programação

Tutorial de Matlab Francesco Franco

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0

Orientação a Objetos

Como gerar arquivos para Sphinx Operador

&UHDWH±'LVSRVH±3URFHVV±(QWLW\±5HVRXUFH

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

Access Control Lists - ACL. Treinamento OTRS Help Desk

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

CURSO DE PROGRAMAÇÃO EM JAVA

TUTORIAL AUTODESK 360 COLABORAÇÃO E ARMAZENAMENTO DE ARQUIVOS

A4 Projeto Integrador e Lista de Jogos

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Roteiro do Programa e Entrada/Saída

3.1) Baixe os arquivos necessários para preparação neste link:

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Noções de. Microsoft SQL Server. Microsoft SQL Server

SIMULADO Windows 7 Parte V

Desenvolvendo Websites com PHP

SISTEMA DE PROCESSAMENTO DE AVALIAÇÕES INTERMÉDIAS SPAI

Modelagemde Software Orientadaa Objetos com UML

Usando o simulador MIPS

Sistema Banco de Preços Manual do Usuário OBSERVATÓRIO

Exercícios Práticos Assunto: Criação de slots e instâncias da ontologia com o Protegé.

Microsoft Access Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

MANUAL TISS Versão

Componentes do Computador e. aula 3. Profa. Débora Matos

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Ambiente Online de Programação em C.

QualiQuantiSoft Versão 1.3c

O AMBIENTE DE TRABALHO DO WINDOWS

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

CDE4000 MANUAL 1. INTRODUÇÃO 2. SOFTWARE DE CONFIGURAÇÃO 3. COMUNICAÇÃO

Manual de configuração do sistema

Microsoft Access XP Módulo Um

Laboratório - Exploração do FTP

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Para participar de um mapa colaborativo usando o Cmap Tools

Matlab - Neural Networw Toolbox. Ana Lívia Soares Silva de Almeida

Programação WEB I Estruturas de controle e repetição

GUIA RÁPIDO DE UTILIZAÇÃO DO PORTAL DO AFRAFEP SAÚDE

Tutorial de instalação e configuração do utilitário de gerenciamento de chaves pública/privada, para criptografia de arquivos

ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL LINUX. Introdução: FERRAMENTAS. Abaixo segue relação de aplicativos utilizados para realizar este roteiro:

Portas Lógicas Básicas: Parte 2 Simulação Lógica

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE.

Gerenciamento Incidentes, Problemas e de Nível de Serviço. Treinamento OTRS ITSM

FBV - Linguagem de Programação II. Um pouco sobre Java

Curso Técnico em Redes

02. O software ainda permite instalar a barra de ferramentas do Google como recurso extra. Faça a escolha desejada e continue a instalação.

Feature-Driven Development

10 DICAS PARA TURBINAR SEU PACOTE DE DADOS. 1 - Desative os Dados do Celular. 2 Remova as notificações e atualizações automáticas

Organização de programas em Python. Vanessa Braganholo

UNIDADE V COMO CONSEGUIR LEADS

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Prof.: Clayton Maciel Costa

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

1 Título. 2 Objetivos. 3 - Fundamentos Teóricos. Página 1 de 5 Universidade Federal de Juiz de Fora. Prática 1 Aplicações das Funções Lógicas

Manual de Utilização do Sistema Financeiro Opções Disponíveis a partir da versão do Sistema Micropost

Sumário. Tutorial: Editor de Exercícios Online para o professor

Simulação de Evento Discreto

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

#define MAIN_MODULE //define as variáveis e estruturas, e não apenas declara como extern

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

RECOLHA DE INFORMAÇÃO DE REMUNERAÇÕES, SUPLEMENTOS E DOS PONTOS DECORRENTES DA AVALIAÇÃO DE DESEMPENHO

Comunicação Serial com o AVR ATMEGA8

Transcrição:

Modelagem e Simulação Material 6 Linguagem GPSS (parte 1) Prof. Simão Sirineo Toscani Introdução A primeira versão do GPSS foi lançada em 1961, pela IBM. Originalmente, GPSS significava Gordon s Programmable Simulation System, em homenagem a Geoffrey Gordon, seu criador. Mais tarde, passou a significar General Purpose Simulation System. GPSS sempre foi a principal linguagem de simulação da IBM. Como tal, um grande número de aplicações foram desenvolvidas nestes seus quase 50 anos de existência. A idéia principal que guiou o projeto do GPSS foi a de criar uma ferramenta que pudesse ser usada por não especialistas. Isso motivou a representação dos modelos de forma gráfica. Um modelo GPSS é um diagrama de blocos, por onde fluem transações, que são as entidades temporárias do sistema. Atualmente, as versões disponíveis mais conhecidas são GPPS/H, GPSS World e WebGPSS. Muitas ferramentas de simulação (por exemplo, a linguagem Arena) foram fortemente influenciadas pelo GPSS. Como veremos, a linguagem não é orientada a eventos nem a processos. Na verdade, GPSS lembra uma linguagem tipo data-flow.

Blocos GPSS Na linguagem GPSS, um modelo é descrito através de um diagrama de blocos. Existe um conjunto de blocos à disposição do programador, os quais podem ser interconectados para representar um sistema (i.é, para criar um modelo). A figura ao lado mostra os desenhos dos principais blocos, no ambiente WebGPSS. Um dos blocos, chamado GENERATE, é usado para gerar transações As transações são as entidades temporárias do modelo. Um exemplo ASUS STORAGE 2 ; declaração de um ; depósito (recurso) ; com duas unidades GENERATE 360,40 QUEUE CUA,1 ENTER ASUS,1 DEPART CUA,1 ADVANCE 100,15 LEAVE ASUS,1 TERMINATE 1

Uma visão inicial As transações fluem pelo diagrama, passando de bloco em bloco. Quando uma transação entra num bloco, a ação correspondente ao bloco é executada. Cada tipo de bloco desempenha uma função específica, que atua sobre as entidades do modelo. A maioria das entidades de um modelo não precisam ser declaradas (são pré-definidas). As informações de saída (estatísticas da execução) são geradas automaticamente pelo GPSS. Cada transação possui (carrega consigo) um conjunto de atributos, que podem ser testados e alterados durante a vida da transação. Quando uma transação entra num bloco, os seus atributos podem ser usados para moldar a ação a ser executada pelo bloco. Entidades do GPSS Entidades básicas Blocos (que formam o diagrama) Transações (que fluem pelo diagrama) Equipamentos Recursos ou facilidades (facilities) Depósitos (storages) Chaves lógicas (logical switches) Estatísticas Filas Tabelas Outras entidades Savevalues Variáveis (expressões) Funções

Tipos de blocos Existem blocos para: Criar e destruir transações (GENERATE e TERMINATE) Alterar parâmetros de transações (ASSIGN) Desviar o fluxo de transações (TEST, TRANSFER,...) Fazer uma transação esperar por um período de tempo (ADVANCE) Requisitar/liberar recurso (SEIZE/RELEASE) Requisitar/liberar um depósito (ENTER/LEAVE) Coletar estatísticas (QUEUE, TABULATE,...) Duplicar transações (SPLIT) Encadear transações à filas (LINK) E muitos outros Transações A transação é a única forma de representar uma entidade temporária que se movimenta no sistema (p.ex., pessoa em um supermercado, navio em um porto, mensagem em uma rede, etc.). As transações são criadas pelo bloco GENERATE e se movimentam de bloco em bloco até serem bloqueadas (retidas). Um mesmo bloco pode bloquear (reter) diversas transações. Novas cópias de uma transação podem ser geradas pelo bloco SPLIT. Uma transação sai (é removida) do sistema quando entra num bloco TERMINATE. O bloco TERMINATE possui um operando que é usado para decrementar o contador de FIM_DE_SIMULAÇÃO. Quando o contador atinge zero, a simulação termina. O valor inicial do contador de FIM_DE_SIMULAÇÃO é estabelecido no comando START, que coloca o modelo em funcionamento. Os resultados da simulação são mostrados automaticamente, no final da execução.

Barbearia do João em GPSS * Barbearia do João com 3 cadeiras na sala de espera * CAD STORAGE 3 ; 3 cadeiras na sala de espera GENERATE 10,2 TEST LE S$CAD,2,DESISTE ENTER CAD,1 SEIZE BARB LEAVE CAD,1 ADVANCE 12,2 RELEASE BARB DESISTE TERMINATE 1 O resultado da simulação (para um comando START 100) START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 1044.298 8 1 1 NAME VALUE BARB 10001.000 CAD 10000.000 DESISTE 8.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 103 0 0 2 TEST 103 0 0 3 ENTER 89 2 0 4 SEIZE 87 1 0 5 LEAVE 86 0 0 6 ADVANCE 86 0 0 7 RELEASE 86 0 0 DESISTE 8 TERMINATE 100 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY BARB 87 0.989 11.873 1 101 0 0 0 2 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY CAD 3 0 0 3 89 1 2.345 0.782 0 0 CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE 101 0 1017.901 101 4 5 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 104 0 1046.630 104 0 1

Atributos de uma transação Cada transação possui atributos que podem ser manipulados no bloco onde a transação se encontra. Os atributos de uma transação são: número da transação (identificação única) número do grupo de montagem (assembly set) tempo de criação (mark time) prioridade parâmetros Com exceção dos parâmetros, todos os atributos são inicializados automaticamente quando a transação é criada pelo bloco GENERATE. Sobre os parâmetros: Eles servem para armazenar informações arbitrárias sobre a transação (altura, peso, cor, próxima operação, tempo da operação, etc.) Podem ser manipulados apenas pelo bloco no qual a transação se encontra no momento (bloco onde a transação está executando ). Não podem ser manipulados por outras transações. Blocos que alteram os atributos de uma transação Os blocos que manipulam os atributos de uma transação são: ASSIGN (atribui um valor a um parâmetro) MARK (coloca o tempo atual em um parâmetro) PRIORITY (altera a prioridade da transação) SPLIT (cria cópias da transação; a transação original e as cópias vão constituir um grupo de montagem). Observações: Mark time é o tempo em que a transação foi criada. O tempo de trânsito da transação é o tempo atual (este tempo é referido por C1) menos o mark time da transação (este tempo é referido por M1). A prioridade zero éa menor (mais baixa ou menos urgente) O grupo de montagem (assembly set) é manipulado pelos blocos ASSEMBLE, GATHER e MATCH.

Os atributos numéricos do sistema (SNAs) Os SNAs (System Numeric Attributes) podem ser vistos como variáveis implícitas do sistema, que mantêm informações sobre o estado do modelo em execução. Exemplos de SNAs: C1 tempo atual da simulação (relógio da simulação) M1 tempo de trânsito da transação (tempo que transcorreu desde que ela foi criada) Si ocupação atual do depósito i (número de unidades que estão ocupadas) FNi valor da i-ésima função Qi tamanho corrente da fila i QAi tamanho médio da fila i QMi tamanho máximo da fila i RNi um valor aleatório gerado pelo i-ésimo gerador Wi número de transações esperando no i-ésimo bloco do programa Cadeias do GPSS e algoritmo de execução As duas principais cadeias (listas encadeadas) do sistema são as seguintes: Cadeia dos Eventos Correntes (Current Event Chain CEC), que contém as transações a serem movimentadas no tempo atual; Cadeia dos Eventos Futuros (Future Event Chain FEC), que contém as transações a serem movimentadas no tempo futuro (ordenadas pelo tempo em que devem ser movimentadas). Algoritmo de execução: 1. Atualiza o relógio para o tempo da primeira transação da FEC 2. Transfere todas as transações com esse tempo da FEC para a CEC 3. Para cada transação da CEC, repete os dois passos a seguir até que a transação fique retida: 1. Movimenta a transação para o próximo bloco 2. Executa a ação correspondente ao bloco 4. Volta para o passo 1

GPSS World Student Version Éa versão gratuita (para estudantes) do GPSS World. O instalador do sistema já está disponibilizado no material da disciplina, no ambiente Moodle. Junto com o sistema de simulação são instalados dois manuais (em inglês): Tutorial Manual de referência Após a instalação do sistema, os passos para construir um modelo e executá-lo são os seguintes: 1. File New Model (abre uma janela de edição para a digitação de um modelo). Após a digitação do modelo, prossegue-se no passo 2 (menu Command) 2. Command Create Simulation (o programa é compilado e o resultado é mostrado na janela JOURNAL); 3. Command START (inializa o contador de fim de simulação e coloca o modelo em execução). A ser continuado (to be continued)