Computer Science School of Computing Clemson University Reasoning with Queues and Web Interface Demo.

Slides:



Advertisements
Similar presentations
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 18 Program Correctness To treat programming.
Advertisements

P Card Transaction Sign Off Click on Sign Off Select a transaction Page
Computer Science School of Computing Clemson University Introduction to Mathematical Reasoning Jason Hallstrom and Murali Sitaraman Clemson University.
School of Computing Clemson University Mathematical Reasoning  Goal: To prove correctness  Method: Use a reasoning table  Prove correctness on all valid.
Addressing the Challenges of Current Software. Questions to Address Why? What? Where? How?
An Integration of Program Analysis and Automated Theorem Proving Bill J. Ellis & Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt.
CA 121 Intro to Programming Tariq Aziz and Kevin Jones GUI Programming in Visual Studio.NET Chapter 2 Tariq Aziz and Kevin Jones.
CS 112 Intro to Computer Science II Sami Rollins Spring 2007.
Queues. From last time: Java's built-in java.util.Stack class Consider the javadoc for Java’s built-in java.util.Stack class (
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
Proving correctness. Proof based on loop invariants  an assertion which is satisfied before each iteration of a loop  At termination the loop invariant.
1 Lecture 26 Abstract Data Types – IV Overview  The List ADT  Implementing Stacks as Linked List  Linked List Implementation of Queues .  Preview:
CS 206 Introduction to Computer Science II 10 / 28 / 2009 Instructor: Michael Eckmann.
Get Started in 4 Easy Steps!
Mathematics throughout the CS Curriculum Support by NSF #
Computer Science School of Computing Clemson University Discrete Math and Reasoning about Software Correctness Murali Sitaraman
Computer Science School of Computing Clemson University Specification and Reasoning in SE Projects Using a Web IDE Charles T. Cook (Clemson) Svetlana V.
The NetBeans IDE CSIS 3701: Advanced Object Oriented Programming.
Computer Science School of Computing Clemson University Mathematical Reasoning across the Curriculum Software Development Foundations and Software Engineering.
Week #7 – 7/9/11 October 2002 Prof. Marie desJardins
BY Zachary Hamer. Step one  First you will need to go to your desktop and click on the START button. A box should pop up.
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 4 (Part 3): Mathematical Reasoning, Induction.
New Mexico Computer Science For All Interface Input in NetLogo Maureen Psaila-Dombrowski.
New Mexico Computer Science For All Interface Output in NetLogo (Part 1) Maureen Psaila-Dombrowski.
Creating Projects in JCreator Computer Science 40S.
Computer Science School of Computing Clemson University Discrete Math and Reasoning about Software Correctness Joseph E. Hollingsworth
 Search for Voicethread or go to voicethread.com. Then click “sign in or register” at the top right. Choose “register” on the left and enter the information.
Recursion – means to recur or to repeat – A different way to get a robot to repeat an action A programming language that allows recursive definitions (and.
1 Lecture 14: Queues Lecturer: Santokh Singh CompSci 105 SS 2005 Principles of Computer Science.
This research is funded in part by grant CCR from the U. S. National Science Foundation. Profiles: A Compositional Mechanism for Performance Specification.
Label the parts of a spreadsheet! 1.Open Excel-Close the side panel on the left! 2.Push the PrintScrn button on your keyboard-top row left! 3.Open PowerPoint.
Accessing Your Blog Access: csraresa.net. Click on tab, drop down to Your Blog & Locate the Welcome Paragraph/Read instructions for blogging here.
Computer Science School of Computing Clemson University Mathematical Reasoning with Objects.
Loop Invariants and Binary Search Chapter 4.4, 5.1.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| WISL |||||||||||| 1 Most carriers utilize spreadsheets.
[Presentation Title] – Edit this footer by clicking on “View” tab,  “Slide Master” button  this slide’s layout [Date] Changing... Leading... Learning...
Integrating Math Units and Proof Checking for Specification and Verification SAVCBS Workshop 2008 SIGSOFT 2008 / FSE 16 November 9th, 2008 Hampton Smith.
We want to add here all the Eleven schools that are functional. Next slide shows how it would look when we click on School of Studies.
Google Maps – Select “Satellite” – Select “More” - Check “photos & bicycling” Select Google Maps; select satellite, search maps for River Mountains Loop.
Lecture 18 March 29, 2011 Formal Methods 3 CS 315 Spring Adapted from slides provided by Jason Hallstrom and Murali Sitaraman (Clemson)
CORRECTNESS ISSUES AND LOOP INVARIANTS Lecture 8 CS2110 – Fall 2014.
Debugging. Design Well A careful design limits the necessary debugging - think “top-down” Write comments as you go, especially invariants –You can test.
Set Collection A Bag is a general collection class that implements the Collection interface. A Set is a collection that resembles a Bag with the provision.
Chapter 15 Lists Objectives
Topic: Recursion – Part 1
March 29 – Testing and Priority QUeues
Stack and Queue Author : Srinadh Gunnam.
Formal Methods in Software Engineering 1
Follow the below mentioned steps to resolve the Avast Error Code 7005 on MAC Step-1: Switch on the system and login as an administrator. Step-2: Click.
How To Use As Another Account On Gmail
HW-6 Deadline Extended to April 27th
structures and their relationships." - Linus Torvalds
Lecture 21 Stacks and Queues Richard Gesick.
Using Objects in Alice.
CSE 1030: Data Structure Mark Shtern.
GEG - How to Flag and Submit Notice of Termination
Computer Science 2 Heaps.
Mathematical Reasoning
Introduction Object-Oriented Programming Reprise
Done with SQL..
Breadth First Search - A B C D E F G H I front FIFO Queue.
Stacks and Queues.
More Mathematical Reasoning (Conditional Statements)
Mathematical Reasoning with Data Abstractions
Generics, Stack, Queue Based on slides by Alyssa Harding
Computer Science 2 Queue.
Custom Form with Spin Button Controls with VBA in Excel In-Class Exercise #12 Objective: Enhance a “standard” DSS interface with a custom “user form”
structures and their relationships." - Linus Torvalds
Click “Execute” button.
Introduction To Software Development Environment
Presentation transcript:

Computer Science School of Computing Clemson University Reasoning with Queues and Web Interface Demo

School of Computing Clemson University 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?

School of Computing Clemson University 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)

School of Computing Clemson University 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

School of Computing Clemson University 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!

School of Computing Clemson University 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