Formalizing UML state machines for automated verification: A survey
Publication Type
Journal Article
Publication Date
1-2023
Abstract
The Unified Modeling Language (UML) is a standard for modeling dynamic systems. UML behavioral state machines are used for modeling the dynamic behavior of object-oriented designs. The UML specification, maintained by the Object Management Group (OMG), is documented in natural language (in contrast to formal language). The inherent ambiguity of natural languages may introduce inconsistencies in the resulting state machine model. Formalizing UML state machine specification aims at solving the ambiguity problem and at providing a uniform view to software designers and developers. Such a formalization also aims at providing a foundation for automatic verification of UML state machine models, which can help to find software design vulnerabilities at an early stage and reduce the development cost. We provide here a comprehensive survey of existing work from 1997 to 2021 related to formalizing UML state machine semantics for the purpose of conducting model checking at the design stage.
Keywords
UML, semantics, formal specification, formal verification
Discipline
Theory and Algorithms
Publication
ACM Computing Surveys
ISSN
0360-0300
Identifier
10.1145/3579821
Publisher
Association for Computing Machinery (ACM)
Citation
ETIENE, Andre; LIU, Shuang; LIU, Yang; CHOPPY, Christine; SUN, Jun; and DONG, Jinsong.
Formalizing UML state machines for automated verification: A survey. (2023). ACM Computing Surveys.
Available at: https://ink.library.smu.edu.sg/sis_research/7814