Modeling the Semantics of States and State Machines
- 1 Kuwait University, Kuwait
Published On: 14 July 2020
Copyright: © 2020 Sabah Al-Fedaghi. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
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.
- State Machine
- System Behavior
- Conceptual Model
- Modeling Change