Toward Understanding Dynamic Behavior in Abstract Machines

Toward Understanding Dynamic Behavior in Abstract Machines

Sabah Al-Fedaghi (Computer Engineering Department, Kuwait University, Safat, Kuwait)
Copyright: © 2017 |Pages: 19
DOI: 10.4018/IJKSS.2017100104
OnDemand PDF Download:
No Current Special Offers


This article proposes an abstract machine, known by the acronym FM, for modeling behavior currently described by finite state machines (SMs) in conjunction with related notions such as state and event. Although the SM concept was born more than 50 years ago and is widely applied in hardware design, the literature suggests it is not well understood despite its use in other application fields, especially in software system design. Several SM-based examples are remodeled in terms of the proposed machine, and they reveal a richer conception of the dynamic aspects of systems. FM enhances understanding of concepts in control modeling such as states, events, behavior, and control. The article exposes the limitations of unrefined SM features used in modeling software systems. It is suggested that FM be used as a modeling tool in the software system design process.
Article Preview


The history of the concept of finite state machine illustrates its wide range of applications. The first researchers to consider the concept included biologists, psychologists, mathematicians, engineers, and computer scientists. “They all were interested in modeling the human thought process, whether in the brain or in a computer” (Subhadra, 2016). For example, Turing’s underlying thought was that “the organization of the brain must be realizable as a finite discrete-state machine” (Hodges, 2013; see Maguire et al., 2015). “All of the ‘computers’ that we encounter in everyday life are merely physical finite state machines” (Maguire et al., 2015).

Discrete state machines theoretically underlie almost everything related to computers (Mertz, 2000), but a survey revealed that only 28% of university students considered State Machine Diagrams very useful. Teachers have indicated that students tend to underestimate the relevance of state machines, and novices often reject the concept outright (Wrycza & Marcinkowski, 2007).

Finite state machines have a finite number of unambiguous states and use deterministic rules to transition from one state to another. Other models have been inspired by the ideas of states and diagrams; nevertheless, the state machine remains the dominant model for describing the behavior of control systems. State machines are so widely known as a subject of research and study that a review of their basic concepts seems hardly necessary.

SMs were originally introduced for hardware design and differentiated as Mealy machines (outputs as functions of state only) and Moore machines (outputs as functions of state and inputs). The concept of a state machine has also been used in software design, especially with the introduction of the extended state machine known as Statecharts with its view of sub-states through a state. “Statecharts is sometimes considered a replacement for the state machine concept. There is no direct translation between a system of state machines and a Statecharts representation of a control system. Statecharts is a new, interesting model of control systems which is used in UML for behavior specification and is not too helpful for creating the software” (Wagner & Wolstenholme, 2004). This paper focuses on the classical (finite) SM as it includes the fundamental concept of incorporating states and events.

Complete Article List

Search this Journal:
Volume 13: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing