Zinovy Diskin and Juergen Dingel Queen’s University Kingston, Ontario, Canada Mappings, maps and tables: Towards formal semantics for associations in UML.

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

1 CHAPTER 4 RELATIONAL ALGEBRA AND CALCULUS. 2 Introduction - We discuss here two mathematical formalisms which can be used as the basis for stating and.
RDF Schemata (with apologies to the W3C, the plural is not ‘schemas’) CSCI 7818 – Web Technologies 14 November 2001 Van Lepthien.
LTAG Semantics on the Derivation Tree Presented by Maria I. Tchalakova.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
System Concepts for Process Modeling  Process Concepts  Process Logic  Decomposition diagrams and data flow diagrams will prove very effective tools.
The Language of Theories Linking science directly to ‘meanings’
Essentials of class models. 2 A very simple class model In UML, a class is shown in a class diagram as a rectangle giving its name.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
MORE ON CLASS MODELS Lecture Outline Aggregation and composition Roles Navigability Qualified association Derived association Constraints Association.
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Meaningful Modeling: What’s the Semantics of “Semantics”? David Harel, Weizmann Institute of Science Bernhard Rumpe, Technische Universität Braunschweig.
Copyright © Cengage Learning. All rights reserved.
10 December, 2013 Katrin Heinze, Bundesbank CEN/WS XBRL CWA1: DPM Meta model CWA1Page 1.
The Z Notation: relations and functions Compiled By Tariq R. Soomro, Ph.D. Reference: Text Book Week-7.
Ch5: ER Diagrams - Part 2 Much of the material presented in these slides was developed by Dr. Ramon Lawrence at the University of Iowa.
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.
Signposting L 5 Ing. Jiří Šnajdar
Chapter 6.7 Determinants. In this chapter all matrices are square; for example: 1x1 (what is a 1x1 matrix, in fact?), 2x2, 3x3 Our goal is to introduce.
2002 October 10SFWR ENG 4G030 Translating from English into Mathematics SFWR ENG 4G Robert L. Baber.
1 Introduction to Modeling Languages Striving for Engineering Precision in Information Systems Jim Carpenter Bureau of Labor Statistics, and President,
Understanding Advanced UML Concepts Gerd Wagner
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
An Introduction to Software Architecture
Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 2/1 Copyright © 2004 Please……. No Food Or Drink in the class.
Managing multiple client systems and building a shared interoperability vision in the Health Sector Dennis Wollersheim Health Information Management.
1 On Interactions in the RM-ODP Guy Genilloud, Gonzalo Génova WODPEC’2005 Workshop on ODP for Enterprise Computing * Information Engineering Group Departamento.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Object Oriented Software Development
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Understanding and using patterns in software development EEL 6883 Software Engineering Vol. 1 Chapter 4 pp Presenter: Sorosh Olamaei.
Design Model Lecture p6 T120B pavasario sem.
The Humpty Dumpty theory of language
NEEDS VS WANTS. ‘Cheshire Puss,' she began, rather timidly, as she did not at all know whether it would like the name: however, it only grinned a little.
USING VIDEO TO THINK ABOUT WHAT THE MATH PRACTICES LOOK LIKE IN K-5 CLASSROOMS.
Pragmatics and Text Analysis Chapter 6.  concerned with the how meaning is communicated by the speaker (writer) and interpreted by the listener (reader)
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
Using OWL 2 For Product Modeling David Leal Caesar Systems April 2009 Henson Graves Lockheed Martin Aeronautics.
Presented by Kyumars Sheykh Esmaili Description Logics for Data Bases (DLHB,Chapter 16) Semantic Web Seminar.
The Relational Model Lecture #2 Monday 21 st October 2001.
November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (2) Standard Metamodel for Object Databases (2): Proposed Improvements.
1 Kyung Hee University Interaction Diagrams Spring 2001.
Expanding the Notion of Links DeRose, S.J. Expanding the Notion of Links. In Proceedings of Hypertext ‘89 (Nov. 5-8, Pittsburgh, PA). ACM, New York, 1989,
Of 24 lecture 11: ontology – mediation, merging & aligning.
UML (Unified Modeling Language)
SEMANTICS DEFINITION: Semantics is the study of MEANING in LANGUAGE Try to get yourself into the habit of careful thinking about your language and the.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Data Modeling Using the Entity- Relationship (ER) Model
COP Introduction to Database Structures
Logic.
Chapter 2 Sets and Functions.
Common MBSE Modeling Questions and How Ontology Helps
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
SysML v2 Formalism: Requirements & Benefits
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Business Process Measures
Scenario Integration via Higher-Order Graphs *)
Logics for Data and Knowledge Representation
IMAT5205 Systems Analysis and Design
Lecture 7: Introduction to Parsing (Syntax Analysis)
Understand and Use Object Oriented Methods
An Introduction to Software Architecture
1/16/2019 A metamodel independent framework for model transformation: Towards generic model management patterns in reverse engineering Zinovy Diskin and.
ECE 352 Digital System Fundamentals
Zinovy Diskin School of Computing, Queen’s University Kingston, Canada
DataTypes Nigel Davis
Presentation transcript:

Zinovy Diskin and Juergen Dingel Queen’s University Kingston, Ontario, Canada Mappings, maps and tables: Towards formal semantics for associations in UML 2 The speaker The UML 2.0 Semantics Project

UML Semantics Presentation Page 2 Why Associations:  Any UML model of practical interest is built upon the structural base specified by class diagrams. The latter are graphs of classes (nodes) and associations (edges).  “Associations are glue that integrate classes into a system” (Jim Rambaugh).  Metamodeling is based on class diagrams, thence, on asociations.  Hence, semantics of the association construct should be clear and precise. Does UML2 specification meet these requirements?

UML Semantics Presentation Page 3 UML2 Spec defines associations in sect  The 1 st sentence of sect : An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link.  Description section. An association specifies a semantic relationship that can occur between typed instances. It has at least two ends represented by properties, each of which is connected to the type of the end. More than one end of the association may have the same type. An end property of an association that is owned by an end class or that is a navigable owned end of the association indicates that the association is navigable from the opposite ends, otherwise the association is not navigable from the opposite ends.  Semantics section. For an association with N ends, choose any N-1 ends and associate specific instances with those ends. Then the collection of links of the association that refer to these specific instances will identify a collection of instances at the other end. The multiplicity of the association end constrains the size of this collection.

UML Semantics Presentation Page 4 UML metamodel of Associations

UML Semantics Presentation Page 5 UML2 metamodel of Association, processed { subsets memberEnd} { subsets ownedEnd} There are some things so serious you have to laugh at them. -- Niels Bohr

UML Semantics Presentation Page 6 A model of the Association Problem… 1 2 3

UML Semantics Presentation Page 7 …and a model of solution: Consider an appropriate model and different views to it Net surface (Cylinder 1) Three views of the model Side surface (Cylinder 2) 3D-space (Cylinder 3)

UML Semantics Presentation Page 8 Our plan The goal is  to build a formal framework where the complex notion of association can be disassembled into elementary blocks;  compose from these blocks a few constructs that can formally model different aspects of associations as described and used in the Spec;  check the UML metamodel of association against our formal framework (Does it fit in? And if not, then fix it by either pressing it through, or expanding it over, or both :)

UML Semantics Presentation Page 9 Three views of association UML PL & UML DB & UML Extension is explicit!

UML Semantics Presentation Page 10 Lewis Carroll about UML Associations: 'When I use a word,' Humpty Dumpty said, in a rather scornful tone,' it means just what I choose it to mean, neither more nor less.' 'The question is,' said Alice, 'whether you can make words mean so many different things.' 'The question is,' said Humpty Dumpty, 'which is to be master - that's all.' 'When I make a word do a lot of work like that,' said Humpty Dumpty, 'I always pay it extra.' The question is how much extra do UML committees pay to the terms “association” and “association end”?

UML Semantics Presentation Page 11 Adding navigation to tables StudentCourseLecturer row 1JohnUML modelingSmith row 2MaryHistory of musicWhite row 3 … Mary …. UML modeling …. Brown ….. * 

UML Semantics Presentation Page 12 Ownership and navigability /f 2 { inverse} f2f f1f   ? x ? f 2 is navigable f 2 is not navigable Structural view Operational viewExtensional view

UML Semantics Presentation Page 13 Meanings of the terms “association” and “association end“ in function of the ownership context Association A owns an end E “A” is a table and E is a column name “A” is a set of mappings between classifiers, which have a common extension [[A]]. End E is a mapping, which is not stored yet can be derived from [[A]] “A” is a mappings between classifiers, and E is a placeholder for the corresponding part of the multiplicity constraints to this mapping “A” owns not all its ends “A” owns all its ends “E” is navigable “E” is not navigable

UML Semantics Presentation Page 14 Metamodel of our formal semantics: Playing LEGO with associations Property’s context! Qualifier!

UML Semantics Presentation Page 15 UML2 metamodel of Association, processed { subsets memberEnd} { subsets ownedEnd}

UML Semantics Presentation Page 16 Results and discussion General conclusion: Semantics of the association construct can be uncovered in a few Semantics and Description sections of the Spec, and is presented there in a sufficiently consistent way. However, the part of this semantics formally captured in the UML metamodel is much poorer and that is why the latter is ambiguous (recall our Cylinder model). Particular technical problems of the UML metamodel of associations: -- meta-association context is missing, which makes the fundamental metaclass Property underspecified (in fact, undefined); -- meta-association qualifier is improperly defined: its target must be the metaclass Role rather then Property; -- a few important constraints are missing (see the paper). Deeper conceptual problems: -- fundamental dichotomy associations-as-mappings vs. associations-as-tables is not specified; -- fundamental dichotomy basic-derived element of association is not specified. A these red problems really so bad?

UML Semantics Presentation Page 17 Results and discussion (with Carroll and Wittgenstein) UML as a specification language must be clear, precise and unambiguous. Formal semantics can really help here. UML as a communication language does not ought anything besides being convenient and usable (like other natural languages). As for multiple meanings of its terms, recall Wittgenstein’s Thesis: The meaning of a word is determined by its use. Would you tell me, please, which way I ought to go from here?' asked Alice. `That depends a good deal on where you want to get to,' said the Cat. `I don't much care where‘ said Alice. `Then it doesn't matter which way you go,' said the Cat. Is it possible to reconcile these two UMLs (and a few ones in-between) ? 1)Language = Syntax + Semantics, the latter is changeable and determined by the context. Hence, annotate UML diagrams with their intended meaning (to specify, to suggest, to inspire :) 2)Introduce into UML special constructs for under-specification UML is a language, and understanding UML is a linguistic activity