{
  "modelName": "Fila com um atendente",
  "timeUnit": "min",
  "definitions": [
    { "name": "TEMPO_ENTRE_CHEGADAS", "type": "DOUBLE", "value": "10" },
    { "name": "TEMPO_DE_ATENDIMENTO", "type": "DOUBLE", "value": "5" },
    { "name": "ATENDENTES", "type": "INTEGER", "value": "1" }
  ],
  "places": [
    { "name": "Fila",          "initialMarking": 0, "stringMarking": "0",          "initialStringMarking": "0" },
    { "name": "Atendente",     "initialMarking": 1, "stringMarking": "ATENDENTES", "initialStringMarking": "ATENDENTES" },
    { "name": "EmAtendimento", "initialMarking": 0, "stringMarking": "0",          "initialStringMarking": "0" }
  ],
  "rewardMeasures": [
    { "name": "fila_media",   "expression": "E{#Fila}" },
    { "name": "ocupacao_pct", "expression": "(E{#EmAtendimento} / ATENDENTES) * 100" },
    { "name": "vazao",        "expression": "E{#EmAtendimento} / TEMPO_DE_ATENDIMENTO" },
    { "name": "no_sistema",   "expression": "E{#Fila} + E{#EmAtendimento}" }
  ],
  "transitions": [
    { "name": "Chegada", "type": "TIMED", "firingPolicy": "SINGLE_SERVER",
      "raceType": "RACE_WITH_ENABLING_MEMORY", "priority": 1,
      "distribution": { "type": "exponential", "parameters": { "Mean delay": "TEMPO_ENTRE_CHEGADAS" } },
      "inputArcs": [],
      "outputArcs": [{ "type": "OUTPUT", "place": "Fila", "multiplicity": 1 }],
      "inhibitorArcs": [] },

    { "name": "Inicio", "type": "IMMEDIATE", "firingPolicy": "SINGLE_SERVER",
      "raceType": "RACE_WITH_ENABLING_MEMORY", "priority": 1, "weight": 1,
      "inputArcs":  [{ "type": "INPUT", "place": "Fila", "multiplicity": 1 },
                     { "type": "INPUT", "place": "Atendente", "multiplicity": 1 }],
      "outputArcs": [{ "type": "OUTPUT", "place": "EmAtendimento", "multiplicity": 1 }],
      "inhibitorArcs": [] },

    { "name": "Fim", "type": "TIMED", "firingPolicy": "INFINITY_SERVER",
      "raceType": "RACE_WITH_ENABLING_MEMORY", "priority": 1,
      "distribution": { "type": "exponential", "parameters": { "Mean delay": "TEMPO_DE_ATENDIMENTO" } },
      "inputArcs":  [{ "type": "INPUT",  "place": "EmAtendimento", "multiplicity": 1 }],
      "outputArcs": [{ "type": "OUTPUT", "place": "Atendente",     "multiplicity": 1 }],
      "inhibitorArcs": [] }
  ]
}
