A metamodel for object-oriented statecharts
In this paper we present an approach for the definition of object-oriented modeling languages using a metamodel. In order to achieve a precise semantics we are using the formal specification language Object-Z as a metalanguage. We are considering abstract syntax and static semantics in order to define the concepts of models and the constraints between different models. The behavior of the models is determined by its dynamic semantics. Especially for behavioral models like statecharts or interaction diagrams, the dynamic semantics is very important. Using Object-Z we have one single metalanguage defined independently from the UML for all three aspects (abstract syntax, static semantics and dynamic semantics). Using this approach we define object-oriented statecharts as proposed by Harel and Gery [HG97] and used in the UML. Object-oriented statecharts are used for the specification of the complete behavior of classes. The abstract syntax and the static semantics define the structure of s tatecharts, for instance how the state hierarchy is built. The dynamic semantics deals with conflicting transitions, priorities between transitions, and transition selection and execution.