The UML 2.0 meta model

Similar documents
Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Development of Tool Extensions with MOFLON

Designing a Semantic Repository

AN INTEGRATION APPROACH FOR THE STATISTICAL INFORMATION SYSTEM OF ISTAT USING SDMX STANDARDS

Analysis of the Specifics for a Business Rules Engine Based Projects

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Mapping between Levels in the Metamodel Architecture

What is a metamodel: the OMG s metamodeling infrastructure

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Towards a Common Metamodel for the Development of Web Applications

UML TUTORIALS THE USE CASE MODEL

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

All you need are models Anneke Kleppe, Klasse Objecten

Model-Driven Data Warehousing

SysML Modelling Language explained

An MDA Approach for the Development of Web applications

BUSINESS RULES MANIPULATION MODEL 1

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Meta Model Based Integration of Role-Based and Discretionary Access Control Using Path Expressions

A UML 2 Profile for Business Process Modelling *

Enterprise architecture Manufacturing operations management Information systems in industry ELEC-E8113

Definition and Generation of Data Exchange Formats in AUTOSAR

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

Design of Network Educating Information System Based on Use Cases Driven Shenwei Wang 1 & Min Guo 2

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

A Common Metamodel for Code Generation

1. Visual Paradigm for UML

Business Process Standards and Modeling

Meta-Model specification V2 D

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Model-driven secure system development framework

Business Rule Standards -- Interoperability and Portability

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing

i. Node Y Represented by a block or part. SysML::Block,

The Fast Guide to Model Driven Architecture

ebxml Glossary Technical Architecture Team Version 0.99

A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems

The BPM to UML activity diagram transformation using XSLT

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Compliance and Requirement Traceability for SysML v.1.0a

EXCEL IMPORT user guide

ETSO Modelling Methodology for the Automation of Data Interchange of Business Processes (EMM)

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

QAD Business Intelligence Data Warehouse Demonstration Guide. May 2015 BI 3.11

Generating Aspect Code from UML Models

Applying MDA in Developing Intermediary Service for Data Retrieval

Quiz Examination in Software Engineering Theory

Clarifying a vision on certification of MDA tools

Business Process Ontologies: Speeding up Business Process Implementation

Model Driven Business Architecture. Pete Rivett CTO, Adaptive

Semantic Business Process Management Lectuer 1 - Introduction

Requirements Management with Enterprise Architect

An eclipse-based Feature Models toolchain

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

QUALITY TOOLBOX. Understanding Processes with Hierarchical Process Mapping. Robert B. Pojasek. Why Process Mapping?

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Metadata Management for Data Warehouse Projects

BIG DATA COURSE 1 DATA QUALITY STRATEGIES - CUSTOMIZED TRAINING OUTLINE. Prepared by:

SOA Adoption Challenges

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

Towards Collaboration on Accessible UML Models

Generating Web Applications from Process Models

Software Engineering II - Exercise

Developing Business Architecture with TOGAF

CIM to PIM Transformation: A criteria Based Evaluation

Intoduction to SysML

Towards an automated testing framework to manage variability using the UML Testing Profile

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Using UML Part One Structural Modeling Diagrams

BCS Certificate in Systems Modelling Techniques Syllabus

Databases in Organizations

Introduction to Web Services

A pragmatic approach to modeling large systems

UN/CEFACT S Modeling Methodology (UMM): A UML Profile for B2B e-commerce

Rose/Architect: a tool to visualize architecture

MDA based approach towards Design of Database for Banking System

SOLUTION BRIEF CA ERwin Modeling. How can I understand, manage and govern complex data assets and improve business agility?

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

Applying 4+1 View Architecture with UML 2. White Paper

Information Management Metamodel

Transcription:

Software Engineering I: Software Technology WS 2008/09 The UML 2.0 meta model Prof. Bernd Bruegge, Ph.D. Florian Schneider Applied Software Engineering Technische Universitaet Muenchen 2008 Bernd Brügge 1

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 notaoons for the UML meta model describe the same language UML Profiles: Adding new members to the family 2008 Bernd Brügge 2

From model instances to meta models 2008 Bernd Brügge 3

From model instances to meta models Canonical model instance relaoonship: 2008 Bernd Brügge 3

From model instances to meta models Canonical model instance relaoonship: 2008 Bernd Brügge 3

From model instances to meta models Canonical model instance relaoonship: 2008 Bernd Brügge 3

From model instances to meta models Canonical model instance relaoonship: aperson is an instance of the class Person. 2008 Bernd Brügge 3

From model instances to meta models Canonical model instance relaoonship: aperson is an instance of the class Person. Thus the class Person is a model for aperson. 2008 Bernd Brügge 3

From model instances to meta models Canonical model instance relaoonship: aperson is an instance of the class Person. Thus the class Person is a model for aperson. 2008 Bernd Brügge 3

From model instances to meta models Canonical model instance relaoonship: aperson is an instance of the class Person. Thus the class Person is a model for aperson. Can we generalize this relaoonship? 2008 Bernd Brügge 3

From model instances to meta models Canonical model instance relaoonship: aperson is an instance of the class Person. Thus the class Person is a model for aperson. Can we generalize this relaoonship? What is the model for the class Person? 2008 Bernd Brügge 3

From model instances to meta models 2008 Bernd Brügge 4

From model instances to meta models Canonical model instance relaoonship: 2008 Bernd Brügge 4

From model instances to meta models Canonical model instance relaoonship: 2008 Bernd Brügge 4

From model instances to meta models Canonical model instance relaoonship: The instance aperson and the class Person are on different levels of abstracoon 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 2008 Bernd Brügge 4

From model instances to meta models 2008 Bernd Brügge 5

From model instances to meta models 2008 Bernd Brügge 5

From model instances to meta models RelaOonship between model and meta model: 2008 Bernd Brügge 5

From model instances to meta models RelaOonship between model and meta model: 2008 Bernd Brügge 5

From model instances to meta models RelaOonship between model and meta model: 2008 Bernd Brügge 5

From model instances to meta models RelaOonship between model and meta model: The meta class Class is a model for the class Person 2008 Bernd Brügge 5

From model instances to meta models RelaOonship 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) 2008 Bernd Brügge 5

From model instances to meta models 2008 Bernd Brügge 6

From model instances to meta models At first this might be confusing, so: 2008 Bernd Brügge 6

From model instances to meta models At first this might be confusing, so: Think of the different layers of abstracoon: 2008 Bernd Brügge 6

From model instances to meta models At first this might be confusing, so: Think of the different layers of abstracoon: Instances are concrete 2008 Bernd Brügge 6

From model instances to meta models At first this might be confusing, so: Think of the different layers of abstracoon: Instances are concrete Models are an abstract descripoon of the instances 2008 Bernd Brügge 6

From model instances to meta models At first this might be confusing, so: Think of the different layers of abstracoon: Instances are concrete Models are an abstract descripoon of the instances Meta models are an abstract descripoon of models 2008 Bernd Brügge 6

Meta models 2008 Bernd Brügge 7

Meta models Why do we need them? 2008 Bernd Brügge 7

Meta models Why do we need them? Meta models can be used for instance to formalize UML notaoons: 2008 Bernd Brügge 7

Meta models Why do we need them? Meta models can be used for instance to formalize UML notaoons: The UML is a Language, meta models are used to describe the grammar 2008 Bernd Brügge 7

Meta models Why do we need them? Meta models can be used for instance to formalize UML notaoons: 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 2008 Bernd Brügge 7

Meta models Why do we need them? Meta models can be used for instance to formalize UML notaoons: 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 semanocs 2008 Bernd Brügge 7

Meta models 2008 Bernd Brügge 8

Meta models OK, so meta models are cool, but how do I create a meta model? 2008 Bernd Brügge 8

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. 2008 Bernd Brügge 8

The history of UML s meta model 2008 Bernd Brügge 9

The history of UML s meta model First there was UML which had semanoc problems 2008 Bernd Brügge 9

The history of UML s meta model First there was UML which had semanoc problems The OMG tried to formalize meta models 2008 Bernd Brügge 9

The history of UML s meta model First there was UML which had semanoc problems The OMG tried to formalize meta models They realized that all they needed to describe meta models was a subset of UML class diagram elements 2008 Bernd Brügge 9

The history of UML s meta model First there was UML which had semanoc problems The OMG tried to formalize meta models They realized that all they needed to describe meta models was a subset of UML class diagram elements To describe any meta model, we can use the UML class diagram notaoon! 2008 Bernd Brügge 9

Meta Object Facility (MOF) 2008 Bernd Brügge 10

Meta Object Facility (MOF) The OMG introduced the MOF to create a common approach to meta modeling 2008 Bernd Brügge 10

Meta Object Facility (MOF) 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 2008 Bernd Brügge 10

Advantages of MOF compliant meta models They can easily be compared Their instances (models) can be exchanged in a standardized way (XML Metadata Interchange) Their instances can live in the same metadata repository (data warehousing) 2008 Bernd Brügge 11

Meta Object Facility (MOF) Facts 2008 Bernd Brügge 12

Meta Object Facility (MOF) Facts In general, the sequence instance model meta model meta meta model could be cononued infinitely. 2008 Bernd Brügge 12

Meta Object Facility (MOF) Facts In general, the sequence instance model meta model meta meta model could be cononued infinitely. MOF defines a four layer meta model hierarchy four layers suffice for most pracocal applicaoons MOF and UML are aligned UML infrastructure contains concepts for UML and MOF 2008 Bernd Brügge 12

Meta model hierarchy of the MOF (UML specific) 2008 Bernd Brügge 13

Meta model hierarchy of the MOF (UML specific) 2008 Bernd Brügge 14

Meta model hierarchy of the MOF (UML specific) UML meta model (Layer M2) defines concepts like classes, a8ributes and associa;ons 2008 Bernd Brügge 14

Meta model hierarchy of the MOF (UML specific) UML meta model (Layer M2) defines concepts like classes, a8ributes and associa;ons model of the language UML 2008 Bernd Brügge 14

Meta model hierarchy of the MOF (UML specific) UML meta model (Layer M2) defines concepts like classes, a8ributes and associa;ons model of the language UML Layer M2 contains descripoons of the elements that can be used to describe the models on the model layer 2008 Bernd Brügge 14

Meta model hierarchy of the MOF (UML specific) 2008 Bernd Brügge 15

Meta model hierarchy of the MOF (UML specific) UML model (Layer M1) By using any UML diagram, we instanoate the UML meta model and obtain a UML model 2008 Bernd Brügge 15

Meta model hierarchy of the MOF (UML specific) UML model (Layer M1) By using any UML diagram, we instanoate the UML meta model and obtain a UML model Layer M1 contains applica;on specific models 2008 Bernd Brügge 15

Meta model hierarchy of the MOF (UML specific) 2008 Bernd Brügge 16

Meta model hierarchy of the MOF (UML specific) Instances (Layer M0) Real instances of the models 2008 Bernd Brügge 16

Meta model hierarchy of the MOF (UML specific) Instances (Layer M0) Real instances of the models Layer M0 contains concrete run ;me instances 2008 Bernd Brügge 16

Meta model hierarchy of the MOF (UML specific) Instances (Layer M0) Real instances of the models Layer M0 contains concrete run ;me instances Note the difference between instance specifica;ons and real instances! 2008 Bernd Brügge 16

Meta model hierarchy of the MOF (UML specific) 2008 Bernd Brügge 17

Meta model hierarchy of the MOF (UML specific) MOF model (Layer M3) The UML meta model is an instance of a yet more abstract model, namely the MOF model 2008 Bernd Brügge 17

Meta model hierarchy of the MOF (UML specific) MOF model (Layer M3) The UML meta model is an instance of a yet more abstract model, namely the MOF model M3 : M2 M2 : M1 2008 Bernd Brügge 17

Meta model hierarchy of the MOF (UML specific) MOF model (Layer M3) 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 2008 Bernd Brügge 17

Meta model hierarchy of the MOF (UML specific) 2008 Bernd Brügge 18

Meta model hierarchy of the MOF (UML specific) Remember that this is only an example! We looked at a UML specific hierarchy 2008 Bernd Brügge 18

Meta model hierarchy of the MOF (UML specific) Remember that this is only an example! We looked at a UML specific hierarchy MOF describes meta models in general 2008 Bernd Brügge 18

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 notaoons for the UML meta model describe the same language UML Profiles: Adding new members to the family 2008 Bernd Brügge 19

How UML relates to MOF 2008 Bernd Brügge 20

How UML relates to MOF UML is MOF compliant: The UML meta model is an instance of the MOF model 2008 Bernd Brügge 20

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 acoon! 2008 Bernd Brügge 20

Use Case Diagram Meta Model (simplified) * * 1 * 1 1..* 1 1 1 * * * * * 0..1 0..1 2008 Bernd Brügge 21

Use Case Diagram Meta Model <<instanceof>> (simplified) * * 1 * 1 1..* 1 1 1 * * * * * 0..1 0..1 2008 Bernd Brügge 21

Use Case Diagram Meta Model (simplified) * <<instanceof>> * 1 * 1 1..* 1 1 1 * * * * * 0..1 0..1 2008 Bernd Brügge 21

Use Case Diagram Meta Model (simplified) * * 1 * 1 1..* 1 1 1 <<instanceof>> * * * * * 0..1 0..1 2008 Bernd Brügge 21

Use Case Diagram Meta Model (simplified) * * 1 * 1 1..* 1 1 1 * * * * * 0..1 0..1 <<Extend>> <<instanceof>> 2008 Bernd Brügge 21

Use Case Diagram Meta Model (simplified) * * 1 * 1 1..* 1 1 1 * * * * * <<Include>> 0..1 0..1 <<instanceof>> <<Extend>> 2008 Bernd Brügge 21

Class Diagram Meta Model (simplified) * 0..1 0..1 * 2..* 0..1 0..1 * 2008 Bernd Brügge 22

Class Diagram Meta Model (simplified) * 0..1 0..1 * 2..* 0..1 0..1 * <<instanceof>> 2008 Bernd Brügge 22

Class Diagram Meta Model (simplified) * 0..1 0..1 * 2..* 0..1 0..1 * <<instanceof>> 2008 Bernd Brügge 22

Class Diagram Meta Model (simplified) * 0..1 0..1 * 2..* 0..1 0..1 * <<instanceof>> 2008 Bernd Brügge 22

Class Diagram Meta Model (simplified) * 0..1 0..1 * 2..* 0..1 0..1 * <<instanceof>> 2008 Bernd Brügge 22

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 notaoons for the UML meta model describe the same language UML Profiles: Adding new members to the family 2008 Bernd Brügge 23

NotaOons for the UML meta model The UML meta model defines a language for specifying UML models The notaoon used to depict UML models provides graphical constructs represenong instances of meta model elements (SOcky figure represents an Actor) The notaoon is a funcoon from meta model elements to model elements ( uml nota;on(actor) = ) 2008 Bernd Brügge 24

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 notaoons for the UML meta model describe the same language UML Profiles: Adding new members to the family 2008 Bernd Brügge 25

UML Profiles consist of stereotypes, tagged values and constraints customize UML models for parocular domains or platorms are applied to elements of the UML meta model (M2)! are developed by manufacturers or standardizaoon organizaoons (CORBA,.NET) 2008 Bernd Brügge 26

Applying UML Profiles By applying a UML profile, you apply stereotypes to meta classes you provide a deeper meaning for the model the model gains integrity you narrow the amount of valid models, as you can see on the following slide 2008 Bernd Brügge 27

UML Profiles All models (MOF) UML models.net models (profile) CORBA models (profile) SysML models 2008 Bernd Brügge 28

Further reading MOF specificaoon URL to be delivered through the exercise portal Again, the UML 2 specificaoon See UML 2 Slides 2008 Bernd Brügge 29

OrganizaOonal Mauers 1 Mid term exam Thursday, December 18 th 17:30 Room to be announced RegistraOon procedure to be announced 2008 Bernd Brügge 30

OrganizaOonal Mauers 2 For those of you interested in doing the homework, please read through the exercise sheet QuesOons? Please deliver the soluoon on Thursday, October 30 th Paper based: before the exercise E Mail based: send e mail to Florian Schneider, same deadline 2008 Bernd Brügge 31