DataTypes Nigel Davis 20190316.

Slides:



Advertisements
Similar presentations
Semantics Static semantics Dynamic semantics attribute grammars
Advertisements

COMP 521 F10 Final Exam Review. 1. Which of the following is defined as a property or description of an entity. A. RelationB. Attribute C. DomainD. Selection.
SEG4110 – Advanced Software Design and Reengineering TOPIC D Metamodelling.
Copyright © Cengage Learning. All rights reserved.
Activities for ISO/TC series standards in China Jiang Jingtong National Geomatics Center of China
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 The Basic (Flat) Relational Model.
1 Relational Model. 2 Relational Database: Definitions  Relational database: a set of relations  Relation: made up of 2 parts: – Instance : a table,
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Relational Algebra Chapter 4, Part A.
CS 405G: Introduction to Database Systems Lecture 4: Relational Model Instructor: Chen Qian.
Rutgers University Relational Algebra 198:541 Rutgers University.
Relational Algebra Chapter 4 - part I. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
Meaning and Language Part 1.
CSCD343- Introduction to databases- A. Vaisman1 Relational Algebra.
Relational Data Model. A Brief History of Data Models  1950s file systems, punched cards  1960s hierarchical  IMS  1970s network  CODASYL, IDMS 
Neminath Simmachandran
BPJ444: Business Programming Using Java Classes and Objects Tim McKenna
Chapter 9 Integrity. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.9-2 Topics in this Chapter Predicates and Propositions Internal vs.
THE RELATIONAL DATA MODEL CHAPTER 3 (6/E) CHAPTER 5 (5/E) 1.
Lecture 7 Integrity & Veracity UFCE8K-15-M: Data Management.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Lecture Set 11 Creating and Using Classes Part B – Class Features – Constructors, Methods, Fields, Properties, Shared Data.
Databases. Not All Tables Are Created Equal Spreadsheets use tables to store data and formulas associated with that data The “meaning” of data is implicit.
1 The Relational Model. 2 Why Study the Relational Model? v Most widely used model. – Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. v “Legacy.
FALL 2004CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Relational Algebra.
1 OCL The Role of OCL in UML. 2 רשימת הנושאים  מבוא  מרכיבי השפה  דוגמאות  מקורות.
ICS 321 Fall 2011 The Relational Model of Data (i) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 8/29/20111Lipyeow.
XML – Part III. The Element … This type of element either has the element content or the mixed content (child element and data) The attributes of the.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
1 Relational Algebra Chapter 4, Sections 4.1 – 4.2.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Chapter 10 Defining Classes. The Internal Structure of Classes and Objects Object – collection of data and operations, in which the data can be accessed.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Database Management Systems Chapter 4 Relational Algebra.
CSCD34-Data Management Systems - A. Vaisman1 Relational Algebra.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Ontologies Reasoning Components Agents Simulations Architectural Modeling with UML2 Composite Structures and Components Jacques Robin.
CSE314 Database Systems Lecture 3 The Relational Data Model and Relational Database Constraints Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
Database Management Systems, R. Ramakrishnan1 Relational Algebra Module 3, Lecture 1.
Instructor: Jinze Liu Fall Phases of Database Design u Conceptual design begins with the collection of requirements and results needed from the.
Chapter 16 UML Class Diagrams.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Interpreting the Object Constraint Presented by: Ed Kausmeyer.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Relational Algebra Chapter 4, Part A.
CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
Modeling with UML – Class Diagrams
Knowledge Representation Techniques
Design by Contract Jim Fawcett CSE784 – Software Studio
Design by Contract Jim Fawcett CSE784 – Software Studio
Chapter 16 UML Class Diagrams.
Chapter 2: Relational Model
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
XML QUESTIONS AND ANSWERS
COMP205 IMPERATIVE LANGUAGES
Today’s Objectives Define the Problem Domain
Business Process Measures
Relational Algebra Chapter 4, Part A
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
Relational Algebra.
Defining Classes and Methods
What would be our focus ? Geometry deals with Declarative or “What is” knowledge. Computer Science deals with Imperative or “How to” knowledge 12/25/2018.
Group Members Muhammad Zeeshan ( 16) Adnan Akhtar (4)
The aim of education is to teach students how to think rather than what to think. Sets The set is the fundamental discrete structure on which all other.
What would be our focus ? Geometry deals with Declarative or “What is” knowledge. Computer Science deals with Imperative or “How to” knowledge 2/23/2019.
Java Programming Language
Object Constraint Language (OCL)
Introduction to Object-Oriented Software Development
Entity vs Datatype.
Spec model application
Presentation transcript:

DataTypes Nigel Davis 20190316

Metamodel

UML Superstructure Specification V2.2 7.3 DataType (on page 77) Description A data type is a type whose instances are identified only by their value. A DataType may contain attributes to support the modeling of structured data types. A typical use of data types would be to represent programming language primitive types or CORBA basic types. For example, integer and string types are often treated as data types. Associations ownedAttribute: Property[*] The Attributes owned by the DataType. This is an ordered collection. Subsets Classifier::attribute and Element::ownedMember … Semantics A data type is a special kind of classifier, similar to a class. It differs from a class in that instances of a data type are identified only by their value. All copies of an instance of a data type and any instances of that data type with the same value are considered to be the same instance. Instances of a data type that have attributes (i.e., is a structured data type) are considered to be the same if the structure is the same and the values of the corresponding attributes are the same. If a data type has attributes, then instances of that data type will contain attribute values matching the attributes. From Classifier (on page 68) A classifier is a classification of instances, it describes a set of instances that have features in common. From Class (on page 65) The purpose of a class is to specify a classification of objects [Object is not defined in 7.3] [Unstated implication from DataType is that an instance of a Class is identified by some id rather than its values (but this appears to not be stated anywhere]

UML Superstructure Specification V2.2 7.3 Property (on page 122) Summary A property related to a classifier by ownedAttribute represents an attribute, and it may also represent an association end. It relates an instance of the class to a value or collection of values of the type of the attribute. Description Property represents a declared state of one or more instances in terms of a named relationship to a value or values. When a property is an attribute of a classifier, the value or values are related to the instance of the classifier by being held in slots of the instance. When a property is an association end, the value or values are related to the instance or instances at the other end(s) of the association (see semantics of Association). From Association on page 55 An association describes a set of tuples whose values refer to typed instances.

Working towards an interpretation A Class has a specific id attribute such that an instance (object) that conform to the class can be referred to by the value of the id attribute A DataType has no id attribute, or alternatively, an instance (object) that conforms to the DataType can only be referred to by all of its values together, i.e., its values are its identity PrimativeType (e.g., Boolean) is derived from DataType. An interpretation of this is that there are two distinct identities, TRUE and FALSE and that one instance of the DataType is Invariant TRUE and the other is Invariant FALSE. A Class that has an attribute that is a property of type Boolean can be considered as having a reference to a DataType of type Boolean An instance of that class essentially has a reference to an instance of the DataType where there are two candidate instance, one with the value TRUE and the other with the value FALSE. The reference itself has the value TRUE or the value FALSE as the DataType instance identity is all of its values For Integer etc. this derivation seems very strange. There is an invariant instance for every case of integer?? Etc?? Clearly, this would be ridiculous But for a moment, let’s go there… Let’s assume that there is an instance of the DataType String that is “Bob”. An instance of the class with the attribute that is the property of type String reference this, but to do so, the property value must be the value of the instance of the DataType and hence is value “Bob”. An interpretation of this is that all possible DataTypes do not need to be instantiate, in fact none are. The reference is to an invisible instance of DataType “Bob”. That two instances reference “Bob” is of no consequence. If the property is writeable, this is essentially changing the pointer…. So Bob  Bill is just a change of pointer to another invisible instance. The class instance must have the full value of the referenced item etc. Considering more complex DataTypes, the value in the instance is the full structured value of the DataType instance. This appears to lead to the usage in ONF/ITU-T that a DataType specifies a complex structure