<?xml version="1.0" encoding="UTF-8"?>
<uiSocket about="http://resources.myurc.org/UrcSimEnv/elevator/socket" id="elevatorSocket" xmlns="http://www.incits.org/incits390-2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<variable id="userInElevator" type="xsd:boolean">
		<dependency read="false()" write="false()"/>
	</variable>
	<variable id="userFloor" type="floornumbertype">
		<dependency read="true()" write="false()"/>
	</variable>
	<variable id="elevatorFloor" type="floornumbertype">
		<dependency read="true()" write="false()"/>
	</variable>
	<command id="up" type="basicCommand">
		<dependency read="not(value('userInElevator'))" execute="not(value('userInElevator'))  and value('userFloor')='1'"/>
	</command>
	<command id="down" type="basicCommand">
		<dependency read="not(value('userInElevator'))" execute="not(value('userInElevator')) and value('userFloor')='2'"/>
	</command>
	<command id="selectFloor1" type="basicCommand">
		<dependency read="value('userInElevator')" execute="value('userInElevator')  and value('elevatorFloor')='2'"/>
	</command>
	<command id="selectFloor2" type="basicCommand">
		<dependency read="value('userInElevator')" execute="value('userInElevator') and value('elevatorFloor')='1'"/>
	</command>
	<command id="openDoor" type="basicCommand">
		<dependency read="value('userInElevator')" execute="value('userInElevator')"/>
	</command>
	<command id="closeDoor" type="basicCommand">
		<dependency read="value('userInElevator')" execute="value('userInElevator')"/>
	</command>
	<command id="controlPanel" type="basicCommand">
		<dependency read="value('userInElevator')" execute="value('userInElevator')"/>
	</command>
	<command id="signalEmergency" type="basicCommand">
		<dependency read="value('userInElevator')" execute="value('userInElevator')"/>
	</command>
	<xsd:schema>
		<xsd:simpleType name="floornumbertype" id="idfloornumbertype">
			<xsd:restriction base="xsd:integer">
				<xsd:minInclusive value="1"/>
				<xsd:maxInclusive value="2"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:schema>
</uiSocket>
