<?xml version="1.0" encoding="UTF-8"?>

<!-- RBSLA v. 0.01 ECA rule example-->

<rbsla>



	<!-- ECA rules-->

	<rulebase>
	  
		<ECA>
			<oid>SLA-ECA</oid>
			<time> 
				<cterm>
			        <_opc><ctor>eventIntervalEveryMinute</ctor></_opc>
			    </cterm>				
			</time> 
			<event> 
				<cterm>
			        <_opc><ctor>checkBetterBillingservice</ctor></_opc>
			    </cterm>
			</event> 
			<condition> 
				<cterm>
			        <_opc><ctor>notAvailable</ctor></_opc>
			        <var>BetterBillingBackupService</var>
			    </cterm> 
			</condition> 
			<action>
				<cterm>
			        <_opc><ctor>informAdmin</ctor></_opc>
			    </cterm> 
			</action>   
		</ECA>	
	  
		<imp>
		  <_head>
		    <atom>
		      <_opr><rel>eventIntervalEveryMinute</rel></_opr>
		    </atom>
		  </_head>
		  <_body>
		    <and>
		      <atom>
		        <_opr><rel>sysTime</rel></_opr>
		        <var>T</var>
		      </atom>
		      <atom>
		        <_opr><rel>interval</rel></_opr>
		           <cterm>
				        <_opc><ctor>timespan</ctor></_opc>
				        <ind>0</ind>
				        <ind>0</ind>
				        <ind>1</ind>
				        <ind>0</ind>
			      </cterm>
			      <var>T</var>
		      </atom>
		    </and>
		  </_body>
		</imp>

		<fact>
		  <_head>
		    <atom>
		      <_opr><rel>checkBetterBillingservice</rel></_opr>
		    </atom>
		  </_head>
		</fact>		

		<imp>
		  <_head>
		    <atom>
		      <_opr><rel>notAvailable</rel></_opr>
		      <var>BetterBillingBackupService</var>
		    </atom>
		  </_head>
		  <_body>
		    <and>
		      <atom>
		        <_opr><rel>sysTime</rel></_opr>
		        <var>T</var>
		      </atom>	
   		      <atom>
	  	          <_opr><rel>holdsAt</rel></_opr>
			      <cterm>
			        <_opc><ctor>available</ctor></_opc>
			        <var>BetterBillingBackupService</var>
			      </cterm>		    
			      <var>T</var>  
		      </atom>
		      <atom>
		        <_opr><rel>fail</rel></_opr>
		      </atom>
		    </and>
		  </_body>
		</imp>	  
		
		<imp>
		  <_head>
		    <atom>
		      <_opr><rel>informAdmin</rel></_opr>
		    </atom>
		  </_head>
		  <_body>
		    <and>
		      <atom>
		        <_opr><rel>println</rel></_opr>
		        <ind>["Service not available"]</ind>
		      </atom>	
		    </and>
		  </_body>
		</imp>	  
	  
	</rulebase>
	
	
</rbsla>