AMSS Lecture 9: The UML Meta‑Model & Profile Diagrams

Traian-Florin Șerbănuță

2025

Agenda

Goals

The UML Meta-Model

Profile Diagrams

The UML Meta-Model

1. What Is a Meta‑Model?

Key idea

The UML meta‑model defines:

Model-Driven Architecture (MDA)

MDA is a software development approach defined by the Object Management Group (OMG)

Key MDA Model Types

CIM

Computation-Independent Model

(business/domain understanding)
PIM

Platform-Independent Model

(logic without tech details)
PSM

Platform-Specific Model

(technology-bound design)

Examples of MDA Languages / Modeling Standards

UML

Unified Modeling Language

(primary MDA modeling language)
MOF

Meta-Object Facility

(meta-modeling framework)
QVT

Query/View/Transformation

(model transformation language)
OCL

Object Constraint Language

(add constraints to models)
XMI

XML Metadata Interchange

(model serialization/exchange format)

2. The Meta-Object Facility (MOF) Architecture

UML is defined using a 4‑layer meta‑model architecture:

Layer Meaning Example
M3 Meta‑meta‑model MOF defining UML’s structure
M2 Meta‑model UML specification (classes, states, components…)
M1 Model Your diagrams (class diagrams, state diagrams…)
M0 Runtime Real objects in the running system

Visualization of the 4-layered MOF architecture for UML

Meta-Object Facility (MOF) in More Detail

Key MOF Concepts

Classes

Meta-classes used to define modeling concepts (e.g., UML Class)

Properties

Define attributes and relationships in the meta-model

Packages

Group meta-model elements

Associations

Link meta-classes together

MOF Variants

Essential MOF (EMOF)

Complete MOF (CMOF)

Essential MOF (EMOF) classes

Profiles and Profile diagrams

4. Profiles and Stereotypes (10 minutes)

Profiles are lightweight extensions to the UML meta‑model

Stereotypes extend UML elements

5. Profile Diagrams

Define UML extensions for domain-specific modeling.

5. Profile Diagram example

A profile diagram and a DSL model using it

Why Profiles instead of modifying the UML meta‑model?

Examples:

Interactive exercise (Secure Web Services profile)

Create a UML Profile Diagram that extends UML to better describe security characteristics of web-service components.

Tasks

  1. Create a WebSecurity profile
  2. Add stereotypes
    1. SecureCompoent extends Component with encryption and CA tags
    2. SensitiveData extends Class with a dataCategory tag
    3. AuthRequired extends Operation with authLevel tag
  3. Add at least one constraint
    • e.g., SensitiveData must have at least one private attribute

Summary