Developing Apama Applications > Developing Apama Applications in EPL > Testing and Tuning EPL > Best practices for writing EPL > Implementing states
Implementing states
When you want to write a process that passes through one or more states it is good practice to have one action per state. For example:
action inAuction() {   
on AuctionClosed outOfAuction();
}
 
action outOfAuction() {   
on all Price (stock,*):p and not InAuction() {
      on Price(stock,>p.price*1.01) and not InAuction() {
         sellStock();
      }
   }
   on InAuction() inAuction();
}
Copyright © 2013 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or Terracotta Inc., San Francisco, CA, USA, and/or Software AG (Canada) Inc., Cambridge, Ontario, Canada, and/or, Software AG (UK) Ltd., Derby, United Kingdom, and/or Software A.G. (Israel) Ltd., Or-Yehuda, Israel and/or their licensors.