sharing and advancing knowledge and experience about standards, technologies and implementations. a...

97
Sharing and advancing knowledge and experience about standards, technologies and implementations. Metadata DownUnder Metadata DownUnder”: 11th Open Forum on Metadata Registries Sydney, NSW Australia 32N1764

Upload: halie-euell

Post on 14-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

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

32N1764

Page 2: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Topics• Model and Metamodel in general• MOF1.4 (ISO/IEC19502)• UML2.0 and MOF2.0• Standard Metamodel

– MOF compliantCWM, SPEM, ODM, MFI

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

Page 3: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

META HIERARCHY General::

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

Page 4: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Four layered Meta Hierarchy came from IRDS

Name

J.Doe

J. Smith

H. Hori

Address

Sydney

New York

Tokyo

Attribute

Name

Address

M-Objects

Attribute

Entity

Entity

IR Level

IRD Level

IRDD Level

IRDS: Information Resource Dictionary System (ISO/IEC 10728)

MOF :Meta Object Facility, OMG

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

Page 5: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Meta Hierarchy Concept

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

Model

Concept

Meta Model

Meta-Meta Model

Value

Data Element

Meta data

Meta-Meta data

Describe

Concept was defined by ISO/IEC 10728 (IRDS) Inherited by MOF

Describe

Object Model

Object Concept(Meta Object)

Object Concept RepresentationMechanism

Column, Table

MetamodelTo describe Column , Table

SQL

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

IRD

IRDD

Mo

M1

M2

M3

5

Page 6: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 7: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 8: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Diversity of Meta Concept

Type

Instances

instantiation

Type

Sub type

Description

Anything

grouping describe

Template

Realization

Apply

Base model

Customized

Base-Variant

Abstract Syntax

Expression

expression

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

Page 9: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Replication of Concept

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

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

Dog

Class

A particular instance “Pochi”

Animal

Pet

Instance

Instance of instance

Page 10: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Shallow & Deep Instantiation

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

M1

M2

M3

Object property

Object concept

Object conceptMechanism

M0

UML & MOF

Instances

Object conceptMechanism

Object concept

Object concept

Instances

Shallow Instantiation Deep Instantiation

instantiate instantiate

Objectproperty

Objectproperty

instantiate

Objectproperty

Object concept

Instances Instances

Model

Meta Model

Meta-Meta Model

Objectproperty

10

Page 11: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Even in MFO 1.4

MOF core

MOF Model

MOF 1.4M3Level

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

Page 12: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

UML2.0 Core Package

HER Instances

Business Information

Business Documents

MOF

CWM:Object Model

HER definition

CWM: SQL MetamodelBPSS

Healthcare Model

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

M0 Layer

M1

M2

M3

UMM Metamodel

CWMebXML

instantiate

12

Page 13: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Model relationship in MFI (ISO/IEC 19763)

X

YZW

VBase -Variant

Type - Instance Syntax -

ExpressionSuper - Sub

M2 level

M1 level

M3 level

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

Page 14: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

How to Register a model

Upper Model

Target Model

•Type and Instance

•Super and Sub

•Base and Variant

•Abstract Syntax and Expression

ISO/IEC 19763-2 : Metamodel framework for interoperability: Part 2: Core Model

Governs

To be Registered

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

Page 15: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Abstract Syntax-

Expression

Base-Variant

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

M0

M1

M2

M3UML2.0 Core Package

HER Instances

Business Information

Business Documents

MOF

CWM:Object Model

HER definition

CWM: SQL MetamodelBPSS

Healthcare Model

UMM Metamodel

instantiate

15

Page 16: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Something Similar to Metamodel

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

Page 17: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Something similar to metamodel

• Stereotype• UML Profile• Architecture Models• Model Patterns

Design Pattern Analysis Pattern

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

They are not metamodel, but comrades to share a same dream of the model sharing.They can be subjects of the International Standardizations.

17

Page 18: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

UML Profiles• Not metamodel• UML Profile:

A set of Stereotypes and Tag Values customized for particular domain modeling

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

<<Customer>>

Cust IDCust Name

<<Customer>>

Stereotype

ClassInstance

M1 Layer

18

Page 19: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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 SC7UML Profile for RM-ODP

• UN/CEFACT UML profile for CCTS

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

Page 20: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 21: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF (META OBJECT FACILITY)MOF1.4 (ISO/IEC 19502 )::

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

Page 22: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 23: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 24: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF Metamodel Architecture

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

Type

Instance

Type

Instance

24

Page 25: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

4 Layer Metamodel Architecture

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

Layer Description Examples

Metametamodel

Foundation for a Metamodeling Architecture.

Defining the language to describe metamodels

MetaClass,

MetaAttribute,

MetaOperation

Metamodel An Instance of a metametamodel.

Defining the language to describe models.

Class, Attribute,

Operation,

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

25

Page 26: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

The relationship between metamodel and model

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

Page 27: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

UML metamodel in the 4 Layers

Sharing and advancing knowledge and expeence about standards, technologies and implementations.27

Page 28: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Basic Idea: How to define an Object

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

Set: Employees of company A

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

object instance

class

emp # Name

0800101 Adam Smith

0800102 Jon Due

0800103 Hajime Hori

M0 LayerReality

28

Page 29: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Object Concept and Metamodel

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

Class

Attribute operation

emp

emp#:name:

Class

enrolment()

attribute

operation

Class name

M1 Layer M2 Layer

Class has Attributes and operations

29

Page 30: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Overview of M3 Layer

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

ModelElement

Feature Classifier*

Attribute Operation Interface Class

30

Page 31: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Core portion of MOF

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

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

31

Page 32: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Feature in MOF

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

Every class has attributes and operations as Feature

32

Page 33: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

TypedElement

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

Classifier typed by TypedElement is Class, Association or Data Type . Then, TypedElement characterize a classifier.

33

Page 34: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Data Type

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

Page 35: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Association

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

Association between class

35

Page 36: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

TypedEl ementCl assi f i er 1 0. . n

General i zabl eEl ementi sRooti sLeafi sAbst ractvi si bi l i t y

al l Supertypes( )l ookupEl ementExtended( )f i ndEl ementsByTypeExtended( )

Model El ementname : St r i ng/ qul i f i edName : St r i ngannotat i on : St r i ng

f i ndRequi redEl ement ( )i sRequi redBecause( )i sFrozen( )i sVi si bl e( )

0. . n

0. . n

NameSpace

l ookupEl ement ( )resol veQul i f i edName( )f i ndEl ementByType( )nameVal i d( )

0. . n

0. . n

0. . 1

0. . n

/ Depends On

+provi der

+dependant

Cont ai ns

+contai nedEl ement

+contai ner

General i zes

+subtype

+supertype

0. . n

0. . n

{ordered}

{ordered}

0. . 1

0. . n

{ordered}

0. . n

0. . n

1 0. . nI sOf Type

+type +typedEl ement

MultiplicityThe 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.

ClassA MOF Class defines the type of an object rather than its implementationSupertypes, Abstract, Singleton, Contents

.

Association References:A MOF object may defined to be “aware” of being in a relationship with other objects via an Association.Name,referenced Association End, changeability

Association:A MOF Association defines a class of links between MOF objects. Derivedness, Changeability, Contents

Association Endname,type,multiplicityaggregation

AttributeA MOF object may have a number of Attributes.Name,type, scope,mmultiplicity, derivedness, changeability

OperationA MOF object can have a number of operationsParameter list, result, exception list

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

Page 37: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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 areObjects (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

Page 38: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF1.4 MOF model (M3 Layer)

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

Package

Feature

Behavi oral Feature

St ructural Feature

Constant

Parameter

TypeAl i as

At t r i buteAssoci at i on Cl assDatatype

Cl assi f i er

TypedEl ement

Except i onOperat i on

Associ at i onEnd

Ref erence

I mport

TagConst rai ntNamespace

General i zableEl ement

Model El ement

38

Page 39: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF1.4 Metamodel: MOF ClassClass 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

Page 40: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF1.4 Metamodel: MOF Associations

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

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.

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.

40

Page 41: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF1.4 Metamodel: MOF Packages

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

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.

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.

41

Page 42: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

XMI(ISO/IEC19503)MOF1.4::

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

Page 43: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 44: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

7

Layer Spec Example

M3

Meta-metamodel

MOF

M2

Meta-Model

UML Metamodel,IDL MetamodelCWM Metamodel…

MetaClass(“Class”,[MetaAttr(“name”,String),MetaAttr(“Attributes”,List<”Attribute”>)])MetaClass(“Attribute”, …)

M1

Model UML ModelsIDL Models

Class(“StockQuote”,[Attribute(“company”, String),Attribute(“price”,F ixedPoint)]…

M0

Information Instance(data) SotckQuote(“Sunbeam Harvesters”, 98.77)StockQuote(“Ace Taxi CabL td”, 12.32)…

XML

<Class>StockQuote<Attribute>company</Attribute><Attribute>price</Attribute></Class>

XML DTD

<!ELEMENT Class(name,Attribute*)>

XMI

MOF/XMI (XML Model Interchange)MOF

44

Page 45: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Sample UML model to be Interchanged

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

Element

ModelElement

name:Name

Feature

ownerScope:ScopeKindvisibility:VisibilityKind

BehavioralFeature

isQuery:Boolean

Parameter

defaultValue:Expressionkind:ParameterDirectionKind

Classifier

+parameter

+type

45

Page 46: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Sample DTD

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

Page 47: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

XML Statement (Behavioral Feature)

<BehavioralFeature>

<ModelElement.name>create</ModelElement.name>

<Feature.ownerScope>classifier</Feature.ownerScope >

<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.

Window

+create( size:Rectangle )-show( )

Class

47

Page 48: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

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

•UML2.0•MOF2.0 •ODM• BSVR•SysML•IMM

48

Expected to be submitted by PAS

Page 49: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

UML2.0 AND MOF2.0

High Resolution Modeling Facility for MDA

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

Page 50: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Don’t call it “Wine”

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

Wine

Water + alcohol + grape essence + mold +….

H2O + CH3CH(OH)CH3 + …..

Atomic periodic table

50

Page 51: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

So Many Cores

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

Core

Core

Infrastructure

SuperStructure

But, It is very much High Resolution

51

Page 52: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 53: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Before UML2.0

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

Modeling

ModelingMOF1.4

UML1.5

Meta Model

Domain Model

UML Metamodel

UML1.5

UML MetamodelMOF model

53

Page 54: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

UML 2.0

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

InfrastructureLibrary

MOF CoreAbstract Syntax

Structure Behavior

Supplement

Superstructure Specification

OCL Spec. DI Spec.

Infrastructure Specification

Use to describe

Use as parts

Overall Structure

Expression

54

Page 55: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 56: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Composition Structure

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

Page 57: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Composite Structure example

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

customer

Item

Customer

OrderDetails(*) Item(*)

order

order

Order Details

*

*

*

*

*

1

*

* 1

57

Page 58: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

From the User View Point

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

Domain Model

Domain Metamodel MOF

Modeling Tool

UML Super structure

UMLInfra structure

OCLDI

I-Lib

58

Page 59: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

The Core of Cores:

Infrastructure Library

UML 2.0 Infrastructure

59

Page 60: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Infrastructure Library – Contents

PrimitiveTypes(Integer, String, Boolean…)

Abstractions(Grab-bag of fine-grain

OO modeling primitives/mix-ins)

«import»

Constructs(Sophisticated forms ofOO modeling concepts)

«import»

Basic(Simple forms of basic OO modeling concepts: Class, Operation, Package, etc.)

«import»

Profiles(Extensibility mechanisms)

«import»

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

Page 61: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

UML Profile in UML 2.x

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

Profiles package is owned by the Infrastructure Library package.

61

Page 62: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

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

Dangerous !!

62

Page 63: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Jim Odell(1994),

Power Type

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

Page 64: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Another Discussion: “Power type pattern”

on SPEM (ISO/IEC27474)

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

Cesar Gonzalez Perez

64

Page 65: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

UML2.0 Superstructure, Abstract Syntax

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

Page 66: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Contents of the Power Type Package

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

M3 level

66

Page 67: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Power type example

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

M1 level

UML 2.0 Superstructure Specification

67

Page 68: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Possibility of the problems by Power type

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

M1

M2

M3

M0

Object conceptMechanism

Object concept

Object concept Object

concept

instantiate

Objectproperty

Objectproperty

instantiate

Objectproperty

Object concept

Objectproperty

Power Type Package

Object concept

Objectproperty

Objectproperty

Objectproperty

Power Type

object objectobject object object object

object

instantiate

instantiate

68

Page 69: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF 2.0UML2.0::

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

Page 70: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 71: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Infrastructure Library – Usage

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

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

Page 72: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Difference of EMOF & CMOF

Rich constructs for OO modeling

EMOF CMOF

UML2.0 Infrastructure::Infrastructure Library:: core

e.g. association,Package,..

72

Page 73: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

EMOF Classes

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

Page 74: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Constructs merged from Core

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

Page 75: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 76: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 77: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

What are brought

MOF Model(Meta-metamodel)

MOF Capability

ReflectionIdentificationExtension

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

Page 78: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Example of Reflection

Element

getMetaClass(): Classcontainar(): Elementequals(element:object ) Booleanget (property: Property): Objectset (property: Property, value: object)Unset (property: Property)

Factory

Identifier

URIExtent

SemanticDomain

ObjectInstance

Model Repository

Reflection

Client

RepositoryEntry

url : string

+object

1

1..*

1

*+entry

<<use>>

<<instantiate>>

Create (metaClass: Class): Element

uri(object: Element) stringElement (uri: String) : Element Client can access a object specified by an

URI through the reflection packageSharing and advancing knowledge and experience about standards, technologies and implementations. 78

Page 79: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF Model Constraint by OCL

[C-1] MustBeContainedUnlessPackageformat1: MUST_BE_CONTAINED_UNLESS_PACKAGEformat2: must_be_contained_unless_packageevaluation policy : deferreddescription: 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

Page 80: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Semantic Domain in CMOF

Add more functional capabilities for the modeling

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

Page 81: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF BASED METAMODELS

Standard Metamodels::

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

Page 82: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 83: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

ISO/IEC19763-1 Reference modelISO/IEC19763-2 Core modelISO/IEC19763-3 Metamodel for

ontology registrationISO/IEC19763-4 Metamodel for

model mappingISO/IEC WD19763-5 Process model

registration

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

Metamodel Framework for Interoperability

( MFI )

83

Page 84: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Objectives for MFI Core Registering sharable modeling constructs

MetamodelModelOntologyProfilesPattern

Classification for componentsFrom viewpoint of “Sign-Concept-Instances”

Selection of instance sets for a particular purpose usageAssembly (Composition) of registered componentsPlug and Play with selection

Core Framework for registering Ontology and Model Mapping

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

Page 85: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

ISO/IEC 19763-2 : Core Model (Overview)

Administered Itemdata_identifier : Stringversion : String

ModelComponent

ModelClassifiermodel typeusage typexmi textattachment typeattachment

ModelDomainconformance

ModelInstancescomponentTypeformat

0..*

1 +referent

0..*

1

ModelSelectioncondition

11..*

+selecting

1

+selected by

1..*

ModelConceptmodelType

0..11

+concept

0..11

0..*

1

+specified by0..*

1

1

1..*

+governed by1

+governing1..*

ModelSignnameSpacesign

1

1..*

+generally expressed by1

+expressing1..*

10..*

+specified by

1

+having

0..*

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

Page 86: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

MOF and MFI Core

MOF

MDR- ByMOF

MMF- Core

Classifier

RelationshipRegistry

Target

Level Pair

ObjectByMOF

<<instanceOf>>

<<instanceOf>>

<<instanceOf>>

<<reference>>

<<reference>>

<<reference>>

<<use>>

<<use>>

<<use>> <<use>>

<<use>>

<<use>> <<use>>

M3 Layer

M2, M1, ..,M-n Layer

Target Models

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

Page 87: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Metamodel for Ontology Registration

Metamodel for MDR(ISO/IEC11179)

ODM

MFI Core model

Any Ontology

Common facility of MDR(ISO/IEC11179)

Data Elements

Terminology

Basic Classes

Basic Relationship

Metamodel for Metamodel for DL

Metamodel for OWL

MOF

MFI-2

MFI-3

MDR standards

Describeregistration

   Ontology by ODM

Administration Record

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

Page 88: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

CWM : COMMON WAREHOUSE METAMODEL

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

Standard Metamodels::MOF BASED METAMODELS::

88

Page 89: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

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

Page 90: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Why CWM is needed

• Metamodel for CSV, Record • Metamodel for Multi dimensional data• Metamodel for transformation etc

Application System

DatabaseData

WarehouseData File

CSV,Record,Relation,Object

OLAP toolsMulti dimensional data

Application SystemApplication

System

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

Page 91: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

CWM Metamodels

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

Page 92: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

CWM Core metamodelNothing but MOF model

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

Page 93: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

CWM: Relational Data model

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

Page 94: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

NamedCol umnSet/ opti onScopeCol umn : Col umn/ type : SQLStructuredTypeusi ngTri gger : Tri gger

QueryCol umnSetquery : QueryEsxpressi on

Vi ewi sReadOnl y : Bool eancheckOpti o : Bool eanqueryExpressi on : QueryExpressi on

Col umnSet

Tabl ei sTemporary : Bool eantemporaryScope : Stri ng/ tri gger : Tri ggeri sSystem: Bool ean

CheckConstrai ntdeferrabi l i ty : Deferrabi l i tyType

n

n

Col umnpreci si on : I ntegerscal e : I ntegeri sNul l abl e : Nul l abl eTypel ength : I ntegercol l at i onName : Stri ngcharacterSetName : Stri ng/ opti onScopeCol umnSet : NamedCol umnSet/ referencedTabl eType : SQLStructuredType

n

n+/ constrai nedEl ement

n

+/ constrai nt

0. . 1 n

SQLDataTypetypeNumber : I nteger

1n

SQLSi mpl eTypecharacterMaxi mumLength : I ntegercharacterOctetLength : I ntegernumeri cPreci son : I ntegernumeri cPreci si onRadi x : I ntegernumeri cScal e : I ntegerdateTi mePreci si on : I nteger

SQLDi sti nctTypel ength : I ntegerpreci si on : I ntegerscal e : I nteger/ sql Si mpl eType : SQLSi mpl eType

n

1

n

+/ type

+/ structureal Feature

1n

+sql Di st i nctType

+sql Si mpl eType

n

1

+/ constrai nt

+/ constrai nedEl ement

n

n

+/ owner +/ feature

n0. . 1

{ordered}

{ordered}

{ordered}

ColumnSet

Column

SQLSimpleType

View

SQLDataType

SQLDistincType

Table

NamedColumnSet

CWM: Relational data model

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

M1

M2

emp # Name Address

0800101 Adam Smith

0800102 Jon Due

0800103 Hajime Hori

EmployeeColumnSet

NamedColumnSet

Table

94

Page 95: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Metamodel for Record

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

Page 96: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

Recommendations & References

• OMG Specifications: http://www.omg.org/spec/• pUML : <<Google>>• Metamodel.com: <<Google>>

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

•D.Gasevic, D.Djuric, V. Devedzic : Model Driven Architecture and Ontology Development, Springer, 2006. ISBN-10: 3-540-32180-2

Book:

Useful sites:

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

96

Page 97: Sharing and advancing knowledge and experience about standards, technologies and implementations. A Tutorial on: Metamodel Standardization & MOF (For SC32)

THANK YOU FOR YOUR ATTENTION

&ENDURANCE

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