Made with
ConceptDraw
DIAGRAM 18

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.




NINE RELATED HOW TO's:
How to draw Metro Map style infographics of New York subway. New York Subway has a long history starting on October 27, 1904. Since the opening many agencies have provided schemes of the subway system. At present time are 34 lines in use. This page present New York City subway map construct with Metro Map Solution in Conceptdraw DIAGRAM software. This is a one-click tool to add stations to the map. It lets you control the direction in which you create new stations, change lengths, and add text labels and icons. It contains Lines, Stations, and Landmarks objectsHow to draw Metro Map style infographics?   <i>(New York)</i> *
Picture: How to draw Metro Map style infographics? (New York)
Related Solution:
Use the set of special professionally developed swim lane flowchart symbols - single, multiple, vertical and horizontal lanes from the Swimlanes and Swimlanes BPMN 1.2 libraries from the Business Process Diagram solution, the Swim Lanes library from the Business Process Mapping solution as the perfect basis for your Swim Lane Flowcharts of processes, algorithms and procedures.Swim Lane Flowchart Symbols *
Picture: Swim Lane Flowchart Symbols
Related Solution:
Use Case Diagrams technology. IDEF4 standard implies not only graphical presentation but the additional information about diagrams of heredity, methods systematization and types which are contained in specifications.IDEF4 Standard *
Picture: IDEF4 Standard
ConceptDraw DIAGRAM application is perfect for creating workflow diagrams. This application contains specific features and technologies designed to draw diagrams faster, such as RapidDraw and Arrows10. ConceptDraw DIAGRAM software extended with the Workflow Diagrams solution gives you a flexible tool to draw any kind of workflow.Workflow Application *
Picture: Workflow Application
Related Solution:
Data processing can be very complex sometimes. If you are interested in facilitating your work with data, it’s time to learn how to draw flowcharts with special software or using just a piece of paper. The list of flowchart basic symbols includes rectangles, diamond, ellipses etc. and is used to represent processes, actions, decisions or data processing. A well-done flowchart bring the clearness of the sequence of a process stages. There are number of symbols that can be used in flow charts to show various sorts of steps. The basic flowchart can be created using a few of them: Process, Decision, Start/Finish. A basic element of a flowchart represents a simple action and looks like a box, that contains a description of the action. The depicting of actions sequence is made with arrows between corresponding action boxes, as you can see on the sample diagram. Also it shows the symbols for flowchart start and finish steps. ConceptDraw Flowcharts solution provides the ability to build basic flow charts as well as the ones of any size and complexity with a minimum of actions.How to Draw a Flowchart
Picture: How to Draw a Flowchart: Step-by-Step Guide
Related Solution:
ConceptDraw DIAGRAM software extended with unique HR Flowcharts Solution is the best for designing various flowcharts and diagrams in the field of human resources management.Human Resources
Picture: Human Resources
Related Solution:
Flowcharts can be used in designing and documenting both simple and complex processes or programs and, similar to the other types of diagrams, they can help visualize what happens and so help understand some definite process, and, as a result, find flaws, bottlenecks and other features within it.Flowchart Programming Project
Picture: Flowchart Programming Project. Flowchart Examples
Related Solution:
The reliability is a cornerstone for any corporate computer network. If you want to provide a high fault tolerance, a mesh network topology would be the solution. The main advantage of this network is that every node can work as a commutator, although it’s not easy to set up this kind of network. A mesh network topology may be full, or partial. Full mesh network means that each node of the network (computer, workstation or other equipment) is connected directly to each of the other nodes. A partial mesh topology means that a part of nodes are connected with a whole network, and the other part of nodes are only connected to those equipment, they exchange the majority of data. This illustration shows schematic diagram of a partial mesh network containing six nodes. Each node is represented as a circles and connections are drawn as straight lines. The connections may be both wired and wireless. This scheme can be used to make the specific logical or physical network diagrams by means the ConceptDraw Computer and Networks solution.Mesh Network Topology Diagram *
Picture: Mesh Network Topology Diagram
Related Solution:
In the case of origin of an emergency is very important to have a correct, clear and comprehensible action plan which will help you to react quicker and to make right decisions. ConceptDraw DIAGRAM software extended with Fire and Emergency Plans solution from the Building Plans Area of ConceptDraw Solution Park provides extensive drawing tools for quick and easy creating fire and emergency plans, and also a set of various templates and samples, among them the Emergency Action Plan Template.Emergency Action Plan Template *
Picture: Emergency Action Plan Template
Related Solution:
ConceptDraw
DIAGRAM 18