{
  "fmiVersion": "2.0",
  "modelName": "Self_Service_Car_Wash",
  "modelIdentifier": "Self_Service_Car_Wash",
  "guid": "{73f3da4f-63a4-4e8a-bda6-d8660772a8f2}",
  "generationTool": "OpenModelica Compiler OpenModelica 1.27.0",
  "variables": [
    {
      "name": "CarWashing_Cleanliness.t",
      "description": "Actual waiting time (transition will fire when t > waitTime)",
      "valueReference": 0,
      "causality": "local",
      "variability": "continuous",
      "type": "real",
      "unit": "s",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": [
        {
          "unit": "s",
          "displayFactor": 1,
          "displayOffset": 0
        }
      ],
      "start": 0
    },
    {
      "name": "PaymentHandling_Wash_Credit.t",
      "description": "Actual waiting time (transition will fire when t > waitTime)",
      "valueReference": 4,
      "causality": "local",
      "variability": "continuous",
      "type": "real",
      "unit": "s",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": [
        {
          "unit": "s",
          "displayFactor": 1,
          "displayOffset": 0
        }
      ],
      "start": 0
    },
    {
      "name": "stateGraphRoot.subgraphStatePort.activeSteps",
      "description": "Number of active steps in the CompositeStep",
      "valueReference": 8,
      "causality": "local",
      "variability": "continuous",
      "type": "real",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "stateGraphRoot.subgraphStatePort.activeStepsDummy",
      "description": "Dummy variable in order that connector fulfills restriction of connector",
      "valueReference": 9,
      "causality": "local",
      "variability": "continuous",
      "type": "real",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": [],
      "start": 0
    },
    {
      "name": "CarWashing_Cleanliness.waitTime",
      "description": "Wait time before transition fires",
      "valueReference": 12,
      "causality": "parameter",
      "variability": "fixed",
      "type": "real",
      "unit": "s",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": [
        {
          "unit": "s",
          "displayFactor": 1,
          "displayOffset": 0
        }
      ],
      "min": 0,
      "start": 0
    },
    {
      "name": "PaymentHandling_Wash_Credit.waitTime",
      "description": "Wait time before transition fires",
      "valueReference": 13,
      "causality": "parameter",
      "variability": "fixed",
      "type": "real",
      "unit": "s",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": [
        {
          "unit": "s",
          "displayFactor": 1,
          "displayOffset": 0
        }
      ],
      "min": 0,
      "start": 0
    },
    {
      "name": "stateGraphRoot.activeSteps",
      "description": "Number of active steps within the stategraph",
      "valueReference": 0,
      "causality": "local",
      "variability": "discrete",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_clean.nIn",
      "description": "Number of input connections",
      "valueReference": 1,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_clean.nOut",
      "description": "Number of output connections",
      "valueReference": 2,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_dirty.nIn",
      "description": "Number of input connections",
      "valueReference": 3,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_dirty.nOut",
      "description": "Number of output connections",
      "valueReference": 4,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_paid.nIn",
      "description": "Number of input connections",
      "valueReference": 5,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_paid.nOut",
      "description": "Number of output connections",
      "valueReference": 6,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_unpaid.nIn",
      "description": "Number of input connections",
      "valueReference": 7,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_unpaid.nOut",
      "description": "Number of output connections",
      "valueReference": 8,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "integer",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "CarWashing_Cleanliness.enableFire",
      "description": "= true, if all firing conditions are true",
      "valueReference": 0,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_clean.active",
      "description": "= true, if step is active, otherwise the step is not active",
      "valueReference": 1,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_clean.localActive",
      "description": "= true, if step is active, otherwise the step is not active",
      "valueReference": 2,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_dirty.active",
      "description": "= true, if step is active, otherwise the step is not active",
      "valueReference": 5,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_dirty.localActive",
      "description": "= true, if step is active, otherwise the step is not active",
      "valueReference": 6,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.enableFire",
      "description": "= true, if all firing conditions are true",
      "valueReference": 9,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_go",
      "description": "Driver initiates and handles Payment Handling",
      "valueReference": 10,
      "causality": "input",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": [],
      "start": null
    },
    {
      "name": "Wash_Credit_paid.active",
      "description": "= true, if step is active, otherwise the step is not active",
      "valueReference": 11,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_paid.localActive",
      "description": "= true, if step is active, otherwise the step is not active",
      "valueReference": 12,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_unpaid.active",
      "description": "= true, if step is active, otherwise the step is not active",
      "valueReference": 15,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_unpaid.localActive",
      "description": "= true, if step is active, otherwise the step is not active",
      "valueReference": 16,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "stateGraphRoot.resume",
      "description": "= true, if resume transition of CompositeStep fires",
      "valueReference": 19,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": [],
      "start": null
    },
    {
      "name": "stateGraphRoot.suspend",
      "description": "= true, if suspend transition of CompositeStep fires",
      "valueReference": 20,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": [],
      "start": null
    },
    {
      "name": "CarWashing_Cleanliness.enableTimer",
      "description": "= true, if timer is enabled",
      "valueReference": 21,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.enableTimer",
      "description": "= true, if timer is enabled",
      "valueReference": 22,
      "causality": "calculatedParameter",
      "variability": "fixed",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "CarWashing_Cleanliness.condition",
      "description": "= true, if transition may fire (time varying expression)",
      "valueReference": 11,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "CarWashing_Cleanliness.fire",
      "description": "= true, if transition fires",
      "valueReference": 0,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "CarWashing_Cleanliness.inPort.available",
      "description": "= true, if step connected to the transition input is active",
      "valueReference": 6,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "CarWashing_Cleanliness.inPort.reset",
      "description": "= true, if transition fires and the step connected to the transition input is deactivated",
      "valueReference": 0,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "CarWashing_Cleanliness.localCondition",
      "description": "= true, if transition may fire",
      "valueReference": 11,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "CarWashing_Cleanliness.outPort.occupied",
      "description": "= true, if step connected to the transition output is active",
      "valueReference": 2,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "CarWashing_Cleanliness.outPort.set",
      "description": "= true, if transition fires and step connected to the transition output becomes active",
      "valueReference": 0,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_clean.inPort[1].occupied",
      "description": "= true, if step is active",
      "valueReference": 2,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_clean.inPort[1].set",
      "description": "= true, if transition fires and step is activated",
      "valueReference": 0,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_dirty.outPort[1].available",
      "description": "= true, if step is active",
      "valueReference": 6,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Cleanliness_dirty.outPort[1].reset",
      "description": "= true, if transition fires and step is deactivated",
      "valueReference": 0,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.condition",
      "description": "= true, if transition may fire (time varying expression)",
      "valueReference": 10,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.fire",
      "description": "= true, if transition fires",
      "valueReference": 9,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.inPort.available",
      "description": "= true, if step connected to the transition input is active",
      "valueReference": 16,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.inPort.reset",
      "description": "= true, if transition fires and the step connected to the transition input is deactivated",
      "valueReference": 9,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.localCondition",
      "description": "= true, if transition may fire",
      "valueReference": 10,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.outPort.occupied",
      "description": "= true, if step connected to the transition output is active",
      "valueReference": 11,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "PaymentHandling_Wash_Credit.outPort.set",
      "description": "= true, if transition fires and step connected to the transition output becomes active",
      "valueReference": 9,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_paid.inPort[1].occupied",
      "description": "= true, if step is active",
      "valueReference": 11,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_paid.inPort[1].set",
      "description": "= true, if transition fires and step is activated",
      "valueReference": 9,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_unpaid.outPort[1].available",
      "description": "= true, if step is active",
      "valueReference": 16,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "Wash_Credit_unpaid.outPort[1].reset",
      "description": "= true, if transition fires and step is deactivated",
      "valueReference": 9,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "stateGraphRoot.subgraphStatePort.resume",
      "description": "= true, if resume transition of CompositeStep fires",
      "valueReference": 19,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    },
    {
      "name": "stateGraphRoot.subgraphStatePort.suspend",
      "description": "= true, if suspend transition of CompositeStep fires",
      "valueReference": 20,
      "causality": "local",
      "variability": "discrete",
      "type": "boolean",
      "displayFactor": 1,
      "displayOffset": 0,
      "unitOptions": []
    }
  ]
}
