To Do or Not to Do: Semantics and Patterns for Do Activities in UML PSSM State Machines
M\'arton Elekes, Vince Moln\'ar, Zolt\'an Micskei

TL;DR
This paper analyzes the semantics of doActivity behaviors in UML State Machines, identifying ambiguities and proposing patterns to improve correct usage and tool support, thereby reducing bugs and design errors.
Contribution
It provides a rigorous review of doActivity semantics in PSSM, uncovers inconsistencies, and introduces 11 patterns to guide proper usage and improve modeling practices.
Findings
Identified ambiguities and inconsistencies in doActivity semantics
Developed 11 patterns for correct doActivity usage
Provided recommendations for tool development and modeling
Abstract
State machines are used in engineering many types of software-intensive systems. UML State Machines extend simple finite state machines with powerful constructs. Among the many extensions, there is one seemingly simple and innocent language construct that fundamentally changes state machines' reactive model of computation: doActivity behaviors. DoActivity behaviors describe behavior that is executed independently from the state machine once entered in a given state, typically modeling complex computation or communication as background tasks. However, the UML specification or textbooks are vague about how the doActivity behavior construct should be appropriately used. This lack of guidance is a severe issue as, when improperly used, doActivities can cause concurrent, non-deterministic bugs that are especially challenging to find and could ruin a seemingly correct software design. The…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Software Engineering Methodologies · Software System Performance and Reliability
