format Presentation by nikeborome

VIEWS: 2 PAGES: 16

									Table of Content
   Basic Definitions
       Basic statements
       Predicate transformer
       Monotonicity
   Operational interpretation of
    Statements
   Derived Statements
   Correctness & Refinements
Basic statements

   Defining a simple programming
    language
       capture the interaction between a
        computing system and its user
       Statements
    Basic Definitions
   State predicate
   State transformer
   State relation
   statements are interpreted as predicate
    transformers
   interpret predicate as a set of states
Basic Definitions
Basic Definitions
    Basic Lattices
   The predicates on a state space form a
    complete boolean lattice
   The predicate transformers form a
    complete boolean lattice
     Basic Lattices (cont)
      True                            magic




                   {p} and [p]
q1            qn                 q1           qn




      False                           abort
Basic Definitions
   Monotonicity of predicate transformers

   Form a complete (but not boolean)
    lattice
   Basic statements are all monotonic
   Any monotonic predicate transformer
    can be expressed as statements
   Statements  Normal Form
Operational interpretation of
Statements




             Global Shared Memory




A program statement describes the way in
   which the interaction between the user and
   system takes place.
    Operational interpretation of
    Statements (cont)
   Changing the state
       Skip : dose not change the state
       Deterministic update :   computes a new
        state from present state


   Sequential Composition
       Describes the order of progression in the
        computation
Operational interpretation of
Statements (cont)
   Failure
       abort : user loses control of the
        computation
       assert : {q} , qualifies the aborting
        statement
   Selecting alternative
       angelic choice :           , user choose
        one.
   Input statements
       angelic update statement : {Q} , a
        request for an input value
        Operational interpretation of
        Statements (cont)
   Waiting
        magic : waiting for a miracle (deadlock)
        guard : [g], wait when the condition g is not true
   Uncertainty
        demoniac choice :          ,user do not know
         which one will actually be chosen by the system.
   Specification
        demonic update :[Q] ,nondeterministic
         assignment
Operational interpretation of
Statements (cont)

   Conditional statements
Operational interpretation of
Statements (cont)




   Iteration



Doi is the ith approximation of the loop
Refinement
   angelic construct
       Adding new alternative

   assert statement
       making the condition more permissive
   demoniac construct
       removing one possible option
   specification : [Q]
       choice of the next state is more deterministic.

								
To top