Made with
ConceptDraw
DIAGRAM 18

Finite State Machine

A finite-state machine can be known as “FSM, “finite-state automaton” (or “FSA”), “finite automaton” or a “state machine”. It is simply a mathematical model of computation, being an abstract machine in exactly one of a finite number of so called “states” at any time. The finite-state machine can change from one state to another. It is usually done in response to some external inputs. The so called “transition” is simply the change from one state to another. Any “FSM” can be defined by a list of its states as well as by its initial state and the conditions for each of the transitions.

The behaviour of each of the state machines can be observed in many devices. In modern society it can perform a predetermined sequence of actions, which depends on a sequence of events they are presented with. As an example, the vending machines can be mentioned. They simply dispense the products when the proper combination of coins is deposited. Another example can be elevators, whose sequence of stops is usually determined by the floors requested by its riders. The traffic lights are also a good example for the state machine as they change sequence when the cars are waiting on the road. The well-known combination locks are also the finite state machines, requiring the input of combination numbers, which all have to be input in the proper, definite order.

The finite state machines are studied in the more general field of “automata theory” knowing to be having less computational power to compare it to some other models of computation (for example, the “Turing machine”). The so called “computational power distinction” means there are some computational tasks which a “Turing machine” can do but a “FSM” cannot. The reason for this is because a finite state machine's memory is limited by the number of the states it already has.

A term “state” is a description of the status of a system, waiting for executing a so called “transition”, known to be a set of actions executed once a condition is fulfilled. Sometimes it can also be executed when an event is received. As an example: while using some audio system for listening to the radio, the receiving of the "next" stimulus results in moving to the next station. In this mentioned case the system is known to be in the so called "radio" state. Once the system is in the so called "CD" state, then the "next" stimulus ends in moving to the very next track. The identical stimuli trigger different the actions, which depends on the state taking place at the very this moment.

Sometimes, in some of the representations of the finite-state machines, the actions can be simply associated with a state. The so called “entry action” is known to be performing while entering the state and an “exit action” is performed while exiting the state.

The Unified Modelling Language has a notation for describing state machines, overcoming the limitations of traditional “finite state machines” during retaining their most main benefits as well as introducing the new concepts of orthogonal regions and hierarchically nested states. At the same time the notion of “actions” is being extended. To understand what exactly the term of “actions” means, we have to mention that once the so called “event instance” is dispatched, the state machine responds by these so called “performing actions”, which can be involved in changing a variable, invoking a function, generating some other event instance, changing to another state or performing I/O.

In the so called “extended state machines”, a transition can have a “guard”, meaning that the transition can "fire" only in case the guard evaluates to “TRUE”.

A state is known to be having many transitions in response to the same trigger, but there’s always a chance that this situation can create even more problems in the sequence of evaluation of the guards once the common trigger occurs. The “UML specification” intentionally does not stipulate any particular order, meaning that the guard expressions should have no side effects left.

UML state machines are popular for having the characteristics of “Moore machines” as well as “Mealy” ones. They are known to be supporting actions, depending on the so called “triggering event” and “the state of the system” as in Mealy machines. They also support the “entry” and “exit” actions, associated with states, not transitions (as in Moore machines).

Thus, the finite state machines are significant in many different areas, being subdivided into acceptors, transducers, sequencers and classifiers. They are being widely used in such fields of business activities, as linguistics, computer science, electrical engineering, philosophy, mathematics, logic, biology, etc. They are a class of automata studied in so called “automata theory” as well as the “theory of computation”. Finite state machines are used in computer science for modelling of application behaviour, software engineering, designing of hardware digital systems, network protocols, compilers as well as the study of languages and computation.

Once you need to create a Finite State Machine (FSM) diagram, one of the best tools may be ConceptDraw DIAGRAM diagramming and drawing software extended with ConceptDraw STORE application, where all the pre-made solutions full of the examples and templates as well as stencil libraries are. You can always download ConceptDraw DIAGRAM software as well as ConceptDraw STORE application, find the “Specification and Description Language (SDL) Solution” from the last mentioned product of CS Odessa to be able to create any needed diagrams within the Description Language field of business activity, including the finite state machine’s ones, within only an hour or so having all the needed tools, such as design elements of SDL Connectors from the stencil library and the pre-made templates of the SDL Diagrams which can be always used as drafts for your own smart as well as professionally looking drawings.

Finite State Machine *

Example 1. Design Elements. Finite State Machine Diagram
for Apple OS X and Windows

To design the Finite State Machine Diagram from the beginning in new ConceptDraw document, use the predesigned connectors and SDL design elements offered in quantity of 71 objects by 2 libraries of Specification and Description Language (SDL) Solution. The predesigned vector objects give the possibility easily draw any FSM Diagrams you want.

Thanks to the Specification and Description Language (SDL) Solution we also have a variety of SDL and FSM diagrams samples in ConceptDraw STORE. Each of them can be opened in ConceptDraw DIAGRAM and used as is or changed according to your needs.

Specification and Description Language (SDL) Solution in ConceptDraw STORE

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

The Finite State Machine diagram you see on this page was created in ConceptDraw DIAGRAM software using the objects from the libraries of Specification and Description Language (SDL) Solution. An experienced user spent 25 minutes creating this sample in ConceptDraw DIAGRAM

Use the Specification and Description Language (SDL) Solution for ConceptDraw DIAGRAM software to create your own professional looking SDL and FSM diagrams quick, 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:
This diagram represents the electrical floor plan. This is a common practice - to draw the electrical plan on the floor plan. The outlets, fixtures and other electrical equipment are depicted on the floor plan with special symbols. This drawing was created using the possibilities of ConceptDraw DIAGRAM as CAD software. Computer-aided design software is intended to replaces manual engineering drafting with an automated process. CAD software is used by engineers, architects, and others to make high-precision technical drawings and illustrations. CAD software allows technical specialists to develop, examine and manage various engineering projects. It is almost impossible nowadays to imagine mechanical engineering without digital technologies. Finding a suitable CAD software for creating mechanic diagram and electrical diagram architectural designs can take a lot of time and effort. However, with ConceptDraw DIAGRAM you can create any diagram that you want and later convert it to the most popular graphic formats like.vsdx,.png,.pptx etc.ConceptDraw DIAGRAM software for making mechanic and electrical diagrams for architectural design
Picture: CAD Drawing Software for Making Mechanic Diagram and Electrical Diagram Architectural Designs
Related Solution:
Structure of a software product might get very complex and complicated, if software engineers did not pay much attention to the architecture of the product. It will take a few minutes to create UML diagrams with ConceptDraw DIAGRAM , because this software is just perfect for diagramming. You can alter ready-to-use templates, or make your own, whatever you need. This illustration represent the example of UML diagram made by using ConceptDraw Rapid UML solution. This activity diagram displays the stages of the software development process similar to a flow chart. This diagram depicts the states of elements in the software system. It can be applied to represent software and coding logic. This UML diagram was drawn with the help of the ConceptDraw Rapid UML solution which supplies the kit of vector libraries, containing the symbols of the Unified Modeling Language notations.UML Diagrams with ConceptDraw DIAGRAM  *
Picture: UML Diagrams with ConceptDraw DIAGRAM
Related Solution:
This sample was created in ConceptDraw DIAGRAM diagramming and vector drawing software using the UML Class Diagram library of the Rapid UML Solution from the Software Development area of ConceptDraw Solution Park. This sample describes the use of the classes, the generalization associations between them, the multiplicity of associations and constraints. Provided UML diagram is one of the examples set that are part of Rapid UML solution.UML Class Diagram Generalization Example<br>UML Diagrams *
Picture: UML Class Diagram Generalization ExampleUML Diagrams
Related Solution:
ConceptDraw DIAGRAM - business process modeling software for mac offers the Business Process Diagram Solution with powerful tools to help you easy represent the business processes and create the business process diagrams based on BPMN 1.2 and BPMN 2.0 standards that allows to create of both simple and complex (nested) models of processes. There are 16 BPMN 1.2 and BPMN 2.0 stencil libraries containing 230 vector objects: Rapid Draw library, Connections library, Gateways and Artifacts libraries, Data library, Gateways library, Choreographies library, Conversations library, Activities libraries, Events libraries, Expanded Objects libraries, Swim lanes libraries.Business Process Modeling Software for Mac *
Picture: Business Process Modeling Software for Mac
Related Solution:
Structured-systems analysis and design method uses data flow diagrams to represent the process of data flowing through a system. Talking about this might be useless without a proper example of DFD for online store (Data Flow Diagram). This DFD example shows all the distinctness that a diagram can bring into a scattered data structure. Data flow diagrams are used to show how data is processed within some business processes. Making DFD is a common practice for business process modeling and analysis. This diagram represents the online store business flow. It describes inputs and outputs within online selling process and depicts the interactions between its participants. This DF diagram can be used by system analysts to create an overview of a business, to study and discover its inherent strengths and weak points.Example of DFD for Online Store
Picture: Example of DFD for Online Store (Data Flow Diagram)
Related Solution:
Chemical and Process Engineering solution contains variety predesigned process flow diagram elements relating to instrumentation, containers, piping and distribution necessary for chemical engineering, and can be used to map out chemical processes or easy creating various Chemical and Process Flow Diagrams in ConceptDraw DIAGRAM.Process Flow Diagram Symbols
Picture: Process Flow Diagram Symbols
Related Solution:
ConceptDraw DIAGRAM extended with IDEF0 Diagrams solution from the Software Development area of ConceptDraw Solution Park is a powerful diagramming and vector drawing IDEF0 software. All IDEF0 diagrams created in ConceptDraw DIAGRAM are vector graphic documents and can be reviewed, modified and converted to MS Visio XML format. To obtain the IDEF0 Visio documents from ConceptDraw DIAGRAM documents use the wide export possibilities of ConceptDraw DIAGRAM.IDEF0 Visio *
Picture: IDEF0 Visio
Related Solution:
ConceptDraw DIAGRAM extended with Mathematics solution from the Science and Education area is a powerful diagramming and vector drawing software that offers all needed tools for mathematical diagrams designing. Mathematics solution provides 3 libraries with predesigned vector mathematics symbols and figures: Solid Geometry Library, Plane Geometry Library and Trigonometric Functions Library.Mathematics Symbols *
Picture: Mathematics Symbols
Related Solution:
ConceptDraw DIAGRAM is the best BPMN software for ✔️ modeling business processes, ✔️ graphical documenting processes, ✔️ analysis processes, ✔️ optimization business processes, ✔️ identifying inefficiencies, ✔️ efficient decision-making based on created Business Process Diagrams and Business Process ModelsConceptDraw DIAGRAM — The Best Business Process Modeling Software
Picture: The Best Business Process Modeling Software: Comprehensive Guide
Related Solution:
ConceptDraw
DIAGRAM 18