Exemplo n.º 1
0
class Runner(object):
	def __init__(self, path, startstates=[]):
		self.path = path
		self.fsm = FSM()
		self.loader = Loader(path)
		self.startstates = startstates
	def prepare(self):
		self.loader.load()
		self.fsm.startstates = self.startstates
		self.fsm.actionset = self.loader.actions
		self.fsm.explore()
	def run(self):
		self.fsm.execute()
	def savesvg(self):
		self.fsm.savesvg()
Exemplo n.º 2
0
		status['app'] = 'off'
	return status

if __name__ == '__main__':
	fsm = FSM()
	action1 = Action()
	action1.transfer = transfer_blackon 
	action1.name = 'black_on'

	action2 = Action()
	action2.transfer = transfer_blackoff
	action2.name = 'black_off'

	action3 = Action()
	action3.transfer = transfer_appin
	action3.name = 'app_in'

	action4 = Action()
	action4.transfer = transfer_appon
	action4.name = 'app_on'
	
	action5 = Action()
	action5.transfer = transfer_appoff
	action5.name = 'app_off'

	fsm.startstates = [{'app':'na', 'black':'na'}]
	fsm.actionset = [action3,action5,action4,action1,action2]
	fsm.explore()
	fsm.dumpcase()