Most object-oriented methods use a graphical notation, and most also a
dopt a state-based formalism to specify behavior. But most also fail t
o rigorously define the semantics of the languages they use to describ
e behavior. Without rigorous semantics, OO models can never be precise
enough to produce fully executable models and enable automatic code s
ynthesis. These issues are complicated and go beyond recommending a mo
deling approach or methodology-they are language design concerns, requ
iring rigorous mathematical underpinnings. Both syntax and semantics m
ust be fully worked out: Any possible combination of constructs must b
e clearly characterized as syntactically legal or illegal, and each le
gal combination must be given a unique and formal meaning. In this art
icle, the authors describe their integrated set of diagrammatic langua
ges for object modeling built around statecharts and their supporting
tool, Rhapsody, which produces a fully executable model and allows aut
omatic code synthesis. As a result of the authors' collaboration with
the team that defined the Unified Modeling Language, this language set
and Rhapsody are consistent with UML.