123456789101112131415161718192021222324252627282930313233343536373839 |
- '''
- Created on 10-sep.-2014
- @author: Bruno
- '''
- from fsaclasses import State, Transition, After, AtomValue, Float, FSAModel,Event,RunTimeEvent,Events
- import fsasimulator
- def buildModel():
- statea = State("a")
- stateb = State("b")
- statec = State("c")
- stated = State("d")
-
- transitionab = Transition("a2b",statea,stateb)
- transitionab.trigger = After(Float(5.0))
- transitionbc = Transition("b2c",stateb,statec)
- transitionbc.trigger = After(Float(2.0))
- transitioncd = Transition("c2d",statec,stated)
- transitioncd.trigger = Event("c")
- transitionda = Transition("d2a",stated,statea)
- transitionda.trigger = After(Float(5.0))
- fsamodel = FSAModel(
- [statea,stateb,statec,stated],
- [transitionab,transitionbc,transitioncd,transitionda]
- )
- fsamodel.initialState = statea
- return fsamodel
- if __name__ == '__main__':
-
- fsamodel = buildModel()
- events = Events([RunTimeEvent('a',3.0),RunTimeEvent('b',5.0),RunTimeEvent('c',10.0)])
- controller = fsasimulator.Controller(fsamodel, events, [])
- controller.start()
|