1 / 6

Reasoning with Queues and Web Interface Demo

Reasoning with Queues and Web Interface Demo. A Second Web Interface Demo. Select Queue_Template under Concepts Notice that queues also happen to be modeled using mathematical strings How does the specification of Enqueue differ from Push, if any?

Download Presentation

Reasoning with Queues and Web Interface Demo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reasoning with Queues and Web Interface Demo

  2. A Second Web Interface Demo Select Queue_Template under Concepts Notice that queues also happen to be modeled using mathematical strings How does the specification of Enqueue differ from Push, if any? How does the specification of Dequeue differ from Pop, if any?

  3. A Second Web Interface Demo Select Queue_Template under Concepts Select Append_Capability under the tab Enhancements Select Iterative_Realiz under the Tab Enhancement Realizations The loop is annotated with two assertions for verification an invariant (maintaining clause) A progress metric (decreasing clause)

  4. A Second Web Interface Demo Select Queue_Template under Concepts Select Append_Capability under the tab Enhancements Select Reursive_Realiz under the Tab Enhancement Realizations Click on Generate VCs Prove each VC

  5. Wrong Code Demo Go back to Recursive_Realiz by clicking on the RESOLVE tab to the left Click the Edit button Do each of the following and see if the VCs are provable in each case! Comment out the Dequeue operation (use –- at the front of the line) Change the decreasing metric from |Q| to |P|; now our termination reason is wrong!

  6. Iterative Code Demo Select Queue_Template under Concepts Select Append_Capability under the tab Enhancements Select Iterative_Realiz under the Tab Enhancement Realizations Loops are annotated with invariants, progress metrics Click on Verify button The VCs here turn out to be provable automatically

More Related