Chapter 2, Modeling with UML: UML 2 Metamodel - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Chapter 2, Modeling with UML: UML 2 Metamodel

Description:

Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this set is not contained in the 3rd edition of the text book. – PowerPoint PPT presentation

Number of Views:325
Avg rating:3.0/5.0
Slides: 37
Provided by: Flori49
Category:

less

Transcript and Presenter's Notes

Title: Chapter 2, Modeling with UML: UML 2 Metamodel


1
Chapter 2,Modeling with UMLUML 2 Metamodel
Note to Instructor The material in this slide
set is not contained in the 3rd edition of the
text book. It is planned for the 4th edition.
2
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

3
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
  • And aPerson is a model (an abstraction) of a real
    person
  • Can we generalize this idea?
  • ? What is the model for the class Person?

4
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

5
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)

6
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
  • Meta-meta models are an abstract description of
    meta models.

7
Meta Where does the word come from?
  • The word comes from the Greek µet? (metá,
    "after")
  • An editor in the first century assembled
    Aristotles work
  • In the bookshelf, it was the book that came
    after physics (meta physiká)
  • Aristotle did not use the term metaphysics,
    instead he called these topics "first
    philosophy.
  • A core topic of the metaphysics book is ontology
  • Ontology The philosophical study of nature. The
    investigation of what types of things exist in
    the world and what relations these things have to
    each other.

8
Questions in Ontology
Source http//en.wikipedia.org/wiki/Ontology
  • What is existence?
  • Is existence a property?
  • Which entities, if any, are fundamental?
  • How do the properties of an object relate to the
    object itself?
  • What features are the essential, as opposed to
    merely accidental, attributes of a given object?
  • How many levels of existence or ontological
    levels are there?
  • What is a physical object?
  • Can one give an account of what it means to say
    that a physical object exists?
  • Can one give an account of what it means to say
    that a non-physical entity exists?
  • What constitutes the identity of an object?
  • When does an object go out of existence, as
    opposed to merely changing?

9
Another Branch from Philosophy Epistomology
  • Epistomology
  • Analysis of the nature of knowledge and how it
    relates to truth
  • What do people know?
  • How do we know what we know?
  • Also deals with the tools for the production of
    knowledge
  • In computer science and project management, we
    call it knowledge management
  • What is knowledge?
  • How is knowledge acquired?
  • How is knowledge externalized?
  • .

10
A Taxonomy of Philosophy (UML Class Diagram)
Philosophy
Metaphysics
Epistomology
Ethics
11
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.

12
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 UMLs meta model first.

13
The History of UMLs 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!

14
Meta Object Facility (MOF)
  • In UML 2, the OMG introduced the Meta Object
    Facility to create a common basis for meta
    modeling
  • MOF specification http//www.omg.org/mof/
  • The specification describes how models can be
  • exported from an application
  • imported into another model
  • transported across a network
  • stored and retrieved from a repository
  • rendered into different formats
  • used to generate application code

15
Advantages of MOF Compliant Meta Models
  • MOF compliant models can easily be compared
  • MOF compliant models can be exchanged in a
    standardized way
  • XMI (XML Metadata Interchange)
  • OMG's XML-based standard format for model
    transmission and storage
  • MOF compliant instances can live in the same
    metadata repository (data warehousing)

16
The Meta Object Facility (MOF)
  • We have seen this modeling sequence
  • instance ? model ? meta model
  • This sequence could be continued forever
  • 4 models seem to be enough for most modeling
    problems
  • MOF defines a four-layer meta model hierarchy
  • Layer M0 Information layer (The Application)
  • Layer M1 Model layer (The UML model)
  • Layer M2 Meta model layer (The UML meta model)
  • Layer M3 Meta-meta model layer (The MOF model)
  • MOF and UML are aligned
  • The UML infrastructure contains all the concepts
    needed for the specification of UML and MOF
  • But MOF is not restricted to UML
  • Any meta model which is defined by using MOF is
    called MOF compliant.

17
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 that there is a difference between real
    instance and instance specification!

18
Meta model hierarchy of the MOF (UML-specific)
Layer M1 UML-model By using any UML diagram, we
instantiate the UML meta model from Layer 2 and
obtain a UML model ? Layer M1 contains
application-specific models
19
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
    are used to describe the models on the model layer

20
Meta model Hierarchy of the MOF (UML-specific)
21
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

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

23
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

24
How UML relates to MOF
  • UML is MOF-compliant
  • The UML meta model is an instance of the MOF
    model
  • Lets see the UML meta model in action!

25
Use Case Diagram Meta Model
UML Model for Use Cases (Layer M1)
UML Meta Model (Layer M2) (Simplified)


1
1

1..
1
1
1





0..1
0..1
26
Class Diagram Meta Model (simplified)

0..1
0..1
0..1
2..

0..1

27
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 icons representing instances of meta
    model elements
  • (Sticky figure represents an Actor)
  • The notation is a mapping from meta model
    elements to model elements
  • (uml-notation(Actor) )

28
UML Profiles
  • A lightweight extension mechanism for UML
  • Concepts partially present in earlier versions
  • Stereotypes
  • Tagged Values
  • Established as a specific meta-modeling technique
    in UML 2.0
  • Contains mechanisms that allow meta classes from
    existing meta models to be extended
  • ability to tailor the UML meta model for
    different platforms or domains
  • consistent with the OMG Meta Object Facility
    (MOF).

29
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
    Layer)
  • Are developed by manufacturers or standardization
    organizations (CORBA, .NET)

30
Applying a Stereotype
  • The attributes of a stereotype are called tagged
    values
  • Applying a stereotype to an instance of a meta
    class means instantiating the stereotype
  • If the stereotype has attributes, you have to
    provide values for them
  • Confused? See following slide

31
Applying a Sterotype (ctd)
32
Applying UML Profiles
  • By applying a UML profile, we
  • Apply stereotypes to meta classes
  • Get a deeper understanding for the model
  • Narrow the amount of valid models.

33
UML Profiles
All models (MOF)
UML models
CORBA models (profile)
.NET models (profile)
U2TP (profile)
34
SysML (Systems Modeling Language)
  • SysML is a general-purpose modeling language for
    systems engineering applications
  • Supports the specification, analysis, design,
    verification and validation of systems and
    systems of systems.
  • Proposed in 2001 to improve the specification of
    functional and nonfunctional requirements
  • Use Cases allow the specification of requirements
    only on a very high level.
  • Defined as a UML profile
  • SysML has two new diagrams (requirements diagrams
    and parametric diagrams) in addition to the
    existing UML diagrams

35
Requirements Diagram
  • A SysML requirements diagram is a graphical
    notation that describes the requirements of a
    system in a graphical notation
  • Requirements can be linked to other requirements
  • Requirement elements can also be linked to Use
    Cases and Components that realize the
    requirements (enabling traceability of
    requirements).

36
Additional Information
  • MOF Home Page
  • http//www.omg.org/mof/
  • MOF Specification, Current Version 2.0
  • http//www.omg.org/technology/documents/modeling_s
    pec_catalog.htmMOF
  • RSS Feed
  • feed//www.omg.org/mof/rss/index.xml
Write a Comment
User Comments (0)
About PowerShow.com