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'.