<?xml version="1.0" encoding="UTF-8"?>
<Models>
	<Model name="food court survey" type="coupled" description="a coupled system for conducting an audit a food court.">
		<Inputs>
			<Port name="cal" type="integer" description="calls for the auditor to calculate the outputs"/>	
		</Inputs>
		<Outputs>
			<Port name="exp_custsys" type="integer" description="shows the expected no. of customers in the system"/>
                        <Port name="exp_custque" type="integer" description="shows the expected no. of customers in the queue"/>
                        <Port name="wait_sys" type="integer" description="shows the wait time of customers in the system"/>
                        <Port name="wait_que" type="integer" description="shows the wait time of customers in the queue"/>
		</Outputs>
		<Files>	
			<File name="FC.ma" type="MA" location="/"/>
			<File name="FC.bat" type="BAT" location="/"/>
		</Files>
         </Model>
	<Model name="ordeing_station" type="atomic" description="generates orders from the customers in the system.">
		<Outputs>
			<Port name="out" type="integer" description="order generation for a customer is finished"/>			
		</Outputs>
		<Files>
			<File name="ordeing_station.ma" type="MA" location="/"/>
			<File name="ordeing_station.cpp" type="CPP" location="/"/>
			<File name="ordeing_station.h" type="H" location="/"/>
			<File name="ordeing_station.bat" type="BAT" location="/"/>
		</Files>
	</Model>
	<Model name="cashier" type="atomic" description="a queue to buffer customers who are waiting for collecting their orders.">
		<Inputs>
			<Port name="in" type="integer" description="customer coming to the cashier to pay ."/>	
			<Port name="done" type="integer" description="call for next customer to the cashier "/>			
		</Inputs>
		<Outputs>
			<Port name="next_cust" type="integer" description="next customer to the serving counter"/>
                        <Port name="getReady" type="integer" description="command to the customer waiting in the queue to move ahead"/>
		</Outputs>
		<Files>
			<File name="cashier.h" type="H" location="/"/>
			<File name="cashier.cpp" type="CPP" location="/"/>
			<File name="cashier.ma" type="MA" location="/"/>		
			<File name="cashier.ev" type="EV" location="/"/>			
			<File name="cashier.log" type="LOG" location="/"/>
			<File name="cashier.bat" type="BAT" location="/"/>
		</Files>
	</Model>
	<Model name="Counter_couple" type="couple" description="a set of counters to serve customers with their orders">
		<Inputs>
			<Port name="next_cust" type="integer" description="next customer to the serving counter"/>
                        <Port name="getReady" type="integer" description="command to the customer waiting in the queue to move ahead"/>
		</Inputs>
		<Outputs>
			<Port name="done" type="integer" description="command to the cashier to send next customer to the counter"/>
			<Port name="out_counter" type="integer" description="a customer exiting after collecting the order"/>
		</Outputs>
		<Files>
			<File name="Counter_couple.ma" type="MA" location="/"/>
			<File name="Counter_couple.log" type="LOG" location="/"/>
			<File name="Counter_couple.bat" type="BAT" location="/"/>
		</Files>
	</Model>
	<Model name="counter1" type="atomic" description="a timed counter,serving customers with their orders.">
		<Inputs>
			<Port name="next_cust" type="integer" description="next customer to the serving counter"/>
                        <Port name="getReady" type="integer" description="command to the customer waiting in the queue to move ahead"/>			
		</Inputs>
		<Outputs>
			<Port name="done" type="integer" description="command to the cashier to send next customer to the counter"/>
			<Port name="out" type="integer" description="a customer exiting the counter after collecting the order"/>
		</Outputs>
		<Files>
			<File name="counter1.ma" type="MA" location="/"/>
			<File name="counter1.log" type="LOG" location="/"/>
			<File name="counter1.bat" type="BAT" location="/"/>
		</Files>
	</Model>
        <Model name="counter2" type="atomic" description="a timed counter,serving customers with their orders.">
		<Inputs>
			<Port name="next_cust" type="integer" description="next customer to the serving counter"/>
                        <Port name="getReady" type="integer" description="command to the customer waiting in the queue to move ahead"/>			
		</Inputs>
		<Outputs>
			<Port name="done" type="integer" description="command to the cashier to send next customer to the counter"/>
			<Port name="out" type="integer" description="a customer exiting the counter after collecting the order"/>
		</Outputs>
		<Files>
			<File name="counter2.ma" type="MA" location="/"/>
			<File name="counter2.log" type="LOG" location="/"/>
			<File name="counter2.bat" type="BAT" location="/"/>
		</Files>
	</Model>
        <Model name="counter3" type="atomic" description="a timed counter,serving customers with their orders.">
		<Inputs>
			<Port name="next_cust" type="integer" description="next customer to the serving counter"/>
                        <Port name="getReady" type="integer" description="command to the customer waiting in the queue to move ahead"/>			
		</Inputs>
		<Outputs>
			<Port name="done" type="integer" description="command to the cashier to send next customer to the counter"/>
			<Port name="out" type="integer" description="a customer exiting the counter after collecting the order"/>
		</Outputs>
		<Files>
			<File name="counter3.ma" type="MA" location="/"/>
			<File name="counter3.log" type="LOG" location="/"/>
			<File name="counter3.bat" type="BAT" location="/"/>
		</Files>
	</Model>
        <Model name="auditor" type="atomic" description="calculates the total output of the system in terms of four values.">
		<Inputs>
			<Port name="cal" type="integer" description="calls for the auditor to calculate the outputs"/>
                        <Port name="inOS" type="integer" description="customer count from the ordering_station"/>
                        <Port name="outcashier" type="integer" description="customer count from the cashier"/>
                        <Port name="outsys" type="integer" description="customer count from the counters"/>
		</Inputs>
		<Outputs>
			<Port name="exp_custsys" type="integer" description="shows the expected no. of customers in the system"/>
                        <Port name="exp_custque" type="integer" description="shows the expected no. of customers in the queue"/>
                        <Port name="wait_sys" type="integer" description="shows the wait time of customers in the system"/>
                        <Port name="wait_que" type="integer" description="shows the wait time of customers in the queue"/>			
		</Outputs>
		<Files>
			<File name="auditor.ma" type="MA" location="/"/>
			<File name="auditor.log" type="LOG" location="/"/>
			<File name="auditor.bat" type="BAT" location="/"/>
                        <File name="auditor.h" type="H" location="/"/>
			<File name="auditor.cpp" type="CPP" location="/"/>
			<File name="auditor.ev" type="EV" location="/"/>			
			
		</Files>
	</Model>
</Models>
