UML2 Package Merge A Logically Inconsistent Construct Unless Recognized as an Operation not a Relationship Karl Frank Oct 4, 2003.

Slides:



Advertisements
Similar presentations
COMP 121 Week 9: AbstractList and ArrayList. Objectives List common operations and properties of Lists as distinct from Collections Extend the AbstractCollection.
Advertisements

The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.
1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
1 UML 2.0 Compliance Points Proposal Jim Amsden, Bran Selic 21 October 2003.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Model Transformation Lab From UML Activities to Petri nets.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Copyright © Cengage Learning. All rights reserved.
Software Engineer Report What should contains the report?!
2-1 Relations and Functions
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
UML2 Package Merge Usage scenarios and their effect on XMI and Java API interoperability Bran Selic, Jim Amsden, Kenn Hussey Oct, 2003.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Project Proposal: CTS2 SDK Presentation to OHT Steering Committee.
Introduction to MDA (Model Driven Architecture) CYT.
Chapter 3 Functions Functions provide a means of expressing relationships between variables, which can be numbers or non-numerical objects.
Functions Math 123 September 24-26, Another boring topic? Functions are one of the mathematical concepts that students understand the least. Why.
Is it a Function Simplifying Polynomials Adding and.
Classifying Relationships.  The definition of a function is:  A function is a relation that maps each element in the domain to one and only one element.
More on “The Huddersfield Method” A lightweight, pattern-driven method based on SSM, Domain Driven Design and Naked Objects.
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.
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
Specializing and extending the UML
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
RTAS 2003 Workshop on Model-Driven Embedded Systems Washington, D.C., May 27-30, 2003 Juan Pablo Zamora Zapata Francis Bordeleau Defining UML Profiles.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
ISO/IEC/JTC1 SC32/WG2 Jeju Meeting 2009/06/22-27 Updated 2009/08/17, 2009/08/20, 2009/11/17 Masaharu Obayashi (kanrikogaku Ltd.) WG2N1349 Basic Idea on.
Conceptual Modelling – Behaviour
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
1 Graph-Based State Spaces Arend Rensink, University of Twente CamPaM 2012 April 2012Graph-Based State Spaces.
® IBM Software Group © 2006 IBM Corporation Diagram Definition: Initial Submission Maged Elaasar, IBM ADTF, OMG June 2009, San Jose,
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Copyright © IBM Corp., | March | Creating Robust Scalable DSLs with UML Tutorial (172) James Bruck, Christian Damus IBM Rational Software.
Common Terminology Services 2 CTS 2 Submission Team Status Update HL7 Vocabulary Working Group May 17, 2011.
GNRS Assisted Inter-Domain Routing Mobility First FIA Suja Srinivasan.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
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.
Write a function rule for a graph EXAMPLE 3 Write a rule for the function represented by the graph. Identify the domain and the range of the function.
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
Sheet 1 Forum on Specification and Design Languages (FDL), Frankfurt, September 2003 UML to XML-Schema Transformation: a Case Study in Managing Alternative.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Information Architecture WG: Report of the Fall 2004 Meeting November 16th, 2004 Dan Crichton, NASA/JPL.
UML Diagrams By Daniel Damaris Novarianto S..
UML 2.0 Compliance Points Proposal
Activity and State Transition Diagram
UML Diagrams Jung Woo.
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Mathematics and Special Education Leadership Protocols
Relations.
Relations for functions.
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
Objectives The student will be able to:
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Social Practice of the language: Describe and share information
Objectives The student will be able to:
ONTOMERGE Ontology translations by merging ontologies Paper: Ontology Translation on the Semantic Web by Dejing Dou, Drew McDermott and Peishen Qi 2003.
Presentation transcript:

UML2 Package Merge A Logically Inconsistent Construct Unless Recognized as an Operation not a Relationship Karl Frank Oct 4, 2003

Package merge is presented by Bran, Jim, and Ken as a function ranging over ordered pairs of packages, with a domain of packages. They do not use the term “function” but they describe PackageMerge in those terms, as does the language of the Final Adopted Spec: “This is a mechanism that should be used when …” More from the spec in support of this view are in the notes to this page

To review the terminology: Merging Package, also called the Source –(the tail of the dashed arrow in the illegitimate “relationship” presentation) Merged Package, also called the Target –(the head of dashed arrow) These are actually names for formal parameters in a meta-Operation: packageMerge(source: package, target: package): package

Application of the operation creates a new package, distinct from both the merged and merging basic constructs primitiveTypes > Source Merging Package (this is the package that is updated by the merge) Target Merged Package Post-merge-constructs The blue arrow is to represent object flow from the application of a function, it is not a dependency relationship. Our argument is that the dependency relationship > is bogus. As the IBM team argues, The PackageMerge results In a change, such that the Constructs package, after The update, is not the same As before the update.

So long as one views PackageMerge as a relationship, not an operation, UML 2 is inconsistent Two packages in a model (at whatever level) either have or do not have a certain relationship. For any package and model element in a model, the package either does or does not contain that model element –What is the extent of a “merging” package? No one answer until we distinguish Pre- or Post- application of the PackageMerge If we view PackageMerge as a relationship, then –The merging package both does, and does not, contain the classifiers by which PackageMerge extends the merging package. –The resolution is to speak, as the IBM team and the spec do, of “before” and “after” applying the PackageMerge, which is to play verbal tricks to avoid confronting the contradiction directly.

As the IBM teams argues, one root of the problem is: Redefinitions They also are really functions that transform a model, masquerading as relationships within a model.

The proposed resolution is to admit that: UML 2 Infrastructure has added a new concept –Functions that transform models into different models. –In particular, a PackageMerge function that maps an ordered pair of packages into a new package to extend, that is to say, to modify the model. Functions to transform one model into another (extended) model, are used in the definition of UML 2’s 38 compliance points Such functions are the “mechanisms” by which the kernel packages of the metamodel are extended to create the complete metamodel. They are a problem so long as we try to handle them as relationships By acknowledging PackageMerge for what it is, we will allign UML 2 with MDA: –Functions that transform models into different models are, in the MDA Guide, called 'transformations.'