0% found this document useful (0 votes)
31 views97 pages

32N1764 WG2 Tutorial OnMOF forSC32

The document discusses a conference on metadata standards and implementations. It covers topics like the MOF and UML metamodels, standard metamodels like CWM and SPEM, and the multi-level meta hierarchy described in IRDS. It also discusses problems that can arise with multi-level metamodels, like the diversity of meta concepts, ambiguous classification, and replication of concepts through shallow and deep instantiation. Diagrams show examples of the meta hierarchy and model relationships in standards like MOF and MFI.

Uploaded by

Javier de ramon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views97 pages

32N1764 WG2 Tutorial OnMOF forSC32

The document discusses a conference on metadata standards and implementations. It covers topics like the MOF and UML metamodels, standard metamodels like CWM and SPEM, and the multi-level meta hierarchy described in IRDS. It also discusses problems that can arise with multi-level metamodels, like the diversity of meta concepts, ambiguous classification, and replication of concepts through shallow and deep instantiation. Diagrams show examples of the meta hierarchy and model relationships in standards like MOF and MFI.

Uploaded by

Javier de ramon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 97

32N1764

“Metadata DownUnder”: 11th Open Forum on Metadata Registries Sydney, NSW Australia

Sharing and advancing knowledge and experience about standards, technologies and implementations.
Topics
• Model and Metamodel in general
• MOF1.4 (ISO/IEC19502)
• UML2.0 and MOF2.0
• Standard Metamodel
– MOF compliant
 CWM, SPEM, ODM, MFI

2
Sharing and advancing knowledge and experience about standards, technologies and implementations.
General::
META HIERARCHY
Sharing and advancing knowledge and experience about standards, technologies and implementations. 3
Four layered Meta Hierarchy came from
IRDS
IRDS: Information Resource M-Objects
Dictionary System (ISO/IEC 10728) Attribute
IRDD Level
MOF :Meta Object Facility, Entity
OMG

Attribute Entity

Name
IRD Level
Address

Name Address
J.Doe Sydney
J. Smith New York IR Level
H. Hori Tokyo

Sharing and advancing knowledge and experience about standards, technologies and implementations. 4
Meta Hierarchy Concept
Concept was defined by ISO/IEC 10728 (IRDS) Inherited by MOF

Object Concept
Meta-Meta M3 Meta-Meta Representation
SQL Mechanism
data Model

IRDD Metamodel M2 Object


Meta data To describe Meta Model Concept
Column , Table (Meta Object)
IRD
Column, M1 Object
Data Element Model
Table Model

Describe Describe
Mo
Value Concept

Note: ISO/IEC11179 did not aware of 4 level Meta hierarchy.


Sharing and advancing knowledge and experience about 5
standards, technologies and implementations.
Problems of Multi level
metamodel
• “Diversity of meta concept” Problem

• “Ambiguous Classification” Problem


• “Replication of concept” problem
– Shallow Instantiation
– Deep Instantiation
Colin Aktinson, Essence of Multilevel Metamodeling (UML2001)

Sharing and advancing knowledge and experience about standards, technologies and implementations. 6
Diversity of the Meta Hierarchy Concept

• Type and Instance


• Category or Grouping
• Aggregation
• Template (Stereotype)

Sharing and advancing knowledge and experience about standards, technologies and implementations. 7
Diversity of Meta Concept
Type Type Description Template

instantiation grouping describe Apply

Instances Sub type Anything Realization

Base model Abstract Syntax

Base-Variant expression

Customized Expression
8
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Replication of Concept
A particular
instance “Pochi”
Class

Pet
Dog

Animal

Instance

Instance of instance
Essence of Multilevel Memamodeling:
Colin Aktinson and Thomas K¨uhne

Sharing and advancing knowledge and experience about standards, technologies and implementations. 9
Shallow & Deep Instantiation
UML & MOF
Shallow Instantiation Deep Instantiation
Meta-
M3 Meta Object concept Object concept
Model Mechanism Mechanism
instantiate instantiate

Meta Object Object


M2 Model concept concept

Object concept
Object
concept

M1 Model
Object Object Object Object
Object property property property property property

instantiate
M0 Instances Instances Instances Instances
Sharing and advancing knowledge and experience about standards, technologies and implementations. 10
Even in MFO 1.4

MOF core

M3 MOF 1.4
Level
MOF Model

Sharing and advancing knowledge and experience about standards, technologies and implementations. 11
M3 MOF
UML2.0 Core Package

UMM CWM:Object Model


Metamodel
M2 ebXML CWM
BPSS CWM: SQL Metamodel

instantiate Healthcare Model


M1
Business
HER definition
Information

M0 Layer Business HER Instances


Documents
12
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Model relationship
M3 level
in MFI (ISO/IEC 19763)

Y
W Z
Type -
Instance Syntax -
Super - Sub
Expression

X V
Base -Variant
M2 level

M1 level

Sharing and advancing knowledge and experience about standards, technologies and implementations. 13
How to Register a model
ISO/IEC 19763-2 : Metamodel
framework for interoperability:
Part 2: Core Model
Upper Model

•Type and Instance


•Super and Sub
Governs
•Base and Variant
•Abstract Syntax and Expression

Target Model To be Registered

Sharing and advancing knowledge and experience about standards, technologies and implementations. 14
M3 MOF Base-Variant

UML2.0 Core Package

UMM CWM:Object Model


Metamodel
M2
BPSS CWM: SQL Metamodel
Abstract
Syntax-
Expression
Healthcare Model
M1
Business HER definition
Information
instantiate

M0 Business Documents HER Instances


15
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Something Similar to Metamodel

Sharing and advancing knowledge and experience about standards, technologies and implementations.
Something similar to metamodel
• Stereotype
• UML Profile
• Architecture Models
• Model Patterns
Design Pattern
Analysis Pattern

They are not metamodel, but comrades to share a


same dream of the model sharing.
They can be subjects of the International
Standardizations.
Sharing and advancing knowledge and experience about standards, technologies and implementations. 17
UML Profiles
• Not metamodel
• UML Profile:
 A set of Stereotypes and Tag Values customized for
particular domain modeling

<<Customer>>

Stereotype
M1 Layer
<<Customer>>

Cust ID ClassInstance
Cust Name

Sharing and advancing knowledge and experience about standards, technologies and implementations. 18
Published UML Profiles
• OMG
 UML profile for CORBA
 UML profile for EDOC
 UML profile for EAI
 UML profile for MARTE (Real Time Embedded System)
 UML Profile for Modeling QoS and Fault Tolerance
Characteristics and Mechanisms
 SysML (UML Extension)

• ISO/IEC JTC1 SC7


 UML Profile for RM-ODP

• UN/CEFACT
 UML profile for CCTS

Sharing and advancing knowledge and experience about standards, technologies and implementations. 19
Catalog of OMG Domain Specifications
• Air Traffic Control
• Application Management and System Monitoring (AMSM) for CMS Systems
• Audio / Visual Streams
• Bibliographic Query Service
• Bimolecular Sequence Analysis (BSA)
• Business Motivation Model (BMM)
• Business Process Definition Metamodel (BPDM)
• Business Process Maturity Model (BPMM)
• Chemical Structure and Access Representation (CSAR)
• Life Sciences Identifiers
• Computer Aided Design (CAD) Services
• Data Acquisition from Industrial Systems (DAIS)
• Gene Expression
• Historical Data Acquisition from Industrial Systems (HDAIS)
• Laboratory Equipment Control Interface Specification (LECIS)
• Metamodel for the Federal Transition Framework (FTF)
• OMG Systems Modeling Language (OMG SysML)
• Product Data Management (PDM) Enablers
• Robotic Technology Component (RTC)
• Telecom Service & Access Subscription (TSAS)
• etc.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 20
MOF1.4 (ISO/IEC 19502 )::
MOF (META OBJECT FACILIT
Y)
Sharing and advancing knowledge and experience about standards, technologies and implementations. 21
What is MOF
 The Meta-Object Facility (MOF) is the OMG's adopted
technology for defining metadata and representing it as
CORBA objects using UML.
 The MOF 1.3 specification was finalized in September 1999
(OMG document ad/99-09-05).
 The MOF 1.4 specification was submitted to ISO/IEC/JTC1
SC32 by PAS process in 2004 . It has been approved by PAS
DIS ballot last December in 2004. (ISO/IEC DIS 19502).
 A MOF metamodel defines the abstract syntax of the
metadata in the MOF representation of a model.
 The MOF model itself describes the abstract syntax for
representing

Sharing and advancing knowledge and experience about standards, technologies and implementations. 22
What is MOF (Basic Concept)
• A model which describe an object concept.
It is called “the MOF model”.
• It become available by inheriting the MOF
model to materialize uniformed and
reusable objects and relationships among
them
• The MOF model is considered to be
situated at the M3(Meta-Meta) layer.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 23
MOF Metamodel Architecture

Type

Instance
Type

Instance

Sharing and advancing knowledge and experience about standards, technologies and implementations. 24
4 Layer Metamodel Architecture
Layer Description Examples
Metametamodel Foundation for a Metamodeling MetaClass,
Architecture. MetaAttribute,
Defining the language to describe MetaOperation
metamodels
Metamodel An Instance of a metametamodel. Class,
Defining the language to describe Attribute,
models. Operation,
Component
Model An Instance of Metamodel. Product, Unit
Defining a language to describe Price, Customer,
the information object domain. Sale, Detail
User Objects An Instance of a Model. <Chair>, <Desk>,
( User Data ) Defines specific information $100, $200
Domain
Sharing and advancing knowledge and experience about standards, technologies and implementations. 25
The relationship between metamodel and model

Sharing and advancing knowledge and experience about standards, technologies and implementations. 26
UML metamodel in the 4 Layers

27
Sharing and advancing knowledge and expeence about standards, technologies and implementations.
Basic Idea: How to define an Object

Reality M0 Layer
Set: Employees of company A
emp # Name
class 0800101 Adam Smith
0800102 Jon Due
object instance
0800103 Hajime Hori

Class Emp={ people | people working for company A}

Sharing and advancing knowledge and experience about standards, technologies and implementations. 28
Object Concept and Metamodel
M1 Layer M2 Layer

Class
Class
emp Class name
emp#:
attribute
name:

enrolment() operation Attribute operation

Class has Attributes and operations

Sharing and advancing knowledge and experience about standards, technologies and implementations. 29
Overview of M3 Layer
ModelElement

Feature * Classifier

Attribute Operation Interface Class

Sharing and advancing knowledge and experience about standards, technologies and implementations. 30
Core portion of MOF
Every classifier :
•is Generalizable,
•has Namespace .

A Namespace is consisted by
ModleElement.

And

•All classifier are governed by


a ModleElement
• Some Classifier might be typed
by TypedElement

Sharing and advancing knowledge and experience about standards, technologies and implementations. 31
Feature in MOF
Every class has attributes and operations as Feature

Sharing and advancing knowledge and experience about standards, technologies and implementations. 32
TypedElement
Classifier typed by TypedElement is Class, Association or Data Type .
Then, TypedElement characterize a classifier.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 33
Data Type

Sharing and advancing knowledge and experience about standards, technologies and implementations. 34
Association
Association between class

Sharing and advancing knowledge and experience about standards, technologies and implementations. 35
Class
A MOF Class defines the type of an
object rather than its implementation
Supertypes, Abstract, Singleton,
Association: Contents
A MOF Association .
defines a class of links
between MOF objects.
{ordered} Attribute
+dependant
A MOF object may have a
Derivedness, 0..n

number of Attributes.
Changeability, /Depends On
ModelElement
name : String
Name,type,
Contents / qulifiedName : String
annotation : String
+provider
scope,mmultiplicity,
findRequiredElement()
0..n
+containedElement
isRequiredBecause()
isFrozen()
derivedness, changeability
0..n isVisible()

Contains
{ordered}
Operation
A MOF object can have a
+container NameSpace
number of operations
Association End
0..1
+supertype lookupElement()
resolveQulifiedName() Parameter list, result,
name,type,multiplicity 0..n
{ordered}
findElementByType()
nameValid() exception list
aggregation Generalizes
Association References:
GeneralizableElement A MOF object may defined to be
isRoot
isLeaf “aware” of being in a relationship
isAbstract
+subtype
with other objects via an
Multiplicity visibility
0..n allSupertypes()
Association.
The end's multiplicity lookupElementExtended()
findElementsByTypeExtended()
Name,referenced Association
constrains the number of
End, changeability
links that may involve one
object at one end. It also Classifier 1
IsOfType
0..n TypedElement
specifies whether the links +type +typedElement

have a partial order.


36
Sharing and advancing knowledge and experience about standards, technologies and implementations.
The MOF Model
 The MOF Model is based on the concepts of object
relationship modeling.
 The three kinds of building blocks for a meta-information
model are
 Objects (described by MOF Classes),
 Links that connect objects (described by MOF Associations),
 Data values (described by CORBA IDL types).
 Instances of these constructs are organized as MOF
Packages. CORBA(IDL)

Sharing and advancing knowledge and experience about standards, technologies and implementations. 37
MOF1.4 MOF model (M3 Layer)

ModelElement

Namespace Constraint Tag TypedElement

Import Feature
Generalizabl
eElement
Constant TypeAlias

BehavioralF StructuralF Parameter AssociationEnd


eature eature
Package Classifier

Association Datatype Class Operation Exception Attribute Reference

Sharing and advancing knowledge and experience about standards, technologies and implementations. 38
MOF1.4 Metamodel: MOF Class
Class Name: This is an identifier which obeys the CORBA syntax rules.

Attributes: A MOF object may have a number of Attributes. A MOF Attribute


definition has the following components: name, type, scope,
multiplicity, derivedness, changeability
Operations A MOF object can have a number of operations (in addition to any
implicit operations for accessing and updating attribute values and
association links). These are defined by the following components:
parameter list, result, exception list
Association A MOF object may defined to be "aware" of being in a relationship
References: with other objects via an Association. This awareness is expressed as an
Association Reference, and results in link navigation and update
operations being made available in the MOF object's interface. An
Association Reference has the following components: name, referenced
association End, changeability
Supertypes: An abstract MOF Class is defined so that other Classes may inherit from
it. The MOF does not support creation of instances of an abstract Class.

Singleton, A singleton MOF Class is one for which only one instance may exist.
Contents A MOF Class is a "container" for its component features; i.e. any
Attributes, Operations and Association References. It may also contain
MOF definitions of CORBA types (e.g. typedefs) and Exceptions. 39
MOF1.4 Metamodel: MOF Associations
 Defines a class of links between MOF objects.
 Links are always binary and directed; i.e. each one links from one MOF object to
one MOF object.

Class Name: This is an identifier which obeys the CORBA syntax rules.
Association Each MOF Association has precisely two Ends with the
Ends: following components: name,type,multiplicity, aggregation
Derivedness: May be defined to be derivable from other information in a
model. For example, one can define "substitutability" as a
derived relationship between two instances of a given Class.
Changeability: May be defined so that links cannot be explicitly added or
removed. This only makes sense for a derived association.
Contents: A MOF association is a "container" for its Association
Ends.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 40
MOF1.4 Metamodel: MOF Packages
 serve as the unit of modularisation and reuse of meta-information models.
 "instances" of Packages act as collection objects for schemas of related meta-
information.

Name: This is an identifier that satisfies the CORBA IDL syntax


rules.
Contents: A MOF Package is a "container" for a Classes, Associations
and other Packages as well as MOF definitions of CORBA
types and exceptions.
Imports: A MOF Package's imports list defines a set of other MOF
Packages whose components may be re-used by
components defined within the Package.
Supertypes: A MOF Package's supertypes list defines a set of other MOF
Packages whose components form a part of the Package.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 41
MOF1.4::
XMI(ISO/IEC19503)
Sharing and advancing knowledge and experience about standards, technologies and implementations. 42
MOF ・ XMI
 MOF
 Is a generic framework for describing and representing meta-
information in an CORBA-based environment.
 Defines an IDL mapping which allows models expressed using
MOF Model constructs to be translated into interfaces CORBA-
based meta-information services.
 CORBA(IDL)
 Generate IDLs from metamodel written by MOF
 IDLs are interfaces for the repository to store metamodels.
 Generate IDLs from UML metamodel
 XMI ( XML metamodel Interchange)
 A set of XML schema for transforming MOF based metamodels
into XML schemas, that is for encoding and decoding MOF based
metadata.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 43
MOF/XMI (XML Model Interchange)
MOF
Layer Spec Exa m ple
XMI
M Met a-meta MOF
3 m odel

M Met a- UML Met a m odel, Met a Cla ss(“Cla ss”, XML DTD
2 Model IDL Met a m odel [Met a At t r (“na m e”,Str ing),
CWM Met a m odel Met a At t r (“At tr ibut es”,List<”At tr ibut e”>)]) <!ELEMENT Class
… Met a Cla ss(“At tr ibut e”,…) (name,Attribute*)>

M Model UML Models Cla ss(“St ockQuot e”, XML


1 IDL Models [At t r ibut e(“com pany”, St r ing),
At t r ibut e(“pr ice”,F ixedP oint )] <Class>StockQuote
… <Attribute>company</Attribute>
<Attribute>price</Attribute>
M Infor m a t ion Inst a nce(da t a ) Sot ckQuot e(“Sunbea m Ha r vest er s”,98.77) </Class>
0 St ockQuot e(“Ace Ta xi Ca bLt d”,12.32)

Sharing and advancing knowledge and experience about standards, technologies and implementations. 44
Sample UML model to be Interchanged

Element

ModelElement
name:Name

Feature Parameter Classifier


ownerScope:ScopeKind defaultValue:Expression
visibility:VisibilityKind kind:ParameterDirectionKind +type
+parameter

BehavioralFeature
isQuery:Boolean

Sharing and advancing knowledge and experience about standards, technologies and implementations. 45
Sample DTD

Sharing and advancing knowledge and experience about standards, technologies and implementations. 46
XML Statement (Behavioral Feature)
<BehavioralFeature>
<ModelElement.name>create</ModelElement.name>
<Feature.ownerScope>classifier</Feature.ownerScope >
<Feature.visibility>public</Feature.visibility>
Class <BehavioralFeature.isQuery>false
</ BehavioralFeature.isQuery>
Window <BehavioralFeature.parameter>
<Parameter>
+create(size:Rectangle) <ModelElement.name>size</ModelElement.name>
-show( )
<Parameter.type>Rectangle</Parameter.type>
</Parameter>
</BehavioralFeature.parameter>
</BehavioralFeature>

Sharing and advancing knowledge and experience about standards, technologies and implementations. 47
OMG Standards & ISO Standards
• UML 1.5 (ISO/IEC 19501: 2003)  SC7
• MOF1.4 (ISO/IEC 19502: 2005)  SC32
• XMI (ISO/IEC 19503:2005)  SC32
• SPEM(ISO/IEC27474)  SC7
• CWM (ISO/IEC DIS 19504 )  SC32
•UML2.0
•MOF2.0
•ODM
• BSVR Expected to be submitted by PAS
•SysML
•IMM
Sharing and advancing knowledge and experience about standards, technologies and implementations. 48
High Resolution Modeling Facility
for MDA

UML2.0 AND MOF2.0

Sharing and advancing knowledge and experience about standards, technologies and implementations. 49
Don’t call it “Wine”

Wine

Water + alcohol + grape essence + mold +….

H2O + CH3CH(OH)CH3 + …..

Atomic periodic
table

50
Sharing and advancing knowledge and experience about standards, technologies and implementations.
So Many Cores

SuperStructure

Infrastructure
Core

Core

But, It is very much High Resolution

Sharing and advancing knowledge and experience about standards, technologies and implementations. 51
Major changes in the UML
at UML2.0
• Metamodeling Facilities in MOF and UML were
Integrated as the Infrastructure Library
(MOF model still exist)
• Composite Structure
• UML Profile Mechanism
• Power Type
• Little changes in the diagrams

Sharing and advancing knowledge and experience about standards, technologies and implementations. 52
Before UML2.0 MOF model
UML
Metamodel

MOF UML
Meta Model
Modeling 1.4 1.5

UML
Metamodel

Domain UML
Model Modeling 1.5

Sharing and advancing knowledge and experience about standards, technologies and implementations. 53
UML 2.0 Infrastructure Specification

Overall Structure
Use to describe Infrastructure
Library
Use as parts
Superstructure Specification

Abstract Syntax MOF Core


Expression

Structure
Behavior
Supplement

OCL Spec. DI Spec.

54
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Meta level concept
in UML2.0 & MOF2.0
• Multiple levels still used
• No rigid structure to the Four Layer
• The meta layer could be extended to any level
more than two, relatively
• However, Type and Instance should be within
two level (Level-pair)
• The deep instantiation could be available with
the Reflection capability of the MOF
Sharing and advancing knowledge and experience about standards, technologies and implementations. 55
Composition Structure

Sharing and advancing knowledge and experience about standards, technologies and implementations. 56
Composite Structure example

customer
Customer

order *
order
*
*

Order Details * 1
OrderDetails(*) Item(*)
* *

1
Item

Sharing and advancing knowledge and experience about standards, technologies and implementations. 57
From the User View Point
Domain I-Lib
Metamodel MOF
UML
Infra
structure

UML
Domain Super
Model structure

Modeling Tool

DI OCL

Sharing and advancing knowledge and experience about standards, technologies and implementations. 58
The Core of Cores:
UML 2.0 Infrastructure
Infrastructure Library

59
Infrastructure Library – Contents

PrimitiveTypes
(Integer, String, Boolean…)
«import» «import»
«import»

Abstractions Basic Constructs


(Grab-bag of fine-grain (Simple forms of basic OO (Sophisticated forms of
OO modeling modeling concepts: Class, OO modeling concepts)
primitives/mix-ins) Operation, Package, etc.)

«import»

Profiles
(Extensibility mechanisms)
60
Sharing and advancing knowledge and experience about standards, technologies and implementations.
UML Profile in UML 2.x
Profiles package is owned by the Infrastructure Library package.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 61
Power Type
• Power Type of UML (UML2.0 Superstructure,
Section 7.2)
• Power Set:
Power Set P ( S ) := {A: a set | A ⊆ S }
Example;
S={a, b, c} … n elements.
P= {φ, a, b, c, (a, b), (a, c), (b, c), (a, b, c)}
Number of elements in P = 2n
Dangerous !!

Sharing and advancing knowledge and experience about standards, technologies and implementations. 62
Power Type

Jim Odell(1994),
Essence of Multilevel Memamodeling:
Colin Aktinson and Thomas K¨uhne

Sharing and advancing knowledge and experience about standards, technologies and implementations.
Another Discussion: “Power type pattern”
on SPEM (ISO/IEC27474)

Cesar Gonzalez Perez

Sharing and advancing knowledge and experience about standards, technologies and implementations. 64
UML2.0 Superstructure,
Abstract Syntax

Sharing and advancing knowledge and experience about standards, technologies and implementations. 65
Contents of the Power Type Package

M3 level
Sharing and advancing knowledge and experience about standards, technologies and implementations. 66
Power type example

M1
level

UML 2.0 Superstructure


Specification

Sharing and advancing knowledge and experience about standards, technologies and implementations. 67
Possibility of the problems by
Power type
M3
Object concept
Mechanism Power Type Package

instantiate instantiate
M2 Object Object Object Power
concept concept concept
Type

Object instantiate
concept Object
concept instantiate

M1
Object Object Object Object Object Object Object
property property property property property property property

M0 object object object


object object object object
68
Sharing and advancing knowledge and experience about standards, technologies and implementations.
UML2.0::

MOF 2.0
Sharing and advancing knowledge and experience about standards, technologies and implementations. 69
MOF2.0 in UML2.0
 MOF 2.0 use UML Infrastructure Library
 Define a metalanguage kernel that can define (bootstrap)
UML and also be reused to define other OMG MDA
metamodels (e.g., MOF, CWM, ODM)
 Provide more powerful mechanisms to customize UML
 Allow users to define language dialects for platforms (e.g.,
J2EE, .NET) and domains (e.g., ebusiness, finance, etc.)

Sharing and advancing knowledge and experience about standards, technologies and implementations. 70
Infrastructure Library – Usage

«merge» «import» «import» «merge»

Sharing and advancing knowledge and experience about standards, technologies and implementations. 71
Difference of EMOF & CMOF
UML2.0
Infrastructure::
Infrastructure
Library:: core Rich constructs for
OO modeling
e.g.
association,
Package,
.
EMOF
.
CMOF

72
EMOF Classes

Sharing and advancing knowledge and experience about standards, technologies and implementations. 73
Constructs merged from Core

Sharing and advancing knowledge and experience about standards, technologies and implementations. 74
EMOF (Essential MOF)
 Essential MOF is the subset of MOF that closely
corresponds to the facilities found in OOPLs and XML.
 The value of Essential MOF is that it provides a
straightforward framework for mapping MOF models to
implementations such as JMI and XMI for simple
metamodels.
 A primary goal of EMOF is to allow simple metamodels
to be defined using simple concepts
 reuse the UML2 Infrastructure.
 The EMOF Model imports two packages from MOF.
 Identity
 Reflection

Sharing and advancing knowledge and experience about standards, technologies and implementations. 75
CMOF: Complete MOF Model

 The CMOF Model is the metamodel used to specify other


metamodels such as UML2.
 It is built from the Core of UML 2.
 The Model package does not define any classes of its own.
Rather, it imports packages that together define basic
modeling capabilities.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 76
What are brought

MOF Model
(Meta-metamodel)

MOF
Capability

Reflection
Identification
Extension

Sharing and advancing knowledge and experience about standards, technologies and implementations. 77
Example of Reflection
Reflection
Element
SemanticDomain
getMetaClass(): Class +object
containar(): Element
equals(element:object ) Boolean ObjectInstance
get (property: Property): Object 1
set (property: Property, value: object)
Unset (property: Property)

<<instantiate>>

Factory Model Repository


Create (metaClass: Class): Element
1
+entry * 1..*
<<use>>
RepositoryEntry
Identifier
url : string
URIExtent Client
uri(object: Element) string
Element (uri: String) : Element Client can access a object specified by an
URI through the reflection package
Sharing and advancing knowledge and experience about standards, technologies and implementations. 78
MOF Model Constraint by OCL
[C-1] MustBeContainedUnlessPackage
format1: MUST_BE_CONTAINED_UNLESS_PACKAGE
format2: must_be_contained_unless_package
evaluation policy : deferred
description: A ModelElement that is not a Package
must have a container.

context ModelElement
inv:
not self.oclIsTypeOf(Package) implies
self.container -> size = 1

Sharing and advancing knowledge and experience about standards, technologies and implementations. 79
Semantic Domain in CMOF

Add more functional


capabilities for the
modeling

Sharing and advancing knowledge and experience about standards, technologies and implementations. 80
Standard Metamodels::
MOF BASED
METAMODELS
Sharing and advancing knowledge and experience about standards, technologies and implementations. 81
MOF based Metamodel Standards
• ISO/IEC JTC1 SC32
– MFI (ISO/IEC 19763-n)
• OMG + ISO
– ISO/IEC JTC1 SC32
 CWM (ISO/IEC DIS 19504)
– ISO/IEC JTC1 SC7
 SPEM (ISO/IEC27474)
• OMG standards expected to be PAS submission
 ODM (Ontology Definition Metamodel)
 SBVR (Semantic Business Vocabulary Rules)
 MOF2QVT(Query View Transformation)
 RSA (Reusable Asset Specification)
 IMM(Information Management Metamodel)
Etc.

Sharing and advancing knowledge and experience about standards, technologies and implementations. 82
Metamodel Framework for
Interoperability ( MFI )
 ISO/IEC19763-1 Reference model
 ISO/IEC19763-2 Core model
 ISO/IEC19763-3 Metamodel for ontology
registration
 ISO/IEC19763-4 Metamodel for model mapping
 ISO/IEC WD19763-5 Process model registration

Sharing and advancing knowledge and experience about standards, technologies and implementations. 83
Objectives for MFI Core
 Registering sharable modeling constructs
 Metamodel
 Model
 Ontology
 Profiles
 Pattern
 Classification for components
 From viewpoint of “Sign-Concept-Instances”
 Selection of instance sets for a particular purpose usage
 Assembly (Composition) of registered components
 Plug and Play with selection
 Core Framework for registering Ontology and Model Mapping

Sharing and advancing knowledge and experience about standards, technologies and implementations. 84
ISO/IEC 19763-2 : Core Model (Overview)
ModelDomain
conformance

0..* +specified by
ModelClassifier
1
ModelSign model type
+having +specified by ModelConcept +concept usage type
nameSpace modelType xmi text
sign 0..* 1 0..1 attachment type
1
1 attachment
1 +governed by
+generally expressed by
Administered Item
data_identifier : String
version : String

1..* 1..* +governing


+expressing
ModelInstances 0..*
ModelSelection 1..* 1
componentType ModelComponent
condition format
+selected by +selecting 1 +referent

Sharing and advancing knowledge and experience about standards, technologies and implementations. 85
MOF and MFI Core

MOF

M3 Layer

<<instanceOf>>
MDR-ByMOF <<instanceOf>> M2, M1, ..,M-n Layer
<<instanceOf>>

MMF-Core

<<use>> Classifier

<<use>> <<reference>>
Target ObjectByMOF
<<reference>>

<<use>>
<<use>> <<use>> <<reference>>
Target Models
Level Pair Registry Relationship

<<use>> <<use>>

Sharing and advancing knowledge and experience about standards, technologies and implementations. 86
Common facility of
MDR(ISO/IEC11179) MOF
MFI-2
MFI Core
model
MDR standards
MFI-3
ODM

Metamodel for Metamodel


Metamodel for
MDR(ISO/IEC11179) for Ontology Metamodel for DL
Registration Metamodel for OWL

registration Administration Record Describe

Data Elements
Terminology
Basic Classes
Basic Relationship
Any Ontology Ontology by
ODM
Sharing and advancing knowledge and experience about standards, technologies and implementations. 87
Standard Metamodels::
MOF BASED METAMODELS::
CWM : COMMON
WAREHOUSE METAMODEL
Sharing and advancing knowledge and experience about standards, technologies and implementations. 88
CWM (Common Warehouse Metamodel)

• ISO/IEC DIS 19504


 PAS DIS Balloting was closed on Dec.,25 2007.
 BRG (Ballot Resolution Group ) was formulated.
• A set of metamodel for data resource models.
• 19 metamodels;

Sharing and advancing knowledge and experience about standards, technologies and implementations. 89
Why CWM is needed

Application Database
Application Data
System
Application Warehouse
System Data File
System
Multi OLAP tools
CSV, dimensional
Record, data
Relation,
Object

• Metamodel for CSV, Record


• Metamodel for Multi dimensional data
• Metamodel for transformation
etc
Sharing and advancing knowledge and experience about standards, technologies and implementations. 90
CWM Metamodels

Sharing and advancing knowledge and experience about standards, technologies and implementations. 91
CWM Core metamodel
Nothing but MOF model

Sharing and advancing knowledge and experience about standards, technologies and implementations. 92
CWM: Relational Data model

Sharing and advancing knowledge and experience about standards, technologies and implementations. 93
CWM: Relational data model
CheckConstraint +/constraint
deferrability : DeferrabilityType
n Column SQLDataType
+/constrainedElement
n
{ordered}
n
+/constraint ColumnSet Column
precision : Integer
+/owner +/feature scale : Integer +/structurealFeature
isNullable : NullableType SQLDataType
ColumnSet
length : Integer
n +/type typeNumber : Integer
0..1 n collationName : String 1
{ordered} characterSetName : String
/ optionScopeColumnSet : NamedColumnSet

M2
/ referencedTableType : SQLStructuredType

NamedColumnSet NamedColumnSet
/ optionScopeColumn : Column SQLDistincType
/ type : SQLStructuredType
usingTrigger : Trigger SQLDistinctType
length : Integer
precision : Integer
QueryColumnSet scale : Integer
query : QueryEsxpression / sqlSimpleType : SQLSimpleType
n
{ordered} +sqlDistinctType
SQLSimpleType

+/constrainedElement Table View


SQLSimpleType
n characterMaximumLength : Integer
+sqlSimpleType characterOctetLength : Integer
Table numericPrecison : Integer
View
isTemporary : Boolean 1 numericPrecisionRadix : Integer
isReadOnly : Boolean
temporaryScope : String numericScale : Integer
checkOptio : Boolean
/ trigger : Trigger dateTimePrecision : Integer
queryExpression : QueryExpression
isSystem : Boolean

M1 NamedColumnSet
ColumnSet
Employee
emp # Name Address
0800101 Adam
Smith Table
0800102 Jon Due
0800103 Hajime Hori
Sharing and advancing knowledge and experience about standards, technologies and implementations. 94
Metamodel for Record

Sharing and advancing knowledge and experience about standards, technologies and implementations. 95
Recommendations & References
Book:
•D.Gasevic, D.Djuric, V. Devedzic :
Model Driven Architecture and Ontology Development,
Springer, 2006. ISBN-10: 3-540-32180-2
Paper or Presentation:
•Bran Selic : Presentation on UML2.0 at OFMR2005, Berlin,

•Colin Aktinson: Essence of Multilevel Metamodeling, UML2001,


http://www.mcs.vuw.ac.nz/~tk/publications/papers/essence.pdf
•C. Gonzalez-Perez: Supporting Situational Method Engineering
with ISO/IEC 24744 and the Work Product Pool Approach
Useful sites:
• OMG Specifications: http://www.omg.org/spec/
• pUML : <<Google>>
• Metamodel.com: <<Google>>

Sharing and advancing knowledge and experience about standards, technologies and implementations. 96
THANK YOU FOR YOUR
ATTENTION
&
ENDURANCE

Sharing and advancing knowledge and experience about standards, technologies and implementations. 97

You might also like