A Tutorial on: Metamodel Standardization & MOF

Download Report

Transcript A Tutorial on: Metamodel Standardization & MOF

A Tutorial on:
Metamodel Standardization
&
MOF (For SC32)
32N1764
May 26, 2008
Hajime Horiuchi
Tokyo International University
Leader of MFI Project,
ISO/IEC JTC1 SC32WG2
“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
Sharing and advancing knowledge and experience about standards, technologies and implementations.
2
General::
META HIERARCHY
Sharing and advancing knowledge and experience about standards, technologies and implementations.
3
Four layered Meta Hierarchy came
from IRDS
M-Objects
IRDS: Information Resource
Dictionary System (ISO/IEC 10728)
Attribute
Entity
MOF :Meta Object Facility,
OMG
Attribute
Name
Address
Name
IRDD Level
Entity
IRD Level
Address
J.Doe
Sydney
J. Smith
New York
H. Hori
Tokyo
IR Level
Sharing and advancing knowledge and experience about standards, technologies and implementations.
4
Meta Hierarchy Concept
Concept was defined by ISO/IEC 10728 (IRDS)
Meta-Meta
data
SQL
IRDD
Inherited by MOF
M3
Metamodel M2
To describe
Column , Table
Meta data
IRD
Data Element
Column,
Table
M1
Meta Model
Object
Concept
(Meta Object)
Object
Model
Model
Describe
Describe
Value
Meta-Meta
Model
Object Concept
Representation
Mechanism
Mo
Concept
Note: ISO/IEC11179 did not aware of 4 level Meta hierarchy.
Sharing and advancing knowledge and experience about
standards, technologies and implementations.
5
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
instantiation
Instances
Base model
grouping
Sub type
Description
describe
Anything
Template
Apply
Realization
Abstract Syntax
Base-Variant
expression
Customized
Expression
Sharing and advancing knowledge and experience about standards, technologies and implementations.
8
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
M3
MetaMeta
Model
Deep Instantiation
Object concept
Mechanism
Object concept
Mechanism
instantiate
M2
Meta
Model
instantiate
Object
concept
Object
concept
Object concept
Object
concept
M1
M0
Model
Object property
Instances
Object
property
Object
property
Instances Instances
Object
property
Object
property
instantiate
Instances
Sharing and advancing knowledge and experience about standards, technologies and implementations.
10
Even in MFO 1.4
MOF core
M3
Level
MOF 1.4
MOF Model
Sharing and advancing knowledge and experience about standards, technologies and implementations.
11
M3
MOF
UML2.0 Core Package
M2
UMM
Metamodel
CWM:Object Model
CWM
ebXML
BPSS
instantiate
CWM: SQL Metamodel
Healthcare Model
M1
Business
Information
M0 Layer
Business
Documents
HER definition
HER Instances
Sharing and advancing knowledge and experience about standards, technologies and implementations.
12
Model relationship
in MFI (ISO/IEC 19763)
M3 level
Y
W
Super - Sub
Z
Type Instance
Syntax Expression
X
M2 level
V
Base -Variant
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
MOF
M3
Base-Variant
UML2.0 Core Package
M2
UMM
Metamodel
BPSS
CWM:Object Model
CWM: SQL Metamodel
Healthcare Model
Abstract
SyntaxExpression
M1
Business
Information
M0
Business Documents
HER definition
instantiate
HER Instances
Sharing and advancing knowledge and experience about standards, technologies and implementations.
15
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
Cust Name
ClassInstance
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)
Sharing and advancing knowledge and experience about standards, technologies and implementations.
20
etc.
MOF1.4 (ISO/IEC 19502 )::
MOF (META OBJECT FACILITY)
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
MetaClass,
Metametamodel Foundation for a Metamodeling
Architecture.
MetaAttribute,
Defining the language to describe MetaOperation
metamodels
Metamodel
An Instance of a metametamodel. Class, Attribute,
Defining the language to describe Operation,
models.
Component
Model
An Instance of Metamodel.
Defining a language to describe
the information object domain.
Product, Unit
Price, Customer,
Sale, Detail
User Objects
(User Data)
An Instance of a Model.
Defines specific information
Domain
<Chair>, <Desk>,
$100, $200
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
Sharing and advancing knowledge and expeence about standards, technologies and implementations.
27
Basic Idea: How to define an Object
Reality
M0 Layer
Set: Employees of company A
emp #
class
Name
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
emp
Class
Class name
emp#:
name:
attribute
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
Attribute
*
Operation
Classifier
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
Association:
A MOF Association
defines a class of links
between MOF objects.
Derivedness,
Changeability,
Contents
A MOF Class defines the type of
an object rather than its
implementation
Supertypes, Abstract, Singleton,
Contents
.
Attribute
A MOF object may have a
number of Attributes.
Name,type,
scope,mmultiplicity,
derivedness, changeability
Operation
Association End
name,type,multiplicity
aggregation
A MOF object can have a
number of operations
Parameter list, result,
exception list
Association References:
Multiplicity
The end's multiplicity
constrains the number of links
that may involve one object at
one end. It also specifies
whether the links have a
partial order.
A MOF object may defined to be
“aware” of being in a relationship
with other objects via an
Association.
Name,referenced Association End,
changeability
Sharing and advancing knowledge and experience about standards, technologies and implementations.
36
The MOF Model
 The MOF Model is based on the concepts of
object relationship modeling.
 The three kinds of building blocks for a metainformation 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
TypedElement
Tag
Import
Feature
Generalizabl
eElement
Constant
BehavioralF
eature
Package
Association
StructuralF
eature
TypeAlias
Parameter
AssociationEnd
Classifier
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
References:
A MOF object may defined to be "aware" of being in a relationship
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
Ends:
Each MOF Association has precisely two Ends with the
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
Spec
Layer
Example
XMI
M
3
Meta-meta
model
MOF
M
2
MetaModel
UML Metamodel,
IDL Metamodel
CWM Metamodel
…
MetaClass(“Class”,
[MetaAttr(“name”,String),
MetaAttr(“Attributes”,List<”Attribute”>)])
MetaClass(“Attribute”,…)
XML DTD
UML Models
IDL Models
Class(“StockQuote”,
[Attribute(“company”, String),
Attribute(“price”,FixedPoint)]
…
XML
M
1
M
0
Model
Information
Instance(data)
SotckQuote(“Sunbeam Harvesters”,98.77)
StockQuote(“Ace Taxi CabLtd”,12.32)
…
<!ELEMENT Class
(name,Attribute*)>
<Class>StockQuote
<Attribute>company</Attribute>
<Attribute>price</Attribute>
</Class>
7
Sharing and advancing knowledge and experience about standards, technologies and implementations.
44
Sample UML model to be Interchanged
Element
ModelElement
name:Name
Feature
ownerScope:ScopeKind
visibility:VisibilityKind
Parameter
defaultValue:Expression
kind:ParameterDirectionKind
Classifier
+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>
Class
Window
+create(size:Rectangle)
-show( )
<Feature.ownerScope>classifier</Feature.ownerScop
e>
<Feature.visibility>public</Feature.visibility>
<BehavioralFeature.isQuery>false
</ BehavioralFeature.isQuery>
<BehavioralFeature.parameter>
<Parameter>
<ModelElement.name>size</ModelElement.name>
<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)
MOF1.4 (ISO/IEC 19502: 2005)
XMI (ISO/IEC 19503:2005)
SPEM(ISO/IEC27474)
CWM (ISO/IEC DIS 19504 )
•UML2.0
•MOF2.0
•ODM
• BSVR
•SysML
•IMM
 SC7
 SC32
 SC32
 SC7
 SC32
Expected to be submitted by PAS
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
Sharing and advancing knowledge and experience about standards, technologies and implementations.
50
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
Meta Model
Modeling
MOF model
MOF
1.4
UML
Metamodel
UML
1.5
UML
Metamodel
Domain
Model
Modeling
UML
1.5
Sharing and advancing knowledge and experience about standards, technologies and implementations.
53
UML 2.0
Infrastructure Specification
Overall Structure
Use to describe
Use as parts
Infrastructure
Library
Superstructure Specification
MOF Core
Abstract Syntax
Expression
Structure
Behavior
Supplement
OCL Spec.
DI Spec.
Sharing and advancing knowledge and experience about standards, technologies and implementations.
54
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
OrderDetails(*)
*
*
1
Item(*)
*
1
Item
Sharing and advancing knowledge and experience about standards, technologies and implementations.
57
From the User View Point
Domain
Metamodel
MOF
I-Lib
UML
Infra
structure
UML
Super
structure
Domain
Model
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
InfrastructureLibrary
PrimitiveTypes
(Integer, String, Boolean…)
«import»
«import»
«import»
Abstractions
(Grab-bag of fine-grain
OO modeling
primitives/mix-ins)
Basic
(Simple forms of basic OO
modeling concepts: Class,
Operation, Package, etc.)
Constructs
(Sophisticated forms of
OO modeling concepts)
«import»
Profiles
(Extensibility mechanisms)
Sharing and advancing knowledge and experience about standards, technologies and implementations.
60
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
M2
Object
concept
instantiate
Object
concept
Object
concept
Object
concept
Object
concept
Power
Type
instantiate
instantiate
M1
Object
property
Object
property
Object
property
Object
property
M0
object
object
object
object
Object
property
object
Object
property
object
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Object
property
object
68
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
InfrastructureLibrary
«import»
«import»
Constructs
Basic
«merge»
…
PrimitiveTypes
«import» «import»
«merge»
MOF
EMOF
«merge»
CMOF
…
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
EMOF
e.g.
association,
Package,
.
.
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
EMOF
«merge»
CMOF
…
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
containar(): Element
equals(element:object ) Boolean
get (property: Property): Object
set (property: Property, value: object)
Unset (property: Property)
+object
ObjectInstance
1
<<instantiate>>
Factory
Model Repository
Create (metaClass: Class): Element
1
+entry
<<use>>
Identifier
URIExtent
uri(object: Element) string
Element (uri: String) : Element
Client
*
1..*
RepositoryEntry
url : string
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
ModelSign
nameSpace
sign
+having
1
+generally expressed by
+expressing
+specified by
0..*
1
Administered Item
data_identifier : String
version : String
1..*
ModelSelection
condition
ModelClassifier
model type
+concept usage type
xmi text
1
0..1 attachment type
attachment
1
+governed by
1
ModelConcept
modelType
1..* +governing
1..*
+selected by
1
+selecting
ModelInstances
componentType
format
1
0..*
ModelComponent
+referent
Sharing and advancing knowledge and experience about standards, technologies and implementations.
85
MOF and MFI Core
MOF
M3 Layer
<<instanceOf>>
<<instanceOf>>
MDR-ByMOF
<<instanceOf>>
M2,
M1,
Layer
..,M-n
MMF-Core
Classifier
<<use>>
<<use>>
<<reference>>
Target
<<reference>>
ObjectByMOF
<<use>>
<<use>>
<<reference>>
<<use>>
Target Models
Level Pair
Registry
<<use>>
Relationship
<<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
ODM
MFI-3
Metamodel for
MDR(ISO/IEC11179)
registration
Metamodel
for Ontology
Registration
Metamodel for
Metamodel for DL
Metamodel for OWL
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
Application
System
Application
System
System
Database
Data File
CSV,
Record,
Relation,
Object
Data
Warehouse
Multi
dimensional
data
OLAP tools
• 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
deferrability : DeferrabilityType
+/constraint
n
+/constrainedElement
{ordered}
n
n
+/constraint
ColumnSet
+/owner
ColumnSet
0..1
M2
Column
Column
precision : Integer
+/feature scale : Integer
isNullable : NullableType
length : Integer
n collationName : String
{ordered}
characterSetName : String
/ optionScopeColumnSet : NamedColumnSet
/ referencedTableType : SQLStructuredType
+/structurealFeature
n
NamedColumnSet
NamedColumnSet
/ optionScopeColumn : Column
/ type : SQLStructuredType
usingTrigger : Trigger
QueryColumnSet
query : QueryEsxpression
n
View
n
Table
isTemporary : Boolean
temporaryScope : String
/ trigger : Trigger
isSystem : Boolean
M1
1
SQLDataType
typeNumber : Integer
SQLDistincType
+sqlDistinctType
+/constrainedElement
+/type
SQLDistinctType
length : Integer
precision : Integer
scale : Integer
/ sqlSimpleType : SQLSimpleType
{ordered}
Table
SQLDataType
View
isReadOnly : Boolean
checkOptio : Boolean
queryExpression : QueryExpression
SQLSimpleType
SQLSimpleType
characterMaximumLength : Integer
+sqlSimpleType characterOctetLength : Integer
numericPrecison : Integer
1 numericPrecisionRadix : Integer
numericScale : Integer
dateTimePrecision : Integer
NamedColumnSet
ColumnSet
Employee
emp #
Name
Address
0800101 Adam
Smith
Table
0800102 Jon Due
0800103 Hajime
Sharing and advancing knowledge and experienceHori
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