<?xml version="1.0" encoding="UTF-8"?>
<fmiModelDescription
  fmiVersion="2.0"
  modelName="StategraphSample"
  guid="{1bbd4064-0ef0-405e-a6e3-a61a868199f5}"
  description=""
  generationTool="OpenModelica Compiler v1.12.0-dev-77-g56dc448 (32-bit)"
  generationDateAndTime="2017-01-16T11:20:36Z"
  variableNamingConvention="structured"
  numberOfEventIndicators="3">
  <CoSimulation
    modelIdentifier="StategraphSample"
    needsExecutionTool="false"
    canHandleVariableCommunicationStepSize="true"
    canInterpolateInputs="false"
    maxOutputDerivativeOrder="1"
    canRunAsynchronuously = "false"
    canBeInstantiatedOnlyOncePerProcess="false"
    canNotUseMemoryManagementFunctions="false"
    canGetAndSetFMUstate="false"
    canSerializeFMUstate="false"
     />
  <LogCategories>
    <Category name="logEvents" />
    <Category name="logSingularLinearSystems" />
    <Category name="logNonlinearSystems" />
    <Category name="logDynamicStateSelection" />
    <Category name="logStatusWarning" />
    <Category name="logStatusDiscard" />
    <Category name="logStatusError" />
    <Category name="logStatusFatal" />
    <Category name="logStatusPending" />
    <Category name="logAll" />
    <Category name="logFmi2Call" />
  </LogCategories>
  <DefaultExperiment startTime="0.0" stopTime="1.0" tolerance="1e-006"/>
  <ModelVariables>
  <!-- Index of variable = "1" -->
  <ScalarVariable
    name="realExpression1.y"
    valueReference="0"
    description="Value of Real output"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "2" -->
  <ScalarVariable
    name="realExpression2.y"
    valueReference="1"
    description="Value of Real output"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "3" -->
  <ScalarVariable
    name="s1.outerStatePort.subgraphStatePort.activeSteps"
    valueReference="2"
    description="Number of active steps in the CompositeStep"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "4" -->
  <ScalarVariable
    name="stateGraphRoot.subgraphStatePort.activeSteps"
    valueReference="3"
    description="Number of active steps in the CompositeStep"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "5" -->
  <ScalarVariable
    name="stateGraphRoot.subgraphStatePort.activeStepsDummy"
    valueReference="4"
    description="Dummy variable in order that connector fulfills restriction of connector"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "6" -->
  <ScalarVariable
    name="step1.outerStatePort.subgraphStatePort.activeSteps"
    valueReference="5"
    description="Number of active steps in the CompositeStep"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "7" -->
  <ScalarVariable
    name="t1.t"
    valueReference="6"
    description="= actual waiting time (transition will fire when t &gt; waitTime)"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "8" -->
  <ScalarVariable
    name="t1.t_dummy"
    valueReference="7"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "9" -->
  <ScalarVariable
    name="t1.t_start"
    valueReference="8"
    description="Time instant at which the transition would fire, if waitTime would be zero"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "10" -->
  <ScalarVariable
    name="t2.t"
    valueReference="9"
    description="= actual waiting time (transition will fire when t &gt; waitTime)"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "11" -->
  <ScalarVariable
    name="t2.t_dummy"
    valueReference="10"
    variability="continuous"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "12" -->
  <ScalarVariable
    name="u"
    valueReference="11"
    variability="continuous"
    causality="input"
    >
    <Real start="0.0"/>
  </ScalarVariable>
  <!-- Index of variable = "13" -->
  <ScalarVariable
    name="y"
    valueReference="12"
    variability="continuous"
    causality="output"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "14" -->
  <ScalarVariable
    name="t2.t_start"
    valueReference="13"
    description="Time instant at which the transition would fire, if waitTime would be zero"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "15" -->
  <ScalarVariable
    name="t1.waitTime"
    valueReference="14"
    description="Wait time before transition fires"
    variability="fixed"
    causality="parameter"
    initial="exact">
    <Real start="0.0" min="0.0"/>
  </ScalarVariable>
  <!-- Index of variable = "16" -->
  <ScalarVariable
    name="t2.waitTime"
    valueReference="15"
    description="Wait time before transition fires"
    variability="fixed"
    causality="parameter"
    initial="exact">
    <Real start="1.0" min="0.0"/>
  </ScalarVariable>
  <!-- Index of variable = "17" -->
  <ScalarVariable
    name="s1.outerStatePort.subgraphStatePort.activeStepsDummy"
    valueReference="4"
    description="Dummy variable in order that connector fulfills restriction of connector"
    variability="continuous"
    causality="local"
    >
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "18" -->
  <ScalarVariable
    name="step1.outerStatePort.subgraphStatePort.activeStepsDummy"
    valueReference="4"
    description="Dummy variable in order that connector fulfills restriction of connector"
    variability="continuous"
    causality="local"
    >
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "19" -->
  <ScalarVariable
    name="switch1.u1"
    valueReference="0"
    description="Connector of first Real input signal"
    variability="continuous"
    causality="local"
    >
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "20" -->
  <ScalarVariable
    name="switch1.u3"
    valueReference="1"
    description="Connector of second Real input signal"
    variability="continuous"
    causality="local"
    >
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "21" -->
  <ScalarVariable
    name="switch1.y"
    valueReference="12"
    description="Connector of Real output signal"
    variability="continuous"
    causality="local"
    >
    <Real/>
  </ScalarVariable>
  <!-- Index of variable = "22" -->
  <ScalarVariable
    name="stateGraphRoot.activeSteps"
    valueReference="0"
    description="Number of active steps within the stategraph"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Integer/>
  </ScalarVariable>
  <!-- Index of variable = "23" -->
  <ScalarVariable
    name="s1.nIn"
    valueReference="1"
    description="Number of input connections"
    variability="fixed"
    causality="calculatedParameter"
    initial="calculated">
    <Integer/>
  </ScalarVariable>
  <!-- Index of variable = "24" -->
  <ScalarVariable
    name="s1.nOut"
    valueReference="2"
    description="Number of output connections"
    variability="fixed"
    causality="calculatedParameter"
    initial="calculated">
    <Integer/>
  </ScalarVariable>
  <!-- Index of variable = "25" -->
  <ScalarVariable
    name="step1.nIn"
    valueReference="3"
    description="Number of input connections"
    variability="fixed"
    causality="calculatedParameter"
    initial="calculated">
    <Integer/>
  </ScalarVariable>
  <!-- Index of variable = "26" -->
  <ScalarVariable
    name="step1.nOut"
    valueReference="4"
    description="Number of output connections"
    variability="fixed"
    causality="calculatedParameter"
    initial="calculated">
    <Integer/>
  </ScalarVariable>
  <!-- Index of variable = "27" -->
  <ScalarVariable
    name="_D_whenCondition1"
    valueReference="0"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "28" -->
  <ScalarVariable
    name="s1.active"
    valueReference="1"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "29" -->
  <ScalarVariable
    name="s1.localActive"
    valueReference="2"
    description="= true if step is active, otherwise the step is not active"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "30" -->
  <ScalarVariable
    name="s1.newActive"
    valueReference="3"
    description="Value of active in the next iteration"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "31" -->
  <ScalarVariable
    name="s1.oldActive"
    valueReference="4"
    description="Value of active when CompositeStep was aborted"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "32" -->
  <ScalarVariable
    name="stateGraphRoot.resume"
    valueReference="5"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "33" -->
  <ScalarVariable
    name="stateGraphRoot.suspend"
    valueReference="6"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "34" -->
  <ScalarVariable
    name="step1.active"
    valueReference="7"
    description="= true if step is active, otherwise the step is not active"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "35" -->
  <ScalarVariable
    name="step1.localActive"
    valueReference="8"
    description="= true if step is active, otherwise the step is not active"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "36" -->
  <ScalarVariable
    name="step1.newActive"
    valueReference="9"
    description="Value of active in the next iteration"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "37" -->
  <ScalarVariable
    name="step1.oldActive"
    valueReference="10"
    description="Value of active when CompositeStep was aborted"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "38" -->
  <ScalarVariable
    name="t1.condition"
    valueReference="11"
    description="= true, if transition may fire (time varying expression)"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "39" -->
  <ScalarVariable
    name="t1.enableFire"
    valueReference="12"
    description="= true, if all firing conditions are true"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "40" -->
  <ScalarVariable
    name="t2.condition"
    valueReference="13"
    description="= true, if transition may fire (time varying expression)"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "41" -->
  <ScalarVariable
    name="t2.enableFire"
    valueReference="14"
    description="= true, if all firing conditions are true"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "42" -->
  <ScalarVariable
    name="t2.fire"
    valueReference="15"
    description="= true, if transition fires"
    variability="discrete"
    causality="local"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "43" -->
  <ScalarVariable
    name="t1.enableTimer"
    valueReference="16"
    description="= true, if timer is enabled"
    variability="fixed"
    causality="calculatedParameter"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "44" -->
  <ScalarVariable
    name="t2.enableTimer"
    valueReference="17"
    description="= true, if timer is enabled"
    variability="fixed"
    causality="calculatedParameter"
    initial="calculated">
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "45" -->
  <ScalarVariable
    name="s1.inPort[1].occupied"
    valueReference="1"
    description="true, if step is active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "46" -->
  <ScalarVariable
    name="s1.inPort[1].set"
    valueReference="15"
    description="true, if transition fires and step is activated"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "47" -->
  <ScalarVariable
    name="s1.outPort[1].available"
    valueReference="1"
    description="true, if step is active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "48" -->
  <ScalarVariable
    name="s1.outPort[1].reset"
    valueReference="12"
    description="true, if transition fires and step is deactivated"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "49" -->
  <ScalarVariable
    name="s1.outerStatePort.subgraphStatePort.resume"
    valueReference="5"
    description="= true, if resume transition of CompositeStep fires"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "50" -->
  <ScalarVariable
    name="s1.outerStatePort.subgraphStatePort.suspend"
    valueReference="6"
    description="= true, if suspend transition of CompositeStep fires"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "51" -->
  <ScalarVariable
    name="stateGraphRoot.subgraphStatePort.resume"
    valueReference="5"
    description="= true, if resume transition of CompositeStep fires"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "52" -->
  <ScalarVariable
    name="stateGraphRoot.subgraphStatePort.suspend"
    valueReference="6"
    description="= true, if suspend transition of CompositeStep fires"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "53" -->
  <ScalarVariable
    name="step1.inPort[1].occupied"
    valueReference="7"
    description="true, if step is active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "54" -->
  <ScalarVariable
    name="step1.inPort[1].set"
    valueReference="12"
    description="true, if transition fires and step is activated"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "55" -->
  <ScalarVariable
    name="step1.outPort[1].available"
    valueReference="7"
    description="true, if step is active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "56" -->
  <ScalarVariable
    name="step1.outPort[1].reset"
    valueReference="15"
    description="true, if transition fires and step is deactivated"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "57" -->
  <ScalarVariable
    name="step1.outerStatePort.subgraphStatePort.resume"
    valueReference="5"
    description="= true, if resume transition of CompositeStep fires"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "58" -->
  <ScalarVariable
    name="step1.outerStatePort.subgraphStatePort.suspend"
    valueReference="6"
    description="= true, if suspend transition of CompositeStep fires"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "59" -->
  <ScalarVariable
    name="switch1.u2"
    valueReference="1"
    description="Connector of Boolean input signal"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "60" -->
  <ScalarVariable
    name="t1.fire"
    valueReference="12"
    description="= true, if transition fires"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "61" -->
  <ScalarVariable
    name="t1.inPort.available"
    valueReference="1"
    description="true, if step connected to the transition input is active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "62" -->
  <ScalarVariable
    name="t1.inPort.reset"
    valueReference="12"
    description="true, if transition fires and the step connected to the transition input is deactivated"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "63" -->
  <ScalarVariable
    name="t1.localCondition"
    valueReference="11"
    description="= true, if transition may fire"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "64" -->
  <ScalarVariable
    name="t1.outPort.occupied"
    valueReference="7"
    description="true, if step connected to the transition output is active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "65" -->
  <ScalarVariable
    name="t1.outPort.set"
    valueReference="12"
    description="true, if transition fires and step connected to the transition output becomes active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "66" -->
  <ScalarVariable
    name="t2.inPort.available"
    valueReference="7"
    description="true, if step connected to the transition input is active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "67" -->
  <ScalarVariable
    name="t2.inPort.reset"
    valueReference="15"
    description="true, if transition fires and the step connected to the transition input is deactivated"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "68" -->
  <ScalarVariable
    name="t2.localCondition"
    valueReference="13"
    description="= true, if transition may fire"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "69" -->
  <ScalarVariable
    name="t2.outPort.occupied"
    valueReference="1"
    description="true, if step connected to the transition output is active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  <!-- Index of variable = "70" -->
  <ScalarVariable
    name="t2.outPort.set"
    valueReference="15"
    description="true, if transition fires and step connected to the transition output becomes active"
    variability="discrete"
    causality="local"
    >
    <Boolean/>
  </ScalarVariable>
  </ModelVariables>
  <ModelStructure>
    <Outputs>
      <Unknown index="13" dependencies="" dependenciesKind="" />
    </Outputs>
  </ModelStructure>
</fmiModelDescription>