Operational Semantics - PowerPoint PPT Presentation

About This Presentation
Title:

Operational Semantics

Description:

Operational Semantics. Semantics with Applications. Chapter 2. H. Nielson and ... natural semantics non-determinism will suppress looping if possible (mnemonic) ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 39
Provided by: Dor103
Category:

less

Transcript and Presenter's Notes

Title: Operational Semantics


1
Operational Semantics
  • Semantics with Applications
  • Chapter 2
  • H. Nielson and F. Nielsonhttp//www.daimi.au.dk/
    bra8130/Wiley_book/wiley.html

2
Outline
  • Natural Semantics of IMP
  • Properties of the Natural Semantics
  • Structural Operational Semantics for IMP
  • Equivalence Result
  • Extensions to IMP
  • Abort
  • Non determinism
  • Parallel constructs
  • Blocks and procedures

3
Assignment Rule
n
YX
?n/X(Y)
?(Y)
Y?X
X?1, Y ?2, Z?15/X X?5, Y ?2, Z?1
4
Natural Semantics (IMP)
ltskip, ? gt ? ?
5
Natural Semantics (IMP)
6
Semantic Equivalence
  • com1 and com2 are semantically equivalent if for
    all ? and ?ltcom1, ? gt ? ? if and only if
    ltcom2, ? gt ? ?
  • Simple examplewhile b do comis semantically
    equivalent toif b then (com while b do com)
    else skip

7
Properties of Natural Semantics
  • Equivalence of program constructs
  • skip com is semantically equivalent to com
  • com skip is semantically equivalent to com
  • ((com1 com2) com3) is semantically
    equivalent to (com1 ( com2 com3))
  • (X 5 Y X 8) is semantically
    equivalent to(X 5 Y 40)
  • Deterministic
  • If ltcom, ?gt ? ?1 and ltcom, ? gt ? ?2 then ?1 ?2

8
Deterministic Semantics for IMP
  • If ltcom, ?gt ? ? 1 and ltcom, ? gt ? ? 2then ?1?2
  • The proof uses induction on the shape of
    derivation trees
  • Prove that the property holds for all simple
    derivation trees by showing it holds for axioms
  • Prove that the property holds for all composite
    trees
  • For each rule assume that the property holds for
    its premises (induction hypothesis) and prove it
    holds for the conclusion of the rule

9
The Semantic Function Sns
  • The meaning of a command com is defined as a
    partial function from State to State
  • Sns Com ? (State ? State)
  • Sns ?com?(?) ? if ltcom, ?gt ?? and otherwise
    Sns ?com? (?) is undefined
  • Examples
  • Sns ?skip?(?) ?
  • Sns ?X1?(?) ? 1/X
  • Sns ?while true do skip?(?) undefined

10
Structural Operational Semantics
  • Emphasizes the individual steps
  • Usually more suitable for static analysis
  • For every command S, write meaning rules ltcom, ?gt
    ? ?If the first step of executing the command
    com on ? leads to ?
  • Two possibilities for ?
  • ? ltcom, ?gt
  • The execution of com is not completed, com is
    the remaining computation to be performed on ?
  • ? ?
  • The execution of com has terminated with a final
    state ?
  • ? is a stuck configuration when there are no
    transitions
  • The meaning of a program P on an input state s is
    the set of final states that can be executed in
    arbitrary finite steps

11
SOS (IMP)
ltskip, ? gt ? ?
12
SOS (IMP)
13
SOS (IMP)
ltwhile b do com, ?gt ? ltif b then (comwhile b
do com) else skip, ?gt
14
Derivation Sequences
  • A finite derivation sequence starting at ltcom,
    ?gt?0, ?1, ?2 , ?k such that
  • ?0ltcom, ?gt
  • ?i ? ?i1
  • ?k is either stuck configuration or a final state
  • An infinite derivation sequence starting at
    ltcom, ?gt?0, ?1, ?2 such that
  • ?0ltcom, ?gt
  • ?i ? ?i1
  • ?0 ?i ?i in i steps
  • ?0 ? ?i in finite number of steps
  • For each step there is a derivation tree

15
Example
  • Let ?0 such that ?0 (X) 5 and ?0 (Y) 7
  • com (ZX X Y) Y Z

16
Factorial Program
  • Input state s such that ?(X) 3

Y 1 while ?(X1) do Y Y X X X - 1
17
Program Termination
  • Given a command com and input ?
  • com terminates on ? if there exists a finite
    derivation sequence starting at ltcom, ? gt
  • com terminates successfully on ? if there exists
    a finite derivation sequence starting at ltcom, ?gt
    leading to a final state
  • com loops on ? if there exists an infinite
    derivation sequence starting at ltcom, ?gt

18
Properties of the Semantics
  • com1 and com2 are semantically equivalent if
  • for all ? and ?ltcom1, ? gt ? ? if and only if
    ltcom2, ? gt ? ?
  • there is an infinite derivation sequence starting
    at ltcom1, ? gt if and only if there is an
    infinite derivation sequence starting at ltcom2, ?
    gt
  • Deterministic
  • If ltcom, ? gt ? ?1 and ltcom, ?gt ? ? 2 then ?1 ?2

19
Sequential Composition
  • If ltcom1 com2, ? gt ?k ? then there exists a
    state ? and numbers k1 and k2 such that
  • ltcom1, ? gt ?k1 ?
  • ltcom2, ?gt ?k2 ?
  • and k k1 k2
  • The proof uses induction on the length of
    derivation sequences
  • Prove that the property holds for all derivation
    sequences of length 0
  • Prove that the property holds for all other
    derivation sequences
  • Show that the property holds for sequences of
    length k1 using the fact it holds on all
    sequences of length k (induction hypothesis)

20
The Semantic Function Ssos
  • The meaning of a command com is defined as a
    partial function from State to State
  • Ssos Com ? (State ? State)
  • Ssos?com?? ? if ltcom, ?gt ?? and otherwise
    Ssos ?com?s is undefined

21
An Equivalence Result
  • For every command com of the IMP language
  • Snat?com? Ssos?com?

22
Extensions to IMP
  • Abort command (like C exit)
  • Non determinism
  • Parallelism
  • Local Variables
  • Procedures
  • Static Scope
  • Dynamic scope

23
IMP Abort
  • Abstract syntaxcom X a skip com1
    com2 if b then com1 else com2
    while b do com abort
  • Abort terminates the execution
  • No new rules are needed in natural and
    structural operational semantics
  • commands
  • skip
  • abort
  • while true do skip

24
Conclusion
  • The natural semantics cannot distinguish between
    looping and abnormal termination (unless the
    states are modified)
  • In the structural operational semantics looping
    is reflected by infinite derivations and abnormal
    termination is reflected by stuck configuration

25
IMP Non-Determinism
  • Abstract syntaxcom X a skip com1
    com2 if b then com1 else
    com2 while b do com
    com1 or com2
  • Either com1 or com2 is executed
  • Example
  • X 1 or (X 2 X X2)

26
IMPNon-DeterminismNatural Semantics
27
IMP Non-DeterminismSOS
28
IMP Non-DeterminismExamples
  • X 1 or (X 2 X X2)
  • (while true do skip) or (X 2 X X2)

29
Conclusion
  • In the natural semantics non-determinism will
    suppress looping if possible (mnemonic)
  • In the structural operational semantics
    non-determinism does not suppress looping

30
IMP Parallel Constructs
  • Abstract syntaxcom X a skip com1
    com2 if b then com1 else com2
    while b do com com1 par com2
  • All the interleavings of com1 or com2 are
    executed
  • Example
  • X 1 par (X 2 X X2)

31
IMP Parallel ConstructsSOS
32
IMP Parallel ConstructsNatural Semantics
33
Conclusion
  • In the natural semantics immediate constituent is
    an atomic entity so we cannot express
    interleaving of computations
  • In the structural operational semantics we
    concentrate on small steps so interleaving of
    computations can be easily expressed

34
IMP local variables
  • Abstract syntaxcom X a skip com1
    com2 if b then com1 else com2
    while b do com begin Vars
    com endVars var X a Vars ?

35
Example
begin var Y 1 X 1 begin
var X 2 Y X 1
end X Y X end
36
Conclusions Local Variables
  • The natural semantics can remember local states
  • Need to introduce stack or heap into state of the
    structural semantics

37
IMP local variables and procedures
  • Abstract syntaxcom X a skip com1
    com2 if b then com1 else com2
    while b do com begin Vars
    Procs com end call pVars var X a Vars
    ?Procs proc p is com Procs ?

38
Conclusions
  • Structural operational semantics allows us to
    simulate low level computations without getting
    bugged into too many details
  • Natural semantics allows to abstract more
  • Local memory
  • Non termination
Write a Comment
User Comments (0)
About PowerShow.com