Powerpoint 2006 PRESENTATION The University of Auckland New Zealand Marsden Fund A PVS Approach to Verifying ORA-SS Data Models Scott Uk-Jin Lee 1, Gillian.

Slides:



Advertisements
Similar presentations
Developing ER-Diagram
Advertisements

Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
CS 440 Database Management Systems Lecture 4: Constraints, Schema Design.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Ch5: ER Diagrams - Part 1 Much of the material presented in these slides was developed by Dr. Ramon Lawrence at the University of Iowa.
CS 355 – Programming Languages
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
The Relational Model System Development Life Cycle Normalisation
Modeling the Data: Conceptual and Logical Data Modeling
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Chapter 3: Relational Model
1–1 The E-R Model Prof. Sin-Min Lee Department of Computer Science.
Describing Syntax and Semantics
CS 405G: Introduction to Database Systems Lecture 4: Relational Model Instructor: Chen Qian.
1 The ORA-SS Approach for Designing Semistructured Databases Xiaoying Wu, Tok Wang Ling, Mong Li Lee National University of Singapore Gillian Dobbie University.
Tok Wang Ling1 Mong Li Lee1 Gillian Dobbie2
ICOM 5016 – Introduction to Database Systems Lecture 4 Dr. Manuel Rodriguez Department of Electrical and Computer Engineering University of Puerto Rico,
Dr. Mohamed Osman Hegaz1 Conceptual data base design: The conceptual models: The Entity Relationship Model.
1 Data Modeling : ER Model Lecture Why We Model  We build models of complex systems because we cannot comprehend any such system in its entirety.
1 Maintaining Semantics in the Design of Valid and Reversible SemiStructured Views Yabing Chen, Tok Wang Ling, Mong Li Lee Department of Computer Science.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Database Systems Lecture # 7 8 th Feb, Conceptual and Logical Design Person buys Product name pricenamessn Conceptual Model: Relational Model: (plus.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
ICOM 5016 – Introduction to Database Systems Lecture 5b Dr. Manuel Rodriguez Department of Electrical and Computer Engineering University of Puerto Rico,
Dimitrios Skoutas Alkis Simitsis
Data Integration by Bi-Directional Schema Transformation Rules Data Integration by Bi-Directional Schema Transformation Rules By Peter McBrien and Alexandria.
Functional Dependencies and Normalization for Relational Databases.
1 Chapter 1 Introduction. 2 Introduction n Definition A database management system (DBMS) is a general-purpose software system that facilitates the process.
1.1 CAS CS 460/660 Relational Model. 1.2 Review E/R Model: Entities, relationships, attributes Cardinalities: 1:1, 1:n, m:1, m:n Keys: superkeys, candidate.
RRXS Redundancy reducing XML storage in relations O. MERT ERKUŞ A. ONUR DOĞUÇ
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com ICOM 5016 – Introduction.
Logical Database Design (1 of 3) John Ortiz Lecture 6Logical Database Design (1)2 Introduction  The logical design is a process of refining DB schema.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
Chapter 9 Logical Database Design : Mapping ER Model To Tables.
Announcements Reading for Monday –4.6 Homework 3 – Due 9/29.
Chapter 2 Introduction to Relational Model. Example of a Relation attributes (or columns) tuples (or rows) Introduction to Relational Model 2.
Chapter 2: Intro to Relational Model. 2.2 Example of a Relation attributes (or columns) tuples (or rows)
CS6133 Software Specification and Verification
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
CS34311 The Relational Model. cs34312 Why Relational Model? Currently the most widely used Vendors: Oracle, Microsoft, IBM Older models still used IBM’s.
April 20022CS3X1 Database Design Normalisation (1) John Wordsworth Department of Computer Science The University of Reading Room.
Faithful mapping of model classes to mathematical structures Ádám Darvas ETH Zürich Switzerland Peter Müller Microsoft Research Redmond, WA, USA SAVCBS.
Chapter 2: Entity-Relationship Model. 3.2 Chapter 2: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram Design Issues Weak Entity.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
1 Storing and Maintaining Semistructured Data Efficiently in an Object- Relational Database Mo Yuanying and Ling Tok Wang.
Al-Imam University Girls Education Center Collage of Computer Science 1 st Semester, 1432/1433H Chapter 10_part 1 Functional Dependencies and Normalization.
IMS 4212: Normalization 1 Dr. Lawrence West, Management Dept., University of Central Florida Normalization—Topics Functional Dependency.
The Relational Model Lecture #2 Monday 21 st October 2001.
LECTURE TWO Introduction to Databases: Data models Relational database concepts Introduction to DDL & DML.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
1 CS122A: Introduction to Data Management Lecture #4 (E-R  Relational Translation) Instructor: Chen Li.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 2: Intro to Relational.
Chapter 14 Functional Dependencies and Normalization Informal Design Guidelines for Relational Databases –Semantics of the Relation Attributes –Redundant.
Wenyue Du, Mong Li Lee, Tok Wang Ling Department of Computer Science School of Computing National University of Singapore {duwenyue, leeml,
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Conceptual Modeling for XML Data
COP Introduction to Database Structures
Data Modeling Using the ERD
Entity-Relationship Model
The Relational Model.
Chapter 1: Introduction
Conceptual data modeling
Translation of ER-diagram into Relational Schema
The Entity-Relationship Model
Entity Relationship Diagrams
02 - The Relational Database Model
Chapter 7: Entity-Relationship Model
Presentation transcript:

Powerpoint 2006 PRESENTATION The University of Auckland New Zealand Marsden Fund A PVS Approach to Verifying ORA-SS Data Models Scott Uk-Jin Lee 1, Gillian Dobbie 1, Jing Sun 1, Lindsay Groves 2 1 The University of Auckland 2 Victoria University of Wellington New Zealand

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Outline Introduction –Motivation –ORA-SS –PVS –Objectives =Verification criteria for ORA-SS diagrams =Formal semantics of ORA-SS diagram concepts =Formal verification of ORA-SS schema and instance diagrams =Conclusion and future works

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Motivation Why do we want a formal semantic and verification for semistructured data ? =Increase in the usage of semistructured data has lead to the developments of various database systems for semistructured data =Database systems for semistructured data must optimize storage and utilize the data effectively while ensuring consistency of the data =For the reasons above, algorithms and process that transforms data/schema for semistructured data has been developed =Requires verification for the developed algorithms or processes to prove that they ensure the consistency of the data after the transformation

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Object-Relationship-Attribute model for Semistructured data (ORA-SS) department home course student tutor hostel sh, 2, 1:1, 1:m dc, 2, 1:m, 1:1 cst, 3, 1:1, 1:m ct, 2, 1:m, 1:m cs, 2, 1:m, 1:8 tNo tName degree address hName roomNo deptName feedback title lab exam Venue lecture Theatre code Dept Prefix grade sNo sName netID cs course No Object Class Relatinoship Type Attribute Reference

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Prototype Verification System (PVS) Specification and verification system developed by SRI (Stanford Research Institute) =Research prototype: evolving and improving continuously =PVS provides highly expressive and natural specifications =PVS contains type checkers, built-in theories and theorem provers used for verification =Many applications have adopted PVS to provide formal verification support to their system properties

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Objectives Semistructured data concept Schema for application e.g.) XML schema Instance for application e.g.) XML verify 1.Describe verification criteria for schema and instance of semistructured data using ORA-SS 2.Formally specify and verify the semantics of ORA-SS using PVS

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand ORA-SS Verification Criteria department home course student tutor hostel sh, 2, 1:1, 1:m dc, 2, 1:m, 1:1 cst, 3, 1:1, 1:m ct, 2, 1:m, 1:m cs,, 1:m, 1:8 tNo tName degree address hName roomNo deptName feedback title lab exam Venue lecture Theatre code Dept Prefix grade sNo sName netID cs course No 3 cs s1 … … 3 Long Dr. Orakei 77 s1 … …

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand ORA-SS Schema Verification Criteria ORA-SS Schema Verification Criteria: =In a relationship type, the child object class must be related to either another object class or to a relationship type =A disjunctive relationship type must have two or more child object classes. =A disjunctive or composite attribute must have two or more sub-attributes =An object class can reference one object class only, but an object class can be referenced by multiple object classes ORA-SS Instance Verification Criteria: =Relationship instances must conform to the specified participation constraints =The objects in a relationship instance should be an instance of the object classes in the relationship types =Attributes must conform to the specified cardinality constraints

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand General Structure of Formal Semantics and Verification of Semistructured data ORA-SS Schema DiagramORA-SS Instance Diagram Formal Specification of ORA-SS Data Formal Specification of ORA-SS Schema Formal Specification of ORA-SS Concepts Formal Semantics of ORA-SS represent & verify verify

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Formal Semantics of ORA-SS Basic Type Basic types used in the ORA-SS has been identified. Instance of Object Class Object instance function takes in an object class as argument and returns a set of objects that refers to all the instances of the object class. The axiom of the function defines that any two different object classes should have different set of objects as its instances. OC: TYPE+ O: TYPE+ ATT: TYPE+ ATTVALUE: TYPE+ objInstance(oc): set[O] objInstance_Ax: AXIOM FORALL(oc1,oc2:OC): oc1/=oc2 IMPLIES disjoint?(objInstance(oc1), objInstance(oc2))

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Formal Semantics of ORA-SS Relationship Type Relationship type is defined as a list of finite sets of object classes with constraints of ‘no_cycle_oc’ function that disallows repetition of object classes in a relationship. The Axiom of the relationship describes that object classes can be related to other object classes as well as to other relationships. no_cycle_oc(loc): RECURSIVE bool = CASES loc OF null: TRUE, cons(ocs, subloc): (FORALL(subocs: finite_set[OC]): member(subocs, subloc) => disjoint?(ocs, subocs)) AND no_cycle_oc(subloc) ENDCASES MEASURE length(loc) Relationship: TYPE = {ocsList: list[finite_set[OC]] | (ocsList /= null) AND (length(ocsList) > 1) AND (no_cycle_oc(ocsList))} Relationship_Ax: AXIOM FORALL(rel: Relationship): (length(rel) > 2) => (EXISTS(subRel: Relationship): subRel = cdr(rel))

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand PVS Representation of ORA-SS Schema cs: Relationship = cons(singleton(student), cons(singleton(course), null)) csDegree: CONJECTURE Degree(dc) = 3 csConstraint_Ax: AXIOM parentConstraints(cs) = (1, many) AND childConstraints(cs) = (1, 8) … examVenueSet: set[ATT] = {a: ATT | a = lectureTheatre OR a = lab} examVenueDisj: DisjunctiveAtt = (examVenue, examVenueSet) courseObjAtt2: ObjAttribute = (course, examVenue) courseObjAtt3: ObjAttribute = (course, title) … studentObjAtt1: ObjAttribute = (student, sNo) studentCandKey1: CandidateKey = (student, sNo) studentPrimKey1: PrimaryKey = (student, sNo) studentObjAtt2: ObjAttribute = (student, sName) studentPrimKey2: PrimaryKey = (student, sName) csRelAtt: RelAttribute = (cs, grade) csRelAtt: RelAttribute = (cs, netID) studentCandKey3: CandidateKey = (cs, netID) … tutorRef_Ax: AXIOM reference(tutor4student) = tutor course student cs, 3, 1:m, 1:8 title lab exam Venue lecture Theatre cs netID cs sName sNo grade

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Formal Verification of ORA-SS Schema Relationship having candidate key is verified by type checker The error message indicates that candidate key ‘netID’ is an invalid representation. This error can be immediately picked up by the PVS type checker, since the defined PVS semantics for candidate key only allows objects to have a candidate key. Incompatible types for cs Found: orass.Relationship Expected: orass.OC | = 3 Incorrect degree is verified by theorem prover PVS theorem prover results in an improvable state This shows that the definition of cs degree is incorrect unless 2 = 3 clause is proved. Thus the represented degree for relationship ‘cs’ is incorrect since 2 can never be 3. course student cs, 3, 1:m, 1:8 title lab exam Venue lecture Theatre cs netID cs sName sNo grade

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Formal Verification of ORA-SS Schema Incorrect primary key is verified by theorem prover PVS theorem prover results in an improvable state, when unproved Type Correctness Condition (TCC) generated for incorrect primary key is verified. This shows that definition of ‘sName’ being a ‘PrimaryKey’ is only true if ‘sName’ is a candidate key of ‘student’. But there is no axiom or specification, stating ‘sName’ as a candidate key of ‘student’. Thus the primary key definition of ‘sName’ is verified to be incorrect. student cs netID cs sName sNo grade

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Conclusion Defined criteria for verifying the ORA-SS data model both at the schema and instance levels =Represented semantics of semistructured data in PVS formal languages =Enhanced utilization of ORA-SS data modeling language =Provided semi-automated verification for semistructured data with guided proof steps =Demonstrated that inconsistencies can be recognized both by a type checker and theorem prover

Powerpoint 2006 SOFTWARE ENGINEERING The University of Auckland New Zealand Future works Derive basic transformation operators that are used to transform ORA-SS schemas =Provide formal specification and verification of the basic transformation operators =Provide verification for transformed schemas of semistructured data =Provide verification for algorithms and processes that transformed schemas of semistructured data such as normalization and view

Powerpoint 2006 PRESENTATION The University of Auckland New Zealand Marsden Fund Thank you !