Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 13

Finite State Systems

Kamalesh Karmakar,
Assistant Professor, C.S.E. & I.T. Meghnad Saha Institute of Technology

Finite State Machine


The use of Finite State Machines (FSM) is at the base of several software design methods, and they can provide strong support during both design and implementation phases of software development. This chapter focuses on the use of Finite State Diagrams (FSD) for specifying the dynamic operation of software. Before planning an FSD, it is usual to draw up a context diagram to define the system perimeter.

Context Diagram

Finite State Diagram


FSDs or State Transition Diagrams (STD) are very widely used to describe and analyse event-driven, cyclical systems. Both hardware and software can be dealt with using this simple technique. Indeed, both structured analysis/ design and object-oriented design/programming methodologies employ finite state descriptions to capture and specify system dynamics. System behaviour is represented on an FSD as a group of discrete, mutually exclusive states, only one of which is occupied at any time. A transition between two of the system states is triggered by an event which commonly arises from a change in the status of an input port, perhaps generating an interrupt. All states and valid transitions must be clearly and completely specified.

Finite State Diagram

FSD for a Toaster

Algorithmic State Machine for a Toaster

FSD for a Washing Machine

Hierarchical FSD for a Washing Machine

Object Sequence Diagram for a Washing Machine

FSD for a Teas-made beside alarm

Activity Diagram for Teas-made

Thank You

You might also like