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
- syntax -- expressions, statements
- rules -- assignment, object creation,
method call
- compound rules --
composition, conditional, iteration
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
- 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.