Schemas. Nature of a schema: scope of names in a Z specification Names that are not confined inside schemas. Need to declare and called as global declaration.

Slides:



Advertisements
Similar presentations
Classes & Objects INTRODUCTION : This chapter introduces classes ; explains data hiding, abstraction & encapsulation and shows how a class implements these.
Advertisements

Relational Calculus and Datalog
Z -Toolkit Z specification language is based on formal system: –Propositional and predicate calculus –Set theory –Relations and –Functions Thus Z offers.
1 DATA ABSTRACTION: USER DEFINED TYPES AND THE CLASS.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
RDF Schemata (with apologies to the W3C, the plural is not ‘schemas’) CSCI 7818 – Web Technologies 14 November 2001 Van Lepthien.
Relational Algebra Dashiell Fryer. What is Relational Algebra? Relational algebra is a procedural query language. Relational algebra is a procedural query.
CS 501: Software Engineering Fall 2000 Lecture 10 Formal Specification.
Definitions declaration abbreviation axiom free types schemas.
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
1 Relational Algebra & Calculus. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
Formal Methods: Z CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 18, 2003.
EECS 20 Chapter 21 Defining Signals and Systems Last time we Introduced mathematical notation to help define sets Learned the names of commonly used sets.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 10 Requirements 4.
Definitions. Given sets Given sets : examples To introduce declaration of a set of student ; [ student ] In a library management system, the type Book.
Discussion #25 1/13 Discussion #25 Set Topics & Applications.
Case Study Oil Tanker Terminal Control System. Specification Tanker is the set of tankers Berth is the set of berths The given set is [Tanker, Berth]
Promotion. Promotion is a structuring technique that may be used whenever the state of a system contains multiple, indexed instances of the same component.
The Schema Calculus. Schemas A notation specifying both system states and operations One way: S = [ declarations | predicate ] Means: The state components.
Schema Operators. State We can use the language of schemas to describe the state of a system, and operations upon it. Different aspects of the state --
Sunday, June 28, 2015 Abdelali ZAHI : FALL 2003 : XML Schemas XML Schemas Presented By : Abdelali ZAHI Instructor : Dr H.Haddouti.
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
1.2 – Open Sentences and Graphs
Functions. A function between two sets is a relation between those sets that has a special property, namely that each member of the from-set is related.
KEYWORD SEARCH. HOW TO FIND BOOK VIA WEBOPAC KEYWOOD SEARCH Click here to begin.
10 May 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Formal.
Sets.
The Z Notation: relations and functions Compiled By Tariq R. Soomro, Ph.D. Reference: Text Book Week-7.
22 March 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Formal.
ECSE Software Engineering 1I HO 3 © HY 2012 Lecture 3 Formal Methods through an Introduction to Z Formal Methods A notation for formal specification.
Logic Specification and Z Schema 3K04 McMaster. Basic Logic Operators Logical negation ( ¬ ) Logical conjunction ( Λ or & ) Logical disjunction ( V or.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Formal Methods and Models
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 10 Techniques for Requirements Definition and Specification II.
Database Management System Lecture 4 The Relational Database Model- Introduction, Relational Database Concepts.
Model-Based Specification CIS 376 Bruce R. Maxim UM-Dearborn.
Basics of Functions.
Second-Order Functions and Theorems in ACL2 Alessandro Coglio Workshop 2015 Kestrel Institute.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Formal Specification and Z CS3300 Fall Formal Specification Produces a mathematical model Typically associated with analysis Differs from design.
1 Relational Algebra & Calculus Chapter 4, Part A (Relational Algebra)
Tutorial 13 Validating Documents with Schemas
ECSE Software Engineering 1I HO 4 © HY 2012 Lecture 4 Formal Methods A Library System Specification (Continued) From Specification to Design.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 21 A First Course in Database Systems.
How to renew the loan period of a borrowed book? Click to continue.
ECE 103 Engineering Programming Chapter 31 C Scopes Herbert G. Mayer, PSU CS Status 8/1/2015 Initial content copied verbatim from ECE 103 material developed.
Systems Analysis & Design
1 Requirements Specification and Verification Using Z A. Rasoolzadegan July, 2009 AUT CEIT.
1.1 – SETS AND SYMBOLS. Goals SWBAT understand basic set notation and set symbols SWBAT solve simple sentences with a given domain SWBAT graph sets of.
Test1 Here some text. Text 2 More text.
Formal Modeling Concepts
(State) Model-Based Approaches II Software Specification Lecture 36
Function There are two types of Function User Defined Function
Model the non-negative even integers
[type text here] [type text here] [type text here] [type text here]
Your text here Your text here Your text here Your text here Your text here Pooky.Pandas.
Appendix C: Advanced Normalization Theory
Your text here Your text here Your text here Your text here
[type text here] [type text here] [type text here] [type text here]
E SV Library Electronic Resource.
Relations, Domain and Range
The Relational Model L2DB.
Appendix C: Advanced Relational Database Design
Relational Calculus Chapter 4, Part B 7/1/2019.
Main Title Here Topic 2 Topic 3 Topic 4 Topic 5
Database Design More entity-relationship modelling
Data base.
Scope Rules.
CS 501: Software Engineering Fall 1999
Presentation transcript:

Schemas

Nature of a schema: scope of names in a Z specification Names that are not confined inside schemas. Need to declare and called as global declaration Names introduced are called global variables - names of given sets - names introduced by syntactic equivalence - names introduced by axiomatic description - names introduced by generic definition - names of data types - names of schemas

A schema contains a declaration part and a predicate part Declaration part declares some local declarations Predicate part expresses some requirements about values of the variables The name of a schema will be used elsewhere in the document to refer to the mathematical text

example If userid and Password are given sets Time_sharing password: Userid ↛ Password logged_on : ℙ Userid logged_on  dom password Res ≙ [ w: Title ↛ seq Person |  sp : ran w sp ≠ ‹›]

Declaration part Introduces some names and establishes their types To establish the type of the names we can use any names of sets that are globally declared These sets can be used in any of the constructions that yield set values such as - power set - union, intersection etc - cartesian product - relation, function etc - domain, range, etc

example Library on_loan, on-shelves, books : ℙ Book borrowers : ℙ Person lent_to : Book ↛ Person on_loan, on_shelves, books, and borrowers are declared to be set values, but they are not known in the declaration part of this schema, and cannot be used here.

example The notions that - the books that are associated with borrowers in lent_to are exactly the books in on_loan, and - the persons associated with the books in lent_to must all be members of borrowers cannot be formalized by declaring lent_to : on_loan  borrowers but must be formalized in the predicate part

Predicate part Defines conditions that constrain the values declared in the declaration part The names used in the construction of predicates must be either: - globally declared, or - declared in the declaration part of the schema

example Library on_loan, on-shelves, books : ℙ Book borrowers : ℙ Person lent_to : Book ↛ Person on_loan = dom lent_to ran lent_to  borrowers on_loan  on-shelves = books on_loan  on-shelves = 

Example : informal explanation The books on loan are exactly those for which we have a record of a borrower Books can only be recorded as having been lent to known borrowers Every book belonging to the library is either on loan or on the shelves No book can be recorded as being on loan and on the shelves