The RHAPSODY semantics of statecharts (or, on the executable core of the UML)

David Harel, Hillel Kugler

Research output: Contribution to journalArticlepeer-review

107 Scopus citations


We describe the semantics of statecharts as implemented in the current version of the RHAPSODY tool. In its original 1996 version this was among the first executable semantics for object-oriented statecharts, and many of its fundamentals have been adopted in the Unified Modeling Language (UML). Due to the special challenges of object-oriented behavior, the semantics of statecharts in RHAPSODY differs from the original semantics of statecharts in STATEMATE. Two of the main differences are: (i) in RHAPSODY, changes made in a given step are to take effect in the current step and not in the next step; (ii) in RHAPSODY, a step can take more than zero time. This paper constitutes the first description of the executable semantics of RHAPSODY, highlighting the differences from the STATEMATE semantics and making an effort to explain the issues clearly but rigorously, including the motivation for some of the design decisions taken.

Original languageEnglish
Pages (from-to)325-354
Number of pages30
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
StatePublished - 2004
Externally publishedYes


Dive into the research topics of 'The RHAPSODY semantics of statecharts (or, on the executable core of the UML)'. Together they form a unique fingerprint.

Cite this