SISMODEL · Simulação Computacional — UFF

Como usar o site

  1. Abra um modelo na página Modelos.
  2. Leia a descrição e o YAML — ele descreve o sistema simulado.
  3. Clique em Rodar simulação para ver as métricas (fila, espera, utilização) com intervalo de confiança de 95%.
  4. Edite parâmetros no YAML (ex.: capacidade de um recurso) e rode de novo para comparar cenários.
  5. Clique em Gerar animação para assistir às entidades percorrendo o modelo.

Referência dos blocos e distribuições

SISMODEL — referência rápida (schema v1)
========================================

Blocos do fluxo (vocabulário em português, espelhando o Arena):

  chegada    (Create)  — gera entidades. Campos: nome, entidade,
             intervalo (distribuição), destino (opcional).
             Deve ser o 1º bloco do fluxo (e o único 'chegada').
  processo   (Process) — toma recurso, demora, libera (fila FIFO).
             Campos: nome, recurso, duracao (distribuição), destino.
  decisao    (Decide)  — desvia o fluxo. Campos: nome, ramos.
             Por chance:   - {percentual: 30, destino: x}   (somam 100)
             Por condição: - {se: 'prioridade >= 2', destino: x}
                           - {senao: y}    (último ramo, obrigatório)
  atribuir   (Assign)  — define atributos da entidade ou variáveis globais.
             Campos: nome, atribuicoes, destino.
             - {atributo: vip, valor: 1}
             - {variavel: total, valor: total + 1}
  registrar  (Record)  — conta ocorrências ou registra uma expressão.
             Campos: nome, tipo (contagem|expressao), expressao, destino.
             Ex.: {nome: mede, expressao: agora - chegada}
  saida      (Dispose) — remove a entidade e consolida estatísticas.

Elementos de apoio (nível raiz do YAML):
  recursos:    {nome: {capacidade: N}}   — N >= 1 servidores
  atributos:   {nome: valor_inicial}     — por entidade
  variaveis:   {nome: valor_inicial}     — globais
  experimento: horizonte, aquecimento, replicacoes, semente

Nomes automáticos em expressões: agora (relógio simulado) e chegada
(instante de criação da entidade) — não podem ser declarados.

Distribuições (strings): expo(media), const(valor), unif(min,max),
norm(media,dp), tria(min,moda,max), erlang(k,media), weibull(forma,escala).

Fluxo: por padrão a entidade segue para o PRÓXIMO bloco da lista;
'destino: nome_do_bloco' redireciona (o fluxo é um grafo). Toda entidade
precisa alcançar um bloco 'saida'.