Objectives

This section presents the operational semantics of a simple object-oriented language with assignment, object creation and method calls. It employs the style of structured operational semantics introduced by  [Plo83]. Structural operational semantics involve the specification of a transition system specifying the computation steps corresponding to each syntactical construct supported by the language. The operational semantics underly the verification axioms presented in the previous section.

Points to emphasize

Hints

Transition systems are employed in the literature to define the operational semantics for a variety of languages, including concurrent languages, object-oriented languages and logic programming languages. The operational semantics of a program consists essentially of a collection of traces of observable behavior, corresponding to the possible sequences of state transformations.

Question

  1. Characterize how the behavior of objects may be modeled by means of a transition system and specify a transition system for a simple object-oriented language.

Comments

The example illustrates how the transition rules allow you to compute the behavior of an object.