Research Article Open Access

Modeling the Semantics of States and State Machines

Sabah Al-Fedaghi1
  • 1 Kuwait University, Kuwait
Journal of Computer Science
Volume 16 No. 7, 2020, 891-905

DOI: https://doi.org/10.3844/jcssp.2020.891.905

Submitted On: 16 June 2020
Published On: 14 July 2020

How to Cite: Al-Fedaghi, S. (2020). Modeling the Semantics of States and State Machines. Journal of Computer Science, 16(7), 891-905. https://doi.org/10.3844/jcssp.2020.891.905

Abstract

A system’s behavior is typically specified through models such as state diagrams that describe how the system should behave. According to researchers, it is not clear what a state actually represents regarding the system to be modeled. Standards do not provide adequate definitions of or sufficient guidance on the use of states. Studies show these inconsistencies can lead to poor or incomplete specifications, which in turn could result in project delays or increase the cost of the system design. This paper aims to establish a precise definition of the notion of states and state machines, a goal motivated by system modelers’ (e.g., requirement engineers’) need to understand key concepts and vocabulary such as states and state machine, which are major behavioral modeling tools (e.g., in UML). “State” is the main notion of a state machine in which events drive state changes. This raises questions about the nature of these state-related notations. The semantics of these concepts is based on a new modeling methodology called the thinging machine applied to a number of examples of existing models. The thinging machine semantics is founded on five elementary actions that divide the static model into changes/states upon which events are defined.

Download

Keywords

  • State
  • State Machine
  • System Behavior
  • Conceptual Model
  • Modeling Change
  • Events