Finite State Machines-examples and applications

Finite state machines (fsm, sequential machines): examples and applications

Illustration: Design a finite state controller to synchronize the traffic lights

Finite  state-machines  are  the most  general  controllers of machines we use in everyday life. In the illustration described by the figure, the intersection of a main road with pedestrian crossing is controlled by two traffic lights. The traffic light for cars  consists of 3 possible values: Red R, Yellow Y and Green G. The traffic light for pedestrians consists of 2 possible values: Red r and Green g. The task is to design a finite state controller which turns different lights on and off in a reasonable and safe way.

1756_finite state controller.jpg

The controller responds to an input signal B which consists of 2 possible values, 1 (pressed) and 0 (not pressed), based on whether or not a pedestrian has pressed the button B in the prior time-interval. This signal is sampled at regular time intervals of, say 10 seconds, and the controller performs a transition once every 10 seconds. The time-interval of 10 seconds is supposed to be adequate to cross the road.

Whenever  first  confronted  with  the  task  of  explaining  the  behavior  of  such  a  system,  then most  of the people resort to scenarios  including time sequences: When the button is pressed, after 10 seconds, this or that occurs, and  then .... This approach is uncontrollable for a realistic controller whose behavior based on a range of sensors, as the number of scenarios develops exponentially with the number of sensor readings. We require a static explanation which captures all the conceivable scenarios, in order to prove invariants that state some configurations or events should, or should not, occur. The concept of state space of the system is a standard method which compresses all the possible sequences of states (in general, infinitely numerous and of unbounded length) into an explanation of fixed size. Let us design a state space for controlling the traffic light system described above. There is no unique solution to this problem - various designs might contain different merits and demerits.

At first we list all the states which the traffic light system is potentially capable of signaling to an observer, and comment to the desirability and role of each these visible state. Among the six different visible states, namely: Rr, Rg, Yr, Yg, Gr, Gg, we can instantly rule out Gg, a killer, and Yg, as too hazardous. Rg and Gr are the two alternating states which assign the right way to one or the other participant. Rr may make sense when it never lasts very long, however is unnecessary as we introduced the signal Y, yellow, to provide cars time to break before pedestrians see green g. Therefore, we introduce a state Yr, as shown in figure below.

2420_finite state machines.jpg

The answer at left (Try 1) has the problem that it rely on the courtesy of drivers to delay take-off till all pedestrians complete their crossing. When we try to utilize the delay state Yr in both phases (Try 2), in transition from Rg back to Gr as we did on the way from Gr to Rg, we run to a technical trouble: on both input values 0 and 1, transitions out of Yr have already been set to lead to the Rg. The solution beneath (Try 3) identifies the fact that the total state of system is not essentially limited to the visible state. Whenever the lights show Yr, we require an additional bit of memory to keep in mind whether the prior state was Gr or Rg. Therefore, we introduce 2 delay states that look similar to an observer, however are distinguished internally.

1354_finite state machine_1.jpg

Latest technology based Theory of Computation Online Tutoring Assistance

Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Theory of Computation help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Theory of Computation, project ideas and tutorials. We provide email based Theory of Computation help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Theory of Computation. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Theory of Computation Homework help and assignment help services. They use their experience, as they have solved thousands of the Theory of Computation assignments, which may help you to solve your complex issues of Theory of Computation. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.