1 The Extended Example Chapter 5 Formal Specification using Z.

Slides:



Advertisements
Similar presentations
Lists Chapter 4 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved X.
Advertisements

User Defined Functions
Quality Education for a Healthier Scotland Using “News Alert” Function For Appraisers, Administration Teams & Appraisal Advisers.
Cookies, Sessions. Server Side Includes You can insert the content of one file into another file before the server executes it, with the require() function.
Let’s Set Up Google. Open your Google Chrome Browser.
Chapter 4: Writing Classes
Chapter 11 Section 1 Introduction to Difference Equations.
Exercise Exercise3.1 8 Exercise3.1 9 Exercise
SwE 313 Case Study Registration System.
1 Z Schemas Chapter 7 Formal Specification using Z Example of Z specification Document.
Copyright © 2008 Pearson Education, Inc. Chapter 3 The Derivative Copyright © 2008 Pearson Education, Inc.
Close Registration Brief Description
Exercise Exercise Exercise Exercise
Exercise Exercise Exercise Exercise
From Chapter 4 Formal Specification using Z David Lightfoot
Exercise Exercise6.1 7 Exercise6.1 8 Exercise6.1 9.
An Introduction to formal methods using Z An aircraft example
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Table of Contents Solving Linear Systems of Equations - Substitution Method Recall that to solve the linear system of equations in two variables... we.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
In this section we will introduce a new concept which is the logarithm
Warm Up 1) Is (-3, 4) a solution to the system? 2)Solve the system by graphing y = -2x + 5 2y = x - 2.
Automobile Enthusiasts Database System May 7, 2003.
MANAGE PRE-SCOPING MIP Home. Manage Pre-Scoping/SS03 SS03 “Pre-scope project: Pre-scoping checklist”  This is the pre-scoping checklist. The goal of.
1 Chapter Eight Exception Handling. 2 Objectives Learn about exceptions and the Exception class How to purposely generate a SystemException Learn about.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Message Analysis Table.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Limits.
Grade 7 Anticipation Writing Activity Assessment Writing Activity What do you see? Activity Teacher Instructions: Show students “What do you see?” pictures.
Section 4.3 Solving Compound Inequalities. 4.3 Lecture Guide: Solving Compound Inequalities Objective: Identify an inequality that is a contradiction.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
Chapter 8 Systems of Linear Equations in Two Variables Section 8.2.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
17 May 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Formal.
Submitted By: Memon Khurshed (Group Leader) Hamed Abdollahpur
Course: Software Engineering ©Alessandra RussoUnit 2: States and Operations, slide number 1 States and Operations This unit aims to:  Define: State schemas.
Chapter 9 Session Tracking. Session Tracking Basics Accessing the session object associated with the current request: Call request.getSession to get an.
(1) Unit Testing and Test Planning CS2110: SW Development Methods These slides design for use in lab. They supplement more complete slides used in lecture.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Problem #9 Test 2 Solution. Record Keeping and Budgeting Chapter Three Objective: Compute the average monthly expenditure.
Copyright © 2010 Pearson Education, Inc. All rights reserved. 4.5 – Slide 1.
ISBN Chapter 3 Describing Semantics.
Lists Chapter 4 Slides by Steve Armstrong LeTourneau University Longview, TX  2007,  Prentice Hall.
Lists Chapter 4. 2 Chapter Contents Specifications for the ADT List Redefining the Specifications Using the ADT List Using a List Is Like Using a Vending.
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 8: Recursion Presentation slides for Java Software Solutions for AP* Computer Science 3rd.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
In some cases, the waste generated by the production of material at a facility must be disposed of at special waste disposal locations. We need to identify.
Recursion Chapter 11. How it works “A recursive computation solves a problem by using the solution of the same problem with simpler inputs” Big Java,
Chapter 8: Functions of Several Variables
Chapter 8 Systems of Linear Equations in Two Variables Section 8.3.
Exercise 1 Content –Covers chapters 1-4 Chapter 1 (read) Chapter 2 (important for the exercise, 2.6 comes later) Chapter 3 (especially 3.1, 3.2, 3.5) Chapter.
Starter Recall: In a previous lesson, we learned the “change of base” method for solving exponential equations. Try a few…Solve for x. (a) (b) (c)
South Dakota Library Network Remote ILL Workflow Renewals / Messages South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD 57799
Chapter 6 – Continuous Probability Distribution Introduction A probability distribution is obtained when probability values are assigned to all possible.
Chapter 1 Connections to Algebra Review
7.2 Batch Processing All data are collected into groups and sorted into sequence before being processed together. Computer Studies Today Chapter.
Chapter 12 Rational Functions.
Use Absolute Value Functions & Transformations Part II
How to save files using SSU Apps Anywhere
An introduction to DSpace
Techniques for Finding Derivatives
اختر أي شخصية واجعلها تطير!
INFS 6225 Object Oriented Systems Analysis & Design
Warm Up Chapter 1.3 Wednesday, January 16, 2019
Chapter 9 Section 1.
CSCS-200 Data Structure and Algorithms
47: More Logarithms and Indices
The following slides contain repeats of information on earlier slides, shown without colour, so that they can be printed and photocopied. For most purposes.
Negative and Rational Indices all slides © Christine Crisp
INDICES AND LOGARITHMS
Exercise class 2.
Presentation transcript:

1 The Extended Example Chapter 5 Formal Specification using Z

2 Full definition of boarding operation The definition of the boarding and disembarking operations did not consider what what was to happen when the precondition of an operation was not fulfilled. To handle this we will include a variable reply of type RESPONSE for each operation. RESPONSE ::= OK | twoErrors | onBoard | full | notOnBoard The reply variable will indicate what is happening during an operation.

3 Full definition of boarding operation Either: p is not on board and the aircraft is not full and p gets included in onboard and reply is OK. OR p is on board and the aircraft is full and onboard is unchanged reply is twoErrors. OR p is on board and the aircraft is not full and onboard is unchanged reply is onBoard. OR p is not on board and the aircraft is full and onboard is unchanged reply is full.

4 Full definition of boarding operation p : PERSON, reply : RESPONSE (p onboard L # onboard < capacity L onboard’ = onboard U { p} L reply = OK) v (p onboard L # onboard = capacity L onboard’ = onboard L reply = twoErrors) v (p onboard L # onboard < capacity L onboard’ = onboard L reply = onBoard) v (p onboard L # onboard = capacity L onboard’ = onboard L reply = full)

5 Full definition of disembark operation Either: p is on board and p gets removed from onboard and reply is OK. OR p is not on board and onboard is unchanged reply is notOnBoard. p : PERSON, reply : RESPONSE (p onboard L onboard’ = onboard \ { p} L reply = OK) v (p onboard L onboard’ = onboard L reply = notOnBoard)

6 Recall from chapter 2 Certain people are registered as users of a computer system. At any given time, some of these users are logged in to the computer. There is a limit (unspecified) to the number of users logged in at any one time. All users are either staff users or customers.

7 Chapter 5 Exercise 1 Practice Referring to question 1 chapter 1, and its development in the exercises of chapter 3 (given on the previous slide), give full descriptions, including possible unfulfilled preconditions, in the manner of this chapter. 1. A suitable type for the response from any of the following operations. 2. The operation to register a new user. 3. The operation to remove a user. 4. The operation to log in. 5. The operation to log out.

8 Chapter 5 Solution Exercise 1 1. A suitable type for the response from any of the following operations. RESPONSE ::= OK | AlreadyAUser | NotAUser | LoggedIn | notLoggedIn

9 Chapter 5 Solution Exercise 2 2. The operation to register a new user. reply: RESPONSE, p:PERSON loggedIn’ = loggedIn L ((p users L users’ = users U {p} L reply = OK) v (p users L users’ = users reply = AlreadyAUser)