Made with
ConceptDraw
DIAGRAM 15

FSM — Finite-state Machine

A “finite-state machine” is also known to be called “finite automaton”, “finite-state automaton” or simply a “state machine”, being a “mathematical model of computation”. Being an abstract machine in exactly one of a finite number of states at some given time. The finite-state machine is known for being able to change from being in one particular state to another, doing it in response to some external inputs. Such change from one state to another is known to be called a “transition”. Any finite-state machine can be defined by its initial state, a list of its states and the conditions for each of the existing transitions.

The behaviour of any of the state machines can be checked by using many different devices in order to perform a pre-determined sequence of different actions, which may depend on a sequence of different events which they are presented with. The examples of the finite-state machine may be the vending machines, dispensing products once the proper combination of the coins is deposited. The elevators may be also a very good example of the finite-state machine, or FSM. The sequence of stops all the elevators make can be determined by the quantity of the floors requested by its riders. The traffic lights may be another example of the finite-state machines changing their sequence every time the cars have to wait stopping. All the combination locks require the input of the combination of the different numbers in some definite, proper order, that’s why they are a good example of the FSM as well.

The finite state machine is known to be having less computational power comparing to some other models of computation, for example, the so called “Turing machine”. The mentioned “computational power distinction” may mean there are the computational tasks that each Turing machine can do, but which a FSM one can not. The reason for this is a FSM's memory being quite limited by the number of the states which it has. The finite-state machines are known to be studied in the more general field of the so called “automata theory”. The complete action's information is never described in the table, but it can only be added by using the so called “footnotes”. A FSM definition is always possible by using the so called “state tables”.

The Unified Modelling Language has a notation for describing state machines. UML state machines are known to be introducing the new concepts of the so called “hierarchically nested states” as well as “orthogonal regions” during the process of extending the so called “notion of actions”. UML state machines have the characteristics of both “Mealy machines” and so called “Moore machines”, known to be supporting the actions depending on the triggering event as well as on the state of the system, as well as entry and exit actions, which are associated with states rather than transitions.

The Specification and Description Language is a standard from ITU. It includes numerous graphical symbols for describing different actions in the transition – for example, to send an event, to start a timer, to cancel a timer, to receive an event, to start another state machine, etc. There are many different variants used for representing a FSM, knowing to be significant in many different areas, including electrical engineering, computer science, mathematics, philosophy, biology, logic, linguistics, etc. One of the classes of the automata studied in the so called “automata theory” as well as the “theory of computation” is a finite state machine, widely used in computer science for modeling the application behaviour, for designing different hardware digital systems, as well as used in software engineering, network protocols, the study of computation, languages and compilers.

It is possible to subdivide the finite state machines into acceptors, classifiers, transducers and sequencers. The acceptors are also known to be called as “recognizers and sequence detectors”, producing the binary output and indicating if received input is accepted or not. Each of the possible states of any FSM is either "not accepting" or "accepting". As long as all input is received, in case its current state is an accepting one, then the input is known to be “accepted”. And vice versa, in case its current state is a rejecting one, then it is known to be “rejected”. As a general rule, any input is a sequence of symbols and actions are not normally used.

A set of the mentioned symbol sequences is known to be called as a “regular language”, but only in case there is some finite state machine that accepts exactly that set. For example, the set of binary strings with an even number of zeroes is a regular language, while the set of all strings which length is a prime number is not a regular language. A machine can be described as the one containing a string, which is accepted by the mentioned machine, but not the rejected ones. Thus, that language is known to be "accepted" by the machine, called the “regular languages”. Any language is known to be called as “regular” in case there is some finite-state machine accepting it. An instance of the algebraic path problem is determining the language which was accepted by a so called “finite state acceptor”. It is itself simply a generalization of the shortest path problem to graphs with edges which are weighted by the elements of a semi-ring.

To create FMS diagram, all you need is ConceptDraw DIAGRAM diagramming and drawing software. It is always better, though, to have a Specification and Description Language (SDL) Solution from ConceptDraw STORE application to simplify your work with drawing any FMS related drawings any complexity as the mentioned solution offers the pre-made examples as well as the stencil libraries with the design elements that all can be used while working in ConceptDraw DIAGRAM

FSM — Finite-state Machine *

Example 1. Finite State Machine (FSM) Diagram

Finite state machines are widely used in systems engineering, system design, in developing computer programs and sequential logic circuits. Specification and Description Language (SDL) Solution offers all needed tools for designing without efforts. These are the SDL Connnectors and SDL Diagrams libraries which contain numerous predesigned vector objects, collection of FSM and SDL samples represented in ConceptDraw STORE.

Specification and Description Language (SDL) Solution in ConceptDraw STORE

Example 2. Specification and Description Language (SDL) Solution in ConceptDraw STORE

All samples included in Specification and Description Language (SDL) Solution are well thought-out and professionaly designed. You can choose any desired of them from ConceptDraw STORE, it will be automatically opened in ConceptDraw DIAGRAM Then you are able to change some details in it or use the sample as the base for your own FSM diagram.

SDL Architecture

Example 3. SDL Architecture

The samples you see on this page were created in ConceptDraw DIAGRAM software using the tools of Specification and Description Language (SDL) Solution. First of them demonstrates the Finite State Machine (FSM) diagram, the second represents the SDL architecture and describes the processes within the sub-blocks also with help of finite state machines. An experienced user spent 10-20 minutes creating each of these samples.

Use the Specification and Description Language (SDL) Solution for ConceptDraw DIAGRAM software to create your own professional looking FSM and SDL diagrams fast, easy and effective.

All source documents are vector graphic documents. They are available for reviewing, modifying, or converting to a variety of formats (PDF file, MS PowerPoint, MS Visio, and many other graphic formats) from the ConceptDraw STORE. The Specification and Description Language (SDL) Solution is available for all ConceptDraw DIAGRAM users.




TEN RELATED HOW TO's:

SDL — Systems Engineering →

How to design SDL Diagram fast and easy? ConceptDraw DIAGRAM diagramming and vector drawing software supplied with unique Specification and Description Language (SDL) Solution from the Industrial Engineering Area of ConceptDraw Solution Park will help you design SDL Diagram of any complexity without effortsSDL — Systems Engineering *
Picture: SDL — Systems Engineering
Related Solution:

Types of Flowcharts →

A flowchart is a simple but very functional tool when it comes to understanding a workflow or to removing unnecessary stages from a process. When drawing flowcharts, keep in mind that there are four common types of flowcharts, like document flowcharts and data flowcharts that show control over a data or document flow over a system. To show controls on a physical level, use system flowcharts. In addition, to show controls in a program, you can draw a program flowchart. This flowchart diagram represents the piece of an article editing process, that involves the author and editor. It was created using the Basic Flowchart notation that consists from the basic flowchart symbols. The start and the end of the process are indicated with "Terminator" symbols. The "Process" symbols show the action steps consisting from making edits and searching for a compromise, when the author does not agree with the suggestions of the editor. The "Process" symbol is the general symbol in process flowcharts. The "Decision" symbol indicates a branching in the process flow. There are two branches indicated by a Decision shape in the current flowchart (Yes/No, Disagree/Agree). This basic flowchart can be used as a repeating unit in the workflow diagram describing the working process of some editorial office.Types of Flowcharts *
Picture: Types of Flowcharts
Related Solution:

Venn Diagram Examples for Problem Solving. Computer Science. Chomsky Hierarchy →

A Venn diagram, sometimes referred to as a set diagram, is a diagramming style used to show all the possible logical relations between a finite amount of sets. In mathematical terms, a set is a collection of distinct objects gathered together into a group, which can then itself be termed as a single object. Venn diagrams represent these objects on a page as circles or ellipses, and their placement in relation to each other describes the relationships between them. The Venn diagram example below visualizes the the class of language inclusions described by the Chomsky hierarchy.Venn Diagram Examples for Problem Solving. <br> Computer Science. Chomsky Hierarchy *
Picture: Venn Diagram Examples for Problem Solving. Computer Science. Chomsky Hierarchy
Related Solution:

Restaurant Floor Plan Software →

A cozy atmosphere is crucial for the success of any cafe or restaurant. To provide it, you should use restaurant floor plan software at the stage of design. If your establishment is located conveniently and has a harmonic atmosphere inside it, this is bound to be a success. This sample Restaurant floor plan illustrates the possibilities of ConceptDraw solution for Cafe and Restaurant plans. It represents the location of the restaurant's main hall with its furnishing as well as a plan of kitchen and toilets. Generally, Cafe and Restaurant Plans solution has a big set vector images of tables, seats, lightening, etc. Using them you will be able to plan the restaurant of your desire with an incredible design and spirit.Restaurant Floor Plan Software
Picture: Restaurant Floor Plan Software
Related Solution:

Presenting Documents with Remote Presentation for Skype Solution →

Video tutorials on ConceptDraw products. Try it today!Presenting Documents with Remote Presentation for Skype Solution *
Picture: Presenting Documents with Remote Presentation for Skype Solution
Related Solutions:

How To Create Restaurant Floor Plan in Minutes →

As restaurant industry is growing rapidly nowadays, researches show that almost half of the adults have worked in a restaurant or a cafe. Moreover, many of them dream to start their own someday. Unfortunately, it takes a lot of time to write a business plan and to find a great location, although some know how to create a restaurant floor plan in minutes or how to plan budget effortlessly. Hiring employees can also cause a lot of headache, but this is crucial for further success, because every guest comes to restaurant for a good service and delicious food. It is also worth noting that restaurant concept is also important, because it defines target audience and influences the menu. This diagram represents the floor plan of an ongoing sports-theme establishment - restaurant, cafe, or other food service. A number of widescreen monitors installed along the perimeter provide visitors the opportunity to follow the course of a match from anywhere in the dining room of restaurant or cafe. The most of sports fans believe that food and alcohol is a big part of any sports show. That is why the dining room takes the most space - almost 60% of the total establishment space. Nearly all sports fans consume beverages while watching sports - beer, soda or water at least. Thus, the restaurant floor plan designers added a large lavatory there. Moreover, project developers considered unnecessary the gender division of such delicate place - perhaps they guess that only men are watching football, or believe that alcohol will eliminate the most of gender differences.Restaurant Floor Plan
Picture: How To Create Restaurant Floor Plan in Minutes
Related Solution:

Object-Oriented Development (OOD) Method →

This sample shows the Booch OOD diagram of the environment. The Booch method (developed by Grady Booch) is an object modeling language and methodology used in software engineering. This sample was created in ConceptDraw DIAGRAM diagramming and vector drawing software using the Rapid UML Solution from the Software Development area of ConceptDraw Solution Park.Object-Oriented Development (OOD) Method *
Picture: Object-Oriented Development (OOD) Method
Related Solution:

UML Collaboration Diagram. Design Elements →

UML Collaboration Diagram illustrates how components are wired together to larger components and software systems that shows the structure of arbitrarily complex systems. ConceptDraw has 393 vector stencils in the 13 libraries that helps you to start using software for designing your own UML Diagrams. You can use the appropriate stencils of UML notation from UML Collaboration library with 36 objectsUML Collaboration Diagram. Design Elements *
Picture: UML Collaboration Diagram. Design Elements
Related Solution:

Road Transport - Design Elements →

Samples, templates and libraries contain vector clip art for drawing the Road Transport Illustrations.Road Transport - Design Elements *
Picture: Road Transport - Design Elements
Related Solution:
ConceptDraw
DIAGRAM 15