Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel

Slides:



Advertisements
Similar presentations
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
Advertisements

Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
A Road Map of the New Project on “Framework for Registering Business Objects” Hajime Horiuchi ISO/IEC JTC1 SC32 Japan, Tokyo International University SC32WG2-SEL-009.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
SEG4110 – Advanced Software Design and Reengineering TOPIC D Metamodelling.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Metamodel Global view. Some sources Object Modeling with UML: Advanced Modeling, Karin Palmkvist, Bran Selic, and Jos Warmer, March 2000.
Software Engineering COMP 201
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
SysML: A Modeling Language for Systems of Systems
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
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.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Specializing and extending the UML
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
1 Devon M. Simmonds Metadata & The UML Metamodel SLIDES include some from tvarious sources including: (1)
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
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.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
SysML v2 Formalism Requirements Formalism WG September 15, 2016.
Language = Syntax + Semantics + Vocabulary
Subgroup Chair: Robert Shapiro (Global360) Baseline Proposal:
UML(Unified Modeling Language)
Object-oriented and Structured System Models
UML Diagrams By Daniel Damaris Novarianto S..
UNIT 1.
Evolution of UML.
SysML 2.0 Requirements for Visualization
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
SysML v2 Formalism: Requirements & Benefits
Review for Midterm, Fall 2009
Object-Oriented Techniques
Unified Modeling Language
Syntactic Requirements
Web Application Modeling
UML Diagrams Jung Woo.
Business Process Measures
Seminar 1 Design of Informatics Systems
Where does one end and the other start?
Advanced Database Models
Bussines process modeling using BPMN
Domain Specific Product Description Exchange
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
UML profiles.
Software Design Lecture : 15.
Constructing MDA-based Application Using Rational XDE for .NET
Use Case Model Use case diagram – Part 2.
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Uml diagrams In ooad.
Software Architecture & Design
Presentation transcript:

Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel

Outline for today From model instances to meta models MOF meta model hierarchy How UML relates to MOF Example: Use case diagram meta model Example: Class diagram meta model Different notations for the UML meta model describe the same language UML Profiles: Adding new members to the family Object model: What is the structure of the system? What are the objects and how are they related? Functional model: What are the functions of the system? How is data flowing through the system? Dynamic model: How does the system react to external events? How is the event flow in the system ?

From Model Instances to Meta Models Canonical model-instance-relationship: aPerson is an instance of the class Person. Thus the class Person is a model for aPerson. Can we generalize this relationship?  What is the model for the class Person?

From Model Instances to Meta Models Canonical model-instance-relationship: The instance aPerson and the class Person are on different levels of abstraction The class Person specifies features that characterize the structure and behavior of Persons The model for the class Person must characterize the structure and behavior of classes

From Model Instances to Meta Models Relationship between model and meta-model: The meta class Class is a model for the class Person Since Person is a model (for the instance aPerson), Class is a meta model (model for models) Note for instructors: Do not change this slide. The blue box is out of the viewing area, but when animated it will appear correctly.

From Model Instances to Meta Models At first this might be confusing, so: Think about the different layers of abstraction: Instances are concrete Models are an abstract description of the instances Meta models are an abstract description of models … (no abstraction)

Meta Models Why do we need them? Meta models can be used for instance to formalize UML notations: The UML is a Language, meta models are used to describe the grammar The UML meta model describes all models one can create using UML The meta model allows to talk about semantics

Meta Models OK, so meta models are cool, but how do I create a meta model? To approach this problem, we will look at the history of UML’s meta model first.

The History of UML’s Meta Model UML 1.0 had a lot of semantic problems The OMG tried to deal with these problems by formalizing the language Idea: Use meta modeling! The OMG realized that all that was needed to describe meta models was to use a subset of UML class diagram elements Insight: To describe any meta model, the UML class diagram notation itself can be used! In practice there exist different meta models

Meta Object Facility (MOF) In UML 2, the OMG introduced the MOF to create a common approach to meta modeling A meta model which is defined using MOF is called MOF compliant.

Advantages of MOF Compliant Meta Models They can easily be compared MOF compliant models can be exchanged in a standardized way XML Metadata Interchange MOF compliant instances can live in the same metadata repository (data warehousing)

The Meta Object Facility (MOF) We have seen the used the modeling sequence instance  model  meta model  meta-meta model  This sequence could be continued infinitely, but four models are enough for most modeling purposes. MOF defines a four-layer meta model hierarchy Layer M3: Meta-meta model layer (The MOF model) Layer M2: Meta model layer (The UML meta model) Layer M1: Model layer (The UML model) Layer M0: Information layer (the Application) MOF and UML are aligned The UML infrastructure contains all the concepts needed for the specification of UML and MOF.

Meta model Hierarchy of the MOF (UML-specific)

Meta model hierarchy of the MOF (UML-specific) Layer M2: UML meta model Models the language UML, i.e., defines concepts like classes, attributes, associations  Layer M2 contains descriptions of elements that can be used to describe the models on the model layer Meta model hierarchy of the MOF (UML-specific)

Meta model hierarchy of the MOF (UML-specific) Layer M1: UML-model By using any UML diagram, we instantiate the UML meta model and obtain a UML model  Layer M1 contains application-specific models Meta model hierarchy of the MOF (UML-specific)

Meta model hierarchy of the MOF (UML-specific) Layer M0: Run-time Instances Real instances of the models Layer M0 contains concrete run-time instances Note the difference between instance specification and real instance! Meta model hierarchy of the MOF (UML-specific)

Meta model hierarchy of the MOF (UML-specific) Layer M3: MOF model The UML meta model is an instance of a yet more abstract model, namely the MOF model M3 : M2 ≈ M2 : M1  Layer M3 contains meta-meta models

Meta model hierarchy of the MOF (UML-specific) Remember that UML is only one possibility or modeling with MOF We looked at a UML-specific hierarchy MOF describes meta models in general

Where are we? From model instances to meta models MOF meta model hierarchy How UML relates to MOF Example: Use case diagram meta model Example: Class diagram meta model Different notations for the UML meta model describe the same language UML Profiles: Adding new members to the family Object model: What is the structure of the system? What are the objects and how are they related? Functional model: What are the functions of the system? How is data flowing through the system? Dynamic model: How does the system react to external events? How is the event flow in the system ?

How UML relates to MOF UML is MOF-compliant: The UML meta model is an instance of the MOF model Let’s see the UML meta model in action!

Use Case Diagram Meta Model (simplified) <<instanceOf>> * <<instanceOf>> * 1 1 * 1..* 1 1 1 <<instanceOf>> * * * * * <<Include>> <<Extend>> 0..1 0..1 <<instanceOf>> <<instanceOf>>

Class Diagram Meta Model (simplified) * 0..1 0..1 * 2..* 0..1 0..1 <<instanceOf>> <<instanceOf>> <<instanceOf>> * <<instanceOf>>

Notations for the UML Meta Model The UML meta model defines a language for specifying UML models The notation used to depict UML models provides graphical constructs representing instances of meta model elements (Sticky figure represents an Actor) The notation is a function from meta model elements to model elements (“uml-notation(Actor) = “)

UML Profiles Consist of stereotypes, tagged values and constraints Customize UML models for particular domains or platforms Are applied to elements of the UML meta model (M2)! Are developed by manufacturers or standardization organizations (CORBA, .NET)

Applying UML Profiles By applying a UML profile, we Apply stereotypes to meta classes Get a deeper undestanding for the model Narrow the amount of valid models (see the following slide).

UML Profiles All models (MOF) UML models SysML models CORBA models .NET models (profile) SysML models

Additional Readings The current MOF Specification RSS Feed: http://www.omg.org/technology/documents/modeling_spec_catalog.htm#MOF RSS Feed: feed://www.omg.org/mof/rss/index.xml