Metamodels for Object Role Modeling Hongyan Song March 2005.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Database Systems: Design, Implementation, and Management Tenth Edition
Entity Relationship (ER) Modeling
Analysis Modeling.
1 CONCEPTUAL SCHEMA DESIGN PROCESS Information Processing and Technology, 2001 Yr 12 IPT.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
1 Modeling Reactive Behavior in ORM © 2003, T. A. Halpin & Gerd Wagner Terry Halpin Northface University Salt Lake City, USA.
4 1 Chapter 4 Entity Relationship (ER) Modeling Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Chapter 6 Advanced Data Modelling
Object-Oriented Analysis and Design
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
Chapter 3: Modeling Data in the Organization
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Fundamentals, Design, and Implementation, 9/e COS 346 Day 2.
1 Conceptual Modeling of Topic Maps with ORM Versus UML Are D. Gulbrandsen The XML group, Center for Information Technology Services, University of Oslo,
Database Systems: Design, Implementation, and Management Tenth Edition
Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
1 CONCEPTUAL SCHEMA DESIGN PROCESS Information Processing and Technology, 2001 Yr 12 IPT.
1 NORMA Lab. 4 File: NORMA_Lab4.ppt. Author: T. Halpin. Last updated: 2011 September 6 Revision: Adding Value Constraints, Set-comparison Constraints Adding.
OBJECT-ROLE MODELING (ORM/NIAM)
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
1 Introduction to modeling Relational modelling Slides for this part are based on Chapters 11 from Halpin, T. & Morgan, T. 2008, Information Modeling and.
1 Model Driven Development with ORM 2 and NORMA © 2007 T. Halpin & Neumont University Terry Halpin Neumont University
DAT375 Modeling Business Requirements using Object Role Modeling (Part 1) LeRoy Tuttle, Jr. Program Manager Microsoft.
1 CONCEPTUAL SCHEMA DESIGN PROCESS Information Processing and Technology, 2001 Yr 12 IPT.
Database Systems: Design, Implementation, and Management Ninth Edition
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 2/1 Copyright © 2004 Please……. No Food Or Drink in the class.
Introduction to MDA (Model Driven Architecture) CYT.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Agenda Introduction Overview of White-box testing Basis path testing
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
1 Introduction to modeling ER modelling Slides for this part are based on Chapters 8 from Halpin, T. & Morgan, T. 2008, Information Modeling and Relational.
Database Systems: Design, Implementation, and Management Ninth Edition Chapter 4 Entity Relationship (ER) Modeling.
1 Introduction to modeling Object-role modelling (ORM) Slides for this part are based on Chapters 3-7 from Halpin, T. & Morgan, T. 2008, Information Modeling.
DAT376 Modeling Business Requirements using Object Role Modeling (Part 2) LeRoy Tuttle, Jr. Program Manager Microsoft.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
1 NORMA Lab. 3 File NORMA_Lab3.ppt. Author: T. Halpin. Last updated 2009 May 25 Revision: Unary and Binary fact types Adding Pages Objectification Independent.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Introduction to modeling
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
Department of Mathematics Computer and Information Science1 CS 351: Database Management Systems Christopher I. G. Lanclos Chapter 4.
1 Reference Scheme Reduction on Subtypes in ORM Andy Carver and Terry Halpin INTI International University, Malaysia
The interplay of mandatory role and set-comparison constraints Dr. Peter Bollen School of Business and Economics Maastricht University, the Netherlands.
Data Modeling Using the Entity- Relationship (ER) Model
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Logical Database Design and the Rational Model
The Enhanced Entity- Relationship (EER) Model
Chapter 7: Entity-Relationship Model
Outline of the ER Model By S.Saha
Entity-Relationship Modeling
Chapter 3 The Relational Database Model
NORMA Lab. 4 Revision: Adding Value Constraints, Set-comparison Constraints Adding Frequency Constraints Adding Ring Constraints Adding Subtyping Adding.
Module 8 – Database Design Using the E-R Model
Chapter 4 Entity Relationship (ER) Modeling
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Chapter 20 Object-Oriented Analysis and Design
Review of Week 1 Database DBMS File systems vs. database systems
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Introduction to modeling
Entity Relationship (ER) Modeling
Chapter 6b: Database Design Using the E-R Model
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Presentation transcript:

Metamodels for Object Role Modeling Hongyan Song March 2005

References [1] Chapter II - Two Meta-Models for Object-Role Modeling, Information Modeling Methods and Methodologies by John Krogstie, Terry Halpin and Keng Siau, Idea Group Publishing © 2005 [2] Modeling Approaches, Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design by Terry Halpin, Morgan Kaufmann Publishers © 2001 [3] Chapter II - Comparing Metamodels for ER, ORM and UML Data Models, Advanced Topics in Database Research, Volume 3 by Keng Siau (ed), Idea Group Publishing © 2004 [4] Halpin, T.A. (1998). ORM/NIAM object-role modeling. In P. Bernus, K. Mertins, & G. Schmidt (Eds.), Handbook on information systems architectures (pp ). Berlin: Springer-Verlag. Available online at:

Outline Introduction of ORM Two metamodels of ORM Model A purely written in ORM Model B written in ORM reusing some UML constructs Transform metamodel in ORM to MOF

Why Metamodel ORM A better way than ER and UML for conceptual information analysis A possible standard for business rules expression within the MDA architecture, and for use in ontology standards Mature technology (30 years history), supported by commercial industry tools (such as Visio Enterpise Architect), and Required for Microsoft Architect Certificate test Support these initiatives and the interchange of ORM model data between different software tools

What is ORM Definition A fact-oriented method for modeling an information system at the conceptual level It pictures the world in terms of objects(entities or values) that play roles(parts in relationships) Working Principles Whatever data use case, domain experts familiar with their meanings should be able to verbalize their information content in terms of natural-language sentences Modelers transform that informal verbalization into a formal yet natural verbalization that is clearly understood by the domain expert Sample data as fact instances are then abstracted to fact types. Constraints and perhaps derivation rules are then added and themselves validated by verbalization and sample fact populations

ORM Example The top row may be read by a domain expert as: Room 20 at 9 a.m. Monday isbooked for the activity ‘VMC’ which has the name ‘VisioModeler class’ A modeler may transform it into two elementary facts: the Room numbered ‘20’ at the Time with day-hour-code ‘Mon 9 a.m.’ is booked for the Activity coded ‘VMC’; the Activity coded ‘VMC’ has the ActivityName ‘VisioModeler class’ Once the domain expert agrees with this verbalization, fact types are abstracted from the fact instances, and an ORM diagram with population of sample data will be drawn (a) A Simple Room Scheduling Use Case (b) A ORM Diagram for Room Scheduling Figure from Ref[2]

Example Explanation Entity types are shown as named ellipses Value types are shown as named, dashed ellipses (e.g., ActivityName) A role is a part played in an association, and is depicted as a box An association is shown as a named sequence of one or more role boxes, each connected to the object type that plays it Entity types are shown as named ellipses Value types are shown as named, dashed ellipses (e.g., ActivityName) A role is a part played in an association, and is depicted as a box An association is shown as a named sequence of one or more role boxes, each connected to the object type that plays it A predicate is a sentence with object holes in it A fact table may be added with a sample population to help validate the constraints The arrow-tipped bars are internal uniqueness constraints, indicating which roles or role combinations must have unique entry A predicate is a sentence with object holes in it A fact table may be added with a sample population to help validate the constraints The arrow-tipped bars are internal uniqueness constraints, indicating which roles or role combinations must have unique entry A ORM Diagram for Room Scheduling Figure from Ref[2]

Features Attributes free, a ll facts are represented in terms of objects (entities or values) playing roles Leads to larger diagrams, has advantages including simplicity, stability, and ease of validation Associations of any arity, while ER only allows binary associations, and UML has no unary association Constraint primitives are orthogonal, and work properly with n- ary associations ORM schemas can be represented in either diagrammatic or textual form, and be easily understood and validated by domain experts ORM model can be transformed to ER or UML model manually or automatically

Where ORM fits in Compution Independent Model Platform Independent Model Platform Specific Model Ontology Layer Domain Layer Technology Layer (b) Three-layer model for Knowledge Representation (a) Model Driven Architecture Conceptual Level Logical Level Internal Level External Level (c) Four-level of Information System ORM Note: An ontology is a specification of a conceptualization an-ontology.html

Seven Steps for Conceptual Modeling 1. Transform familiar information examples into elementary facts, and apply quality checks 2. Draw the fact types, and apply a population check 3. Check for entity types that should be combined, and note any arithmetic derivations 4. Add uniqueness constraints, and check arity of fact types 5. Add mandatory role constraints, and check for logical derivations 6. Add value, set comparison, and subtyping constraints 7. Add other constraints and perform final checks

Metamodeling ORM Orm components need to be meta- modeled: Types, associations, instance data, and constraints Two Metamodels A metamodel using ORM itself B metamodel using ORM and UML

ORM Metamodel A – Main Types An object type is either an entity type or a value type Entity type is displayed as a solid named ellipse, and value type a dotted one A simple reference scheme may be abbreviated by reference mode in parentheses Subtyping relationships are depicted as solid arrows from subtype to supertype An object type either is primitive or is a subtype If subtypes collectively exhaust their supertype, this may be displayed as a circled dot. If subtypes are mutually exclusive, this may be displayed as a circled “X” An association may be objectified. For example, the meta-fact type ObjectType is a subtype of ObjectType is objectified as the entity type SubtypeConnection Main types in ORM meta-model A Figure from Ref[1]

ORM Metamodel B – Main Types NestedEntityType is treated as a subtype of both EntityType and FactType SubtypeConnection is inherited from Generalization in the UML meta-model Role is inherited from UML’s StructuralFeature Main types in ORM meta-model B Figure from Ref[1]

Metamodel A – Fact Type Reading A role is a part in an association and is depicted as a box The arity of an association is its number of roles An association is composed of a logical predicate and the object types that play the roles Predicates are displayed as sequences of role boxes, and have one or more readings depending on the order in which the roles are traversed. Fact Type Reading in meta-model A Figure from Ref[1]

Metamodel B – Fact Type Reading A predicate reading is treated as a sequence of reading parts, each of which is either a placeholder “...” or a phrase Fact Type reading in meta-model B Figure from Ref[1]

Metamodel A - Constraints Arrow-tipped bars over roles depict internal uniqueness constraints, indicating which roles or role combinations may have only unique entries. External uniqueness constraints apply to roles from different predicates and are depicted as a circled “u” A black dot depicts a mandatory constraint, indicating the role is mandatory for its object type A circled black dot is a disjunctive-mandatory (inclusive-or) constraint and applies to two or more roles ORM constraints in meta-model A Figure from Ref[1]

Constraints – continued Possible values for an object type may be specified as a value constraint in braces A frequency constraint restricts the number of times an entry may appear in any given population of a role or role sequence Set-comparison constraints may apply between compatible role-sequences, to constrain their populations, and are of three kinds: subset (depicted as a circled “  ”), equality (depicted as a circled “=”), and exclusion (depicted as a circled “×”)

Metamodel B - Constraints ORM constraints in meta-model B Figure from Ref[1]

Metamodel A – Instance Data Sample populations may be provided for object types (see top ternary) and fact types (see bottom ternary) The position indicates a row number of the reference table or fact table Modeling instances in meta-model A Figure from Ref[1]

Metamodel B – Instance Data Modeling instances in meta-model B Figure from Ref[1]

Metamodel - from ORM to MOF Transformations Intersection classes and binary associations are generated for nested, ternary, and higher predicates Binary predicates connecting entity types become associations connecting classes Binary predicates connecting entity types with value types become simple attributes Unary predicates become attributes of Boolean type

Mapping from ORM to MOF Table 1: Mappings of ORM meta-classes to MOF meta-classes ORM ConstructsMOF Constructs TypeClassifier Object TypeClassifier (through Type) Entity TypeClassifier (through Object Type) Value TypeClassifier (through Object Type) Nested EntityClassifier (through Entity Type and Fact Type) RoleStructural Feature Subtype ConnectionGeneralization ReadingClassifier Reading PartStructural Feature PhraseStructural Feature (through Reading Part) Place HolderStructural Feature (through Reading Part) Value ListEnumeration Value List PartEnumeration Literal Value LiteralEnumeration Literal (through Value List Part) Value RangeEnumeration Literal (through Value List Part) Unique ConstraintConstraint Mandatory ConstraintConstraint Frequency ConstraintConstraint Set ConstraintConstraint Ring ConstraintConstraint ExampleInstance Example ItemAttribute Link

Metamodel in MOF – Types The abstract meta-class “Type” was generated, from which both “Object Type” and “Fact Type” inherit The “Type” meta-class inherits from the UML “Classifier” “Role” inherits from the UML Structural Feature Object types and Fact types Figure from Ref[1]

Metamodel in MOF – Fact Type Reading Fact Type Reading Figure from Ref[1]

Metamodel in MOF – Instance Data Sample Populations Figure from Ref[1]

Metamodel in MOF - Constraints With the exception of “Value List,” all ORM constraints inherit from the UML “Constraint” Constrants Figure from Ref[1]

Summary Introduction of ORM What’s ORM An ORM example Seven steps for Conceptual Schema Design Procedure (CSDP) Two metamodels of ORM Metamodel purely written in ORM Metamodel written in ORM and UML Transform metamodel expressed in ORM to MOF